Timeline


and

12/28/07:

23:42 Changeset [29025] by darin@apple.com
  • try to fix Windows and WX builds (broken by SVG Fonts check-in)
  • platform/graphics/win/FontWin.cpp: (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent, now that it requires it. I can't see how it can be right to require the font size for ascent and descent, but not for other metrics functions in FontData.
  • platform/graphics/wx/FontWx.cpp: (WebCore::Font::drawGlyphs): Pass font size to FontData::ascent and FontData::descent.
23:35 Changeset [29024] by ap@webkit.org

Reviewed by Mitz.

http://bugs.webkit.org/show_bug.cgi?id=15734
fast/xpath/namespace-vs-predicate.xhtml fails unexpectedly in no-SVG build

  • fast/xpath/namespace-vs-predicate.xhtml: Use (hopefully) correct code to remove an SVG element.
23:27 Changeset [29023] by darin@apple.com
  • checked in these files that were supposed to be part of the previous check-in, but somehow weren't
  • fast/js/number-tofixed-expected.txt: Updated.
  • fast/js/number-toprecision-expected.txt: Ditto.
21:51 Changeset [29022] by eric@webkit.org

2007-12-28 Eric Seidel <eric@webkit.org>

Reviewed by Oliver.

ASSERT when debugging via Drosera due to missed var lookup optimization.
http://bugs.webkit.org/show_bug.cgi?id=16634

No test case possible.

  • kjs/nodes.cpp: (KJS::BreakpointCheckStatement::optimizeVariableAccess):
  • kjs/nodes.h:
20:19 Changeset [29021] by mitz@apple.com

Reviewed by Mark Rowe.

Covered by existing pixel tests.

  • platform/graphics/mac/FontMac.mm: (WebCore::Font::drawComplexText): Corrected to maintain the style information in the adjusted text run when passing it to ATSUILayoutParameters. Prior to r28298 the style was passed separately.
20:01 Changeset [29020] by eric@webkit.org

Reviewed by Oliver.

Fix (-0).toFixed() and re-factor a little
Fix (-0).toExponential() and printing of trailing 0s in toExponential
Fix toPrecision(nan) handling

  • kjs/number_object.cpp: (KJS::numberToFixed): (KJS::fractionalPartToString): (KJS::numberToExponential): (KJS::numberToPrecision):
19:27 Changeset [29019] by zimmermann@webkit.org

Build fix, not reviewed.
Add wtf/OwnPtr.h include, to fix --svg-fonts build.

19:17 Changeset [29018] by eric@webkit.org

Reviewed by Sam.

More changes to make number code readable

  • kjs/number_object.cpp: (KJS::integer_part_noexp): (KJS::numberToFixed): (KJS::numberToExponential):
19:16 Changeset [29017] by eric@webkit.org

Reviewed by Sam.

More small cleanups to toPrecision

  • kjs/number_object.cpp: (KJS::numberToPrecision):
19:16 Changeset [29016] by eric@webkit.org

Reviewed by Sam.

More small attempts to make number code readable

  • kjs/number_object.cpp: (KJS::exponentialPartToString): (KJS::numberToExponential): (KJS::numberToPrecision):
19:15 Changeset [29015] by eric@webkit.org

2007-12-28 Eric Seidel <eric@webkit.org>

Reviewed by Sam.

Break out callAsFunction implementations into static functions

  • kjs/number_object.cpp: (KJS::numberToString): (KJS::numberToFixed): (KJS::numberToExponential): (KJS::numberToPrecision): (KJS::NumberProtoFunc::callAsFunction):
19:14 Changeset [29014] by eric@webkit.org

Reviewed by Sam.

Apply wkstyle/astyle and fix placement of *

  • kjs/number_object.cpp: (KJS::): (KJS::NumberInstance::NumberInstance): (KJS::NumberPrototype::NumberPrototype): (KJS::NumberProtoFunc::NumberProtoFunc): (KJS::integer_part_noexp): (KJS::intPow10): (KJS::NumberProtoFunc::callAsFunction): (KJS::NumberObjectImp::NumberObjectImp): (KJS::NumberObjectImp::getOwnPropertySlot): (KJS::NumberObjectImp::getValueProperty): (KJS::NumberObjectImp::implementsConstruct): (KJS::NumberObjectImp::construct): (KJS::NumberObjectImp::callAsFunction):
  • kjs/object.cpp: (KJS::JSObject::put):
18:48 Changeset [29013] by alp@webkit.org

2007-12-28 Christian Dywan <christian@twotoasts.de>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=16642
[GTK] webkit_web_view_has_selection returns the opposite result

Invert the return value.

  • WebView/webkitwebview.cpp:
18:41 Changeset [29012] by zimmermann@webkit.org

Reviewed by Eric.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=10649 (WebKit SVG needs SVG Fonts support)

Begin implementation of SVG Fonts module. Basic documents using SVG Fonts already work.
Only local, in-document fonts who declare their glyphs using the <glyph d="..."> path syntax
are supported. (<glyph> containing arbitary SVG content as child elements, not supported yet).

17:36 BuildingOnWindows edited by webkit@mattlilek.com
Add info on building in VS (diff)

12/27/07:

23:50 Changeset [29011] by mitz@apple.com

Reviewed by Alexey Proskuryakov.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::~RenderLayer): Avoid calling EventHandler::resizeLayerDestroyed() if the document is being destroyed.
23:13 ApplicationsGtk created by alp@atoker.com
List WebKit/GTK+ applications (feel free to add more)
19:22 Changeset [29010] by mitz@apple.com

