⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 7, 2007:

10:43 PM Changeset in webkit [24924] by weinig
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Oliver.

Fix for http://bugs.webkit.org/show_bug.cgi?id=14897
Decompilation of double negation fails and produces invalid or incorrect code

Test: fast/js/function-decompilation-operators.html

  • kjs/nodes2string.cpp: (UnaryPlusNode::streamTo): Put space after unary operator. Matches Firefox. (NegateNode::streamTo): Diito. (MultNode::streamTo): Put spaces around binary operator. Matches Firefox. (AddNode::streamTo): Ditto.

LayoutTests:

Reviewed by Oliver.

Test for http://bugs.webkit.org/show_bug.cgi?id=14897
Decompilation of double negation fails and produces invalid or incorrect code

  • fast/js/function-decompilation-operators-expected.txt: Added.
  • fast/js/function-decompilation-operators.html: Added.
7:06 PM Changeset in webkit [24923] by zecke
  • 9 edits
    1 move
    1 delete in trunk

WebCore:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Kill class FrameGdk and move the stubs to page/gdk/FrameGdk.cpp and the
remainings into WebKitGtkFrame.
The DRT functionality of class FrameGdk is currently lost.

  • WebCore.pro:
  • loader/gdk/FrameLoaderClientGdk.cpp:
  • loader/gdk/FrameLoaderClientGdk.h:
  • page/gdk/FrameGdk.cpp: Renamed from WebCore/platform/gdk/FrameGdk.cpp. (WebCore::Frame::issueTransposeCommand): (WebCore::Frame::cleanupPlatformScriptObjects): (WebCore::Frame::dragImageForSelection): (WebCore::Frame::dashboardRegionsChanged):
  • platform/gdk/FrameGdk.h: Removed.
  • platform/gdk/TemporaryLinkStubs.cpp: Removed Frame stub, added the loadResourceIntoArray stub
  • platform/gdk/WidgetGdk.cpp:

WebKit:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Moved code from class FrameGdk into WebKitGtkFrame. Update the
webkitgrkprivate.h header file to not include FrameGdk.h.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkprivate.h:
6:40 PM Changeset in webkit [24922] by ddkilzer
  • 2 edits
    1 move in trunk/LayoutTests

LayoutTests:

Reviewed by Oliver.

Move plain-text-document.txt to the resources subdirectory.

  • fast/loader/plain-text-document.html: Updated URL to plain-text-document.txt.
  • fast/loader/plain-text-document.txt: Removed.
  • fast/loader/resources/plain-text-document.txt: Copied from fast/loader/plain-text-document.txt.
5:59 PM Changeset in webkit [24921] by weinig
  • 17 edits
    19 adds in trunk/LayoutTests

Reviewed by Geoff Garen.

Make tests not depend on data: URLs in preparation of
data: URL policy change.

  • editing/pasteboard/drag-image-to-contenteditable-in-iframe.html:
  • editing/pasteboard/resources: Added.
  • editing/pasteboard/resources/drag-image-to-contenteditable-iframe.html: Added.
  • fast/dom/HTMLDocument/frameless-location-bugzilla10837.html:
  • fast/dom/HTMLDocument/resources: Added.
  • fast/dom/HTMLDocument/resources/frameless-location-bugzilla10837-iframe.html: Added.
  • fast/dom/exception-no-frame-inline-script-crash.html:
  • fast/dom/exception-no-frame-timeout-crash.html:
  • fast/dom/null-document-location-assign-crash.html:
  • fast/dom/null-document-location-href-put-crash.html:
  • fast/dom/null-document-location-put-crash.html:
  • fast/dom/null-document-location-replace-crash.html:
  • fast/dom/null-document-window-open-crash.html:
  • fast/dom/resources/exception-no-frame-inline-script-crash-iframe.html: Added.
  • fast/dom/resources/exception-no-frame-timeout-crash-iframe.html: Added.
  • fast/events/frame-programmatic-focus.html:
  • fast/events/iframe-object-onload.html:
  • fast/events/mouseover-mouseout.html:
  • fast/events/mouseover-mouseout2.html:
  • fast/events/resources/iframe-object-onload-iframe-1.html: Added.
  • fast/events/resources/iframe-object-onload-iframe-2.html: Added.
  • fast/events/resources/iframe-object-onload-iframe-3.html: Added.
  • fast/events/resources/iframe-object-onload-object-1.html: Added.
  • fast/events/resources/iframe-object-onload-object-2.html: Added.
  • fast/events/resources/iframe-object-onload-object-3.html: Added.
  • fast/events/resources/mouseover-mouseout-iframe.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-1.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-2.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-3.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-4.html: Added.
  • fast/events/resources/mouseover-mouseout2-iframe-5.html: Added.
  • fast/loader/opaque-base-url-expected.txt:
  • fast/loader/opaque-base-url.html:
  • plugins/plugin-remove-subframe.html:
  • plugins/resources/plugin-remove-subframe-iframe.html: Added.
