Timeline
Aug 6, 2007:
- 11:25 PM Changeset in webkit [24905] by
-
- 1 edit in trunk/JavaScriptCore/ChangeLog
Fix changelog
- 11:21 PM Changeset in webkit [24904] by
-
- 3 edits2 adds in trunk
Reviewed by Oliver.
Fix for http://bugs.webkit.org/show_bug.cgi?id=14891
Decompilation of try block immediately following "else" fails
Test: fast/js/toString-try-else.html
- kjs/nodes2string.cpp: (TryNode::streamTo): Add newline before else.
LayoutTests:
Reviewed by Oliver.
Test for http://bugs.webkit.org/show_bug.cgi?id=14891
Decompilation of try block immediately following "else" fails
- fast/js/toString-try-else-expected.txt: Added.
- fast/js/toString-try-else.html: Added.
- 10:41 PM Changeset in webkit [24903] by
-
- 1 edit in tags/Safari-5522.13.1/WebKit/Configurations/Version.xcconfig
Versioning.
- 10:41 PM Changeset in webkit [24902] by
-
- 3 edits in tags/Safari-5522.13.1/WebKit
Merge r24811.
Reviewed by Anders Carlsson and Kevin Decker.
- fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build
The trick was to ifdef out more of the code that's only needed to support CFM, which exists
only for 32-bit PowerPC.
- Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
- Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector functions when SUPPORT_CFM is on. (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM ifdef, since all non-CFM plug-ins are bundles. (-[WebNetscapePluginPackage closeResourceFile:]): Ditto. (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM. (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM. (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM. There was a bit of dead code here. (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside SUPPORT_CFM.
- 8:24 PM Changeset in webkit [24901] by
-
- 3 edits in trunk/LayoutTests
Reviewed by Oliver.
Update test to not timeout.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
- 8:08 PM Changeset in webkit [24900] by
-
- 7 edits32 adds in trunk
LayoutTests:
Reviewed by Maciej.
Tests for <rdar://problem/5354689>
- http/tests/security/javascriptURL: Added.
- http/tests/security/javascriptURL/resources: Added.
- http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-iframe.html: Added.
- http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-opened-frame.html: Added.
- http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-iframe.html: Added.
- http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-opened-frame.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open-expected.txt: Added.
- http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html: Added.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe.html: Added.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
- http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open.html: Added.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe.html: Added.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
- http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open.html: Added.
- http/tests/security/resources/cross-frame-access.js:
WebCore:
Reviewed by Maciej.
Fix for <rdar://problem/5354689>
- Use document variable to determine permissions instead of traversing the frame tree.
- bindings/js/kjs_window.cpp: (KJS::Window::isSafeScript):
- dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::initSecurityPolicyURL):
- dom/Document.h: (WebCore::Document::securityPolicyURL):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::setOpener): We must re-initialize the safeScript URL when setting the opener because the opener was not known at Document construction.
- 7:31 PM Changeset in webkit [24899] by
-
- 4 edits in trunk
Versioning.
- 7:22 PM Changeset in webkit [24898] by
-
- 6 edits2 deletes in trunk
Roll out r24889.
- 6:45 PM Changeset in webkit [24897] by
-
- 4 edits in trunk/JavaScriptCore
2007-08-07 Mark Rowe <mrowe@apple.com>
Reviewed by Maciej.
<rdar://problem/5388774> REGRESSION: Hang occurs after clicking "Attach a file " link in a new .Mac message
Attempting to acquire the JSLock inside CollectorHeap::forceLock can lead to a deadlock if the thread currently
holding the lock is waiting on the thread that is forking. It is not considered safe to use system frameworks
after a fork without first execing[*] so it is not particularly important to ensure that the collector and
fastMalloc allocators are unlocked in the child process. If the child process wishes to use JavaScriptCore it
should exec after forking like it would to use any other system framework.
[*]: <http://lists.apple.com/archives/Cocoa-dev/2005/Jan/msg00676.html>
- kjs/CollectorHeapIntrospector.cpp: Remove forceLock and forceUnlock implementations.
- kjs/CollectorHeapIntrospector.h: Stub out forceLock and forceUnlock methods.
- wtf/FastMalloc.cpp: Ditto.
- 5:10 PM Changeset in webkit [24896] by
-
- 2 edits in trunk/WebCore
Make sure to clear out the parent of the ellipsis box so that it doesn't
trigger the consistency check for line boxes.
Reviewed by darin
- ChangeLog:
- rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::detachEllipsisBox):
- 5:09 PM Changeset in webkit [24895] by
-
- 1 edit in tags/Safari-5522.13.1/JavaScriptCore/Configurations/Version.xcconfig
Versioning.
- 5:09 PM Changeset in webkit [24894] by
-
- 2 edits in tags/Safari-5522.13.1/JavaScriptCore
Merge r24884.
Reviewed by Anders.
- fix <rdar://problem/5387589> 9A514: Quartz Composer crash on launch in KJS::jsString
- API/JSBase.cpp: (JSEvaluateScript): Turn NULL for sourceURL into UString::null(), just as JSObjectMakeFunction already does. (JSCheckScriptSyntax): Ditto.
- 3:33 PM Changeset in webkit [24893] by
-
- 1 copy in tags/Safari-5522.13.1
New tag.
- 2:50 PM Changeset in webkit [24892] by
-
- 4 edits in trunk/WebCore
Back out fix for <rdar://problem/5366582> and replace it with the correct
fix. Make sure to delete the line box tree before splitting an inline flow
into a continuation. The added layout test for the original checkin covers
the problem.
Reviewed by beth
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): Back out fix.
- rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy): Back out fix.
- rendering/RenderInline.cpp: (WebCore::RenderInline::splitFlow): Here's the new fix.
- 2:43 PM Changeset in webkit [24891] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin Adler.
Touching a file to force a re-build.
- 1:53 PM Changeset in webkit [24890] by
-
- 2 edits in trunk/WebCore
- fix release build
- rendering/RenderText.h: (WebCore::RenderText::checkConsistency): Add missing const.
- 1:10 PM Changeset in webkit [24889] by
-
- 6 edits2 adds in trunk
LayoutTests:
Reviewed by Darin.
<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)
Add test case by Kurt Revis.
- fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
- fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.
WebCore:
Reviewed by Darin.
<rdar://problem/5360748>
REGRESSION(r21002-r21003) Flash widget sniffer doesn't work
Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
if the document has node lists.
- dom/ContainerNode.cpp: (WebCore::ContainerNode::addChild):
- dom/Document.cpp: (WebCore::Document::Document):
- dom/Document.h: (WebCore::Document::addNodeList): (WebCore::Document::removeNodeList): (WebCore::Document::hasNodeLists):
- dom/Node.cpp: (WebCore::Node::registerNodeList): (WebCore::Node::unregisterNodeList):
- 1:02 PM Changeset in webkit [24888] by
-
- 1 edit in trunk/WebKit/win/WebKit.vcproj/PRODUCTVERSION
Bump version.
- 12:51 PM Changeset in webkit [24887] by
-
- 14 edits2 adds in trunk
LayoutTests:
Beth made this reduction/test, Geoff and I both helped refine it.
- test for <rdar://problem/5366582> crash on it.eurosport.yahoo.com page
- fast/dynamic/inline-to-block-crash-expected.txt: Added.
- fast/dynamic/inline-to-block-crash.html: Added.
WebCore:
Reviewed by Maciej.
- fix <rdar://problem/5366582> crash on it.eurosport.yahoo.com page
Test: fast/dynamic/inline-to-block-crash.html
I added some consistency checks for the line box tree, which helped me figure out
what was going on with this bug pretty quickly.
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline): This is the actual fix. If the block needs layout, then don't try to delete the line box tree because it's going to be rebuilt as part of layout. More importantly, the child list in the tree is no good, so we will crash if we try to delete here.
- rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy): Here's a second fix. We have the same issue in the code that handles anonymous blocks -- if it's already running as part of layout, we can't walk through the already partly destroyed line box tree. This crashed in one of the layout tests.
- rendering/InlineBox.h: Made more fields private, since I wanted to do a bit more work in setters. Made setNextOnLine() and setPrevOnLine() assert that the box has a parent. Made parent() assert that the parent is good. Also removed the unused isChildOfParent() function.
- rendering/InlineBox.cpp: (WebCore::InlineBox::~InlineBox): At destruction time, if we are still attached to a parent, tag that parent as having a "bad" child list.
- rendering/InlineFlowBox.h: Added m_reasonForBadChildList, checkConsistency(), setHasBadChildList(), and hasBadChildList(). Also changed firstChild() and lastChild() so they call checkConsistency() and made all the fields private instead of protected.
- rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::addToLine): Added consistency checks before and after adding a box to the line. Also checked that next and prev start out as 0. Changed manipulation of next and prev to use accessor functions. (WebCore::InlineFlowBox::removeChild): Added consistency checks before and after removing the box from the line. (WebCore::InlineFlowBox::deleteLine): Use firstChild() instead of getting at m_firstChild directly so we get a consistency check. Also set the parent to 0 before destroying so that the assertion in ~InlineBox will work properly. (WebCore::InlineFlowBox::extractLine): Ditto. (WebCore::InlineFlowBox::attachLine): Ditto. (WebCore::InlineFlowBox::adjustPosition): Ditto. (WebCore::InlineFlowBox::checkConsistency): Added. Checks consistency of the child list by looking at the parent, next, and prev pointers. Also asserts that we are not yet in the "bad" child list state, which happens if one of our children is destroyed without removing it from our list; that's normal, but once it happens we can't look at our child list again.
- rendering/InlineTextBox.h:
- rendering/InlineTextBox.cpp: Remove unnneeded destroy/new/delete functions -- these are inherited from the InlineBox base class and don't need to be defined again.
- rendering/RenderFlow.h:
- rendering/RenderFlow.cpp: (WebCore::RenderFlow::~RenderFlow): Assert that there are no children to confirm that we didn't leak something. (WebCore::RenderFlow::extractLineBox): Added consistency checks before and after removing a run of boxes from the list. (WebCore::RenderFlow::attachLineBox): Added consistency checks before and after adding a box to the list. (WebCore::RenderFlow::removeLineBox): Added consistency checks before and after removing a box from the list. (WebCore::RenderFlow::createInlineBox): Added consistency checks before and after adding a box to the list. (WebCore::RenderFlow::checkConsistency): Added.
- rendering/RenderText.h:
- rendering/RenderText.cpp: (WebCore::RenderText::~RenderText): Assert that there are no children to confirm that we didn't leak something. (WebCore::RenderText::extractTextBox): Added consistency checks before and after removing a run of boxes from the list. (WebCore::RenderText::attachTextBox): Added consistency checks before and after adding a box to the list. (WebCore::RenderText::removeTextBox): Added consistency checks before and after removing a box from the list. (WebCore::RenderText::deleteTextBoxes): Added code to call setHasBadChildList since this destroys line boxes without informing the parent. (WebCore::RenderText::checkConsistency): Added.
- 12:49 PM Changeset in webkit [24886] by
-
- 4 edits4 adds in trunk
LayoutTests:
Reviewed by Darin.
Test for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified
- fast/forms/menulist-restrict-line-height-expected.checksum: Added.
- fast/forms/menulist-restrict-line-height-expected.png: Added.
- fast/forms/menulist-restrict-line-height-expected.txt: Added.
- fast/forms/menulist-restrict-line-height.html: Added.
WebCore:
Reviewed by Darin.
Fix for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified
Don't honor line-height for styled popup buttons. We already don't honor line-height for unstyled popups
and since IE and FF don't honor it at all for popups, we shouldn't either.
- rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
- rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
- 12:34 PM Changeset in webkit [24885] by
-
- 2 edits in trunk/JavaScriptCore
Rubber stamped by Geoff.
- kjs/ustring.h: Added an assertion which would have helped us find the previous bug more easily.
- 12:00 PM Changeset in webkit [24884] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Anders.
- fix <rdar://problem/5387589> 9A514: Quartz Composer crash on launch in KJS::jsString
- API/JSBase.cpp: (JSEvaluateScript): Turn NULL for sourceURL into UString::null(), just as JSObjectMakeFunction already does. (JSCheckScriptSyntax): Ditto.
- 11:08 AM Changeset in webkit [24883] by
-
- 2 edits in trunk/WebKitTools
2007-08-06 Nigel Tao <nigeltao@gnome.org>
Reviewed by David Kilzer.
Fix bug 14745: WebKitTools/Scripts/run-launcher doesn't speak --gdk
http://bugs.webkit.org/show_bug.cgi?id=14745
- Scripts/run-launcher: Scrub the "--gdk" out of the command line args, if given, so that GdkLauncher doesn't try to interpret it as a URL.
- 11:07 AM Changeset in webkit [24882] by
-
- 3 edits in trunk
Build fix
- 9:30 AM BuildingGdk edited by
- Update curl backend/theming notes (diff)
- 9:23 AM BuildingGdk edited by
- Add note about not being Gtk+WebCore, and update build deps (diff)
Aug 5, 2007:
- 10:48 PM Changeset in webkit [24881] by
-
- 2 edits in trunk/JavaScriptCore
Not reviewed, build fix.
- kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction):
- 7:23 PM Changeset in webkit [24880] by
-
- 3 edits in trunk/LayoutTests
- mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
- win/Skipped: Ditto.
- 7:07 PM Changeset in webkit [24879] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Change log entry to mention that my fix was an attempt (that didn't work).
- 7:05 PM Changeset in webkit [24878] by
-
- 6 edits in trunk/WebCore
Reviewed by Darin.
Fix <rdar://problem/5378214>
Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text
ObjC interface does not guarantee that Document::updateRendering() gets called after
modification are made to document. This can lead to situation where paint()
is invoked with document still dirty which can then crash in number of interesting ways.
- add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle() catching most cases and making sure document is not dirty when entering painting.
- protect recalcStyle() and layout() from being executed during painting. There are some cases needsLayout() protection does not cover.
No layout test, these states are very hard or impossible to reach using Javascript interface
(which generally guarantees that updateRendering() is done right after execution).
- dom/Document.cpp: (WebCore::Document::recalcStyle):
- page/Frame.cpp: (WebCore::Frame::paint): (WebCore::Frame::setPaintRestriction): (WebCore::Frame::isPainting): (WebCore::FramePrivate::FramePrivate):
- page/Frame.h:
- page/FramePrivate.h:
- page/FrameView.cpp: (WebCore::FrameView::layout): (WebCore::FrameView::needsLayout):
- 6:03 PM Changeset in webkit [24877] by
-
- 2 edits in trunk/LayoutTests
- fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events/standalone-image-drag-to-editable.html
- fast/events/standalone-image-drag-to-editable.html: Fixed race condition in test by using a frame counter rather than running the test after a particular frame loads.
- 5:58 PM Changeset in webkit [24876] by
-
- 2 edits in trunk/LayoutTests
- fast/dom/delete-contents-expected.txt: Updated results, which changed due to r24831, which allows comments as children of <html>.
- 3:52 AM Changeset in webkit [24875] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin Adler.
<rdar://problem/5369110> CrashTracer: [USER] reproducible crash opening particular mail messages
- platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Make sure to retain self for the body of this method. Otherwise, the willSendRequest could trigger events which will cancel the connection, and we access ivars after this point. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): retain and release in the right order.
- 3:16 AM Changeset in webkit [24874] by
-
- 4 edits in trunk/JavaScriptCore
Reviewed by Maciej.
- fix <rdar://problem/5371862> crash in Dashcode due to Quartz Composer JavaScript garbage collector reentrancy
- API/JSBase.cpp: (JSGarbageCollect): Don't call collector() if isBusy() returns true.
- kjs/collector.h: Added isBusy(), removed the unused return value from collect()
- kjs/collector.cpp: Added an "operation in progress" flag to the allocator. (KJS::Collector::allocate): Call abort() if an operation is already in progress. Set the new flag instead of using the debug-only GCLock. (KJS::Collector::collect): Ditto. (KJS::Collector::isBusy): Added.