WebCore:

Reviewed by Oliver Hunt.

Test: fast/layers/resize-layer-deletion-crash.html

The event handler has only a weak reference to the layer that is
currently in resize mode, so it is the layer's responsibility to let
the event handler know if it has been destroyed while in that mode.

  • page/EventHandler.cpp: (WebCore::EventHandler::resizeLayerDestroyed): Added. Resets m_resizeLayer to 0.
  • page/EventHandler.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::~RenderLayer): Added a call to EventHandler::resizeLayerDestroyed() if the layer is in resize mode.

LayoutTests:

Reviewed by Oliver Hunt.

  • fast/layers/resize-layer-deletion-crash-expected.txt: Added.
  • fast/layers/resize-layer-deletion-crash.html: Added.
17:25 Changeset [29009] by weinig@apple.com

Reviewed by Alice Liu.

  • platform/win/Skipped: Remove xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame.html since it is now passing.
16:57 Changeset [29008] by weinig@apple.com

WebCore:

Reviewed by Sam Weinig.

http://bugs.webkit.org/show_bug.cgi?id=16539
<rdar://problem/5659269>

The same-origin check was missing in the implementation of
setTimeout, setInterval, addEventListener, and removeEventListener.

Suppose <http://www.badguy.com/> contains an iframe to
<http://www.goodguy.com/>. Now www.badguy.com can steal
www.goodguy.com cookies by running this code:

setTimeout.call(frames[0], "alert(document.cookie)", 1000);

This patch changes the behavior so that setTimeout to does
nothing and returns an undefined value if the caller is not
permitted to script the window whose setTimeout method is being
called. The same applies to setInterval, addEventListener, and
removeEventListener.

Tests: http/tests/security/cross-frame-access-call.html

  • bindings/js/kjs_window.cpp: (KJS::WindowProtoFuncSetTimeout::callAsFunction) (KJS::WindowProtoFuncSetInterval::callAsFunction) (KJS::WindowProtoFuncAddEventListener::callAsFunction) (KJS::WindowProtoFuncRemoveEventListener::callAsFunction)

LayoutTests:

Reviewed by Sam Weinig.

Tests for http://bugs.webkit.org/show_bug.cgi?id=16539
<rdar://problem/5659269>

  • http/tests/security/cross-frame-access-call-expected.txt: Added.
  • http/tests/security/cross-frame-access-call.html: Added.
16:11 Changeset [29007] by mitz@apple.com

WebCore:

Reviewed by Dave Hyatt and Sam Weinig.

  • fix <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click

Test: fast/layers/add-layer-with-nested-stacking.html
Test: fast/layers/remove-layer-with-nested-stacking.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::addChild): If the new child is overflow-only but has children of its own, dirty the stacking context's z-order lists since the grandchildren might need to be in them. (WebCore::RenderLayer::removeChild): Similarly for the old child.

LayoutTests:

Reviewed by Dave Hyatt and Sam Weinig.

  • pixel tests for <rdar://problem/5605937> Inspector: Disclosure triangle not drawn in node's properties panel until click
  • fast/layers/add-layer-with-nested-stacking.html: Added.
  • fast/layers/remove-layer-with-nested-stacking.html: Added.
  • platform/mac/fast/layers/add-layer-with-nested-stacking-expected.checksum: Added.
  • platform/mac/fast/layers/add-layer-with-nested-stacking-expected.png: Added.
  • platform/mac/fast/layers/add-layer-with-nested-stacking-expected.txt: Added.
  • platform/mac/fast/layers/remove-layer-with-nested-stacking-expected.checksum: Added.
  • platform/mac/fast/layers/remove-layer-with-nested-stacking-expected.png: Added.
  • platform/mac/fast/layers/remove-layer-with-nested-stacking-expected.txt: Added.
15:14 Changeset [29006] by alp@webkit.org

2007-12-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=16353
[GTK] Check for deprecated API use (G_DISABLE_DEPRECATED etc.)

Added the flags mentioned in the bug only when doing 'debug'
builds. -DGST_DISABLE_DEPRECATED only added when video is enabled.

14:20 Changeset [29005] by eric@webkit.org

Reviewed by Sam.

ASSERT in JavaScriptCore while viewing WICD test case
http://bugs.webkit.org/show_bug.cgi?id=16626

  • kjs/nodes.cpp: (KJS::ForInNode::execute): move KJS_CHECK_EXCEPTION to proper place
13:58 Changeset [29004] by weinig@apple.com

Reviewed by Alice Liu.

  • platform/mac-leopard/Skipped: Remove dom/html/level2/html/HTMLDocument12.html from the Skipped list because it is now passing.
12:55 Changeset [29003] by mitz@apple.com

Fix typo in ChangeLog

12:54 Changeset [29002] by mitz@apple.com

WebCore:

Reviewed by Eric Seidel.

Test: fast/dynamic/paused-event-dispatch.html

  • page/FrameView.cpp: (WebCore::FrameView::~FrameView): (WebCore::FrameView::layout): Changed to always pause event dispatch and always resume event dispatch, regardless of whether the post-layout task time is active. However, if it is active, assert that event dispatch is still paused.

LayoutTests:

Reviewed by Eric Seidel.

  • fast/dynamic/paused-event-dispatch-expected.txt: Added.
  • fast/dynamic/paused-event-dispatch.html: Added.
  • fast/dynamic/resources/paused-event-dispatch-iframe.html: Added.
08:54 Changeset [29001] by mrowe@apple.com

Add another feed to Planet WebKit.

00:34 Changeset [29000] by weinig@apple.com

Reviewed by Maciej.

  • platform/win/Skipped: Move cross-frame-access-protocol* tests to show that they are failing because of a lack of ssl on windows.
00:28 Changeset [28999] by weinig@apple.com

Rubber-stamped by Maciej.

  • Change more tests to use the new layoutTestController.globalFlag style polling instead of the "flag frame hack".
  • http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-private-browsing-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
  • http/tests/security/host-compare-case-insensitive-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode.html:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessee-iframe.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessee-opened-frame.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-iframe.html:
  • http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-opened-frame.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:
  • http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe.html:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open.html:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
  • http/tests/security/protocol-compare-case-insensitive-expected.txt:
  • http/tests/security/resources/cross-frame-iframe.html:
00:22 Changeset [28998] by ap@webkit.org

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=14500
need to be more generous about charset declaration with meta tag


http://bugs.webkit.org/show_bug.cgi?id=12526
<rdar://problem/4867183> Safari ignores encoding description "charset=Shift_JIS" in invalid html

