Timeline



Dec 28, 2007:

11:42 PM Changeset in webkit [29025] by Darin Adler
  • 3 edits in trunk/WebCore
  • 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.
11:35 PM Changeset in webkit [29024] by ap@webkit.org
  • 2 edits in trunk/LayoutTests

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.
11:27 PM Changeset in webkit [29023] by Darin Adler
  • 3 edits in trunk/LayoutTests
  • 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.
9:51 PM Changeset in webkit [29022] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

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:
8:19 PM Changeset in webkit [29021] by mitz@apple.com
  • 2 edits in trunk/WebCore

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.
8:01 PM Changeset in webkit [29020] by eric@webkit.org
  • 7 edits
    5 adds in trunk

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):
7:27 PM Changeset in webkit [29019] by Nikolas Zimmermann
  • 2 edits in trunk/WebCore

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

7:17 PM Changeset in webkit [29018] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Sam.

More changes to make number code readable

  • kjs/number_object.cpp: (KJS::integer_part_noexp): (KJS::numberToFixed): (KJS::numberToExponential):
7:16 PM Changeset in webkit [29017] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Sam.

More small cleanups to toPrecision

  • kjs/number_object.cpp: (KJS::numberToPrecision):
7:16 PM Changeset in webkit [29016] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Sam.

More small attempts to make number code readable

  • kjs/number_object.cpp: (KJS::exponentialPartToString): (KJS::numberToExponential): (KJS::numberToPrecision):
7:15 PM Changeset in webkit [29015] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

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):
7:14 PM Changeset in webkit [29014] by eric@webkit.org
  • 3 edits in trunk/JavaScriptCore

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):
6:48 PM Changeset in webkit [29013] by alp@webkit.org
  • 2 edits in trunk/WebKit/gtk

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:
6:41 PM Changeset in webkit [29012] by Nikolas Zimmermann
  • 48 edits
    13 adds
    4 deletes in trunk

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).

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

Dec 27, 2007:

11:50 PM Changeset in webkit [29011] by mitz@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Alexey Proskuryakov.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::~RenderLayer): Avoid calling EventHandler::resizeLayerDestroyed() if the document is being destroyed.
11:13 PM ApplicationsGtk created by alp@atoker.com
List WebKit/GTK+ applications (feel free to add more)
7:22 PM Changeset in webkit [29010] by mitz@apple.com
  • 5 edits
    2 adds in trunk

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.
5:25 PM Changeset in webkit [29009] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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.
4:57 PM Changeset in webkit [29008] by weinig@apple.com
  • 3 edits
    2 adds in trunk

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.
4:11 PM Changeset in webkit [29007] by mitz@apple.com
  • 3 edits
    8 adds in trunk

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.
3:14 PM Changeset in webkit [29006] by alp@webkit.org
  • 6 edits in trunk

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.

2:20 PM Changeset in webkit [29005] by eric@webkit.org
  • 3 edits
    3 adds in trunk

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
1:58 PM Changeset in webkit [29004] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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 PM Changeset in webkit [29003] by mitz@apple.com
  • 1 edit in trunk/WebCore/ChangeLog

Fix typo in ChangeLog

12:54 PM Changeset in webkit [29002] by mitz@apple.com
  • 3 edits
    3 adds in trunk

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.
8:54 AM Changeset in webkit [29001] by mrowe@apple.com
  • 2 edits in trunk/PlanetWebKit

Add another feed to Planet WebKit.

12:34 AM Changeset in webkit [29000] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

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.
12:28 AM Changeset in webkit [28999] by weinig@apple.com
  • 48 edits in trunk/LayoutTests

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:
12:22 AM Changeset in webkit [28998] by ap@webkit.org
  • 3 edits
    10 adds in trunk

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.

Dec 26, 2007:

10:54 PM BuildingGtk edited by jmalonzo@unpluggable.com
added autotools documentation (diff)
10:05 PM Changeset in webkit [28997] by alp@webkit.org
  • 6 edits
    7 adds in trunk

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

8:01 PM Changeset in webkit [28996] by mitz@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Anders Carlsson.

  • re-categorize some SVG tests the are failing on Windows
  • platform/win/Skipped:
6:33 PM Changeset in webkit [28995] by weinig@apple.com
  • 12 edits
    5 moves in trunk/LayoutTests

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:
3:55 PM Changeset in webkit [28994] by alice.liu@apple.com
  • 2 edits in trunk/LayoutTests

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

2:16 PM Changeset in webkit [28993] by ap@webkit.org
  • 2 edits
    1 move
    2 adds in trunk

Reviewed by Sam Weinig.

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

1:25 AM Changeset in webkit [28992] by mrowe@apple.com
  • 2 edits in trunk/WebCore

Windows build fix.

12:40 AM Changeset in webkit [28991] by rwlbuis@webkit.org
  • 6 edits
    8 adds in trunk

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.

Dec 25, 2007:

11:25 PM Changeset in webkit [28990] by weinig@apple.com
  • 9 edits in trunk/WebCore

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:
10:44 PM Changeset in webkit [28989] by weinig@apple.com
  • 4 edits in trunk/WebCore

Fix non-mac builds.

  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCoreSources.bkl:
10:33 PM Changeset in webkit [28988] by weinig@apple.com
  • 3 edits
    2 copies in trunk/WebCore

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.
10:18 PM Changeset in webkit [28987] by weinig@apple.com
  • 8 edits in trunk/WebCore

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:
6:55 PM Changeset in webkit [28986] by alp@webkit.org
  • 4 edits in trunk/WebCore

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:
6:33 PM Changeset in webkit [28985] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

Win build fix for breakage introduced in r28981.

  • WebCore.vcproj/WebCore.vcproj:
6:30 PM Changeset in webkit [28984] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

Wx build fix for breakage introduced in r28981.

  • WebCoreSources.bkl:
6:28 PM Changeset in webkit [28983] by alp@webkit.org
  • 2 edits in trunk/WebCore

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

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

  • WebCore.pro:
5:05 PM Changeset in webkit [28982] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac

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.
4:46 PM Changeset in webkit [28981] by dsmith@webkit.org
  • 18 edits
    2 copies
    1 move
    4 adds
    30 deletes in trunk

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
2:54 PM Changeset in webkit [28980] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

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.

Dec 24, 2007:

10:55 PM Changeset in webkit [28979] by mrowe@apple.com
  • 2 edits in trunk/WebCore

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.

10:00 PM Changeset in webkit [28978] by alp@webkit.org
  • 3 edits in trunk/WebKit/gtk

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:
5:05 PM Changeset in webkit [28977] by Darin Adler
  • 3 edits in trunk/WebCore
  • platform/text/PlatformString.h: Removed now-incorrect comment. Added a comment about copy().
  • platform/text/StringImpl.h: Added a comment about copy().
5:02 PM Changeset in webkit [28976] by Darin Adler
  • 13 edits in trunk/WebCore

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 AM Changeset in webkit [28975] by alp@webkit.org
  • 2 edits in trunk/JavaScriptCore

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

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

  • kjs/grammar.y:
4:16 AM Changeset in webkit [28974] by ap@webkit.org
  • 4 edits in trunk

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.
2:13 AM Changeset in webkit [28973] by mjs@apple.com
  • 7 edits in trunk/JavaScriptCore

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.