5:54 PM Changeset in webkit [24920] by zecke
  • 4 edits in trunk/WebKit

2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Change variable names to follow the Coding-Style. Replace occurences
of a_b with aB and place the '*' correctly.

  • gtk/Api/webkitgtkframe.cpp:
  • gtk/Api/webkitgtkpage.cpp:
  • gtk/Api/webkitgtkprivate.h:
5:45 PM Changeset in webkit [24919] by darin
  • 6 edits in trunk/JavaScriptCore

Reviewed by Adele.

  • fix <rdar://problem/5383104> REGRESSION: XHR.responseText is null instead of empty string in http/tests/xmlhttprequest/zero-length-response.html

The new code to handle out of memory conditions was turning a "" into a null string.

  • kjs/ustring.h: Removed UCharReference, which has long been obsolete and unused. Removed copyForWriting, which was only used for the upper/lowercasing code and for UCharReference.
  • kjs/ustring.cpp: (KJS::allocChars): Removed special case that made this fail (return 0) when passed 0. Instead assert that we're not passed 0. Also added an overflow check for two reasons: 1) for sizes that aren't checked this prevents us from allocating a buffer that's too small, and 2) for sizes where we overflowed in the expandedSize function and returned overflowIndicator, it guarantees we fail. (KJS::reallocChars): Ditto. (KJS::UString::expandedSize): Return a large number, overflowIndicator, rather than 0 for cases where we overflow. (KJS::UString::spliceSubstringsWithSeparators): Added a special case for empty string so we don't call allocChars with a length of 0. (KJS::UString::operator=): Added special characters for both 0 and empty string so we match the behavior of the constructor. This avoids calling allocChars with a length of 0 and making a null string rather than an empty string in that case, and also matches the pattern used in the rest of the functions. (KJS::UString::operator[]): Made the return value const so code that tries to use the operator to modify the string will fail.
  • kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): Rewrote uppercasing and lowercasing functions so they don't need copyForWriting any more -- it wasn't really doing any good for optimization purposes. Instead use a Vector and releaseBuffer.
  • wtf/unicode/icu/UnicodeIcu.h: Eliminate one of the versions of toLower/toUpper -- we now only need the version where both a source and destination buffer is passed in, not the one that works in place.
  • wtf/unicode/qt4/UnicodeQt4.h: Ditto.