<rdar://problem/4892428> Unlike other browsers, WebKit ignores <meta> charset definitions outside the head

<rdar://problem/5643774> REGRESSION: Text is garbled when clicking a link inside an Arabic website

Tests: fast/encoding/ahram-org-eg.html

fast/encoding/bandai-co-jp-releases.html
fast/encoding/floraexpress-ru.html
fast/encoding/hanarei-blog32-fc2-com.html
fast/encoding/yahoo-mail.html

  • loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::checkForHeadCharset): Don't stop looking for <meta> until we've seen at least 512 bytes of input.

12/26/07:

22:54 BuildingGtk edited by jmalonzo@unpluggable.com
added autotools documentation (diff)
22:05 Changeset [28997] by alp@webkit.org

2007-12-26 Jan Michael Alonzo <jmalonzo@unpluggable.com>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=16390
Use autotools or GNU make as the build system for the GTK port

20:01 Changeset [28996] by mitz@apple.com

Rubber-stamped by Anders Carlsson.

  • re-categorize some SVG tests the are failing on Windows
  • platform/win/Skipped:
18:33 Changeset [28995] by weinig@apple.com

Reviewed by Alice Liu.

Re-enable disabled tests with new polling logic using layoutTestController.globalFlag.

  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-iframe.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessee-opened-frame.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
  • http/tests/security/dataURL/resources/foreign-domain-data-url-window-location.html:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html-disabled.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe.html-disabled: Removed.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html: Copied from http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html-disabled.
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open.html-disabled: Removed.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html-disabled.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html-disabled: Removed.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html-disabled.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html-disabled: Removed.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html: Copied from http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html-disabled.
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html-disabled: Removed.
  • platform/win/Skipped:
15:55 Changeset [28994] by alice.liu@apple.com

removing tests tracked by <rdar://5463489> A number of layout tests should be using
execCommand instead of textInputController

14:16 Changeset [28993] by ap@webkit.org

Reviewed by Sam Weinig.

http://bugs.webkit.org/show_bug.cgi?id=16609
Make manual-tests/xmlhttprequest-contenttype-empty.html test automatic

01:25 Changeset [28992] by mrowe@apple.com

Windows build fix.

00:40 Changeset [28991] by rwlbuis@webkit.org

Reviewed by Eric.

http://bugs.webkit.org/show_bug.cgi?id=15514
<clipPath> with <use> not respected
http://bugs.webkit.org/show_bug.cgi?id=16557
SVG circle elements have been clipped away completely, instead of partially.

Add toClipPath to get clip path data for the clipping paths. Implement it for <use>, thereby allowing clip paths using use.

12/25/07:

23:25 Changeset [28990] by weinig@apple.com

Reviewed by Eric Seidel.

Clean up the files relating to NodeLists.

  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList): (WebCore::ChildNodeList::length): (WebCore::ChildNodeList::item): (WebCore::ChildNodeList::nodeMatches):
  • dom/ChildNodeList.h:
  • dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::itemForwardsFromCurrent): (WebCore::DynamicNodeList::itemBackwardsFromCurrent): (WebCore::DynamicNodeList::itemWithName):
  • dom/DynamicNodeList.h: (WebCore::DynamicNodeList::needsNotifications):
  • dom/NameNodeList.cpp: (WebCore::NameNodeList::NameNodeList): (WebCore::NameNodeList::rootNodeAttributeChanged): (WebCore::NameNodeList::nodeMatches):
  • dom/NameNodeList.h:
  • dom/NodeList.h:
  • dom/SelectorNodeList.h:
22:44 Changeset [28989] by weinig@apple.com

Fix non-mac builds.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
22:33 Changeset [28988] by weinig@apple.com

Rubber stamped by Eric Seidel.

Move TagNodeList into its own file.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Node.cpp:
  • dom/TagNodeList.cpp: Copied from dom/Node.cpp. (WebCore::TagNodeList::TagNodeList):
  • dom/TagNodeList.h: Copied from dom/Node.cpp.
22:18 Changeset [28987] by weinig@apple.com

Reviewed by Eric Seidel.

Simplify the NodeList architecture.

  • Rename recursiveItem() to item(), since it is not recursive.
  • Make recursiveLength() iterative and rename to length().
  • Remove now unneeded overrides of item() and length() that used to call the recursive variants.
  • dom/ClassNodeList.cpp:
  • dom/ClassNodeList.h:
  • dom/DynamicNodeList.cpp: (WebCore::DynamicNodeList::length): (WebCore::DynamicNodeList::item): (WebCore::DynamicNodeList::rootNodeAttributeChanged): Move implementation into the .cpp file since virtual methods can't be inlined.
  • dom/DynamicNodeList.h:
  • dom/NameNodeList.cpp:
  • dom/NameNodeList.h:
  • dom/Node.cpp:
18:55 Changeset [28986] by alp@webkit.org

2007-12-25 Alp Toker <alp@atoker.com>

More complete GTK+/Qt/Wx/Win build fixes for breakage introduced in
r28981.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
18:33 Changeset [28985] by alp@webkit.org

2007-12-25 Alp Toker <alp@atoker.com>

Win build fix for breakage introduced in r28981.

  • WebCore.vcproj/WebCore.vcproj:
18:30 Changeset [28984] by alp@webkit.org

2007-12-25 Alp Toker <alp@atoker.com>

Wx build fix for breakage introduced in r28981.

  • WebCoreSources.bkl:
18:28 Changeset [28983] by alp@webkit.org

2007-12-25 Alp Toker <alp@atoker.com>

GTK+/Qt build fix for breakage introduced in r28981.

  • WebCore.pro:
17:05 Changeset [28982] by mitz@apple.com

Reviewed by Oliver Hunt.

  • fix an assertion failure when pressing the num lock key
  • WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to WebCore.
16:46 Changeset [28981] by dsmith@webkit.org

WebCore:

Reviewed by Oliver.


  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSStyleSelector.h: Make Node a friend of CSSStyleSelector so it can use checkSelector()
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::ChildNodeList): Change to being a DynamicNodeList
  • dom/ChildNodeList.h:
  • dom/ClassNodeList.cpp: (WebCore::ClassNodeList::ClassNodeList): Change to being a DynamicNodeList
  • dom/ClassNodeList.h:
  • dom/Document.idl: Add the new functions
  • dom/DynamicNodeList.cpp: Copied from WebCore/dom/NodeList.cpp. (WebCore::DynamicNodeList::DynamicNodeList): Rename NodeList to DynamicNodeList, to differentiate it from the new StaticNodeList (WebCore::DynamicNodeList::~DynamicNodeList): (WebCore::DynamicNodeList::recursiveLength): (WebCore::DynamicNodeList::itemForwardsFromCurrent): (WebCore::DynamicNodeList::itemBackwardsFromCurrent): (WebCore::DynamicNodeList::recursiveItem): (WebCore::DynamicNodeList::itemWithName): (WebCore::DynamicNodeList::rootNodeChildrenChanged): (WebCore::DynamicNodeList::Caches::Caches): (WebCore::DynamicNodeList::Caches::reset):
  • dom/DynamicNodeList.h: Copied from WebCore/dom/NodeList.h. (WebCore::DynamicNodeList::rootNodeAttributeChanged):
  • dom/Element.idl: Add the new functions
  • dom/NameNodeList.cpp: Change to being a DynamicNodeList (WebCore::NameNodeList::NameNodeList):
  • dom/NameNodeList.h: (WebCore::NameNodeList::rootNodeAttributeChanged):
  • dom/Node.cpp: (WebCore::TagNodeList::TagNodeList): Change to being a DynamicNodeList (WebCore::Node::registerDynamicNodeList): (WebCore::Node::unregisterDynamicNodeList): (WebCore::Node::getElementsByName): (WebCore::Node::getElementsByClassName): (WebCore::Node::querySelector): new (WebCore::Node::querySelectorAll): new
  • dom/Node.h:
  • dom/NodeList.cpp: Removed.
  • dom/NodeList.h: This is now an abstract superclass of DynamicNodeList and StaticNodeList (WebCore::NodeList::NodeList): (WebCore::NodeList::~NodeList):
  • dom/SelectorNodeList.cpp: Added. (WebCore::SelectorNodeList::SelectorNodeList): New StaticNodeList subclass that filters elements by CSS selector
  • dom/SelectorNodeList.h: Added.
  • dom/StaticNodeList.cpp: Added. (WebCore::StaticNodeList::length): (WebCore::StaticNodeList::item): (WebCore::StaticNodeList::itemWithName):
  • dom/StaticNodeList.h: Added. (WebCore::StaticNodeList::StaticNodeList): (WebCore::StaticNodeList::~StaticNodeList):