5:27 PM Changeset in webkit [24918] by zimmermann
  • 128 edits in branches/feature-branch

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=14896 (SVG InlineText/Flow box sizes don't take rotated glyphs into account)

Introduce new helper function calculateGlyphBoundaries, which takes into account any per-character transformation.
This fixes box size calculations in svg/W3C-SVG-1.1/text-text-07-t.svg, svg/batik/text/textEffect3.svg (rotated glyphs)
-> These strings can be properly selected now, just as well as text path elements.

5:17 PM Changeset in webkit [24917] by zecke
  • 5 edits in trunk

WebCore:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Remove the event handling code and move it to WebKit/gtk/Api/webkitgtkpage.cpp

  • platform/gdk/FrameGdk.cpp:
  • platform/gdk/FrameGdk.h:

WebKit:
2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Adam.

Reimplement GtkWidget::event and handle the keyboard and mouse
events inside WebKitGtkPage.

  • gtk/Api/webkitgtkpage.cpp: (FrameGdkExposeData::frame_gdk_expose_child): (FrameGdkExposeData::webkit_gtk_page_rendering_area_handle_gdk_event): (FrameGdkExposeData::webkit_gtk_page_register_rendering_area_events): (FrameGdkExposeData::webkit_gtk_page_class_init):
4:09 PM Changeset in webkit [24916] by zimmermann
  • 95 edits in branches/feature-branch

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=13909 (SVG text selection doesn't work with RTL text)

Use drawHighlightForText() to draw the selection, instead of my home-brewn solution.
Affected code in SVGRootInlineBox::paintSelectionForTextBox. Removed not anymore needed
helper function cummulatedWidthOfSelectionRange.

Dump all contained InlineTextBox(es) in SVGRenderTreeAsText, take into account multiple
child text boxes in ie. a RenderSVGInlineText objects (which happens for RTL text and
LTR text cases where newlines were involved - see changed testcase results.)
This affects a lot of LTR tests which actually had more than one child text box, that
wasn't taken properly into account before (in terms of selection, not rendering.)

Fix selection for RTL text by taking box start offsets into account in closestCharacterToPosition()
and by offering RTL text selection special cases in svgCharacterHitsPosition().

Centralized the creation of a TextStyle object for text selection/painting in a new helper function
svgTextStyleForInlineTextBox. Add new helper functions calculateGlyphWidth/calculateGlyphHeight to
centralize these calculations -> use these new helpers everywhere to avoid code duplication.

A single fix in bidi.cpp was needed to fix SVG's unicode-bidi/direction handling, to fix text-intro-02-b.svg.
SVG didacts that the 'direction' attribute is ignored if unicode-bidi is set to 'normal' (default).
Discussed with Mitz.

4:06 PM Changeset in webkit [24915] by hyatt
  • 3 edits in trunk/WebKit

Fix a botched backout of the Quicktime plugin clipping fix that broke Java. The plugin view should not
be set to autosize with the parent view. Also, cleanup of script objects was removed accidentally as
well.

Reviewed by olliej

  • Plugins/WebPluginController.mm: (-[WebPluginController destroyPlugin:]): (-[WebPluginController destroyAllPlugins]):
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
3:04 PM Changeset in webkit [24914] by zecke
  • 8 edits in trunk/WebCore

2007-08-07 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by Niko.

Switch from the generic union GdkEvent to the specific struct GdkEvent*. This is needed
to make WebKitGtkPage handle the events by reimplementing the default handlers in the near
future.

  • platform/PlatformKeyboardEvent.h:
  • platform/PlatformMouseEvent.h:
  • platform/PlatformWheelEvent.h:
  • platform/gdk/FrameGdk.cpp: (WebCore::FrameGdk::handleGdkEvent):
  • platform/gdk/KeyEventGdk.cpp: (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
  • platform/gdk/MouseEventGdk.cpp: (WebCore::PlatformMouseEvent::PlatformMouseEvent):
  • platform/gdk/WheelEventGdk.cpp: (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2:39 PM Changeset in webkit [24913] by antti
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove a test that was a bit too slow on older hardware.


  • fast/block/basic/stress-shallow-nested-expected.txt: Removed.
  • fast/block/basic/stress-shallow-nested.html: Removed.
11:19 AM Changeset in webkit [24912] by alp
  • 1 edit in trunk/WebKit/gtk/Api/webkitgtkpage.cpp

Supplemental whitespace fix

11:11 AM Changeset in webkit [24911] by alp
  • 3 edits in trunk/WebKit

2007-08-07 Xan Lopez <xan@gnome.org>

Reviewed by Mark Rowe.

http://bugs.webkit.org/show_bug.cgi?id=14815
[gtk] API implementation: reload

  • gtk/Api/webkitgtkpage.cpp: Implement the webkit_gtk_page_reload() function.
10:17 AM Changeset in webkit [24910] by staikos
  • 2 edits in trunk/WebCore

Some QStyles don't handle negative maximum very well

7:29 AM Changeset in webkit [24909] by zbujtas
  • 2 edits in S60/branches/3.1m/WebCore

w3liu, reviewed by <zbujtas@gmail.com>

DESC: [S60] SLON-75MAFV: <<OTC>> OTC - BTT - 6.800.5620 WCSS TABLE ROW HEIGHT
http://bugs.webkit.org/show_bug.cgi?id=14872

7:26 AM Changeset in webkit [24908] by zbujtas
  • 2 edits in S60/trunk/WebCore

w3liu, reviewed by <zbujtas@gmail.com>

DESC: [S60] SLON-75MAFV: <<OTC>> OTC - BTT - 6.800.5620 WCSS TABLE ROW HEIGHT
http://bugs.webkit.org/show_bug.cgi?id=14872

4:15 AM Changeset in webkit [24907] by antti
  • 9 edits
    6 adds in trunk

LayoutTests:

Reviewed by Hyatt.


Tests for <rdar://problem/5102553>
Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...


  • added performance test. With debug build on MBP this takes about 1.5s to run.
  • added test case that shows some additional progression from the patch (less leftover anonymous boxes).


  • fast/block/basic/stress-shallow-nested-expected.txt: Added.
  • fast/block/basic/stress-shallow-nested.html: Added.
  • fast/block/float/nestedAnonymousBlocks2-expected.checksum: Added.
  • fast/block/float/nestedAnonymousBlocks2-expected.png: Added.
  • fast/block/float/nestedAnonymousBlocks2-expected.txt: Added.
  • fast/block/float/nestedAnonymousBlocks2.html: Added.

WebCore:

Reviewed by Hyatt.

Fix <rdar://problem/5102553>
Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...

Calling removeLeftoverAnonymousBoxes() from RenderBlock::addChildToFlow() made adding children
O(n2) in simple cases (repeated <div><div></div></div> for example).


I couldn't find any limited fix so here is a more complete one. It removes iterating/recursing
removeLeftoverAnonymousBoxes() method altogether. Instead of hunting around wildly, just get
rid of anonymous boxes with block children when they occur.

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::addChildToFlow):
  • rendering/RenderButton.h: (WebCore::RenderButton::removeLeftoverAnonymousBlock):
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
  • rendering/RenderContainer.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::handleDynamicFloatPositionChange): (WebCore::RenderObject::removeLeftoverAnonymousBlock):
  • rendering/RenderObject.h:
  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::removeLeftoverAnonymousBlock):
12:50 AM Changeset in webkit [24906] by rwlbuis
  • 2 edits in branches/feature-branch/WebCore

Reviewed by Oliver.

Do not export some symbols for internal functions, saves some bytes.

Aug 6, 2007:

11:25 PM Changeset in webkit [24905] by weinig
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Fix changelog

11:21 PM Changeset in webkit [24904] by weinig
  • 3 edits
    2 adds in trunk

JavaScriptCore:

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 bdash
  • 1 edit in tags/Safari-5522.13.1/WebKit/Configurations/Version.xcconfig

Versioning.

10:41 PM Changeset in webkit [24902] by bdash
  • 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 weinig
  • 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 weinig
  • 7 edits
    32 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 bdash
  • 4 edits in trunk

Versioning.

7:22 PM Changeset in webkit [24898] by bdash
  • 6 edits
    2 deletes in trunk

Roll out r24889.

6:45 PM Changeset in webkit [24897] by bdash
  • 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 hyatt
  • 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 bdash
  • 1 edit in tags/Safari-5522.13.1/JavaScriptCore/Configurations/Version.xcconfig

Versioning.

5:09 PM Changeset in webkit [24894] by bdash
  • 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 bdash
  • 1 copy in tags/Safari-5522.13.1

New tag.

2:50 PM Changeset in webkit [24892] by hyatt
  • 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 ggaren
  • 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 darin
  • 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 andersca
  • 6 edits
    2 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 sfalken
  • 1 edit in trunk/WebKit/win/WebKit.vcproj/PRODUCTVERSION

Bump version.

12:51 PM Changeset in webkit [24887] by darin
  • 14 edits
    2 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 adele
  • 4 edits
    4 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 darin
  • 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 darin
  • 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 ddkilzer
  • 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 sfalken
  • 3 edits in trunk

Build fix

9:30 AM BuildingGdk edited by alp@atoker.com
Update curl backend/theming notes (diff)
9:23 AM BuildingGdk edited by alp@atoker.com
Add note about not being Gtk+WebCore, and update build deps (diff)
Note: See TracTimeline for information about the timeline view.