LayoutTests:

Reviewed by Oliver.


  • fast/dom/SelectorAPI: Copied from LayoutTests/fast/dom/getElementsByClassName.
  • fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • fast/dom/SelectorAPI/dumpNodeList.html: Modified to test querySelector and querySelectorAll instead of getElementsByClassName
  • fast/dom/Window/window-properties-expected.txt: Added querySelector and querySelectorAll
14:54 Changeset [28980] by mjs@apple.com

Reviewed by Oliver.



1.3% speedup on SunSpider.


  • kjs/object.cpp: (KJS::JSObject::put): Don't do canPut check when not needed; let the PropertyMap handle it. (KJS::JSObject::canPut): Don't check the static property table. lookupPut does that already.

12/24/07:

22:55 Changeset [28979] by mrowe@apple.com

Fix Bug 16596: ThreadSafeShared should be lock-free where possible.

Reviewed by Sam Weinig.

Implement a lock-free ThreadSafeShared for i386, x86_64, ppc and ppc64.

This is a 1.7x as fast as the lock-based implementation on x86 for a single-threaded use
of ThreadSafeShared but is closer to 280x as fast when there is heavy concurrent multi-threaded
access to a single ThreadSafeShared object.

The atomic operations are based on those used by the Boost C++ library's shared_ptr implementation.

22:00 Changeset [28978] by alp@webkit.org

2007-12-24 Christian Dywan <christian@twotoasts.de>

Reviewed by Alp Toker.

http://bugs.webkit.org/attachment.cgi?id=18099
There are no NULL checks for strings in public api

Add missing NULL checks for string parameters.

Provide sensible defaults when NULL is passed for the optional
parameters in webkit_web_view_load_string(). UTF-8 is the default
encoding used by GLib and text/html is a reasonable default content
type.

  • WebView/webkitnetworkrequest.cpp:
  • WebView/webkitwebview.cpp:
17:05 Changeset [28977] by darin@apple.com
  • platform/text/PlatformString.h: Removed now-incorrect comment. Added a comment about copy().
  • platform/text/StringImpl.h: Added a comment about copy().
17:02 Changeset [28976] by darin@apple.com

Reviewed by Maciej.

I tried to keep the changes to a minimum. In some cases there is
room for optimization -- I didn't try to add in the "single ref count"
optimizations and there might be a tiny bit more string copying than
we had before.

  • WebCore.base.exp: Updated.
  • dom/CharacterData.cpp: (WebCore::CharacterData::appendData): Changed to use String since StringImpl doesn't have mutating functions any more. (WebCore::CharacterData::insertData): Ditto. (WebCore::CharacterData::deleteData): Ditto. (WebCore::CharacterData::replaceData): Ditto.
  • dom/Text.cpp: (WebCore::Text::splitText): Changed to use substring instead of remove since StringImpl does't have mutating functions any more.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText): Changed to use String instead of StringImpl so we can use remove.
  • platform/text/PlatformString.h: Removed newUninitialized. Added append that takes a character pointer and length.
  • platform/text/String.cpp: (WebCore::String::insert): Added an implementation that does not rely on an underlying StringImpl function. (WebCore::String::append): Ditto. (WebCore::String::truncate): Ditto. (WebCore::String::remove): Ditto. (WebCore::String::charactersWithNullTermination): Added an implementation that uses the new StringImpl null termination feature, which does not require modifying a string.
  • platform/text/StringImpl.cpp: (WebCore::isSpace): Fix comment. (WebCore::StringImpl::StringImpl): Added a new constructor that makes a string with a trailing null character. (WebCore::StringImpl::substring): Marked const. (WebCore::StringImpl::replace): Marked const; had to add quite a few const_cast. Also rewrote one of these to work without modifying the existing string.
  • platform/text/StringImpl.h: Fixed a mistake where the empty string had m_hasTerminatingNullCharacter uninitialized. Added a type and constructor for creating strings that have a trailing null character. Added a hasTerminatingNullCharacter function. Removed newUninitialized, charactersWithNullTermination, append, insert, truncate, and remove. Marked lots of other functions const.
  • platform/text/TextCodecLatin1.cpp: (WebCore::TextCodecLatin1::decode): Rewrote to use a Vector instead of newUninitialized.
  • platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::decode): Ditto.
  • platform/text/TextCodecUserDefined.cpp: (WebCore::TextCodecUserDefined::decode): Ditto.
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::setContent): Changed to use String since StringImpl doesn't have mutating functions any more.
10:31 Changeset [28975] by alp@webkit.org

2007-12-24 Alp Toker <alp@atoker.com>

Fix builds that don't use AllInOneFile.cpp following breakage
introduced in r28973.

  • kjs/grammar.y:
04:16 Changeset [28974] by ap@webkit.org

Reviewed by Oliver.

Fix fast/events/arrow-keys-on-body.html, failing on Windows.

  • DumpRenderTree/win/EventSender.cpp: (keyDownCallback): Add KF_EXTENDED flag to arrow keys. Also add a count of 1, even though WebKit currently ignores it.
02:13 Changeset [28973] by mjs@apple.com

Reviewed by Eric.


3.5% speedup on SunSpider.

var statements now result in either assignments or empty statements.


This allows a couple of optimization opportunities:

  • No need to branch at runtime to check if there is an initializer
  • EmptyStatementNodes can be removed entirely (also done in this patch)
  • Assignment expressions get properly optimized for local variables


This patch also includes some code cleanup:

  • Most of the old VarStatement/VarDecl logic is now only used for const declarations, thus it is renamed appropriately
  • AssignExprNode is gone


  • JavaScriptCore.exp:
  • kjs/NodeInfo.h:
  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::SourceElements::append): (KJS::ConstDeclNode::ConstDeclNode): (KJS::ConstDeclNode::optimizeVariableAccess): (KJS::ConstDeclNode::handleSlowCase): (KJS::ConstDeclNode::evaluateSingle): (KJS::ConstDeclNode::evaluate): (KJS::ConstStatementNode::optimizeVariableAccess): (KJS::ConstStatementNode::execute): (KJS::VarStatementNode::optimizeVariableAccess): (KJS::VarStatementNode::execute): (KJS::ForInNode::ForInNode): (KJS::ForInNode::optimizeVariableAccess): (KJS::ForInNode::execute): (KJS::FunctionBodyNode::initializeSymbolTable): (KJS::ProgramNode::initializeSymbolTable): (KJS::FunctionBodyNode::processDeclarations): (KJS::ProgramNode::processDeclarations): (KJS::EvalNode::processDeclarations):
  • kjs/nodes.h: (KJS::DeclarationStacks::): (KJS::StatementNode::): (KJS::ConstDeclNode::): (KJS::ConstStatementNode::): (KJS::EmptyStatementNode::): (KJS::VarStatementNode::): (KJS::ForNode::):
  • kjs/nodes2string.cpp: (KJS::ConstDeclNode::streamTo): (KJS::ConstStatementNode::streamTo): (KJS::ScopeNode::streamTo): (KJS::VarStatementNode::streamTo): (KJS::ForNode::streamTo): (KJS::ForInNode::streamTo):
Note: See TracTimeline for information about the timeline view.