2010-03-03  Alexey Proskuryakov  <ap@apple.com>

        Rubber-stamped by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=35700
        Some of the newly added Java tests fail randomly on buildbot

        * fast/js/resources/js-test-post-async.js: Added a version that calls notifyDone(). I first
        wanted to add a notifyDone() call to js-test-post.js, but it turns out that multiple tests
        dump results after "TEST COMPLETE", and we need to get bots back to green fast.

        * java/lc3: (Many files). Don't load two scripts dynamically, WebKit has issues with order of
        execution in this case.

2010-03-03  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Adding a test to test the creation callback passed to
        openDatabase() and another one to make sure it is executed in the
        correct world.

        https://bugs.webkit.org/show_bug.cgi?id=34726

        * storage/open-database-creation-callback-expected.txt: Added.
        * storage/open-database-creation-callback.html: Added.
        * storage/open-database-creation-callback-isolated-world-expected.txt: Added.
        * storage/open-database-creation-callback-isolated-world.html: Added.

2010-03-03  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        Two newly added Java tests fail on Tiger build bot.

        Just land actual results as expected. I don't even know which behavior is more correct.

        * platform/mac-tiger/java: Added.
        * platform/mac-tiger/java/lc3: Added.
        * platform/mac-tiger/java/lc3/JavaArray: Added.
        * platform/mac-tiger/java/lc3/JavaArray/ToString-001-expected.txt: Added.
        * platform/mac-tiger/java/lc3/JavaObject: Added.
        * platform/mac-tiger/java/lc3/JavaObject/JavaObjectToString-001-expected.txt: Added.

2010-03-03  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=35617
        Import Mozilla LiveConnect 3 test suite

        * java/lc3/sources: Added (many files). Sources for Mozilla test applet.

        * java/jstests.jar: Added in compiled form, since it's unlikely that we'll ever need to
        modify the above sources.

        * java/lc3.java: Added.
        (lc3): This is a small wrapper around jstests.jar. The latter only adds some classes, but
        WebKit needs an actual applet to call into Java.
        (lc3.createQAObject): Instantiate a class defined in jstests.jar by name.
        (lc3.stringToByteArray): A helper to make a byte array out of string. Tests originally
        relied on window.java package interface to do this, but it's not available in WebKit. We
        need more functions like this to work around other uses of window.java, but this is one I
        wrote for now.

        * java/Makefile: Link test applets to Mozilla's jstests.jar. This is not needed for tests
        other than ones imported here, but it's also harmless, and I don't know how to write good
        makefiles.

        * java/lc3: Added (many files). Tests were heavily reworked to run to completion, but PASS/FAIL
        results should not be generally relied upon. All html wrappers are identical.

2010-03-03  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed, build fix.

        Update expected results for fast/js/custom-constructors-expected.txt

2010-03-03  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Added failing Windows compositing tests to Skipped file
        https://bugs.webkit.org/show_bug.cgi?id=35610
        
        I actually removed transforms/3d (which all now work) and
        compositing from the Skipped file and replaced with the 
        tests that are not yet working.

        * platform/win/Skipped:

2010-03-03  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Replace 'autobuffer' attribute with 'preload' to align with spec revision 4811.
        https://bugs.webkit.org/show_bug.cgi?id=35385
        rdar://problem/7689602

        * media/audio-constructor-autobuffer-expected.txt: Removed.
        * media/audio-constructor-autobuffer.html: Removed.
        * media/audio-constructor-preload-expected.txt: Added.
        * media/audio-constructor-preload.html: Added.
        * media/video-dom-autobuffer-expected.txt: Removed.
        * media/video-dom-autobuffer.html: Removed.
        * media/video-dom-preload-expected.txt: Added.
        * media/video-dom-preload.html: Added.

2010-03-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7682756> Assertion failure when replacing the contents of a <select>

        * fast/dom/remove-children-notification-order-expected.txt: Added.
        * fast/dom/remove-children-notification-order.html: Added.

2010-03-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        [GTK] build slaves need working geoclue service
        https://bugs.webkit.org/show_bug.cgi?id=35674

        Skip tests we're not really able to run for the time being.

        * platform/gtk/Skipped:

2010-03-02  Tony Chang  <tony@chromium.org>

        Not reviewed, test fix.

        Revert r55447 because the new layout test is crashing consistently
        on Leopard Intel Debug (tests).
        https://bugs.webkit.org/show_bug.cgi?id=35261

        * svg/custom/tiling-regular-hexagonal-crash-expected.txt: Removed.
        * svg/custom/tiling-regular-hexagonal-crash.svg: Removed.

2010-03-02  Evan Stade  <estade@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=35261
        [skia] crash when attempting to render certain SVGs with Skia

        This test passes if it doesn't crash.

        * svg/custom/tiling-regular-hexagonal-crash-expected.txt: Added.
        * svg/custom/tiling-regular-hexagonal-crash.svg: Added.

2010-03-02  Arno Renevier  <arno@renevier.net>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
        https://bugs.webkit.org/show_bug.cgi?id=35210

        * platform/gtk/Skipped:

2010-03-02  Andy Estes  <aestes@apple.com>

        Reviewed by Maciej Stachowiak.

        Add a test for the patch to https://bugs.webkit.org/show_bug.cgi?id=35566.
        These can be run manually or from DRT.

        * fast/events/wheelevent-in-scrolling-div-expected.txt: Added.
        * fast/events/wheelevent-in-scrolling-div.html: Added.

2010-03-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        Bug 35576: WebKit should tell plug-in instances when private browsing state changes
        <http://webkit.org/b/35576>

        * platform/win/Skipped: Remove plugins/private-browsing-mode.html now that it passes.

2010-03-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Bug 30348: Implement private mode for plug-ins on Windows
        <http://webkit.org/b/30348> / <rdar://problem/7562261>

        * platform/win/Skipped: Remove plugins/private-browsing-mode-2.html now that it passes.

2010-03-02  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=35600
        shouldBe() fails when comparing an array to null.

        * fast/js/resources/js-test-pre.js: (areArraysEqual): This function is expected to be called
        with weird arguments, as it's used with array-like objects like WebGLByteArray. Made it
        resilient against exceptions raised when dealing with those.

2010-03-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Followup for REGRESSION(r51097) - Unable to log in to statefarm.com
        <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556

        * fast/loader/for-window-event-onload-scripts-expected.txt:
        * fast/loader/for-window-event-onload-scripts.html:

2010-03-02  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        aria-label isn't respected on option elements
        https://bugs.webkit.org/show_bug.cgi?id=35400

        * platform/mac/accessibility/option-with-arialabel-expected.txt: Added.
        * platform/mac/accessibility/option-with-arialabel.html: Added.

2010-03-02  Kent Tamura  <tkent@chromium.org>

        Reviewed by Shinichiro Hamaji.

        Merge ValidityState-stepMismatch-{number,range,unsupported}.html and
        input-step-{number,range,unsupported}.html to other tests
        https://bugs.webkit.org/show_bug.cgi?id=35435

        - Merge ValidityState-stepMismatch-{number,range,unsupported}.html to
        ValidityState-stepMismatch.html
        - Merge input-step--{number,range,unsupported}.html to input-step.html

        * fast/forms/ValidityState-stepMismatch-expected.txt:
        * fast/forms/ValidityState-stepMismatch-number-expected.txt: Removed.
        * fast/forms/ValidityState-stepMismatch-number.html: Removed.
        * fast/forms/ValidityState-stepMismatch-range-expected.txt: Removed.
        * fast/forms/ValidityState-stepMismatch-range.html: Removed.
        * fast/forms/ValidityState-stepMismatch-unsupported-expected.txt: Removed.
        * fast/forms/ValidityState-stepMismatch-unsupported.html: Removed.
        * fast/forms/input-step-number-expected.txt: Removed.
        * fast/forms/input-step-number.html: Removed.
        * fast/forms/input-step-range-expected.txt: Removed.
        * fast/forms/input-step-range.html: Removed.
        * fast/forms/input-step-unsupported-expected.txt: Removed.
        * fast/forms/input-step-unsupported.html: Removed.
        * fast/forms/input-stepup-stepdown-expected.txt:
        * fast/forms/script-tests/ValidityState-stepMismatch-number.js: Removed.
        * fast/forms/script-tests/ValidityState-stepMismatch-range.js: Removed.
        * fast/forms/script-tests/ValidityState-stepMismatch-unsupported.js: Removed.
        * fast/forms/script-tests/ValidityState-stepMismatch.js:
        * fast/forms/script-tests/input-step-number.js: Removed.
        * fast/forms/script-tests/input-step-range.js: Removed.
        * fast/forms/script-tests/input-step-unsupported.js: Removed.
        * fast/forms/script-tests/input-stepup-stepdown.js:

2010-03-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION(r51097) - Unable to log in to statefarm.com
        <rdar://problem/7672667> and https://bugs.webkit.org/show_bug.cgi?id=35556

        * fast/loader/for-window-event-onload-scripts-expected.txt: Added.
        * fast/loader/for-window-event-onload-scripts.html: Added.

2010-03-02  Chris Fleizach  <cfleizach@apple.com>

        Fixing layout test problems. No review.

        AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=35514

        AXTable tests crash on Leopard/Tiger because tables don't exist. This test needs to be skipped
        on those playtforms.

        * platform/mac-leopard/Skipped:
        * platform/mac-tiger/Skipped:

2010-02-28  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Gustavo Noronha.

        [Gtk] Support private browsing mode in plugins.
        https://bugs.webkit.org/show_bug.cgi?id=35500

        Unskip test after taking code from PluginViewQt.cpp

        * platform/gtk/Skipped:

2010-02-27  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26520
        Accessing a DOM node from a parent window in a child iframe moves the prototype to the child
        iframe and resets it in the parent window

        Adding a test for a bug that no longer occurs in ToT.

        * fast/dom/cross-frame-node-prototype-expected.txt: Added.
        * fast/dom/cross-frame-node-prototype.html: Added.
        * fast/dom/resources/cross-frame-node-prototype-iframe.html: Added.

2010-03-01  Gustavo Noronha Silva  <gns@gnome.org>

        Rebaseline the two editing tests we stopped skipping - we failed
        to take the new caret position result into account while
        unskipping these.

        * platform/gtk/editing/selection/5109817-expected.txt:
        * platform/gtk/editing/selection/5354455-2-expected.txt:

2010-03-01  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Eric Seidel.

        [GTK] plugins/setProperty.html fails on 64bit Release
        https://bugs.webkit.org/show_bug.cgi?id=35425

        Unskip the tests that failed as a consequence of the memory
        corruption.

        * platform/gtk/Skipped:

2010-03-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: changes to WAI-ARIA grid aren't perceived correctly by VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=35514

        * platform/mac/accessibility/stale-table-rows-expected.txt: Added.
        * platform/mac/accessibility/stale-table-rows.html: Added.

2010-03-01  José Millán Soto  <jmillan@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Right click does not activate text entry
        https://bugs.webkit.org/show_bug.cgi?id=29177

        Stop skipping some tests which where failing because of right click
        not being correct handled.

        * platform/gtk/Skipped:

2010-03-01  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        Added test for basic msubsup support.

        * mathml/presentation/subsup.xhtml: Added.
        * platform/mac/mathml/presentation/subsup-expected.checksum: Added.
        * platform/mac/mathml/presentation/subsup-expected.png: Added.
        * platform/mac/mathml/presentation/subsup-expected.txt: Added.

2010-03-01  Thatcher Ulrich  <tulrich@google.com>

        Reviewed by Darin Fisher.

        Fix chromium iframe shims.  Add another test case to the
        iframes-shims test.  After r53637, the plugin widget doesn't get
        moved every paint.  This used to hide the bug that if an iframe
        gets added, the plugin's cutout rectangles don't get updated until
        a layout happens.
        https://bugs.webkit.org/show_bug.cgi?id=35184

        * plugins/iframe-shims.html: test case that adds an iframe shim dynamically

2010-03-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 35537 - put_by_id does will incorrectly cache writes where a specific value exists,
                    where at the point of caching the same value is being written.

        Add test case.

        * fast/js/method-check-expected.txt:
        * fast/js/script-tests/method-check.js:
        (addOne):
        (addOneHundred):
        (totalizer.makeCall):

2010-03-01  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Integer overflow in WebGL arrays
        https://bugs.webkit.org/show_bug.cgi?id=35241

        * fast/canvas/webgl/array-unit-tests-expected.txt:
        * fast/canvas/webgl/array-unit-tests.html:
        * fast/canvas/webgl/webgl-array-invalid-ranges-expected.txt: Added.
        * fast/canvas/webgl/webgl-array-invalid-ranges.html: Added.

2010-03-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION: Telling a WebView to go to its current WebHistoryItem is broken.
        <rdar://problem/7699371> and https://bugs.webkit.org/show_bug.cgi?id=35532

        * fast/loader/api-test-go-to-current-back-forward-item-expected.txt: Added.
        * fast/loader/api-test-go-to-current-back-forward-item.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-02-27  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: callerScriptName and callerScriptLine should be obfuscated for timeline tests.
        https://bugs.webkit.org/show_bug.cgi?id=35478

        * ../../LayoutTests/inspector/timeline-test.js:

2010-02-28  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        [Qt] Support private browsing mode in plugins

        Add support for NPNVprivateModeBool property in plugins.

        See also: https://developer.mozilla.org/En/Supporting_private_browsing_in_plugins

        The NPNVprivateModeBool property is supported as scriptable property privateBrowsingEnabled
        in the test WebKit plugin. The Mac platform also supports a cachedPrivateBrowsingEnabled
        property implemented in the test plugin. This allows the Layout test
        plugins/private-browsing-mode.html to retrieve the previous value of NPNVprivateModeBool
        in the test plugin. Due to the platform-specific overhead required to support this bespoke
        property it is not implemented as part of this patch, instead a new test,
        plugins/private-browsing-mode-2.html, is added to ensure that setting and resetting
        privateBrowsingEnabled works as expected.

        http://bugs.webkit.org/show_bug.cgi?id=33180

        * platform/gtk/Skipped:
        * platform/mac-snowleopard/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * plugins/private-browsing-mode-2-expected.txt: Added.
        * plugins/private-browsing-mode-2.html: Added.

2010-02-27  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Gustavo Noronha.

        Unskip test that we seem to pass now.

        * platform/gtk/Skipped:

2010-02-27  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Add platform results for plugin test and unskip it. The filename
        of our test plugin is not the same than the one expected in the
        default result file.

        * platform/gtk/Skipped:
        * platform/gtk/plugins/plugin-javascript-access-expected.txt: Added.

2010-02-27  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Skip new test introduced in r55353 because of missing drag&drop support.

        * platform/qt/Skipped: fast/css/user-drag-none.html skipped.

2010-02-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/7696607> Links do not respect -webkit-user-drag: none
        https://bugs.webkit.org/show_bug.cgi?id=35475

        * fast/css/user-drag-none-expected.txt: Added.
        * fast/css/user-drag-none.html: Added.

2010-02-27  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        We now pass this test, unskip.

        * platform/gtk/Skipped:

2010-02-26  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=35450
        Crash when a Java array property accessor raises an exception

        Adding with a FAIL result, because this doesn't raise an exception in Firefox. I don't know
        what the formally correct behavior is, but it's good to avoid crashing.

        * java/SharedApplet.java:
        (NonPublicClass):
        (NonPublicClass.NonPublicClass):
        (NonPublicClass..SharedApplet.getObjectOfNonPublicClass):
        * java/inaccessible-class-expected.txt: Added.
        * java/inaccessible-class.html: Added.

2010-02-26  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Alexey Proskuryakov.

        Bug 35401 - Fix handling of errors in handling calls over bridge,
        where base object bridge-type does not match method bridge-type.

        The code assumes users will only attempt to invoke a Java method
        on a Java base object, etc.
        Add language specific subclasses of RuntimeMethod, and pass the
        RuntimeMethod into invokeMethod, so we can typecheck before
        casting.  Throw an exception on type mismatch.

        * java/java-and-plugins.html: Add tests for passing mismatched this objects to methdods.

2010-02-26  Alex Milowski  <alex@milowski.com>

        Reviewed by Kenneth Rohde Christiansen.

        Basic tests for munder, munderover, and mover elements.

        * mathml/presentation/over.xhtml: Added.
        * mathml/presentation/under.xhtml: Added.
        * mathml/presentation/underover.xhtml: Added.
        * platform/mac/mathml/presentation/over-expected.checksum: Added.
        * platform/mac/mathml/presentation/over-expected.png: Added.
        * platform/mac/mathml/presentation/over-expected.txt: Added.
        * platform/mac/mathml/presentation/under-expected.checksum: Added.
        * platform/mac/mathml/presentation/under-expected.png: Added.
        * platform/mac/mathml/presentation/under-expected.txt: Added.
        * platform/mac/mathml/presentation/underover-expected.checksum: Added.
        * platform/mac/mathml/presentation/underover-expected.png: Added.
        * platform/mac/mathml/presentation/underover-expected.txt: Added.

2010-02-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Needs proper reporting of frame loader callbacks, in DRT
        https://bugs.webkit.org/show_bug.cgi?id=32170

        Unskip tests that now pass.

        * LayoutTests/platform/gtk/http/tests/loading/redirect-with-no-location-crash-expected.txt: rebaselined.
        * platform/gtk/Skipped:

2010-02-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rebaseline of platform-specific results for test.

        SVGResourceClipper needs to be moved to RenderSVGResourceClipper
        https://bugs.webkit.org/show_bug.cgi?id=35421

        * platform/gtk/svg/custom/use-on-clip-path-with-transformation-expected.txt:

2010-02-26  Dirk Schulze  <krit@webkit.org>

        Unreviewed LayoutTest fix.

        SVGResourceClipper needs to be moved to RenderSVGResourceClipper
        https://bugs.webkit.org/show_bug.cgi?id=35421

        This corrects a result of a new clip test for SVG.

        * platform/mac/svg/custom/use-on-clip-path-with-transformation-expected.txt:

2010-02-26  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed trivial fix.

        [Qt] Update platform specific expected file after r55289.

        * platform/qt/svg/css/clippath-with-shadow-expected.txt:

2010-02-26  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGResourceClipper needs to be moved to RenderSVGResourceClipper
        https://bugs.webkit.org/show_bug.cgi?id=35421

        Update results after the move of SVGResourceClipper. Results are better
        readable and more sensible now.

        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * platform/mac/svg/batik/text/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/css/clippath-with-shadow-expected.txt:
        * platform/mac/svg/custom/clip-path-child-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-display-none-child-expected.txt:
        * platform/mac/svg/custom/clip-path-href-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-referencing-use-expected.txt:
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.txt:
        * platform/mac/svg/custom/clip-path-units-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-with-transform-expected.txt:
        * platform/mac/svg/custom/empty-clip-path-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-clipPath-creation-expected.txt:
        * platform/mac/svg/custom/recursive-clippath-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/text-clip-expected.txt:
        * platform/mac/svg/custom/visibility-override-clip-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * svg/custom/use-clipped-transform-expected.txt:

2010-02-26  Ben Murdoch  <benm@google.com>

        Reviewed by Kenneth Rohde Christiansen.

        The element that a touchevent is dispatched to isn't always right
        https://bugs.webkit.org/show_bug.cgi?id=35431

        * fast/events/touch/basic-single-touch-events-expected.txt: Updated
            the targetTouches list expections.
        * fast/events/touch/script-tests/basic-single-touch-events.js: ditto.
        (verifyTouch):

2010-02-26  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Darin Fisher.

        Fix the handling of updates to #hash fragments to check for differences
        post-canonicalization rather than comparing pre- to post-. Chromium
        had a bug where we would set the #hash on an about:blank URL and generate
        an onload event because we thought the URL (not just the fragment) was
        changing.

        http://bugs.webkit.org/show_bug.cgi?id=35180

        * fast/loader/about-blank-hash-change-expected.txt: Added.
        * fast/loader/about-blank-hash-change.html: Added.

2010-02-26  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        texImage2D and texSubImage2D taking ImageData ignore flipY and premultiplyAlpha
        https://bugs.webkit.org/show_bug.cgi?id=34459

        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt: Added.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html: Added.

2010-02-26  Zhenyao Mo  <zmo@google.com>

        Reviewed by David Levin.

        Set viewport to canvas size upon context creation
        https://bugs.webkit.org/show_bug.cgi?id=35057

        * fast/canvas/webgl/bug-32888.html: Remove the gl.viewport call since it's done when WebGLRenderingContext is created.
        * fast/canvas/webgl/gl-get-calls-expected.txt: The read-back viewport size should match the canvas size instead of (0, 0, 0, 0).
        * fast/canvas/webgl/gl-get-calls.html: Remove the gl.viewport call since it's done when WebGLRenderingContext is created.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html: Ditto.
        * fast/canvas/webgl/tex-sub-image-2d.html: Ditto.
        * fast/canvas/webgl/texImage2DImageDataTest.html: Ditto.
        * fast/canvas/webgl/triangle.html: Ditto.
        * fast/canvas/webgl/viewport-unchanged-upon-resize.html: Ditto.

2010-02-26  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] fast/multicol/client-rects.html fails in QtLauncher
        https://bugs.webkit.org/show_bug.cgi?id=34959

        * platform/qt/fast: Added.
        * platform/qt/fast/multicol: Added.
        * platform/qt/fast/multicol/client-rects-expected.txt: Platform specific expected file added.
        * platform/qt/Skipped: fast/multicol/client-rects.html unskipped.

2010-02-26  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] LayoutTestController.numberOfPages() should have default parameters
        https://bugs.webkit.org/show_bug.cgi?id=35428

        * platform/qt/Skipped: printing/css2.1 tests unskipped.

2010-02-26  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        [GTK] plugins/setProperty.html fails on 64bit Release
        https://bugs.webkit.org/show_bug.cgi?id=35425

        * platform/gtk/Skipped: Skipping another crasher related to bug 35425.

2010-02-26  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: While the current timeline view in DevTools provides a great overview of
        things happening, we should make it easier to locate the cause of an event,
        e.g., link to JS where relevant.
        Caller info support for all kind of Timeline events and new Function Call event will be added.
        https://bugs.webkit.org/show_bug.cgi?id=33995

        * inspector/timeline-enum-stability-expected.txt:
        * inspector/timeline-test.js

2010-02-26  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed. Skip failing tests.

        Refine LayoutTests/printing/css2.1 with numberOfPages
        https://bugs.webkit.org/show_bug.cgi?id=35334

        * platform/qt/Skipped:

2010-02-26  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Refine LayoutTests/printing/css2.1 with numberOfPages
        https://bugs.webkit.org/show_bug.cgi?id=35334

        Small refinements were done in paged-media-test-utils.js.

        Note that WebKit doesn't pass page-break-after-003 for now.

        * printing/css2.1/README.txt:
        * printing/css2.1/page-break-after-000-expected.txt:
        * printing/css2.1/page-break-after-000.html:
        * printing/css2.1/page-break-after-001-expected.txt:
        * printing/css2.1/page-break-after-001.html:
        * printing/css2.1/page-break-after-002-expected.txt:
        * printing/css2.1/page-break-after-002.html:
        * printing/css2.1/page-break-after-003-expected.txt: Added.
        * printing/css2.1/page-break-after-003.html: Added.
        * printing/css2.1/page-break-after-004-expected.txt:
        * printing/css2.1/page-break-after-004.html:
        * printing/css2.1/page-break-before-000-expected.txt:
        * printing/css2.1/page-break-before-000.html:
        * printing/css2.1/page-break-before-001-expected.txt:
        * printing/css2.1/page-break-before-001.html:
        * printing/css2.1/page-break-before-002-expected.txt:
        * printing/css2.1/page-break-before-002.html:
        * printing/css2.1/page-break-inside-000-expected.txt:
        * printing/css2.1/page-break-inside-000.html:
        * printing/resources/paged-media-test-utils.js:
        (appendResult):
        (pageNumberForElementShouldBe):
        (numberOfPagesShouldBe):
        (runPrintingTest):

2010-02-26  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        [GTK] plugins/setProperty.html fails on 64bit Release
        https://bugs.webkit.org/show_bug.cgi?id=35425

        * platform/gtk/Skipped: Skipping crasher.

2010-02-26  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        Adding two GTK layout test results for a new tests
        added in r55259 and r55260.

        * platform/gtk/svg/custom/use-on-clip-path-with-transformation-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/use-on-clip-path-with-transformation-expected.txt.
        * platform/gtk/svg/filters/filter-on-tspan-expected.txt: Added.

2010-02-26  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Roll-out r55263 because it broke fast/forms/textarea-type-spaces-pretty-diff.html.
        https://bugs.webkit.org/show_bug.cgi?id=30946

        * editing/execCommand/5142012-3-expected.txt:
        * editing/inserting/rebalance-whitespace-1-expected.txt: Removed.
        * editing/inserting/rebalance-whitespace-1.html: Removed.
        * editing/pasteboard/5521237-expected.txt:
        * platform/mac/editing/execCommand/5482023-expected.checksum:
        * platform/mac/editing/execCommand/5482023-expected.png: Added.
        * platform/mac/editing/execCommand/5482023-expected.txt:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.checksum:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.png: Added.
        * platform/mac/editing/execCommand/remove-formatting-expected.checksum:
        * platform/mac/editing/execCommand/remove-formatting-expected.png: Added.
        * platform/mac/editing/execCommand/remove-formatting-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.checksum:
        * platform/mac/editing/inserting/editable-html-element-expected.png: Added.
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.checksum:
        * platform/mac/editing/pasteboard/4989774-expected.png: Added.
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/selection/4983858-expected.checksum:
        * platform/mac/editing/selection/4983858-expected.png: Added.
        * platform/mac/editing/selection/4983858-expected.txt:

2010-02-25  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Eric Seidel.

        Test whether or not we preserve the hash fragments for "about:blank"
        URLs. (Note that currently WebKit passes this but Chromium doesn't).

        https://bugs.webkit.org/show_bug.cgi?id=35399

        * fast/loader/about-blank-hash-kept-expected.txt: Added.
        * fast/loader/about-blank-hash-kept.html: Added.

2010-02-25  Enrica Casucci  <enrica@apple.com>

        Reviewed by Adele Peterson.

        Extra layout on keypress after a space (problem with rebalanceWhitespaceAt in InsertTextCommand).
        https://bugs.webkit.org/show_bug.cgi?id=30946
        <rdar://problem/7639184>

        There are now regular spaces where nbsps were used unnecessarily before.  Also,
        multi-character insertions now have their whitespace rebalanced, and this is
        reflected in a few tests.

        * editing/execCommand/5142012-3-expected.txt:
        * editing/inserting/rebalance-whitespace-1-expected.txt: Added.
        * editing/inserting/rebalance-whitespace-1.html: Added.
        * editing/pasteboard/5521237-expected.txt:
        * platform/mac/editing/execCommand/5482023-expected.checksum:
        * platform/mac/editing/execCommand/5482023-expected.png: Removed.
        * platform/mac/editing/execCommand/5482023-expected.txt:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.checksum:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.png: Removed.
        * platform/mac/editing/execCommand/remove-formatting-expected.checksum:
        * platform/mac/editing/execCommand/remove-formatting-expected.png: Removed.
        * platform/mac/editing/execCommand/remove-formatting-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.checksum:
        * platform/mac/editing/inserting/editable-html-element-expected.png: Removed.
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.checksum:
        * platform/mac/editing/pasteboard/4989774-expected.png: Removed.
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/selection/4983858-expected.checksum:
        * platform/mac/editing/selection/4983858-expected.png: Removed.
        * platform/mac/editing/selection/4983858-expected.txt:

2010-02-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=35406
        <rdar://problem/6945502> Make generic array methods work with JavaArray

        * java/array-sort-expected.txt: Added.
        * java/array-sort.html: Added.

2010-02-25  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG's tspan is no member of SVGRenderBase, this can cause crashes on filters
        https://bugs.webkit.org/show_bug.cgi?id=35354

        Check if filters work for tspan according to the SVG Spec. The test shouldn't
        throw an assert now and a green rect should be visible.

        * platform/mac/svg/filters/filter-on-tspan-expected.checksum: Added.
        * platform/mac/svg/filters/filter-on-tspan-expected.png: Added.
        * platform/mac/svg/filters/filter-on-tspan-expected.txt: Added.
        * svg/filters/filter-on-tspan.svg: Added.

2010-02-25  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Use-element doesn't transform clipPath
        https://bugs.webkit.org/show_bug.cgi?id=35375

        Check if the clipPath gets transformed on setting a transform or translation for use.

        * platform/mac/svg/custom/use-on-clip-path-with-transformation-expected.checksum: Added.
        * platform/mac/svg/custom/use-on-clip-path-with-transformation-expected.png: Added.
        * platform/mac/svg/custom/use-on-clip-path-with-transformation-expected.txt: Added.
        * svg/custom/use-on-clip-path-with-transformation.svg: Added.

2010-02-25  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        File.type support.
        https://bugs.webkit.org/show_bug.cgi?id=35361

        Update the layout test to test File.type.

        * editing/pasteboard/file-input-files-access-expected.txt:
        * editing/pasteboard/script-tests/file-input-files-access.js:
        (fileListShouldBe):
        (runTest):

2010-02-25  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Race condition in JSPropertyNameIterator and Structure destruction
        https://bugs.webkit.org/show_bug.cgi?id=35398

        Add test to ensure that this race condition doesn't occur.

        * fast/js/script-tests/for-in-cached.js:
        (cacheClearing):

2010-02-25  Alexey Proskuryakov  <ap@apple.com>

        Tiger build fix.

        * java/Makefile: I can't get $(or ...) work on Tiger, so changed to use a single condition.

2010-02-25  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=35394
        <rdar://problem/7685262> Make passing objects between Java and plug-ins work

        * java/Makefile: Added plugin.jar to classpath to make JSObject available in test applets.

        * java/java-and-plugins-expected.txt: Added.
        * java/java-and-plugins.html: Added.

        * java/SharedApplet.java: Added test methods for java-and-plugins.html.

        * java/argument-to-object-type-expected.txt:
        * java/argument-to-object-type.html:
        * java/array-return-expected.txt:
        * java/array-return.html:
        Removed plug-in element that got here due to a copy/paste mistake.

2010-02-25  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: evaluate-on-hover does not work on HTML files.

        https://bugs.webkit.org/show_bug.cgi?id=35378

        * inspector/syntax-highlight-html-expected.txt:

2010-02-25  Ben Murdoch  <benm@google.com>

        Reviewed by Kenneth Rohde Christiansen.

        The target element of a Touch should be the target where that touch originated, not where it is now.
        https://bugs.webkit.org/show_bug.cgi?id=34585

        * fast/events/touch/basic-single-touch-events-expected.txt: Update expected target element.
        * fast/events/touch/script-tests/basic-single-touch-events.js: ditto.
        * fast/events/touch/script-tests/touch-target.js: Added.
        * fast/events/touch/touch-target-expected.txt: Added.
        * fast/events/touch/touch-target.html: Added.

2010-02-25  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Unskip a bunch of (AFAICT) non-flakey HTTP tests that we currently
        pass.

        * platform/gtk/Skipped:

2010-02-24  Chris Evans  <cevans@chromium.org>

        Reviewed by Darin Adler.

        Add test for SVG that used to cause crash.
        It has been fixed on trunk for a while, thanks to the <use> rewrite,
        but we want to make sure we do not regress.

        * svg/dom/use-transform.svg: Added.
        * svg/dom/use-transform-expected.txt: Added.

2010-02-24  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Anders Carlsson.

        Keep this test’s behavior the same after r55203.

        * fast/dom/script-tests/prototype-inheritance-2.js: Explicitly set the inner document’s body
        display property to “none”. Before r55203, this happened as a side effect of parsing the
        <frameset> tag.

2010-02-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7018611> innerHTML applies meta/link/title tags from a detached html element

        * fast/parser/fragment-parser-expected.txt: Added.
        * fast/parser/fragment-parser.html: Added.
        * fast/parser/script-tests/fragment-parser.js: Added.

2010-02-24  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        [REGRESSION in r55185] EXC_BAD_ACCESS on opening inspector.
        https://bugs.webkit.org/show_bug.cgi?id=35335

        Add tests for caching getter lookup on large objects (eg. those not
        using the inline storage array).

        * fast/js/pic/cached-getter-setter-expected.txt:
        * fast/js/pic/cached-getter-setter.html:

2010-02-24  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Unskip 3 passing cookies tests.

        * platform/gtk/Skipped:

2010-02-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7682827> Text with :first-letter lingers after being removed

        * fast/css/first-letter-set-text-expected.checksum: Added.
        * fast/css/first-letter-set-text-expected.png: Added.
        * fast/css/first-letter-set-text-expected.txt: Added.
        * fast/css/first-letter-set-text.html: Added.

2010-02-24  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        [GTK] DRT implement execCommand()
        https://bugs.webkit.org/show_bug.cgi?id=35351

        Skip test that fails in GTK+.

        * platform/gtk/Skipped:

2010-02-24  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        Adding a GTK layout test result for a new test
        added in r55159.

        * platform/gtk/fast/repaint/repaint-during-scroll-expected.txt: Added.

2010-02-23  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Simon Hausmann.

        [Qt] editing/execCommand/delete-image-in-anchor.html skipped
        because of missing layoutTestController.execCommand()

        Qt specific expected file added for editing/execCommand/insert-list-xml.xhtml
        introduced in r55167, because of different font types.

        * platform/qt/Skipped: editing/execCommand/delete-image-in-anchor.html skipped.
        * platform/qt/editing/execCommand/insert-list-xml-expected.txt: Added.

2010-02-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Web Inspector: Regression: r55027+: Inspector broken
        https://bugs.webkit.org/show_bug.cgi?id=35253

        Add thorough testing of getter access to hit the various
        possible caching scenarios.

        * fast/js/pic/cached-getter-setter-expected.txt:
        * fast/js/pic/cached-getter-setter.html:

2010-02-23  Enrica Casucci  <enrica@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION: WebKit crashes when deleting images on blogger.com (34957)
        <rdar://problem/7651935>
        https://bugs.webkit.org/show_bug.cgi?id=34957

        * editing/execCommand/delete-image-in-anchor-expected.txt: Added.
        * editing/execCommand/delete-image-in-anchor.html: Added.

2010-02-23  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=34634
        Pasting a list into the middle of another list item should split the target
        list item into two separate list items.  This matches the behavior in other
        browsers.

        * editing/pasteboard/paste-list-004-expected.txt: Added.
        * editing/pasteboard/paste-list-004.html: Added.

2010-02-23  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=22602
        Enable Java in DumpRenderTree (on Mac)

        * fast/dom/java-applet-calls-expected.txt: Removed.
        * fast/dom/java-applet-calls.html: Removed.
        * fast/dom/resources/TestApplet.class: Removed.
        * fast/dom/resources/TestApplet.java: Removed.
        This test was added in a failing form, even though it never worked. The new tests cover
        everything it was meant to cover.

        * java/SharedApplet.java: Added. This class will have methods for simple tests, but it's
        also possible to just add new source files.

        * java/Makefile: Added. Compile all .java files in the directory.

        * java: Added.
        * java/argument-to-object-type-expected.txt: Added.
        * java/argument-to-object-type.html: Added.
        * java/array-return-expected.txt: Added.
        * java/array-return.html: Added.
        Added tests for recently fixed bugs.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        Java tests only work on Mac currently.

2010-02-23  Oliver Hunt  <oliver@apple.com>

        Add expected result

        * svg/custom/animate-use-crash-expected.txt: Added.

2010-02-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Add a testcase for an old bug to ensure it doesn't return.

        * svg/custom/animate-use-crash.xhtml: Added.

2010-02-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher and Pavel Feldman.

        Regression (r55107) - WebInspector docking is busted.
        https://bugs.webkit.org/show_bug.cgi?id=35274

        * inspector/timeline-event-dispatch.html: Actually click in the right place now that the
          inspector isn't docked anymore.

2010-02-23  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Crash in createContextualFragment when inserting a list in a non HTML document.
        <rdar://problem/7666670>
        https://bugs.webkit.org/show_bug.cgi?id=35305

        * editing/execCommand/insert-list-xml-expected.txt: Added.
        * editing/execCommand/insert-list-xml.xhtml: Added.

2010-02-23  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Simon Fraser.

        <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
        https://bugs.webkit.org/show_bug.cgi?id=34381

        * fast/repaint/repaint-during-scroll.html: Added.
        * platform/mac/fast/repaint/repaint-during-scroll-expected.checksum: Added.
        * platform/mac/fast/repaint/repaint-during-scroll-expected.png: Added.
        * platform/mac/fast/repaint/repaint-during-scroll-expected.txt: Added.

2010-02-23  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        HTTP 307 after a 303 after a POST re-sends POST data from the original request.
        <rdar://problem/7390251> and https://bugs.webkit.org/show_bug.cgi?id=31410

        * http/tests/loading/307-after-303-after-post.html: Added.
        * http/tests/loading/resources/303-to-307-target.php: Added.
        * http/tests/loading/resources/307-post-output-target.php: Added.
        * http/tests/loading/resources/post-to-303-target.php: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:

2010-02-23  Ben Murdoch  <benm@google.com>

        Reviewed by Eric Seidel.

        pageX/Y co-ordinates of TouchEvent should be 0,0
        https://bugs.webkit.org/show_bug.cgi?id=35239

        Update layout tests to reflect the WebCore changes in this bug.

        * fast/events/touch/basic-multi-touch-events-expected.txt: Updated.
        * fast/events/touch/basic-single-touch-events-expected.txt: Updated.
        * fast/events/touch/script-tests/basic-multi-touch-events.js:
        (verifyTouchEvent): Add checking of TouchEvent.pageX/Y
        * fast/events/touch/script-tests/basic-single-touch-events.js:
        (verifyTouchEvent): ditto.

2010-02-23  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        [Gtk] Implement layoutTestController.numberOfPages
        https://bugs.webkit.org/show_bug.cgi?id=35228

        * platform/gtk/Skipped:

2010-02-23  Tony Chang  <tony@chromium.org>

        Not reviewed.
        Revert r55135 because the layout test is failing on all the bots.
        https://bugs.webkit.org/show_bug.cgi?id=34634

        * editing/pasteboard/paste-list-004-expected.txt: Removed.
        * editing/pasteboard/paste-list-004.html: Removed.

2010-02-23  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Dan Bernstein.

        Fix alignment of vertical-align: text-bottom inside an inline-block.
        
        This patch is based on a fix provided by Takahito Hirano.

        display: inline-block + vertical-align: text-bottom causes misalignment.
        https://bugs.webkit.org/show_bug.cgi?id=30846

        * fast/inline-block/inline-block-vertical-align-2.html: Added.
        * fast/inline-block/inline-block-vertical-align-2-expected.txt: Added.

2010-02-23  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=34634
        Pasting a list into the middle of another list item should split the target
        list item into two separate list items.  This matches the behavior in other
        browsers.

        * editing/pasteboard/paste-list-004-expected.txt: Added.
        * editing/pasteboard/paste-list-004.html: Added.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Seidel.

        media/video-display-aspect-ratio.html fails
        https://bugs.webkit.org/show_bug.cgi?id=34933

        Original patch by Eric Carlson.

        * media/content/test-par-16-9.mp4: Change the width of the video
        track from 426.666 to 426.
        * platform/mac-leopard/Skipped: Unskip the test, it should pass now.

2010-02-22  Chris Evans  <cevans@chromium.org>

        Reviewed by Darin Adler.

        Add test for https://bugs.webkit.org/show_bug.cgi?id=32842
        It has been fixed on trunk for a while, but we want to make sure we
        do not regress.

        * fast/text/find-layout-crash.html: Added.
        * fast/text/find-layout-crash-expected.txt: Added.

2010-02-22  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Alexey Proskuryakov.

        [Qt] fast/encoding/invalid-UTF-8-2.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35263

        Qt Linux Release buildbot got the platform independent result for
        fast/encoding/invalid-UTF-8-2.html instead of Qt specific one.

        Qt specific expected file is removed to make buildbot green,
        but it needs more investigation.

        * platform/qt/fast/encoding/invalid-UTF-8-2-expected.txt: Removed.

2010-02-19  Peter Kasting  <pkasting@google.com>

        Reviewed by Eric Seidel.

        Avoid recursion when trying to get the size of a PNG; it's unnecessary
        and in the worst case can lead to heap corruption.
        https://bugs.webkit.org/show_bug.cgi?id=35167

        * fast/images/bad-png-expected.txt: Added.
        * fast/images/bad-png.html: Added.
        * fast/images/resources/bad-png.png: Added.

2010-02-22  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=32937
        LayoutTests/fast/encoding/invalid-UTF-8.html fails on Qt.

        The test was verifying two things: first, that U+FFFD is rendered by the browser, and second,
        that ill-formed UTF-8 sequences are turned into U+FFFD. Some aspects of the latter are not
        precisely defined by the Unicode specification, so different platforms may legitimately
        have different results.

        Split the test into two: one to test the rendering of invalid UTF-8 sequences, and the other
        to protect against regressions in each platform's decoding behaviour.

        * fast/encoding/invalid-UTF-8-2-expected.txt: Added.
        * fast/encoding/invalid-UTF-8-2.html: Added.
        * fast/encoding/invalid-UTF-8.html:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.checksum:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.png:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.txt:
        * platform/qt/fast/encoding/invalid-UTF-8-2-expected.txt:

2010-02-22  Chris Fleizach  <cfleizach@apple.com>

        Fixing Layout test failure. Not reviewed.

        AX: AXFocused is not writable like it should be on nodes
        https://bugs.webkit.org/show_bug.cgi?id=35186

        * platform/mac/accessibility/element-focus-expected.txt:
        * platform/mac/accessibility/element-focus.html:

2010-02-22  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dan Bernstein.

        Reproducible crash in WebCore::nextLinePosition on Tweeteorites.com
        <rdar://problem/7615758>
        https://bugs.webkit.org/show_bug.cgi?id=35060

        * editing/selection/extend-byline-withfloat-expected.txt: Added.
        * editing/selection/extend-byline-withfloat.html: Added.

2010-02-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: AXFocused is not writable like it should be on nodes
        https://bugs.webkit.org/show_bug.cgi?id=35186

        * platform/mac/accessibility/element-focus-expected.txt: Added.
        * platform/mac/accessibility/element-focus.html: Added.

2010-02-07  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        When page-break-{after,before} is set to always, force page breaks even for overflow-specified elements.
        RenderBlock::inRootBlockContext() was introduced by Changeset 5611. Although it is a reasonable criteria for choosing an optional page break location, it is not for a mandatory page break as specified by http://dev.w3.org/csswg/css3-page/#forced-pg-brk. The method is removed because it is not used anywhere else.
        Note: this patch makes page break work for overflow-specified elements. For tables and floated elements, more work is needed.
        https://bugs.webkit.org/show_bug.cgi?id=9526

        * printing/page-break-always-for-overflow-expected.txt: Added.
        * printing/page-break-always-for-overflow.html: Added.
        * printing/script-tests/page-break-always-for-overflow.js: Added.

2010-02-19  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        fast/forms/search-event-delay.html failed on Snow Leopard Debug Bot
        https://bugs.webkit.org/show_bug.cgi?id=33543

        * platform/mac-snowleopard/Skipped:
         - This test prints times and expects 0.1s precision even on Debug bots.
           That can't work.  Skipping the test to make the bots green until this can be made non-flakey
           or until we have a layout test system which allows "failure" expectations.

2010-02-19  Eric Seidel  <eric@webkit.org>

        Reviewed by Dimitri Glazkov.

        editing/pasteboard/4641033.html timed out on Tiger Bot
        https://bugs.webkit.org/show_bug.cgi?id=33310

        * platform/mac-tiger/Skipped:

2010-02-19  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=35165
        plugins/set-status.html fails on Windows bot

        * plugins/set-status-expected.txt: The behavior of Windows port was better, changed expectations.

2010-02-19  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Implement textZoomIn() and textZoomOut() in DRT's EventSender, add results
        for passing new tests and unskip the passing ones from the Skipped list.
        https://bugs.webkit.org/show_bug.cgi?id=35159

        * platform/qt/Skipped: unskip passing tests
        * platform/qt/svg/custom/text-zoom-expected.txt: Added.
        * platform/qt/svg/zoom: Added.
        * platform/qt/svg/zoom/page: Added.
        * platform/qt/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/qt/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/qt/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/qt/svg/zoom/page/zoom-foreignObject-expected.txt: Added.
        * platform/qt/svg/zoom/page/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/qt/svg/zoom/page/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/qt/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/qt/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Added.
        * platform/qt/svg/zoom/text: Added.
        * platform/qt/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/qt/svg/zoom/text/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/qt/svg/zoom/text/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/qt/svg/zoom/text/zoom-foreignObject-expected.txt: Added.
        * platform/qt/svg/zoom/text/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/qt/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/qt/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/qt/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.

2010-02-19  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Gustavo Noronha Silva.

        [GTK] fast/forms/restore-selection-after-layout.html fails on 32bits Debug build
        https://bugs.webkit.org/show_bug.cgi?id=35158

        * platform/gtk/Skipped: Skip failing test

2010-02-19  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Elements panel: Correctly show empty elements' ending tags
        for XML and HTML documents.
        https://bugs.webkit.org/show_bug.cgi?id=26315

        * inspector/console-dirxml-expected.txt:
        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-expected.txt:
        * inspector/elements-panel-limited-children-expected.txt:
        * inspector/elements-panel-structure-expected.txt:
        Re-baselined due to closing tags and ellipses between opening and closing tags

        * inspector/elements-panel-xhtml-structure-expected.txt: Added.
        * inspector/elements-panel-xhtml-structure.xhtml: Added.

2010-02-19  Andras Becsi  <abecsi@webkit.org>
        Unreviewed Changelog typo fix.

        r5993 should be r54993.

2010-02-19  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] plugins/set-status.html introduced in r54993 fails skipping it until fix.
        https://bugs.webkit.org/show_bug.cgi?id=35144

        * platform/qt/Skipped:

2010-02-19  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Send the context menu event from contextClick() of EventSender
        and do not show context menu in DRT.

        LayoutTests:
            fast/events/contextmenu-scrolled-page-with-frame.html

        [Qt] DRT: Send context menu event from EventSender
        https://bugs.webkit.org/show_bug.cgi?id=35131

        * platform/qt/Skipped:

2010-02-19  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] editing tests fails after r54980
        https://bugs.webkit.org/show_bug.cgi?id=35145

        After r54980 two tests fail, skip them until fix.
        Another two tests pass, they have same results as Win port.

        * platform/qt/Skipped:
         - editing/selection/extend-selection.html skipped.
         - editing/selection/extend-after-mouse-selection.html skipped.
        * platform/qt/editing/selection/click-in-margins-inside-editable-div-expected.txt: Copied from LayoutTests/platform/win/editing/selection/click-in-margins-inside-editable-div-expected.txt.
        * platform/qt/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt: Copied from LayoutTests/platform/win/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt.

2010-02-19  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        [GTK] plugins/set-status.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35144

        * platform/gtk/Skipped: Skip failing test.

2010-02-19  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        Adding a GTK layout test result for a new test
        added in r54980.

        * platform/gtk/editing/selection/extend-after-mouse-selection-expected.txt: Added.

2010-02-19  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        Adding a GTK layout test result for a new test
        added in r54982.

        * platform/gtk/fast/repaint/selection-gap-overflow-scroll-2-expected.txt: Added.

2010-02-18  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Simon Hausmann.

        [Qt] Update platform specific expected files after r54991.

        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt: updated.
        * platform/qt/svg/css/mask-with-shadow-expected.txt: updated.
        * platform/qt/svg/custom/empty-mask-expected.txt: updated.
        * platform/qt/svg/custom/mask-with-default-value-expected.txt: updated.
        * platform/qt/svg/custom/transformedMaskFails-expected.txt: updated.

2010-02-18  Yaar Schnitman  <yaar@chromium.org>

        Reviewed by Darin Adler.

        Normalize custom ctors for Image, Option, Audio
        https://bugs.webkit.org/show_bug.cgi?id=34782

        * fast/js/custom-constructors-expected.txt: Added.
        * fast/js/custom-constructors.html: Added.
        * fast/js/script-tests/custom-constructors.js: Added.

2010-02-18  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=35134
        <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)

        * plugins/set-status-expected.txt: Added.
        * plugins/set-status.html: Added.
        While at it, also test that we process UTF-8.

2010-02-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/7658811> Multiple style recalcs due to getComputedStyle() on “display: none;” element
        when there are pending style sheets

        * fast/css/getComputedStyle/pending-stylesheet-expected.txt: Added.
        * fast/css/getComputedStyle/pending-stylesheet.html: Added.

2010-02-18  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Move SVGResources to Renderers, starting with Masker
        https://bugs.webkit.org/show_bug.cgi?id=35020

        With the move from SVGResourceMasker to RenderSVGResourceMasker, I changed
        the way DRT dumps resources. DRT is now able to dump multi-access
        of resources.
        Also the size of a Mask resource (depending of the object) and the access of
        the resource (togeter with the resource name) is pointed out as an insertion
        under the object.

        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/custom/empty-mask-expected.txt:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
        * platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-creation-expected.txt:
        * platform/mac/svg/custom/mask-changes-expected.txt:
        * platform/mac/svg/custom/mask-child-changes-expected.txt:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/mask-inside-defs-expected.txt:
        * platform/mac/svg/custom/mask-invalidation-expected.txt:
        * platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
        * platform/mac/svg/custom/mask-with-all-units-expected.txt:
        * platform/mac/svg/custom/mask-with-default-value-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/visibility-override-mask-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * svg/custom/transformedMaskFails-expected.txt:

2010-02-18  Gustavo Noronha Silva  <gns@gnome.org>

        [Qt][GTK] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
        https://bugs.webkit.org/show_bug.cgi?id=35086

        Skip both new tests that fail. It may be a DRT problem, and the
        file path that is reported in the error message also seems to
        require tweaking.

        * platform/gtk/Skipped:

2010-02-18  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK] Fails fast/multicol/client-rects.html
        https://bugs.webkit.org/show_bug.cgi?id=35127

        Skip test that fails in GTK+ - trying to get bot green again.

        * platform/gtk/Skipped:

2010-02-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7650652> REGRESSION: Selection painting issue in bug review textbox
        https://bugs.webkit.org/show_bug.cgi?id=34946

        * fast/repaint/selection-gap-overflow-scroll-2.html: Copied from LayoutTests/fast/repaint/selection-gap-overflow-scroll.html.
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.checksum: Added.
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.txt: Added.

2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by NOBODY Darin Adler.

        'undefined' return values from statement error callbacks are not
        treated as 'true'. Fix the tests that did not use this
        assumption.

        https://bugs.webkit.org/show_bug.cgi?id=35048

        * storage/database-lock-after-reload.html:
        * storage/private-browsing-readonly.html:
        * storage/statement-error-callback.html:
        * storage/statement-error-callback-expected.txt:

2010-02-17  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        keyboard selection sometimes moves the wrong end of the selection for Win/Linux
        https://bugs.webkit.org/show_bug.cgi?id=35066

        The changes to js-test-selection-shared.js are just to make the selection editing tests
        easier to debug in the future.

        The mac results for extend-after-mouse-selection.html contain a "FAIL" line. This is
        a case where WebKit doesn't match TextEdit.

        * editing/editing.js:
        (execMoveSelectionForwardByLineBoundaryCommand):
        (moveSelectionForwardByLineBoundaryCommand):
        (execExtendSelectionForwardByLineBoundaryCommand):
        (extendSelectionForwardByLineBoundaryCommand):
        (execExtendSelectionBackwardByLineBoundaryCommand):
        (extendSelectionBackwardByLineBoundaryCommand):
        (execMoveSelectionBackwardByLineBoundaryCommand):
        (moveSelectionBackwardByLineBoundaryCommand):
        * editing/selection/extend-after-mouse-selection.html: Added.
        * editing/selection/move-begin-end-expected.txt:
        * editing/selection/move-begin-end.html:
        * editing/selection/resources/js-test-selection-shared.js:
        (objectAsString):
        (assertSelectionAt):
        * platform/mac/editing/selection/click-in-margins-inside-editable-div-expected.txt:
        * platform/mac/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt:
        * platform/mac/editing/selection/extend-after-mouse-selection-expected.txt: Added.
        * platform/win/editing/selection/click-in-margins-inside-editable-div-expected.txt:
        * platform/win/editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt:
        * platform/win/editing/selection/extend-after-mouse-selection-expected.txt: Added.
        * platform/win/editing/selection/extend-selection-expected.txt: Added.

2010-02-18  Nate Chapin  <japhet@chromium.org>

        Unreviewed, build fix.

        Provide good expected results for fast/dom/Window/window-event-override-no-crash.html.

        * fast/dom/Window/window-event-override-no-crash-expected.txt:
        * fast/dom/Window/window-event-override-no-crash.html:

2010-02-18  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK][Qt] Fails glyph reordering test fast/text/glyph-reordering.html
        https://bugs.webkit.org/show_bug.cgi?id=34918

        Unskipping that now passes, after r54912.

        * platform/gtk/Skipped:

2010-02-18  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig.

        Particularly constructed WebFrames can try to access a null HistoryItem
        <rdar://problem/7638892> and https://bugs.webkit.org/show_bug.cgi?id=35063

        * fast/loader/api-test-new-window-data-load-base-url-expected.txt: Added.
        * fast/loader/api-test-new-window-data-load-base-url.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-02-18  Nate Chapin  <japhet@chromium.org>

        Reviewed by Eric Seidel.

        Actually submitting test for https://bugs.webkit.org/show_bug.cgi?id=34899 this time.

        * fast/dom/Window/window-event-override-no-crash-expected.txt: Added.
        * fast/dom/Window/window-event-override-no-crash.html: Added.

2010-02-18  Nate Chapin  <japhet@chromium.org>

        Reviewed by Eric Seidel.

        Test for https://bugs.webkit.org/show_bug.cgi?id=34899

        * fast/dom/Window/window-event-override-no-crash-expected.txt: Added.
        * fast/dom/Window/window-event-override-no-crash.html: Added.

2010-02-18  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Skip the following tests because of missing eventSender.textZoomIn():

        svg/zoom/text/absolute-sized-document-no-scrollbars.svg
        svg/zoom/text/absolute-sized-document-scrollbars.svg
        svg/zoom/text/relative-sized-document-scrollbars.svg
        svg/zoom/text/zoom-foreignObject.svg
        svg/zoom/text/zoom-hixie-mixed-008.xml
        svg/zoom/text/zoom-hixie-mixed-009.xml
        svg/zoom/text/zoom-hixie-rendering-model-004.xhtml
        svg/zoom/text/zoom-svg-float-border-padding.xml

        * platform/qt/Skipped:

2010-02-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Xan Lopez.

        fast/frames/iframe-reparenting.html crashing on GTK Debug bots
        https://bugs.webkit.org/show_bug.cgi?id=35081

        Unskip test that is now
        fixed (fast/frames/iframe-reparenting.html)

        * platform/gtk/Skipped:

2010-02-18  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
        https://bugs.webkit.org/show_bug.cgi?id=35086

        fast/xmlhttprequest/xmlhttprequest-no-file-access.html cause
        this fail indirectly, but both of them pass in separated DRT.

        * platform/qt/Skipped: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
        skipped until fix to make buildbot happy.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Not reviewed, adding a GTK layout test result for a new test
        added in r54926.

        * platform/gtk/fast/css/first-letter-first-line-hover-expected.txt: Added.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        plugins/iframe-shims.html crashing on GTK Debug bots
        https://bugs.webkit.org/show_bug.cgi?id=35085

        * platform/gtk/Skipped: Skip crashing tests.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        fast/frames/iframe-reparenting.html crashing on GTK Debug bots
        https://bugs.webkit.org/show_bug.cgi?id=35081

        * platform/gtk/Skipped: Skip crashing test.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        fast/css/font-face-opentype.html crashing on GTK bots
        https://bugs.webkit.org/show_bug.cgi?id=35080

        * platform/gtk/Skipped: Skip crashing test.

2010-02-18  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add the promised test for the unique file:// origins support.
        See https://bugs.webkit.org/show_bug.cgi?id=34778 for more details.

        * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: Added.
        * fast/xmlhttprequest/resources/xmlhttprequest-no-file-access-real.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt: Added.

2010-02-18  Tony Chang  <tony@chromium.org>

        Not reviewed, adding a QT layout test result for a new test
        added in r54932.

        * platform/qt/editing/pasteboard/page-zoom-expected.txt: Copied from LayoutTests/platform/gtk/editing/pasteboard/page-zoom-expected.txt.

2010-02-18  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] editing/pasteboard/page-zoom.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35077

        * platform/qt/Skipped: editing/pasteboard/page-zoom.html skipped until fix.

2010-02-17  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin, Darin Fisher, Simon Hausmann.

        When a live iframe element is moved between pages, it still depends on the old page.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * fast/frames/iframe-reparenting-new-page-expected.txt: Added.
        * fast/frames/iframe-reparenting-new-page.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-1.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-2.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Added.
        * fast/frames/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/canvas/script-tests/TEMPLATE.html.
        * fast/frames/script-tests/iframe-reparenting-new-page.js: Added.

2010-02-17  Csaba Osztrogonác  <ossy@webkit.org>

         [Qt] DRT: Get total number of pages to be printed
         https://bugs.webkit.org/show_bug.cgi?id=34955

         Fix landed in r54902, so we can unskip the test.

        * platform/qt/Skipped: printing/numberOfPages.html unskipped.

2010-02-17  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Fails glyph reordering test fast/text/glyph-reordering.html
        https://bugs.webkit.org/show_bug.cgi?id=34918

        Fix landed in r54912, so we can unskip the test.

        * platform/qt/Skipped: fast/text/glyph-reordering.html unskipped.

2010-02-17  Tony Chang  <tony@chromium.org>

        Not reviewed, adding a GTK+ layout test result for a new test
        added in r54932.

        https://bugs.webkit.org/show_bug.cgi?id=34914

        * platform/gtk/editing/pasteboard/page-zoom-expected.txt: Added.

2010-02-17  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26937
        No longer allow span styles to surround block elements like
        divs when pasting (see paste-text-012 and 5065605 which had divs in
        spans).  This also causes a few cases of empty spans to be removed
        (see 19089 and 5245519).

        * editing/execCommand/19089-expected.txt:
        * editing/pasteboard/5245519-expected.txt:
        * editing/pasteboard/5245519.html:
        * platform/mac/editing/pasteboard/5065605-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-011-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-012-expected.txt:

2010-02-17  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=34914
        When pasting absolute font sizes into a content editable area with
        page zoom, adjust the font sizes to be the same after page zoom is
        applied.

        * editing/pasteboard/page-zoom-expected.txt: Added.
        * editing/pasteboard/page-zoom.html: Added.

2010-02-17  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=34737
        Test to verify that pasting styled list items works
        the same as pasting unstyle list items.

        * editing/pasteboard/paste-list-003-expected.txt: Added.
        * editing/pasteboard/paste-list-003.html: Added.

2010-02-17  Hayato Ito  <hayato@chromium.org>

        Reviewed by Eric Seidel.

        Support CSS page-break-inside with a value of 'avoid'.

        https://bugs.webkit.org/show_bug.cgi?id=34080

        * printing/page-break-inside-expected.txt: Added.
        * printing/page-break-inside.html: Added.
        * printing/script-tests/page-break-inside.js: Added.
        (createParagraph):
        (pageNumber):

2010-02-17  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket bufferedAmount should not be 0 when send after close.
        https://bugs.webkit.org/show_bug.cgi?id=34633

        * websocket/tests/bufferedAmount-after-close-expected.txt: Added.
        * websocket/tests/bufferedAmount-after-close.html: Added.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Added.

2010-02-17  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        In diffing render styles, consider all pseudo style changes.
        Without this patch, only :before and :after are considered. This is the cause of the following bug.
        https://bugs.webkit.org/show_bug.cgi?id=32187

        * fast/css/first-letter-first-line-hover.html: Added.
        * platform/mac/fast/css/first-letter-first-line-hover-expected.checksum: Added.
        * platform/mac/fast/css/first-letter-first-line-hover-expected.png: Added.
        * platform/mac/fast/css/first-letter-first-line-hover-expected.txt: Added.

2010-02-17  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        [Win] Implement layoutTestController.pageNumberForElementById
        https://bugs.webkit.org/show_bug.cgi?id=34570

        * platform/win/Skipped:

2010-02-17  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Dan Bernstein.

        Unskip glyph-reordering, because now it passes on Windows.

        * platform/win/Skipped:

2010-02-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Eric Seidel.

        [GTK][Qt] Fails glyph reordering test fast/text/glyph-reordering.html
        https://bugs.webkit.org/show_bug.cgi?id=34918

        Made the test less dependent on the complex text implementation.

        * fast/text/glyph-reordering-expected.txt:
        * fast/text/glyph-reordering.html:

2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a test that verifies that null transaction callbacks are
        accepted and treated as no callbacks.

        https://bugs.webkit.org/show_bug.cgi?id=35047

        * storage/null-callbacks-expected.txt: Added.
        * storage/null-callbacks.html: Added.

2010-02-17  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Move SVGResources to Renderers, starting with Masker
        https://bugs.webkit.org/show_bug.cgi?id=35020

        With the move from SVGResourceMasker to RenderSVGResourceMasker, I changed
        the way DRT dumps resources. DRT is now able to dump multi-access
        of resources.
        Also the size of a Mask resource (depending of the object) and the access of
        the resource (togeter with the resource name) is pointed out as an insertion
        under the object.

        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/custom/empty-mask-expected.txt:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
        * platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-creation-expected.txt:
        * platform/mac/svg/custom/mask-changes-expected.txt:
        * platform/mac/svg/custom/mask-child-changes-expected.txt:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/mask-inside-defs-expected.txt:
        * platform/mac/svg/custom/mask-invalidation-expected.txt:
        * platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
        * platform/mac/svg/custom/mask-with-all-units-expected.txt:
        * platform/mac/svg/custom/mask-with-default-value-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/visibility-override-mask-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * svg/custom/transformedMaskFails-expected.txt:

2010-02-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Refactor texImage2D and texSubImage2D taking Image to use common code
        https://bugs.webkit.org/show_bug.cgi?id=34458

        Merged the Safari and Chromium code which extracts the data from
        Image objects into common entry points on GraphicsContext3D. This
        immediately fixes the following three problems:
          - Chromium not implementing texSubImage2D taking Image.
          - Safari not obeying the flipY parameter to texImage2D or
            texSubImage2D taking Image.
          - Safari not obeying the premultipyAlpha parameter to texImage2D
            or texSubImage2D taking Image.
        Added new test verifying the behavior of texImage2D and
        texSubImage2D and the flipY parameter. The premultiplyAlpha
        parameter can not be tested yet as the implementation is not yet
        spec compliant. This will be fixed in a follow-on bug.

        Ran all WebGL demos in demo repository on Safari and Chromium;
        textures are now the right way up in both browsers, and
        transparent textures in Particles demo now look correct in Safari.

        * fast/canvas/webgl/resources/red-green.png: Added.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt: Added.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html: Added.

2010-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to turn windows slaves again, by skipping two websocket tests that fail reliable.

        * platform/win/Skipped:

2010-02-17  Gustavo Noronha Silva  <gns@gnome.org>

        Typo in test name.

        * platform/qt/Skipped:

2010-02-17  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] Add platform specific expected files for new tests pass in fast/css.

        Rendertree results compared to Mac expected files with --ignore-metrics,
        pixel results compared to Mac png files.

        fast/css/font-face-opentype.html introduced in r54855.
        fast/css/inline-element-line-break.html introduced in r54544.
        fast/css/pseudo-element-line-break.html introduced in r54544.

        * platform/qt/fast/css/font-face-opentype-expected.txt: Added.
        * platform/qt/fast/css/inline-element-line-break-expected.txt: Added.
        * platform/qt/fast/css/pseudo-element-line-break-expected.txt: Added.

2010-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to turn SnowLeopard slave green again. Skipping media/video-load-networkState.html - already filed a bug last year.

        * platform/mac-snowleopard/Skipped:

2010-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to turn Tiger slave green again. Skipping media/video-display-aspect-ratio.html - already skipped on the other mac variants & win.

        * platform/mac-tiger/Skipped:

2010-02-17  Gustavo Noronha Silva  <gns@gnome.org>

        Skipping new test that does not pass on Qt.

        * platform/qt/Skipped:

2010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Does not send an Accept header for subresources, causing some sites to break
        https://bugs.webkit.org/show_bug.cgi?id=33242

        * http/tests/misc/image-checks-for-accept-expected.txt: Added.
        * http/tests/misc/image-checks-for-accept.html: Added.
        * http/tests/misc/resources/image-checks-for-accept.php: Added.
        * platform/mac/Skipped:
        * platform/win/Skipped:

2010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Skip a number of new tests.

        * platform/gtk/Skipped:

2010-01-07  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Should handle BUFFERING messages
        https://bugs.webkit.org/show_bug.cgi?id=30004

        Draw the buffering status in the media controls. The timebar is
        now 2 pixels shorter so dragging it at same absolute position than
        before produces a seek at a new position in the media, this
        explains the rebaselining of the controls-drag-timebar test.

        * platform/gtk/media/controls-after-reload-expected.txt:
        * platform/gtk/media/controls-drag-timebar-expected.txt:
        * platform/gtk/media/controls-strict-expected.txt:
        * platform/gtk/media/controls-styling-expected.txt:
        * platform/gtk/media/video-controls-rendering-expected.txt:
        Re-baselined due to 1px left/right border added in controls timeline.

2010-02-17  Xan Lopez  <xlopez@igalia.com>

        Skip tests requiring new results.

        * platform/gtk/Skipped:

2010-02-16  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Nikolas Zimmermann.

        SVG not rendered as background-image from data URI
        https://bugs.webkit.org/show_bug.cgi?id=33630

        * platform/mac/svg/css/background-image-svg-expected.checksum: Added.
        * platform/mac/svg/css/background-image-svg-expected.png: Added.
        * platform/qt/svg/css/background-image-svg-expected.checksum: Added.
        * platform/qt/svg/css/background-image-svg-expected.png: Added.
        * svg/css/background-image-svg.html: Added.
        * svg/css/background-image-svg-expected.txt: Added.

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Correct typo in test name in Skipped list. Should turn SL slave green again.

        * platform/mac-snowleopard/Skipped:

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Attempt to fix win slave. Skip same tests failing on SL, add bug references to skipped list.

        * platform/mac-snowleopard/Skipped:
        * platform/win/Skipped:

2010-02-16  Bryan Yeung  <bryeung@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Add a new layout test for large stroke widths in SVG.
        This regression tests a bug in the Skia platform where the width was
        limited to 512.

        https://bugs.webkit.org/show_bug.cgi?id=34954

        * platform/mac/svg/custom/stroke-width-large-expected.checksum: Added.
        * platform/mac/svg/custom/stroke-width-large-expected.png: Added.
        * platform/mac/svg/custom/stroke-width-large-expected.txt: Added.
        * svg/custom/stroke-width-large.svg: Added.

2010-02-16  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Nikolas Zimmermann.

        REGRESSION: SVG text disappaears after double click
        https://bugs.webkit.org/show_bug.cgi?id=34880
        
        * platform/mac/svg/text/selection-doubleclick-expected.checksum: Added.
        * platform/mac/svg/text/selection-doubleclick-expected.png: Added.
        * platform/mac/svg/text/selection-doubleclick-expected.txt: Added.
        * platform/mac/svg/text/selection-tripleclick-expected.checksum: Added.
        * platform/mac/svg/text/selection-tripleclick-expected.png: Added.
        * platform/mac/svg/text/selection-tripleclick-expected.txt: Added.
        * svg/text/selection-doubleclick.svg: Added.
        * svg/text/selection-tripleclick.svg: Added.

2010-02-16  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
        https://bugs.webkit.org/show_bug.cgi?id=34735

        * fast/css/font-face-opentype.html: Added.
        * fast/css/resources/Ahem.otf: Added. Ahem font which has CFF glyphs, converted from Ahem.ttf by FontForge (http://fontforge.sourceforge.net/).
        * platform/mac/fast/css/font-face-opentype-expected.checksum: Added.
        * platform/mac/fast/css/font-face-opentype-expected.png: Added.
        * platform/mac/fast/css/font-face-opentype-expected.txt: Added.

2010-02-16  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Simon Fraser.

        Change quota-tracking.html to open databases only as they're
        needed. Otherwise, open databases end up using more space from
        this origin than the test expects.

        * storage/quota-tracking.html:

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Simon Fraser.

        Skip svg/zoom/(page|text)/zoom-coords-viewattr-01-b.svg on SnowLeopard.
        svg/W3C-SVG-1.1/coords-viewattr* fail on SL and are already Skipped, seems related to entity parsing, not SVG.

        * platform/mac-snowleopard/Skipped:

2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Nikolas Zimmermann.

        Make this test more robust to slow-loading media.

        * media/video-load-networkState.html:

2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=34999
        Compositing layers inside overflow:scroll divs are not always updated on scrolling
        
        New testcase with specific compositing configuration involving overflow:scroll.

        * compositing/overflow/scroll-ancestor-update.html: Added.
        * platform/mac/compositing/overflow/scroll-ancestor-update-expected.checksum: Added.
        * platform/mac/compositing/overflow/scroll-ancestor-update-expected.png: Added.
        * platform/mac/compositing/overflow/scroll-ancestor-update-expected.txt: Added.

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Dirk Schulze.

        Add missing .checksum file in platform/mac/svg/zoom/page. All parts of the original patch for bug 14004 have been landed.

        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by David Hyatt.

        SVG units don't stay consistently sized on zoom
        https://bugs.webkit.org/show_bug.cgi?id=14004

        * platform/mac/svg/zoom: Added.
        * platform/mac/svg/zoom/page: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Added.
        * platform/mac/svg/zoom/text: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
        * svg/zoom: Added.
        * svg/zoom/NOTE: Added.
        * svg/zoom/page: Added.
        * svg/zoom/page/absolute-sized-document-no-scrollbars.svg: Added.
        * svg/zoom/page/absolute-sized-document-scrollbars.svg: Added.
        * svg/zoom/page/relative-sized-document-scrollbars.svg: Added.
        * svg/zoom/page/zoom-coords-viewattr-01-b.svg: Added.
        * svg/zoom/page/zoom-foreignObject.svg: Added.
        * svg/zoom/page/zoom-hixie-mixed-008.xml: Added.
        * svg/zoom/page/zoom-hixie-mixed-009.xml: Added.
        * svg/zoom/page/zoom-hixie-rendering-model-004.xhtml: Added.
        * svg/zoom/page/zoom-svg-float-border-padding.xml: Added.
        * svg/zoom/resources: Added.
        * svg/zoom/resources/testPageZoom.js: Added.
        * svg/zoom/resources/testTextZoom.js: Added.
        * svg/zoom/text: Added.
        * svg/zoom/text/absolute-sized-document-no-scrollbars.svg: Added.
        * svg/zoom/text/absolute-sized-document-scrollbars.svg: Added.
        * svg/zoom/text/relative-sized-document-scrollbars.svg: Added.
        * svg/zoom/text/zoom-coords-viewattr-01-b.svg: Added.
        * svg/zoom/text/zoom-foreignObject.svg: Added.
        * svg/zoom/text/zoom-hixie-mixed-008.xml: Added.
        * svg/zoom/text/zoom-hixie-mixed-009.xml: Added.
        * svg/zoom/text/zoom-hixie-rendering-model-004.xhtml: Added.
        * svg/zoom/text/zoom-svg-float-border-padding.xml: Added.

2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] REGRESSION(r54811) fast/canvas/drawImage-with-negative-source-destination.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35005

        * platform/qt/Skipped:
         - fast/canvas/drawImage-with-negative-source-destination.html skipped until fix.
         - inspector/timeline-paint.html skipped because it is flakey.

2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Carlson.

        Autoplaying video with poster doesn't reliably show up
        https://bugs.webkit.org/show_bug.cgi?id=34966
        
        Testcase that has an autoplaying video with a poster.

        * media/video-replaces-poster.html: Added.
        * platform/mac/media/video-replaces-poster-expected.checksum: Added.
        * platform/mac/media/video-replaces-poster-expected.png: Added.
        * platform/mac/media/video-replaces-poster-expected.txt: Added.

2010-02-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Elements Panel: Limit the number of initially loaded element children
        https://bugs.webkit.org/show_bug.cgi?id=34421

        * inspector/elements-panel-limited-children-expected.txt: Added.
        * inspector/elements-panel-limited-children.html: Added.

2010-02-16  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        Refactor and split up basic-touch-events test
        https://bugs.webkit.org/show_bug.cgi?id=34476

        Split the basic-touch-events test into two separate tests, one for single and another for multi touch. Also refactor the tests to run in an asynchronous manner.

        * fast/events/touch/basic-multi-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same multi touch tests cases from the old basic-touch-events test.
        * fast/events/touch/basic-multi-touch-events-expected.txt: Added.
        * fast/events/touch/script-tests/basic-multi-touch-events.js: Added.
        * fast/events/touch/basic-single-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same single touch tests cases from the old basic-touch-events test.
        * fast/events/touch/script-tests/basic-single-touch-events.js: Added.
        * fast/events/touch/basic-single-touch-events-expected.txt: Added. 
        * fast/events/touch/basic-touch-events.html: Removed.
        * fast/events/touch/script-tests/basic-touch-events.js: Removed.
        * fast/events/touch/basic-touch-events-expected.txt: Removed.

2010-02-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Add test case for <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout

        * fast/multicol/client-rects-expected.checksum:
        * fast/multicol/client-rects-expected.png:
        * fast/multicol/client-rects-expected.txt:
        * fast/multicol/client-rects.html:

2010-02-15  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Dan Bernstein.

        Skipped glyph-reordering on Windows since it has failed since it was landed. Left a comment
        in <https://bugs.webkit.org/show_bug.cgi?id=34865> to track the failure.

        * platform/win/Skipped:

2010-02-15  Alexey Proskuryakov  <ap@apple.com>

        Skip more plugin tests on Snow Leopard buildbot, as they need updated closed source components.

        * platform/mac-snowleopard/Skipped: Skip netscape-dom-access.html and netscape-browser-object-identity.html.

2010-02-15  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/multicol/client-rects.html fails in QtLauncher
        https://bugs.webkit.org/show_bug.cgi?id=34959

        * platform/qt/Skipped: fast/multicol/client-rects.html skipped until fix.

2010-02-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
        https://bugs.webkit.org/show_bug.cgi?id=34944

        * fast/harness/page-cache-crash-on-data-urls-expected.txt: Added.
        * fast/harness/page-cache-crash-on-data-urls.html: Added.
        * fast/harness/resources/cached-page-with-data-urls.html: Added.

2010-02-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
        https://bugs.webkit.org/show_bug.cgi?id=34923

        * fast/multicol/client-rects-expected.checksum: Added.
        * fast/multicol/client-rects-expected.png: Added.
        * fast/multicol/client-rects-expected.txt: Added.
        * fast/multicol/client-rects.html: Added.

2010-02-12  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/7130641> Browser objects identity is not preserved by Safari

        * plugins/netscape-browser-object-identity-expected.txt: Added.
        * plugins/netscape-browser-object-identity.html: Added.
        * plugins/script-tests/netscape-browser-object-identity.js: Added.

2010-02-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: incorrect syntax highlighting as HTML in a script tag.

        https://bugs.webkit.org/show_bug.cgi?id=34934

        * inspector/syntax-highlight-html-expected.txt: Added.
        * inspector/syntax-highlight-html.html: Added.

2010-02-15  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

        Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

        https://bugs.webkit.org/show_bug.cgi?id=33096

        This allows the following tests to pass:

        inspector/console-format-collections.html
        inspector/styles-iframe.html
        inspector/syntax-highlight-css.html
        inspector/syntax-highlight-javascript.html
        inspector/timeline-enum-stability.html
        inspector/timeline-layout.html
        inspector/timeline-mark-timeline.html
        inspector/timeline-paint.html
        inspector/timeline-parse-html.html
        inspector/timeline-recalculate-styles.html
        inspector/timeline-script-tag-1.html
        inspector/timeline-script-tag-2.html
        inspector/timeline-trivial.html
        inspector/cookie-resource-match.html
        inspector/elements-img-tooltip.html
        inspector/elements-panel-selection-on-refresh.html
        inspector/inspected-objects-not-overriden.html
        inspector/timeline-event-dispatch.html
        inspector/timeline-network-resource.html
        inspector/elements-panel-rewrite-href.html
        inspector/console-dir.html
        inspector/console-dirxml.html
        inspector/console-format.html
        inspector/console-tests.html
        inspector/elements-panel-structure.html
        inspector/evaluate-in-frontend.html
        inspector/console-clear.html

        * platform/qt/Skipped:

2010-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: XPathResult objects are not expanded in console.

        https://bugs.webkit.org/show_bug.cgi?id=34926

        * inspector/console-dir-expected.txt:
        * inspector/console-dir.html:

2010-02-15  Philippe Normand  <pnormand@igalia.com>

        media/video-display-aspect-ratio.html fails
        https://bugs.webkit.org/show_bug.cgi?id=34933

        Skipped the new test that fails.

        * platform/mac-leopard/Skipped:
        * platform/mac-snowleopard/Skipped:
        * platform/win/Skipped:

2010-02-12  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] wrong video aspect ratio
        https://bugs.webkit.org/show_bug.cgi?id=34790

        Test checking the size of a 4:3 video with a 16:9 pixel aspect
        ratio.

        * media/content/test-par-16-9.mp4: Added.
        * media/video-display-aspect-ratio-expected.txt: Added.
        * media/video-display-aspect-ratio.html: Added.

2010-02-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
        https://bugs.webkit.org/show_bug.cgi?id=33277

        Add a test that _top is covered by @sandbox.

        * http/tests/security/resources/fail.html: Added.
        * http/tests/security/resources/sandboxed-iframe-form-top.html: Added.
        * http/tests/security/sandboxed-iframe-form-top-expected.txt: Added.
        * http/tests/security/sandboxed-iframe-form-top.html: Added.

2010-02-14  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Adam Barth.

        [Qt] The original test case failed on Qt because its real output
        "A B C DE F" did not match the expected "A B C D E F". The input
        field between D and E failed to generate the space in the dumped
        text as it normally would if it was broken into a new line.
        This DRT issue can be addressed in a seperate bug if necessary
        but shrinking the size of font so as to fit all fields into one
        line is an immediate fix to pass the test case.
        https://bugs.webkit.org/show_bug.cgi?id=33093

        * fast/html/text-field-input-types.html:
        * platform/qt/Skipped:

2010-02-14  Chang Shu  <Chang.Shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable http/tests/appcache but skip the failed cases.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

2010-02-13  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Skip new test that fails. See https://webkit.org/b/34918.

        * platform/qt/Skipped: fast/text/glyph-reordering.html skipped.

2010-02-13  Gustavo Noronha Silva  <gns@gnome.org>

        Skip new test that fails. See https://webkit.org/b/34918.

        * platform/gtk/Skipped:

2010-02-12  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        text-control-intrinsic-widths.html failing on tiger bot
        https://bugs.webkit.org/show_bug.cgi?id=34917

        Final cleanup for http://trac.webkit.org/changeset/54748.
        Some MS fonts don't come with a default install of Tiger, but do
        come with a default Leopard/SnowLeopard install. As a result we naturally
        get different metrics a page uses these fonts.

        * platform/mac-tiger/fast/forms/text-control-intrinsic-widths-expected.txt: Added.

2010-02-12  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Maciej Stachowiak.

        Four textcontrol tests fail after http://trac.webkit.org/changeset/54748
        https://bugs.webkit.org/show_bug.cgi?id=34916

        -Put the baseline for text-control-intrinsic-widths in the right place!
        -I missed perspective-non-layer.html because we don't run it on Leopard.
        -Accidentally deleted drag-text-delay-expected.txt and text-control-intrinsic-widths-expected.txt
        instead of updating their results.

        * platform/mac-leopard/fast/forms/text-control-intrinsic-widths-expected.txt: Removed.
        * platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
        * platform/mac/transforms/3d/general/perspective-non-layer-expected.txt:
        * platform/win/editing/selection/drag-text-delay-expected.txt: Added.
        * platform/win/fast/forms/text-control-intrinsic-widths-expected.txt: Added.

2010-01-05  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Improve text control instrinsic widths.
        https://bugs.webkit.org/show_bug.cgi?id=25566
        https://bugs.webkit.org/show_bug.cgi?id=25581
        https://bugs.webkit.org/show_bug.cgi?id=25958

        Excluding list of updated results as the list is so long.

2010-02-12  Eric Seidel  <eric@webkit.org>

        No review, rolling out r54694.
        http://trac.webkit.org/changeset/54694
        https://bugs.webkit.org/show_bug.cgi?id=34633

        This appears to have caused crashes on the Leopard bot.  See
        bug 34898.

        * websocket/tests/bufferedAmount-after-close-expected.txt: Removed.
        * websocket/tests/bufferedAmount-after-close.html: Removed.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Removed.

2010-02-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Repaint bug on Text selection in foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=16939

        Update SVG tests that contain <foreignObject> - now that it's reporting proper repaint rects.
        Some of our tests use <foreignObject> to draw XHTML text (logging facility) - all these tests
        were missing width/height attributes on <foreignObject>, fix that otherwhise they won't show
        up anymore - as expected.

        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum:
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.png:
        * platform/mac/svg/custom/baseval-animval-equality-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
        * platform/mac/svg/custom/fill-SVGPaint-interface-expected.txt:
        * platform/mac/svg/custom/foreign-object-skew-expected.txt:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/mac/svg/custom/getPresentationAttribute-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.checksum:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.png:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
        * platform/mac/svg/hixie/mixed/008-expected.txt:
        * platform/mac/svg/overflow/overflow-on-foreignObject-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-foreignObject-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-foreignObject-expected.txt: Added.
        * platform/mac/svg/text/foreignObject-repaint-expected.txt:
        * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.checksum: Added.
        * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.png: Added.
        * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.txt: Added.
        * svg/custom/baseval-animval-equality.svg:
        * svg/custom/dominant-baseline-hanging.svg:
        * svg/custom/dynamic-svg-document-creation.svg:
        * svg/custom/fill-SVGPaint-interface.svg:
        * svg/custom/getPresentationAttribute.svg:
        * svg/overflow/overflow-on-foreignObject.svg: Added.
        * svg/text/foreignObject-text-clipping-bug.xml: Added.

2010-02-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
        https://bugs.webkit.org/show_bug.cgi?id=34865

        * fast/text/glyph-reordering-expected.txt: Added.
        * fast/text/glyph-reordering.html: Added.

2010-02-12  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed trivial fix.
        Set Content-Type header.

        * websocket/tests/cookies/httponly-cookie.pl:

2010-02-12  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Qt DRT now dump the frame loader callbacks when LayoutTestController()
        method is called.

        LayoutTests:
            http/tests/security/mixedContent/data-url-script-in-iframe.html
            http/tests/security/mixedContent/empty-url-plugin-in-frame.html
            http/tests/security/mixedContent/insecure-css-in-iframe.html
            http/tests/security/mixedContent/insecure-iframe-in-iframe.html
            http/tests/security/mixedContent/insecure-image-in-iframe.html
            http/tests/security/mixedContent/insecure-plugin-in-iframe.html
            http/tests/security/mixedContent/insecure-script-in-iframe.html
            http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
            http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html

        [Qt] Make possible Qt DRT dump frame load callbacks
        https://bugs.webkit.org/show_bug.cgi?id=34702

        * platform/qt/Skipped:

2010-02-12  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Support frameset flattening
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Add expected results of the FrameSet Flattening tests.

        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.
        * platform/mac/Skipped:

2010-02-12  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] perl websocket test(s) time out
        https://bugs.webkit.org/show_bug.cgi?id=34882

        * platform/qt/Skipped: websocket/tests/cookies/httponly-cookie.pl skipped until fix.

2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket ignores HttpOnly cookies, but should use in Handshake.
        https://bugs.webkit.org/show_bug.cgi?id=34289

        * websocket/tests/cookies/echo-cookie_wsh.py: Added.
        * websocket/tests/cookies/httponly-cookie-expected.txt: Added.
        * websocket/tests/cookies/httponly-cookie.pl: Added.

2010-02-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        webkitdirs.pm has a crazy amount of duplicated feature detection code
        https://bugs.webkit.org/show_bug.cgi?id=34869

        In editing run-webkit-tests I found these tests were
        skipped on all platforms.  Removing them since no one is running them.
        If we ever need them we can dig them out of SVN history.

        * fast/wcss/marquee-dir.xhtml: Removed.
        * fast/wcss/marquee-loop.xhtml: Removed.
        * fast/wcss/marquee-speed.xhtml: Removed.
        * fast/wcss/marquee-style.xhtml: Removed.

2010-02-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix two issues on maxLength.
        https://bugs.webkit.org/show_bug.cgi?id=34783

        - Add grapheme test cases
        - Improve test result readability

        * fast/forms/ValidityState-tooLong-input-expected.txt:
        * fast/forms/ValidityState-tooLong-textarea-expected.txt:
        * fast/forms/script-tests/ValidityState-tooLong-input.js:
        * fast/forms/script-tests/ValidityState-tooLong-textarea.js:

2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket bufferedAmount should not be 0 when send after close.
        https://bugs.webkit.org/show_bug.cgi?id=34633

        * websocket/tests/bufferedAmount-after-close-expected.txt: Added.
        * websocket/tests/bufferedAmount-after-close.html: Added.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Added.

2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket in Worker failed to close
        https://bugs.webkit.org/show_bug.cgi?id=34785

        * websocket/tests/workers/close-in-shared-worker-expected.txt: Added.
        * websocket/tests/workers/close-in-shared-worker.html: Added.
        * websocket/tests/workers/close-in-worker-expected.txt: Added.
        * websocket/tests/workers/close-in-worker.html: Added.
        * websocket/tests/workers/resources/close-in-worker.js: Added.
        * websocket/tests/workers/resources/echo_wsh.py: Copied from LayoutTests/websocket/tests/echo_wsh.py.

2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Oops, move mac-lepard results for mask-invalidation.svg into the correct folder.

        * platform/mac-leopard/mask-invalidation-expected.checksum: Removed.
        * platform/mac-leopard/mask-invalidation-expected.png: Removed.
        * platform/mac-leopard/svg/custom/mask-invalidation-expected.checksum: Copied from platform/mac-leopard/mask-invalidation-expected.checksum.
        * platform/mac-leopard/svg/custom/mask-invalidation-expected.png: Copied from platform/mac-leopard/mask-invalidation-expected.png.

2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Dirk Schulze.

        Add special mac-leopard pixel test results for svg/mask-invalidation.svg - has marginal 0.01% diff to snow leopard baseline.

        * platform/mac-leopard/mask-invalidation-expected.checksum: Added.
        * platform/mac-leopard/mask-invalidation-expected.png: Added.

2010-02-11  Gustavo Noronha Silva  <gns@gnome.org>

        Remove platform-specific expected results that only existed
        because we diverged from other ports regarding enabling
        GeoLocation (Apple ports now enable it).

        * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt: Removed.
        * platform/gtk/fast/dom/prototype-inheritance-2-expected.txt: Removed.

2010-02-11  Gustavo Noronha Silva  <gns@gnome.org>

        Rebaseline test after 54646, and skip tests that need results
        generated.

        * platform/gtk/Skipped:
        * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:

2010-02-11  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Test that Web Inspector can inspect styles of elements in iframe from a domain
        different from main frame domain.

        inspector-tests.js moved to LayoutTests/http/tests/inspector because it can
        be referenced by relative path from LayoutTests/inspector but not vice versa
        (html files served from LayoutTests/http/tests cannot refer it because WebKit
        tests httpd doesn't serve content not under LayoutTests/http). 

        https://bugs.webkit.org/show_bug.cgi?id=31587

        * http/tests/inspector/inspect-iframe-from-different-domain-expected.txt: Added.
        * http/tests/inspector/inspect-iframe-from-different-domain.html: Added.
        * http/tests/inspector/inspector-test.js: Renamed from LayoutTests/inspector/inspector-test.js.
        (onload):
        (evaluateInWebInspector):
        (notifyDone):
        (output):
        (didEvaluateForTestInFrontend):
        * http/tests/inspector/resources/iframe-from-different-domain-data.html: Added.
        * inspector/console-clear.html:
        * inspector/console-dir.html:
        * inspector/console-dirxml.html:
        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-collections.html:
        * inspector/console-format.html:
        * inspector/console-log-before-inspector-open.html:
        * inspector/console-tests.html:
        * inspector/cookie-resource-match.html:
        * inspector/elements-img-tooltip.html:
        * inspector/elements-panel-rewrite-href-expected.txt:
        * inspector/elements-panel-rewrite-href.html:
        * inspector/elements-panel-selection-on-refresh.html:
        * inspector/elements-panel-structure.html:
        * inspector/evaluate-in-frontend.html:
        * inspector/inspected-objects-not-overriden.html:
        * inspector/styles-iframe.html:
        * inspector/syntax-highlight-css.html:
        * inspector/syntax-highlight-javascript.html:
        * inspector/timeline-enum-stability.html:
        * inspector/timeline-event-dispatch.html:
        * inspector/timeline-layout.html:
        * inspector/timeline-mark-timeline.html:
        * inspector/timeline-network-resource.html:
        * inspector/timeline-paint.html:
        * inspector/timeline-parse-html.html:
        * inspector/timeline-recalculate-styles.html:
        * inspector/timeline-script-tag-1.html:
        * inspector/timeline-script-tag-2.html:
        * inspector/timeline-trivial.html:
        * platform/qt/Skipped:

2010-02-11  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Update expected results for the following tests after r54646 because of ImageData support.

        * platform/qt/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/qt/fast/dom/prototype-inheritance-expected.txt:
        * platform/qt/fast/js/global-constructors-expected.txt:

2010-02-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Step attribute support for date&time types.
        https://bugs.webkit.org/show_bug.cgi?id=30847

        Add tests for ValidityState.stepMismatch, stepUp() and stepDown()
        for date, datetime, datetime-local, month, time, week types.
        Update valueAsDate and valueAsNumber tests for a string representation
        change.

        * fast/forms/ValidityState-stepMismatch-expected.txt: Added.
        * fast/forms/ValidityState-stepMismatch.html: Added.
        * fast/forms/input-stepup-stepdown-expected.txt: Added.
        * fast/forms/input-stepup-stepdown.html: Added.
        * fast/forms/input-valueasdate-datetime-expected.txt:
        * fast/forms/input-valueasdate-time-expected.txt:
        * fast/forms/input-valueasnumber-datetime-expected.txt:
        * fast/forms/input-valueasnumber-datetimelocal-expected.txt:
        * fast/forms/input-valueasnumber-time-expected.txt:
        * fast/forms/script-tests/ValidityState-stepMismatch.js: Added.
        * fast/forms/script-tests/input-stepup-stepdown.js: Added.
        * fast/forms/script-tests/input-valueasdate-datetime.js:
        * fast/forms/script-tests/input-valueasnumber-datetime.js:

2010-02-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        postMessage does not send ImageData
        https://bugs.webkit.org/show_bug.cgi?id=34825

        Add test for postMessage passing ImageData

        Update a few other tests to cover the fact that ImageData's constructor
        is now available on the window object.

        * fast/dom/Window/window-postmessage-clone-expected.txt:
        * fast/dom/Window/window-postmessage-clone.html:
        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/js/global-constructors-expected.txt:

2010-02-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser and Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 
        Mask not invalidating

        * platform/mac/svg/custom/mask-invalidation-expected.checksum: Added.
        * platform/mac/svg/custom/mask-invalidation-expected.png: Added.
        * platform/mac/svg/custom/mask-invalidation-expected.txt: Added.
        * svg/custom/mask-invalidation.svg: Added.

2010-02-10  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Roll out r54626, because it broke GTK and Win build.
        https://bugs.webkit.org/show_bug.cgi?id=32717

        * platform/mac/Skipped:
        * platform/mac/fast/frames/flattening: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Removed.

2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Support frameset flattening
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Add expected results of the FrameSet Flattening tests.

        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.
        * platform/mac/Skipped:

2010-02-10  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Remove automatic viewport resizing
        https://bugs.webkit.org/show_bug.cgi?id=34766

        Removed automatic viewport resizing per conclusions on the WebGL
        mailing list. Added test verifying new behavior and updated a
        couple of previous tests failing after this change.

        * fast/canvas/webgl/gl-get-calls-expected.txt:
        * fast/canvas/webgl/gl-get-calls.html:
        * fast/canvas/webgl/texImage2DImageDataTest.html:
        * fast/canvas/webgl/viewport-unchanged-upon-resize-expected.txt: Added.
        * fast/canvas/webgl/viewport-unchanged-upon-resize.html: Added.

2010-02-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
        https://bugs.webkit.org/show_bug.cgi?id=34773

        * fast/frames/frame-crash-with-page-cache.html: Added.
        * fast/frames/resources/cached-page-1.html: Added.
        * fast/frames/resources/cached-page-2.html: Added.
        * fast/frames/resources/cached-page-3.html: Added.
        * fast/frames/resources/cached-page-iframe.html: Added.

2010-02-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=34490
        WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions

        * fast/images/destroyed-image-load-event-expected.txt: Added.
        * fast/images/destroyed-image-load-event.html: Added.

2010-02-08  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/7436875> Crash in Flash when visiting
        http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]

        Reviewed by Darin Adler.

        * platform/win/plugins/plugin-delayed-destroy-expected.txt: Added.
        * platform/win/plugins/plugin-delayed-destroy.html: Added.

2010-02-10  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Implement pageNumberForElementById() method in Qt DRT LayoutTestController,
        to make Qt DRT able to get page number.

        LayoutTests:
            printing/page-break-always.html
            printing/pageNumerForElementById.html
            printing/css2.1/page-break-before-000.html
            printing/css2.1/page-break-after-000.html
            printing/css2.1/page-break-after-004.html
            printing/css2.1/page-break-before-001.html
            printing/css2.1/page-break-after-001.html
            printing/css2.1/page-break-after-002.html
            printing/css2.1/page-break-before-002.html
            printing/css2.1/page-break-inside-000.html

        [Qt] Make possible Qt DRT get a page number for element by ID
        https://bugs.webkit.org/show_bug.cgi?id=34777

        * platform/qt/Skipped:

2010-02-10  Jeremy Orlow  <jorlow@chromium.org>

        Revert 54599 because it breaks a lot of tests on Windows Chrome

        * inspector/elements-panel-limited-children-expected.txt: Removed.
        * inspector/elements-panel-limited-children.html: Removed.
        * platform/qt/Skipped:

2010-02-10  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Add test to ensure that a call to history.forward() at the top of
        a page doesn't prevent the page from loading when there is no
        forward list.

        https://bugs.webkit.org/show_bug.cgi?id=34722

        * fast/history/forward-during-load-expected.txt: Added.
        * fast/history/forward-during-load.html: Added.

2010-02-10  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Elements Panel: Limit the number of initially loaded element children
        https://bugs.webkit.org/show_bug.cgi?id=34421

        * inspector/elements-panel-limited-children-expected.txt: Added.
        * inspector/elements-panel-limited-children.html: Added.
        * platform/qt/Skipped:

2010-02-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Freeze sandbox attributes on creation
        https://bugs.webkit.org/show_bug.cgi?id=34184

        Test that allow-forms is frozen on document creation.

        * fast/frames/resources/sandboxed-iframe-form-dynamic-allowed.html: Added.
        * fast/frames/resources/sandboxed-iframe-form-dynamic-disallowed.html: Added.
        * fast/frames/sandboxed-iframe-forms-dynamic-expected.txt: Added.
        * fast/frames/sandboxed-iframe-forms-dynamic.html: Added.

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed. Roll-out r54543, because layout tests crash in debug mode.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed trivial fix.

        platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt updated 
        by r54560. Qt platform specific expected file should be updated too.

        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt: Updated.

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/events/multiline-link-arrow-navigation.html introduced in r54566, but our
        LayoutTestController::overridePreference() does not support the 'WebKitEnableCaretBrowsing' preference now.

        * platform/qt/Skipped: fast/events/multiline-link-arrow-navigation.html skipped.

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] window.showModalDialog implemented by r54550. Some tests pass now, so expected files updated.
        (We need some new platform specific expected file, because this feature works only on Qt port now.)
        https://bugs.webkit.org/show_bug.cgi?id=25585

        * platform/qt/fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Copied from LayoutTests/fast/dom/Window/window-function-frame-getter-precedence-expected.txt.
        * platform/qt/fast/dom/Window/window-function-name-getter-precedence-expected.txt: Copied from LayoutTests/fast/dom/Window/window-function-name-getter-precedence-expected.txt.
        * platform/qt/fast/dom/Window/window-lookup-precedence-expected.txt: Copied from LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt.
        * platform/qt/fast/dom/Window/window-properties-expected.txt: Updated.
        * platform/qt/fast/dom/prototype-inheritance-expected.txt: Updated.
        * platform/qt/http/tests/security/cross-frame-access-call-expected.txt: Copied from LayoutTests/http/tests/security/cross-frame-access-call-expected.txt.
         -  cross-frame-access-call-expected.txt might be a false expected file, it needs more investigation.
        * platform/qt/http/tests/security/cross-frame-access-get-expected.txt: Copied from LayoutTests/http/tests/security/cross-frame-access-get-expected.txt.

2010-02-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=34776

        * plugins/instance-available-before-stylesheets-loaded-expected.txt: Added.
        * plugins/instance-available-before-stylesheets-loaded-object-expected.txt: Added.
        * plugins/instance-available-before-stylesheets-loaded-object.html: Added.
        * plugins/instance-available-before-stylesheets-loaded.html: Added.

2010-02-09  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Darin Adler.

        Problems navigating by caret in links whose text wraps onto
        subsequent lines.
        https://bugs.webkit.org/show_bug.cgi?id=25676

        Added tests showing the problem.

        * fast/events/multiline-link-arrow-navigation.html
        * fast/events/multiline-link-arrow-navigation-expected.txt

2010-02-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG patterns with some scale patternTransform are not displayed correctly for small elements
        https://bugs.webkit.org/show_bug.cgi?id=25484

        The old DRT results gave back a pattern size of 1x1. That was not very useful.
        The new reuslts are much more useful.

        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
        * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-expected.txt:
        * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
        * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.png: Added.
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.txt: Added.
        * platform/mac/svg/custom/pattern-in-defs-expected.txt:
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png: Added.
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt: Added.
        * platform/mac/svg/custom/pattern-skew-transformed-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-skew-transformed-expected.png: Added.
        * platform/mac/svg/custom/pattern-skew-transformed-expected.txt: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
        * platform/mac/svg/custom/stroked-pattern-expected.txt:
        * platform/mac/svg/custom/transformedMaskFails-expected.png:
        * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * svg/custom/pattern-excessive-malloc.svg: Added.
        * svg/custom/pattern-size-bigger-than-target-size.svg: Added.
        * svg/custom/pattern-skew-transformed.svg: Added.

2010-02-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Update Qt specific DRT result after AffineTransform patch.

        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:

2010-02-09  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Nikolas Zimmermann.

        SVG selection text foreground colour does not respect user settings
        https://bugs.webkit.org/show_bug.cgi?id=15997

        Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
        SVGTextPaintSubphaseGlyphStrokeSelection for painting SVG text
        selection. texts are painted with style from getCachedPseudoStyle() instead of style().

        * platform/mac/svg/text/selection-styles-expected.checksum: Added.
        * platform/mac/svg/text/selection-styles-expected.png: Added.
        * platform/mac/svg/text/selection-styles-expected.txt: Added.
        * platform/mac/svg/text/text-deco-01-b-expected.checksum: Updated pixel tests to account for marginal painting differences.
        * platform/mac/svg/text/text-deco-01-b-expected.png: Ditto.
        * platform/mac/svg/text/text-path-01-b-expected.checksum: Dito.
        * platform/mac/svg/text/text-path-01-b-expected.png: Ditto.
        * platform/mac/svg/text/text-text-03-b-expected.checksum: Ditto.
        * platform/mac/svg/text/text-text-03-b-expected.png: Ditto.
        * svg/text/selection-styles.xhtml: Added.

2010-02-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        No scroll bars are displayed for standalone SVG image
        https://bugs.webkit.org/show_bug.cgi?id=11225

        Height and width defined for svg element are not honored
        https://bugs.webkit.org/show_bug.cgi?id=24033

        SVG file does not pan and has no scroll bars
        https://bugs.webkit.org/show_bug.cgi?id=24448

        Modify some tests to account that overflow is now properly handled. Add new results for several overflow tests.

        * platform/mac/svg/custom/baseval-animval-equality-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/mac/svg/custom/path-bad-data-expected.txt:
        * platform/mac/svg/overflow: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-defaults-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-defaults-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-defaults-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Added.
        * platform/mac/svg/text/text-gradient-positioning-expected.checksum:
        * platform/mac/svg/text/text-gradient-positioning-expected.png:
        * platform/mac/svg/text/text-gradient-positioning-expected.txt:
        * svg/custom/focus-ring.svg: Shrink viewport size to avoid displaying scrollbars.
        * svg/custom/foreignObject-crash-on-hover.xml: Ditto.
        * svg/custom/path-bad-data.svg: Ditto.
        * svg/overflow: Added.
        * svg/overflow/overflow-on-inner-svg-element-defaults.svg: Added.
        * svg/overflow/overflow-on-inner-svg-element.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-defaults.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml: Added.
        * svg/text/text-gradient-positioning.svg: Shrink viewport size to avoid displaying scrollbars.

2010-02-09  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed.

        Fix build brekage introduced by r54536.

        Add the following two to Skipped:
        fast/css/inline-element-line-break.html and
        fast/css/pseudo-element-line-break.html

        * platform/gtk/Skipped:

2010-02-09  Chang Shu  <Chang.Shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable http/tests/appcache but skip the failed cases.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

2010-02-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Shinichiro Hamaji.

        storage/database-lock-after-reload.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=29154

        * platform/mac/Skipped: Skip for now to keep the bots green until someone can take a look.

2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Add modified version of CSS2.1 test suite for paged media
        https://bugs.webkit.org/show_bug.cgi?id=34695

        Note that page-break-inside-000 is failing now.

        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/css2.1/README.txt: Added.
        * printing/css2.1/page-break-after-000-expected.txt: Added.
        * printing/css2.1/page-break-after-000.html: Added.
        * printing/css2.1/page-break-after-001-expected.txt: Added.
        * printing/css2.1/page-break-after-001.html: Added.
        * printing/css2.1/page-break-after-002-expected.txt: Added.
        * printing/css2.1/page-break-after-002.html: Added.
        * printing/css2.1/page-break-after-004-expected.txt: Added.
        * printing/css2.1/page-break-after-004.html: Added.
        * printing/css2.1/page-break-before-000-expected.txt: Added.
        * printing/css2.1/page-break-before-000.html: Added.
        * printing/css2.1/page-break-before-001-expected.txt: Added.
        * printing/css2.1/page-break-before-001.html: Added.
        * printing/css2.1/page-break-before-002-expected.txt: Added.
        * printing/css2.1/page-break-before-002.html: Added.
        * printing/css2.1/page-break-inside-000-expected.txt: Added.
        * printing/css2.1/page-break-inside-000.html: Added.
        * printing/resources/paged-media-test-utils.js: Added.
        (pageNumberShouldBe):

2010-02-07  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix the following bugs:
        https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
        https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail

        css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.html and css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.html have been rebaselined
        because the original expected values are incorrect, judging from the test description and how IE 8.0, Firefox 3.6, and Opera 10.10 render the pages.
        fast/dom/clone-node-dynamic-style-expected.html have been also rebaselined because the original expected values assumes a line break.
        Expected values under platform/qt need not be updated because the tests are in the Skipped file for the platform.

        * fast/css/inline-element-line-break.html: Added.
        * fast/css/pseudo-element-line-break.html: Added.
        * platform/mac/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.checksum:
        * platform/mac/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.png:
        * platform/mac/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.txt:
        * platform/mac/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.checksum:
        * platform/mac/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.png:
        * platform/mac/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.txt:
        * platform/mac/fast/css/inline-element-line-break-expected.checksum: Added.
        * platform/mac/fast/css/inline-element-line-break-expected.png: Added.
        * platform/mac/fast/css/inline-element-line-break-expected.txt: Added.
        * platform/mac/fast/css/pseudo-element-line-break-expected.checksum: Added.
        * platform/mac/fast/css/pseudo-element-line-break-expected.png: Added.
        * platform/mac/fast/css/pseudo-element-line-break-expected.txt: Added.
        * platform/mac/fast/dom/clone-node-dynamic-style-expected.checksum:
        * platform/mac/fast/dom/clone-node-dynamic-style-expected.png:
        * platform/mac/fast/dom/clone-node-dynamic-style-expected.txt:

2010-02-09  Avi Drissman  <avi@chromium.org>

        Reviewed by David Levin.

        Chromium Mac: Control-A shouldn't select all/Control-C shouldn't copy
        https://bugs.webkit.org/show_bug.cgi?id=34615

        * fast/events/attempt-select-all-with-wrong-modifier-expected.txt: Added.
        * fast/events/attempt-select-all-with-wrong-modifier.html: Added.

2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Provide a way to get total number of pages to be printed
        https://bugs.webkit.org/show_bug.cgi?id=34699

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/numberOfPages-expected.txt: Added.
        * printing/numberOfPages.html: Added.
        * printing/script-tests/numberOfPages.js: Added.
        (createParagraph):

2010-02-09  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>

        Reviewed by Oliver Hunt.

        Add numerous parse-only tests.
        https://bugs.webkit.org/show_bug.cgi?id=34019

        The input file contains a lot of strings, and tests whether they are
        valid JavaScript code snippets or contains various syntax errors.
        No semantic checks: even if a tests throws an exception, which is not
        syntax error, it is considered successfull.

        * fast/js/parser-syntax-check-expected.txt: Added.
        * fast/js/parser-syntax-check.html: Added.
        * fast/js/script-tests/parser-syntax-check.js: Added.
        (runTest):
        (valid):
        (invalid):

2010-02-08  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed GTK+ test fix.

        Web site is stuck loading forever
        https://bugs.webkit.org/show_bug.cgi?id=31227

        It seems the following bug is addressing this issue.
        [GTK] Needs proper reporting of frame loader callbacks, in DRT
        https://bugs.webkit.org/show_bug.cgi?id=32170

        * platform/gtk/Skipped:

2010-02-08  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Schedule a loading request when there are many in-flight requests beyond
        the limit to avoid forever page loading.

        https://bugs.webkit.org/show_bug.cgi?id=31227

        * http/tests/loading/load-javascript-after-many-xhrs-expected.txt: Added.
        * http/tests/loading/load-javascript-after-many-xhrs.html: Added.
        * http/tests/loading/resources/zero-length.js: Added.
        * http/tests/loading/resources/zero-length.txt: Added.

2010-02-08  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Crash due to layout not done in case involving removal of absolute positioning
        https://bugs.webkit.org/show_bug.cgi?id=34734
        rdar://problem/7588280

        * fast/dynamic/position-change-layout-expected.txt: Added.
        * fast/dynamic/position-change-layout.html: Added.

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34727
        Assertion crashes and freezes when plug-in property access results in an exception

        * plugins/netscape-plugin-property-access-exception-expected.txt: Added.
        * plugins/netscape-plugin-property-access-exception.html: Added.
        The test expectations are a compromise between common sense and Firefox behavior.

        * platform/mac-snowleopard/Skipped: In OOP case, this test needs newer Safari.

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Put the test back on skipped list - it needs a newer version of Safari to pass.

        * platform/mac-snowleopard/Skipped:

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/6530010> OOP: Support NPN_SetException

        * platform/mac-snowleopard/Skipped: Unskipped plugins/netscape-throw-exception.html.

2010-02-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add back an AffineTransform class for use by SVG
        https://bugs.webkit.org/show_bug.cgi?id=33750

        Some negative zero problems fixed, but new one were added on other places. A seperate
        patch should fix it all at once.
        use-on-disallowed-foreign-object-3 and 4 had wrong results. The old SVG code
        with TransformationMatrix used translateRight, that was wrong at this place and is
        fixed now.

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * svg/dom/SVGMatrix-interface-expected.txt:
        * svg/dom/SVGMatrix-interface.xhtml:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix last problematic SVG testcase, update coords-trans-01-b.svg win results, marking the end of the baseline regeneration for all platforms.

        * platform/win/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Should turn Qt slave green again, all platform specific results updated.

        * platform/qt/svg/filters/subRegion-one-effect-expected.txt:
        * platform/qt/svg/filters/subRegion-two-effects-expected.txt:
        * platform/qt/svg/text/selection-background-color-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Hopefully the last set of updates for Gtk/Qt/Win/Mac.

        * platform/gtk/svg/custom/text-zoom-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
        * platform/qt/svg/filters/feComposite-expected.txt:
        * platform/qt/svg/filters/feGaussianBlur-expected.txt:
        * platform/qt/svg/filters/feMerge-expected.txt:
        * platform/qt/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/qt/svg/filters/feOffset-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/filters/filter-source-position-expected.txt:
        * platform/qt/svg/filters/shadow-on-filter-expected.txt:
        * platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/qt/svg/filters/sourceAlpha-expected.txt:
        * platform/qt/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/win/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/win/svg/hixie/mixed/003-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Attempt to fix all mac/win bots (expect for leopard which already passes)

        * platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
        * platform/mac/svg/custom/junk-data-expected.txt:
        * platform/mac/svg/custom/missing-xlink-expected.txt:
        * platform/mac/svg/hixie/error/012-expected.txt:
        * platform/mac/svg/text/text-intro-05-t-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Next set of Qt DRT result updates.

        * platform/qt/svg/custom/js-update-image-and-display-expected.txt:
        * platform/qt/svg/custom/js-update-image-and-display3-expected.txt:
        * platform/qt/svg/custom/marker-opacity-expected.txt:
        * platform/qt/svg/custom/marker-referencePoint-expected.txt:
        * platform/qt/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/qt/svg/custom/mask-with-default-value-expected.txt:
        * platform/qt/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/qt/svg/custom/text-xy-updates-SVGList-expected.txt:
        * platform/qt/svg/custom/transformedMaskFails-expected.txt:
        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update mac-tiger specific SVG results.

        * platform/mac-tiger/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/mac-tiger/svg/hixie/text/003-expected.txt:
        * platform/mac-tiger/svg/hixie/text/003a-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fixing first set of platform specific SVG results for the Qt port.
        Unfortunately the bots exit after 20 test failures, so I can't fix the whole set of expected txt files in one go :(

        * platform/qt/svg/css/arrow-with-shadow-expected.txt:
        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/qt/svg/css/clippath-with-shadow-expected.txt:
        * platform/qt/svg/css/mask-with-shadow-expected.txt:
        * platform/qt/svg/css/path-with-shadow-expected.txt:
        * platform/qt/svg/css/shadow-and-opacity-expected.txt: Added.
        * platform/qt/svg/css/shadow-with-large-radius-expected.txt: Added.
        * platform/qt/svg/css/shadow-with-negative-offset-expected.txt: Added.
        * platform/qt/svg/css/stars-with-shadow-expected.txt:
        * platform/qt/svg/custom/createImageElement-expected.txt:
        * platform/qt/svg/custom/createImageElement2-expected.txt:
        * platform/qt/svg/custom/empty-mask-expected.txt:
        * platform/qt/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt: Added.
        * platform/qt/svg/custom/js-update-image-and-display2-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        All SVG *-expected.txt files contain wrong results
        https://bugs.webkit.org/show_bug.cgi?id=34703

        Regenerate SVG render tree results after fixing SVGRenderTreeAsText to dump absoluteClippedOverflowRect().
        Finally meaningful results are available and any repaint rect changes will be noticed, w/o pixel tests!

        * platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
        * platform/mac-leopard/svg/custom/junk-data-expected.txt:
        * platform/mac-leopard/svg/custom/missing-xlink-expected.txt:
        * platform/mac-leopard/svg/hixie/error/012-expected.txt:
        * platform/mac-leopard/svg/text/text-intro-05-t-expected.txt:
        * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum:
        * platform/mac/fast/repaint/moving-shadow-on-container-expected.png:
        * platform/mac/fast/repaint/moving-shadow-on-container-expected.txt:
        * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum:
        * platform/mac/fast/repaint/moving-shadow-on-path-expected.png:
        * platform/mac/fast/repaint/moving-shadow-on-path-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-coord-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-coord-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-09-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-10-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/batik/paints/gradientLimit-expected.txt:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegionA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
        * platform/mac/svg/batik/text/longTextOnPath-expected.txt:
        * platform/mac/svg/batik/text/textAnchor-expected.txt:
        * platform/mac/svg/batik/text/textAnchor2-expected.txt:
        * platform/mac/svg/batik/text/textAnchor3-expected.txt:
        * platform/mac/svg/batik/text/textDecoration2-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.checksum:
        * platform/mac/svg/batik/text/textEffect-expected.png:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.checksum:
        * platform/mac/svg/batik/text/textEffect3-expected.png:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/mac/svg/batik/text/textLayout-expected.txt:
        * platform/mac/svg/batik/text/textLayout2-expected.txt:
        * platform/mac/svg/batik/text/textLength-expected.txt:
        * platform/mac/svg/batik/text/textOnPath-expected.txt:
        * platform/mac/svg/batik/text/textOnPath2-expected.txt:
        * platform/mac/svg/batik/text/textOnPath3-expected.txt:
        * platform/mac/svg/batik/text/textOnPathSpaces-expected.txt:
        * platform/mac/svg/batik/text/textPCDATA-expected.txt:
        * platform/mac/svg/batik/text/textPosition-expected.txt:
        * platform/mac/svg/batik/text/textPosition2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/batik/text/textProperties2-expected.txt:
        * platform/mac/svg/batik/text/textStyles-expected.txt:
        * platform/mac/svg/batik/text/verticalText-expected.txt:
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
        * platform/mac/svg/batik/text/xmlSpace-expected.txt:
        * platform/mac/svg/carto.net/button-expected.txt:
        * platform/mac/svg/carto.net/colourpicker-expected.txt:
        * platform/mac/svg/carto.net/combobox-expected.txt:
        * platform/mac/svg/carto.net/scrollbar-expected.txt:
        * platform/mac/svg/carto.net/selectionlist-expected.txt:
        * platform/mac/svg/carto.net/slider-expected.txt:
        * platform/mac/svg/carto.net/tabgroup-expected.txt:
        * platform/mac/svg/carto.net/textbox-expected.txt:
        * platform/mac/svg/carto.net/window-expected.txt:
        * platform/mac/svg/css/arrow-with-shadow-expected.png:
        * platform/mac/svg/css/arrow-with-shadow-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/clippath-with-shadow-expected.png:
        * platform/mac/svg/css/clippath-with-shadow-expected.txt:
        * platform/mac/svg/css/composite-shadow-example-expected.txt:
        * platform/mac/svg/css/composite-shadow-with-opacity-expected.txt:
        * platform/mac/svg/css/group-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/css/path-with-shadow-expected.png:
        * platform/mac/svg/css/path-with-shadow-expected.txt:
        * platform/mac/svg/css/shadow-and-opacity-expected.png:
        * platform/mac/svg/css/shadow-and-opacity-expected.txt:
        * platform/mac/svg/css/shadow-with-large-radius-expected.png:
        * platform/mac/svg/css/shadow-with-large-radius-expected.txt:
        * platform/mac/svg/css/shadow-with-negative-offset-expected.png:
        * platform/mac/svg/css/shadow-with-negative-offset-expected.txt:
        * platform/mac/svg/css/stars-with-shadow-expected.png:
        * platform/mac/svg/css/stars-with-shadow-expected.txt:
        * platform/mac/svg/custom/SVGMatrix-interface-expected.txt:
        * platform/mac/svg/custom/SVGNumber-interface-expected.txt:
        * platform/mac/svg/custom/SVGPoint-interface-expected.txt:
        * platform/mac/svg/custom/SVGPoint-matrixTransform-expected.txt:
        * platform/mac/svg/custom/SVGRect-interface-expected.txt:
        * platform/mac/svg/custom/absolute-sized-svg-in-xhtml-expected.txt:
        * platform/mac/svg/custom/alignment-baseline-modes-expected.txt:
        * platform/mac/svg/custom/altglyph-expected.txt:
        * platform/mac/svg/custom/animate-path-discrete-expected.txt:
        * platform/mac/svg/custom/animate-path-morphing-expected.txt:
        * platform/mac/svg/custom/baseval-animval-equality-expected.txt:
        * platform/mac/svg/custom/circle-move-invalidation-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-1-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-2-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-3-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
        * platform/mac/svg/custom/class-baseValue-expected.txt:
        * platform/mac/svg/custom/class-selector-expected.txt:
        * platform/mac/svg/custom/clip-path-child-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-display-none-child-expected.txt:
        * platform/mac/svg/custom/clip-path-href-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-referencing-use-expected.txt:
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.txt:
        * platform/mac/svg/custom/clip-path-units-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-with-transform-expected.txt:
        * platform/mac/svg/custom/conditional-processing-outside-switch-expected.txt:
        * platform/mac/svg/custom/container-opacity-clip-viewBox-expected.txt:
        * platform/mac/svg/custom/control-points-for-S-and-T-expected.txt:
        * platform/mac/svg/custom/coords-relative-units-transforms-expected.txt:
        * platform/mac/svg/custom/create-metadata-element-expected.txt:
        * platform/mac/svg/custom/createImageElement-expected.txt:
        * platform/mac/svg/custom/createImageElement2-expected.txt:
        * platform/mac/svg/custom/createelement-expected.txt:
        * platform/mac/svg/custom/css-pixels-dpi-expected.txt:
        * platform/mac/svg/custom/dasharrayOrigin-expected.txt:
        * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
        * platform/mac/svg/custom/display-none-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-modes-expected.txt:
        * platform/mac/svg/custom/dynamic-empty-path-expected.txt:
        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
        * platform/mac/svg/custom/dynamic-viewBox-expected.txt:
        * platform/mac/svg/custom/empty-clip-path-expected.txt:
        * platform/mac/svg/custom/empty-mask-expected.txt:
        * platform/mac/svg/custom/empty-merge-expected.txt:
        * platform/mac/svg/custom/evt-onload-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
        * platform/mac/svg/custom/fill-SVGPaint-interface-expected.txt:
        * platform/mac/svg/custom/fill-fallback-expected.txt:
        * platform/mac/svg/custom/fill-update-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/font-face-cascade-order-expected.txt:
        * platform/mac/svg/custom/font-face-simple-expected.txt:
        * platform/mac/svg/custom/foreign-object-skew-expected.txt:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/mac/svg/custom/fractional-rects-expected.txt:
        * platform/mac/svg/custom/getPresentationAttribute-expected.txt:
        * platform/mac/svg/custom/getTransformToElement-expected.txt:
        * platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.txt:
        * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt:
        * platform/mac/svg/custom/gradient-add-stops-expected.txt:
        * platform/mac/svg/custom/gradient-attr-update-expected.txt:
        * platform/mac/svg/custom/gradient-cycle-detection-expected.txt:
        * platform/mac/svg/custom/gradient-deep-referencing-expected.txt:
        * platform/mac/svg/custom/gradient-rotated-bbox-expected.txt:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.checksum:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.png:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.txt:
        * platform/mac/svg/custom/gradient-stop-style-change-expected.txt:
        * platform/mac/svg/custom/gradient-stroke-width-expected.txt:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
        * platform/mac/svg/custom/group-opacity-expected.txt:
        * platform/mac/svg/custom/hit-test-unclosed-subpaths-expected.txt:
        * platform/mac/svg/custom/image-parent-translation-expected.txt:
        * platform/mac/svg/custom/image-small-width-height-expected.txt:
        * platform/mac/svg/custom/image-with-aspect-ratio-stretch-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/mac/svg/custom/inner-percent-expected.txt:
        * platform/mac/svg/custom/inner-svg-hit-test-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/invalid-fill-expected.txt:
        * platform/mac/svg/custom/invalid-fill-hex-expected.txt:
        * platform/mac/svg/custom/invalid-lengthlist-expected.txt:
        * platform/mac/svg/custom/invisible-text-after-scrolling-expected.txt:
        * platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-clipPath-creation-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.checksum:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.checksum:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.png:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.txt:
        * platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-marker-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
        * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt:
        * platform/mac/svg/custom/js-update-bounce-expected.txt:
        * platform/mac/svg/custom/js-update-container-expected.txt:
        * platform/mac/svg/custom/js-update-container2-expected.txt:
        * platform/mac/svg/custom/js-update-gradient-expected.txt:
        * platform/mac/svg/custom/js-update-image-and-display-expected.txt:
        * platform/mac/svg/custom/js-update-image-and-display2-expected.txt:
        * platform/mac/svg/custom/js-update-image-and-display3-expected.txt:
        * platform/mac/svg/custom/js-update-image-expected.txt:
        * platform/mac/svg/custom/js-update-path-changes-expected.txt:
        * platform/mac/svg/custom/js-update-path-removal-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-expected.txt:
        * platform/mac/svg/custom/js-update-polygon-changes-expected.txt:
        * platform/mac/svg/custom/js-update-polygon-removal-expected.txt:
        * platform/mac/svg/custom/js-update-stop-expected.txt:
        * platform/mac/svg/custom/js-update-style-expected.txt:
        * platform/mac/svg/custom/js-update-transform-addition-expected.txt:
        * platform/mac/svg/custom/js-update-transform-changes-expected.txt:
        * platform/mac/svg/custom/large-bounding-box-percents-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-all-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-preserveAspectRatio-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-transform-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-viewBox-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-viewBox-transform-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-viewTarget-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-zoomAndPan-expected.txt:
        * platform/mac/svg/custom/marker-changes-expected.txt:
        * platform/mac/svg/custom/marker-child-changes-expected.txt:
        * platform/mac/svg/custom/marker-default-width-height-expected.txt:
        * platform/mac/svg/custom/marker-opacity-expected.txt:
        * platform/mac/svg/custom/marker-overflow-clip-expected.txt:
        * platform/mac/svg/custom/marker-referencePoint-expected.txt:
        * platform/mac/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/mac/svg/custom/marker-viewBox-changes-expected.txt:
        * platform/mac/svg/custom/mask-changes-expected.txt:
        * platform/mac/svg/custom/mask-child-changes-expected.txt:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/mask-inside-defs-expected.txt:
        * platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
        * platform/mac/svg/custom/mask-with-all-units-expected.txt:
        * platform/mac/svg/custom/mask-with-default-value-expected.txt:
        * platform/mac/svg/custom/no-inherited-dashed-stroke-expected.txt:
        * platform/mac/svg/custom/non-circular-marker-reference-expected.txt:
        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
        * platform/mac/svg/custom/path-bad-data-expected.txt:
        * platform/mac/svg/custom/path-textPath-simulation-expected.txt:
        * platform/mac/svg/custom/path-update-expected.txt:
        * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
        * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
        * platform/mac/svg/custom/pattern-rotate-expected.txt:
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
        * platform/mac/svg/custom/percentage-rect-expected.txt:
        * platform/mac/svg/custom/percentage-rect2-expected.txt:
        * platform/mac/svg/custom/pointer-events-image-expected.txt:
        * platform/mac/svg/custom/pointer-events-path-expected.txt:
        * platform/mac/svg/custom/pointer-events-text-expected.txt:
        * platform/mac/svg/custom/poly-identify-expected.txt:
        * platform/mac/svg/custom/polyline-hittest-expected.txt:
        * platform/mac/svg/custom/polyline-invalid-points-expected.txt:
        * platform/mac/svg/custom/polyline-setattribute-points-null-expected.txt:
        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
        * platform/mac/svg/custom/prevent-default-expected.txt:
        * platform/mac/svg/custom/recursive-clippath-expected.txt:
        * platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/mac/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/mac/svg/custom/repaint-on-image-bounds-change-expected.txt:
        * platform/mac/svg/custom/resource-client-removal-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/rgbcolor-syntax-expected.txt:
        * platform/mac/svg/custom/root-container-opacity-clip-viewBox-expected.txt:
        * platform/mac/svg/custom/rootelement-expected.txt:
        * platform/mac/svg/custom/rounded-rects-expected.txt:
        * platform/mac/svg/custom/scroll-hit-test-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/custom/second-inline-text-expected.txt:
        * platform/mac/svg/custom/shape-rendering-expected.txt:
        * platform/mac/svg/custom/shapes-supporting-markers-expected.txt:
        * platform/mac/svg/custom/sheet-title-expected.txt:
        * platform/mac/svg/custom/stroke-fallback-expected.txt:
        * platform/mac/svg/custom/stroked-pattern-expected.txt:
        * platform/mac/svg/custom/struct-use-09-b-expected.txt:
        * platform/mac/svg/custom/style-attribute-font-size-expected.txt:
        * platform/mac/svg/custom/svg-float-border-padding-expected.txt:
        * platform/mac/svg/custom/svgpolyparser-extra-space-expected.txt:
        * platform/mac/svg/custom/text-clip-expected.txt:
        * platform/mac/svg/custom/text-ctm-expected.txt:
        * platform/mac/svg/custom/text-decoration-visibility-expected.txt:
        * platform/mac/svg/custom/text-dom-01-f-expected.txt:
        * platform/mac/svg/custom/text-filter-expected.txt:
        * platform/mac/svg/custom/text-hit-test-expected.txt:
        * platform/mac/svg/custom/text-image-opacity-expected.txt:
        * platform/mac/svg/custom/text-letter-spacing-expected.txt:
        * platform/mac/svg/custom/text-linking-expected.txt:
        * platform/mac/svg/custom/text-repaint-including-stroke-expected.txt:
        * platform/mac/svg/custom/text-whitespace-handling-expected.txt:
        * platform/mac/svg/custom/text-x-dx-lists-expected.txt:
        * platform/mac/svg/custom/text-x-override-in-tspan-child-expected.txt:
        * platform/mac/svg/custom/text-xy-updates-SVGList-expected.txt:
        * platform/mac/svg/custom/text-xy-updates-expected.txt:
        * platform/mac/svg/custom/transform-invalid-expected.txt:
        * platform/mac/svg/custom/transform-removeAttributeNS-expected.txt:
        * platform/mac/svg/custom/transform-scale-parse-expected.txt:
        * platform/mac/svg/custom/tref-update-expected.txt:
        * platform/mac/svg/custom/use-clipped-hit-expected.checksum:
        * platform/mac/svg/custom/use-clipped-hit-expected.png:
        * platform/mac/svg/custom/use-clipped-hit-expected.txt:
        * platform/mac/svg/custom/use-css-events-expected.txt:
        * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt:
        * platform/mac/svg/custom/use-detach-expected.txt:
        * platform/mac/svg/custom/use-dynamic-append-expected.txt:
        * platform/mac/svg/custom/use-empty-reference-expected.txt:
        * platform/mac/svg/custom/use-event-handler-on-referenced-element-expected.txt:
        * platform/mac/svg/custom/use-event-handler-on-use-element-expected.txt:
        * platform/mac/svg/custom/use-events-crash-expected.txt:
        * platform/mac/svg/custom/use-forward-refs-expected.txt:
        * platform/mac/svg/custom/use-instanceRoot-modifications-expected.txt:
        * platform/mac/svg/custom/use-modify-container-in-target-expected.txt:
        * platform/mac/svg/custom/use-modify-target-container-expected.txt:
        * platform/mac/svg/custom/use-modify-target-symbol-expected.txt:
        * platform/mac/svg/custom/use-nested-transform-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-symbol-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-use-expected.txt:
        * platform/mac/svg/custom/use-on-g-expected.txt:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
        * platform/mac/svg/custom/use-on-rect-expected.txt:
        * platform/mac/svg/custom/use-on-symbol-expected.txt:
        * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/mac/svg/custom/use-on-text-expected.txt:
        * platform/mac/svg/custom/use-on-use-expected.txt:
        * platform/mac/svg/custom/use-property-changes-through-dom-expected.txt:
        * platform/mac/svg/custom/use-property-changes-through-svg-dom-expected.txt:
        * platform/mac/svg/custom/use-recalcStyle-crash-expected.txt:
        * platform/mac/svg/custom/use-recursion-1-expected.txt:
        * platform/mac/svg/custom/use-recursion-2-expected.txt:
        * platform/mac/svg/custom/use-recursion-3-expected.txt:
        * platform/mac/svg/custom/use-recursion-4-expected.txt:
        * platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.txt:
        * platform/mac/svg/custom/use-symbol-overflow-expected.txt:
        * platform/mac/svg/custom/use-transform-expected.txt:
        * platform/mac/svg/custom/viewBox-hit-expected.txt:
        * platform/mac/svg/custom/viewbox-syntax-expected.txt:
        * platform/mac/svg/custom/viewport-clip-expected.txt:
        * platform/mac/svg/custom/viewport-em-expected.txt:
        * platform/mac/svg/custom/viewport-no-width-height-expected.txt:
        * platform/mac/svg/custom/viewport-update-expected.txt:
        * platform/mac/svg/custom/viewport-update2-expected.txt:
        * platform/mac/svg/custom/visibility-override-clip-expected.txt:
        * platform/mac/svg/custom/visibility-override-expected.txt:
        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
        * platform/mac/svg/custom/visibility-override-mask-expected.txt:
        * platform/mac/svg/custom/width-full-percentage-expected.txt:
        * platform/mac/svg/custom/xml-stylesheet-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feComposite-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
        * platform/mac/svg/filters/feMerge-expected.txt:
        * platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/mac/svg/filters/feOffset-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * platform/mac/svg/filters/filter-source-position-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/mac/svg/filters/sourceAlpha-expected.txt:
        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:
        * platform/mac/svg/hixie/cascade/001-broken-expected.txt:
        * platform/mac/svg/hixie/cascade/002-expected.txt:
        * platform/mac/svg/hixie/data-types/001-expected.txt:
        * platform/mac/svg/hixie/data-types/002-expected.txt:
        * platform/mac/svg/hixie/dynamic/002-expected.txt:
        * platform/mac/svg/hixie/error/001-expected.txt:
        * platform/mac/svg/hixie/error/002-expected.txt:
        * platform/mac/svg/hixie/error/003-expected.txt:
        * platform/mac/svg/hixie/error/007-expected.txt:
        * platform/mac/svg/hixie/error/008-expected.txt:
        * platform/mac/svg/hixie/error/009-expected.txt:
        * platform/mac/svg/hixie/error/010-expected.txt:
        * platform/mac/svg/hixie/error/011-expected.txt:
        * platform/mac/svg/hixie/error/013-expected.txt:
        * platform/mac/svg/hixie/error/014-expected.txt:
        * platform/mac/svg/hixie/error/014-test-expected.txt:
        * platform/mac/svg/hixie/error/017-expected.txt:
        * platform/mac/svg/hixie/links/001-expected.txt:
        * platform/mac/svg/hixie/links/002-expected.txt:
        * platform/mac/svg/hixie/links/003-broken-expected.txt:
        * platform/mac/svg/hixie/mixed/003-expected.txt:
        * platform/mac/svg/hixie/mixed/004-expected.txt:
        * platform/mac/svg/hixie/mixed/005-expected.txt:
        * platform/mac/svg/hixie/mixed/006-expected.txt:
        * platform/mac/svg/hixie/mixed/007-expected.txt:
        * platform/mac/svg/hixie/mixed/009-expected.txt:
        * platform/mac/svg/hixie/mixed/011-expected.txt:
        * platform/mac/svg/hixie/painting/001-expected.txt:
        * platform/mac/svg/hixie/perf/003-expected.txt:
        * platform/mac/svg/hixie/perf/004-expected.txt:
        * platform/mac/svg/hixie/perf/005-expected.txt:
        * platform/mac/svg/hixie/perf/006-expected.txt:
        * platform/mac/svg/hixie/perf/007-expected.txt:
        * platform/mac/svg/hixie/processing-model/005-expected.txt:
        * platform/mac/svg/hixie/rendering-model/001-expected.txt:
        * platform/mac/svg/hixie/rendering-model/002-expected.txt:
        * platform/mac/svg/hixie/shapes/path/001-expected.txt:
        * platform/mac/svg/hixie/text/002-expected.txt:
        * platform/mac/svg/hixie/text/003-expected.txt:
        * platform/mac/svg/hixie/text/003a-expected.txt:
        * platform/mac/svg/hixie/text/003b-expected.txt:
        * platform/mac/svg/hixie/use/001-expected.txt:
        * platform/mac/svg/hixie/use/002-expected.txt:
        * platform/mac/svg/hixie/use/002-test-expected.txt:
        * platform/mac/svg/hixie/viewbox/001-expected.txt:
        * platform/mac/svg/hixie/viewbox/002-expected.txt:
        * platform/mac/svg/hixie/viewbox/003-expected.txt:
        * platform/mac/svg/hixie/viewbox/004-expected.txt:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:
        * platform/mac/svg/text/foreignObject-repaint-expected.txt:
        * platform/mac/svg/text/kerning-expected.txt:
        * platform/mac/svg/text/multichar-glyph-expected.txt:
        * platform/mac/svg/text/selection-background-color-expected.checksum:
        * platform/mac/svg/text/selection-background-color-expected.png:
        * platform/mac/svg/text/selection-background-color-expected.txt:
        * platform/mac/svg/text/text-align-01-b-expected.txt:
        * platform/mac/svg/text/text-align-02-b-expected.txt:
        * platform/mac/svg/text/text-align-03-b-expected.txt:
        * platform/mac/svg/text/text-align-04-b-expected.txt:
        * platform/mac/svg/text/text-align-05-b-expected.txt:
        * platform/mac/svg/text/text-align-06-b-expected.txt:
        * platform/mac/svg/text/text-altglyph-01-b-expected.txt:
        * platform/mac/svg/text/text-deco-01-b-expected.txt:
        * platform/mac/svg/text/text-fonts-01-t-expected.txt:
        * platform/mac/svg/text/text-fonts-02-t-expected.txt:
        * platform/mac/svg/text/text-gradient-positioning-expected.txt:
        * platform/mac/svg/text/text-path-01-b-expected.txt:
        * platform/mac/svg/text/text-repaint-rects-expected.txt:
        * platform/mac/svg/text/text-spacing-01-b-expected.png:
        * platform/mac/svg/text/text-spacing-01-b-expected.txt:
        * platform/mac/svg/text/text-text-01-b-expected.txt:
        * platform/mac/svg/text/text-text-03-b-expected.txt:
        * platform/mac/svg/text/text-text-04-t-expected.txt:
        * platform/mac/svg/text/text-text-05-t-expected.txt:
        * platform/mac/svg/text/text-text-06-t-expected.txt:
        * platform/mac/svg/text/text-text-07-t-expected.txt:
        * platform/mac/svg/text/text-text-08-b-expected.txt:
        * platform/mac/svg/text/text-tref-01-b-expected.txt:
        * platform/mac/svg/text/text-tselect-01-b-expected.txt:
        * platform/mac/svg/text/text-tselect-02-f-expected.txt:
        * platform/mac/svg/text/text-tspan-01-b-expected.txt:
        * platform/mac/svg/text/text-ws-01-t-expected.txt:
        * platform/mac/svg/text/text-ws-02-t-expected.txt:
        * platform/mac/svg/text/textPathBoundsBug-expected.txt:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.checksum:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
        * svg/custom/glyph-setting-d-attribute-expected.txt:
        * svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt:
        * svg/custom/text-dom-removal-expected.txt:
        * svg/custom/text-zoom-expected.png:
        * svg/custom/text-zoom-expected.txt:
        * svg/custom/transformedMaskFails-expected.txt:
        * svg/custom/use-clipped-transform-expected.txt:
        * svg/custom/use-elementInstance-event-target-expected.txt:
        * svg/custom/use-elementInstance-methods-expected.txt:
        * svg/custom/use-setAttribute-crash-expected.txt:
        * svg/dom/SVGRectElement/rect-modify-rx-expected.txt:

2010-02-08  Xan Lopez  <xlopez@igalia.com>

        Try to do some clean-up in our Skipped list.

        * platform/gtk/Skipped:

2010-02-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Generate new results for this test.

        * platform/gtk/editing/execCommand/indent-paragraphs-expected.txt:

2010-02-08  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Convert editing/execCommand/indent-paragraphs.html to use dumpAsText.
        The test copies HTML to the text output, so it doesn't really need
        to dump the render tree.

        The test was added in r49985, but didn't include pixel results.
        https://bugs.webkit.org/show_bug.cgi?id=34625

        * platform/mac/editing/execCommand/indent-paragraphs-expected.txt: Modified.

2010-02-07  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Fix 2 pixel test baselines that are incorrect but passing
        the fuzzy image diff.

        editing/deleting/5390681.html should show a cursor, but doesn't.
        In r42549, whitespace collapsing was changed but
        editing/pasteboard/5387578.html's result wasn't updated to
        reflect the collapsed whitespace.
        https://bugs.webkit.org/show_bug.cgi?id=34632

        * platform/mac/editing/deleting/5390681-2-expected.checksum:
        * platform/mac/editing/deleting/5390681-2-expected.png:
        * platform/mac/editing/pasteboard/5387578-expected.checksum:
        * platform/mac/editing/pasteboard/5387578-expected.png:

2010-02-07  Daniel Bates  <dbates@webkit.org>

        Unreviewed, fix Tiger layout test failure.

        https://bugs.webkit.org/show_bug.cgi?id=34402

        Adds expected layout test results for Tiger build.

        * platform/mac-tiger/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.

2010-02-07  Daniel Bates  <dbates@webkit.org>

        Unreviewed, fix layout test bots.

        https://bugs.webkit.org/show_bug.cgi?id=34402

        Adds expected layout test results for Leopard, Windows, and Qt ports.

        * platform/mac-leopard/fast/lists: Added.
        * platform/mac-leopard/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.
        * platform/qt/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.
        * platform/win/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.

2010-02-07  Daniel Bates  <dbates@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34402

        Tests that all of the numeric CSS3 list-style-types are supported.

        * fast/lists/w3-css3-list-styles-numeric.html: Added.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.

2010-02-07  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Fragment-held Elements Not Shown in Inspector.

        https://bugs.webkit.org/show_bug.cgi?id=34680

        * inspector/console-dirxml-expected.txt:
        * inspector/console-dirxml.html:

2010-02-07  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Missing fast/frames/flattening/resources/frameset-flattening-subframe-resize.html
        https://bugs.webkit.org/show_bug.cgi?id=34662

        Missing file added from the original bug: https://bugs.webkit.org/show_bug.cgi?id=32717

        * fast/frames/flattening/resources: Added.
        * fast/frames/flattening/resources/frameset-flattening-subframe-resize.html: Added.
        * platform/qt/Skipped: frameset-flattening-subframe-resize.html unskipped.

2010-02-05  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Implement layoutTestController.pageNumberForElementById
        https://bugs.webkit.org/show_bug.cgi?id=34572

        * platform/gtk/Skipped:

2010-02-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth Dakin.

        Removed these special Windows expected results because they represented
        incorrect behavior, fixed by a recent patch of mine.

        * platform/win/fast/events/mouse-drag-from-frame-to-other-frame-expected.txt: Removed.

2010-02-05  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed revert of r54454, until I can generate new results

        * media/video-loop-expected.txt:
        * media/video-loop.html:

2010-02-05  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=33671
        [GTK] media/video-loop.html fails intermittently on Gtk Bots

        Rewrite test to make it less timing dependent.

        * media/video-loop-expected.txt:
        * media/video-loop.html:

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Missing fast/frames/flattening/resources/frameset-flattening-subframe-resize.html
        https://bugs.webkit.org/show_bug.cgi?id=34662

        * platform/qt/Skipped: fast/frames/flattening/frameset-flattening-subframe-resize.html skipped until fix.

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        Update expected results after r54441 to make buildbot happy.

        * platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Updated.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Updated.

2010-02-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed, missed in earlier commit.

        Add expected frame flattening results for Qt.

        * platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.

2010-01-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Dave Hyatt.

        Implement flattening of framesets
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Frameset flattening layout test, plus expected result for Qt.

        * fast/frames/flattening/frameset-flattening-advanced.html: Added.
        * fast/frames/flattening/frameset-flattening-grid.html: Added.
        * fast/frames/flattening/frameset-flattening-simple.html: Added.
        * fast/frames/flattening/frameset-flattening-subframe-resize.html: Added.
        * fast/frames/flattening/frameset-flattening-subframesets.html: Added.
        * fast/frames/flattening/resources/frameset-flattening-subframe-resize.html: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.

2010-02-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Changing display type of parent of input on focus causes input field to not receive key events
        https://bugs.webkit.org/show_bug.cgi?id=34620
        <rdar://problem/7584572>
        
        Testcase that tests input into a text field after changing layout.

        * fast/forms/restore-selection-after-layout-expected.txt: Added.
        * fast/forms/restore-selection-after-layout.html: Added.

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Dirk Schulze.
        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Modifying SVG path dumping to equal to other ports
        https://bugs.webkit.org/show_bug.cgi?id=33784

        Expected files updated.

        * platform/qt/svg/css/arrow-with-shadow-expected.txt:
        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/qt/svg/css/clippath-with-shadow-expected.txt:
        * platform/qt/svg/css/mask-with-shadow-expected.txt:
        * platform/qt/svg/css/path-with-shadow-expected.txt:
        * platform/qt/svg/css/stars-with-shadow-expected.txt:
        * platform/qt/svg/custom/empty-mask-expected.txt:
        * platform/qt/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.txt:
        * platform/qt/svg/custom/marker-opacity-expected.txt:
        * platform/qt/svg/custom/marker-referencePoint-expected.txt:
        * platform/qt/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/qt/svg/custom/mask-with-default-value-expected.txt:
        * platform/qt/svg/custom/relative-sized-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt:
        * platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/qt/svg/custom/transformedMaskFails-expected.txt:
        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/qt/svg/filters/feComposite-expected.txt:
        * platform/qt/svg/filters/feGaussianBlur-expected.txt:
        * platform/qt/svg/filters/feMerge-expected.txt:
        * platform/qt/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/qt/svg/filters/feOffset-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/filters/shadow-on-filter-expected.txt:
        * platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/qt/svg/filters/subRegion-one-effect-expected.txt:
        * platform/qt/svg/filters/subRegion-two-effects-expected.txt:

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] fast/css/dashboard-regions-attr-crash.html skipped,
        because ENABLE_DASHBOARD_SUPPORT=0 is the default option.

        * platform/qt/Skipped:

2010-02-05  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        send() should return false, after frame that opened a WebSokcet is detached
        https://bugs.webkit.org/show_bug.cgi?id=34630

        * websocket/tests/send-after-close-on-unload-expected.txt: Added.
        * websocket/tests/send-after-close-on-unload.html: Added.

2010-02-05  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24872
        Add a test to make sure copying from a list and pasting into a list
        keeps the list at the same indention level rather than nesting.

        * editing/pasteboard/paste-list-002-expected.txt: Added.
        * editing/pasteboard/paste-list-002.html: Added.

2010-02-04  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        should not crash when document opened websocket is unloaded
        https://bugs.webkit.org/show_bug.cgi?id=34562

        * websocket/tests/close-on-unload-and-force-gc-expected.txt: Added.
        * websocket/tests/close-on-unload-and-force-gc.html: Added.
        * websocket/tests/close-on-unload-reference-in-parent-expected.txt: Added.
        * websocket/tests/close-on-unload-reference-in-parent.html: Added.
        * websocket/tests/resources/close-on-unload-iframe-reference-in-parent.html: Added.

2010-02-04  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Shinichiro Hamaji.

        websocket/tests/close-on-unload.html failed on Mac Tiger
        https://bugs.webkit.org/show_bug.cgi?id=34563

        * platform/mac-tiger/Skipped: remove websocket/tests/close-on-unload*.html
        * websocket/tests/close-on-unload_wsh.py: use dict instead of set.

2010-01-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Alexey Proskuryakov and Darin Adler.

        REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
        https://bugs.webkit.org/show_bug.cgi?id=33383
        <rdar://problem/7559449>

        * fast/events/bogus-event-listener-invalidation-expected.txt: Added.
        * fast/events/bogus-event-listener-invalidation.html: Added.

2010-02-04  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=25002
        When inserting a new paragraph, avoid nesting empty divs.  When
        pasting near the end of a paragraph, this prevents each paste
        command for getting nested one level deeper.

        Three paste tests have been rebaselined since this causes the pasted
        content to be outside the last div instead of inside.  E.g.,
        <div>foo<div>bar</div>[pasted content]</div> is now
        <div>foo<div>bar</div></div><div>[pasted content]</div>

        The new test verifies this behavior.

        * editing/inserting/paragraph-outside-nested-divs-expected.txt: Added.
        * editing/inserting/paragraph-outside-nested-divs.html: Added.
        * platform/mac/editing/pasteboard/paste-text-012-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-013-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-017-expected.txt:

2010-02-04  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        1. Enhance quota-tracking.html: if sqlite automatically rolls back
        a transaction because of a statement failure, make sure the rest
        of the statements in the transaction are not executed.
        2. Fix the expectations for quota-tracking.html. Sqlite cannot
        recover from reaching a DB's max size.

        * storage/quota-tracking-expected.txt:
        * storage/quota-tracking.html:

2010-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed typo fix for r54379.

        * platform/qt/Skipped:

2010-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        editing/pasteboard/drop-inputtext-acquires-style.html
        introduced in r54368 skipped because of missing DnD support.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:

2010-02-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
        https://bugs.webkit.org/show_bug.cgi?id=34520

        * fast/dom/HTMLInputElement/cloned-input-checked-state-expected.txt: Added.
        * fast/dom/HTMLInputElement/cloned-input-checked-state.html: Added.

2010-02-04  Enrica Casucci  <enrica@apple.com>

        Reviewed by Oliver Hunt.

        REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
        <rdar://problem/7595685>
        https://bugs.webkit.org/show_bug.cgi?id=34609

        * editing/pasteboard/drop-inputtext-acquires-style-expected.txt: Added.
        * editing/pasteboard/drop-inputtext-acquires-style.html: Added.

2010-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when an invalid hostname is pre-fetched
        https://bugs.webkit.org/show_bug.cgi?id=34602

        * http/tests/misc/dns-prefetch-control-expected.txt:
        * http/tests/misc/dns-prefetch-control.html: Add broken hostname test case.

2010-02-04  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Dan Bernstein.

        Add Windows expected results to the new scrollbar test because Windows was trying
        to compare to platform/mac first instead of cross-platform.

        * platform/win/fast/events/scrollbar-double-click-expected.txt: Added.

2010-02-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
        https://bugs.webkit.org/show_bug.cgi?id=34371

        * platform/mac/fast/events/scrollbar-double-click-expected.txt: Added.

2010-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/workers/shared-worker-frame-lifecycle.html failed on Qt Bot
        https://bugs.webkit.org/show_bug.cgi?id=34281

        * platform/qt/Skipped: fast/workers/shared-worker-frame-lifecycle.html skipped until fix.

2010-02-03  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed fix.

        websocket/tests/close-on-unload.html and
        close-on-navigate-new-location.html will fail on mac tiger,
        because python on the platform doesn't support set(), which is
        used in websocket handler for these tests.

        * platform/mac-tiger/Skipped: skip websocket/tests/close-on-unload.html and websocket/tests/close-on-navigate-new-location.html

2010-02-03  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        navigating a frame to new location closes websocket in the frame
        https://bugs.webkit.org/show_bug.cgi?id=34557

        * websocket/tests/close-on-navigate-new-location-expected.txt: Added.
        * websocket/tests/close-on-navigate-new-location.html: Added.

2010-02-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
        <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550

        * fast/loader/document-with-fragment-url-1-expected.txt: Added.
        * fast/loader/document-with-fragment-url-1.html: Added.
        * fast/loader/document-with-fragment-url-2-expected.txt: Added.
        * fast/loader/document-with-fragment-url-2.html: Added.
        * fast/loader/document-with-fragment-url-3-expected.txt: Added.
        * fast/loader/document-with-fragment-url-3.html: Added.
        * fast/loader/document-with-fragment-url-4-expected.txt: Added.
        * fast/loader/document-with-fragment-url-4.html: Added.
        * fast/loader/resources/document-with-fragment-url-test.html: Added.

2010-02-03  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket should close the connection when unloading the document
        https://bugs.webkit.org/show_bug.cgi?id=33248

        * websocket/tests/close-on-unload-expected.txt: Added.
        * websocket/tests/close-on-unload.html: Added.
        * websocket/tests/close-on-unload_wsh.py: Added.
        * websocket/tests/resources/close-on-unload-iframe.html: Added.

2010-02-03  Adele Peterson  <adele@apple.com>

        Reviewed by Simon Fraser.

        Test for: <rdar://problem/7594212> 
        https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
        CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319

        * fast/css/counters/counter-before-selector-crash-expected.txt: Added.
        * fast/css/counters/counter-before-selector-crash.html: Added.

2010-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Ariya Hidayat.

        Roll back r53889 again, because roll out didn't solve flakeyness on the Windows Test bots
        https://bugs.webkit.org/show_bug.cgi?id=34399

        * platform/win/Skipped:

2010-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Ariya Hidayat.

        Rolling out r53889, because it might caused flakeyness on the Windows Test bots
        https://bugs.webkit.org/show_bug.cgi?id=34399

        * platform/win/Skipped:

2010-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Adam Barth.

        http/tests/security/xss-DENIED-window-open-javascript-url.html timed out on Windows Debug Bot
        https://bugs.webkit.org/show_bug.cgi?id=33349

        * platform/win/Skipped: http/tests/security/xss-DENIED-window-open-javascript-url.html skipped.

2010-02-02  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix a bug that changes for some constraint attributes doesn't
        update validation CSS selectors.
        https://bugs.webkit.org/show_bug.cgi?id=31716

        Add tests for maxLength changes and step changes.

        * fast/forms/input-live-pseudo-selectors-expected.txt:
        * fast/forms/resources/input-live-pseudo-selectors.js:
        * fast/forms/resources/textarea-live-pseudo-selectors.js:
        * fast/forms/textarea-live-pseudo-selectors-expected.txt:

2010-02-02  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Adele Peterson.

        Bug 34198 -  Ruby text should not inherit line-height
        (https://bugs.webkit.org/show_bug.cgi?id=34198)
        
        Resetting line-height to 'normal' in the default UA style sheet.
        Adding layout-test to check for this.

        * fast/ruby/script-tests: Added.
        * fast/ruby/script-tests/ruby-line-height.js: Added.
        * fast/ruby/ruby-line-height-expected.txt: Added.
        * fast/ruby/ruby-line-height.html: Added.

2010-02-02  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
        month, time and week
        https://bugs.webkit.org/show_bug.cgi?id=34483

        Add tests for datetime, datetime-local, month, time and week, and
        merge existing tests into one test file.

        * fast/forms/ValidityState-rangeOverflow-date-expected.txt: Removed.
        * fast/forms/ValidityState-rangeOverflow-date.html: Removed.
        * fast/forms/ValidityState-rangeOverflow-expected.txt: Added.
        * fast/forms/ValidityState-rangeOverflow-number-expected.txt: Removed.
        * fast/forms/ValidityState-rangeOverflow-number.html: Removed.
        * fast/forms/ValidityState-rangeOverflow-range-expected.txt: Removed.
        * fast/forms/ValidityState-rangeOverflow-range.html: Removed.
        * fast/forms/ValidityState-rangeOverflow.html: Added.
        * fast/forms/ValidityState-rangeUnderflow-date-expected.txt: Removed.
        * fast/forms/ValidityState-rangeUnderflow-date.html: Removed.
        * fast/forms/ValidityState-rangeUnderflow-expected.txt: Added.
        * fast/forms/ValidityState-rangeUnderflow-number-expected.txt: Removed.
        * fast/forms/ValidityState-rangeUnderflow-number.html: Removed.
        * fast/forms/ValidityState-rangeUnderflow-range-expected.txt: Removed.
        * fast/forms/ValidityState-rangeUnderflow-range.html: Removed.
        * fast/forms/ValidityState-rangeUnderflow.html: Added.
        * fast/forms/script-tests/ValidityState-rangeOverflow-date.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeOverflow-number.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeOverflow-range.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeOverflow.js: Added.
        * fast/forms/script-tests/ValidityState-rangeUnderflow-date.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeUnderflow-number.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeUnderflow-range.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeUnderflow.js: Added.

2010-02-02  James Robinson  <jamesr@chromium.org>

        Reviewed by Dmitry Titov.

        Test that the combination of border-bottom:1px; and -webkit-gradient(linear) doesn't crash
        https://bugs.webkit.org/show_bug.cgi?id=34510

        * fast/gradients/crash-on-1px-border.html: Added.

2010-02-02  Fumitoshi Ukai  <ukai@chromium.org> 
        Reviewed by Alexey Proskuryakov.

        WebSocket wrapper can be collected even if events are pending
        https://bugs.webkit.org/show_bug.cgi?id=34014

        * websocket/tests/websocket-pending-activity-expected.txt: Added.
        * websocket/tests/websocket-pending-activity.html: Added.

2010-02-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Gustavo Noronha Silva.

        http/tests/incremental/split-hex-entities.pl timed out on Gtk Linux 32-bit Debug Bot
        https://bugs.webkit.org/show_bug.cgi?id=33445

        * platform/gtk/Skipped: Skip this test to keep the bots green until someone with Gtk knowledge can examine why it intermittently times out.

2010-02-02  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Move misplaced JS files to the proper location.

        https://bugs.webkit.org/show_bug.cgi?id=34256

        * fast/events/script-tests/basic-touch-events.js: Removed.
        * fast/events/script-tests/create-touch-event.js: Removed.
        * fast/events/script-tests/send-oncancel-event.js: Removed.
        * fast/events/touch/basic-touch-events.html:
        * fast/events/touch/create-touch-event.html:
        * fast/events/touch/script-tests: Added.
        * fast/events/touch/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/events/script-tests/TEMPLATE.html.
        * fast/events/touch/script-tests/basic-touch-events.js: Copied from LayoutTests/fast/events/script-tests/basic-touch-events.js.
        * fast/events/touch/script-tests/create-touch-event.js: Copied from LayoutTests/fast/events/script-tests/create-touch-event.js.
        * fast/events/touch/script-tests/send-oncancel-event.js: Copied from LayoutTests/fast/events/script-tests/send-oncancel-event.js.
        * fast/events/touch/send-oncancel-event.html:

2010-02-02  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34076
        <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute

        * fast/forms/misplaced-img-form-registration-expected.txt: Added.
        * fast/forms/misplaced-img-form-registration.html: Added.

2010-02-02  Adam Roben  <aroben@apple.com>

        Stop skipping some tests that were failing due to buggy versions of
        CFNetwork

        Rubber-stamped by Eric Carlson.

        * platform/win/Skipped:

2010-02-02  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/frames/set-unloaded-frame-location.html timed out on Qt Linux Release Build Bot
        https://bugs.webkit.org/show_bug.cgi?id=33303

        fast/frames/sandboxed-iframe-navigation-windowopen.html made fast/frames/set-unloaded-frame-location.html
        time out, but now it works correctly, so we can unskip the test.

        * platform/qt/Skipped: fast/frames/sandboxed-iframe-navigation-windowopen.html unskipped.

2010-02-01  Brian Weinstein  <bweinstein@apple.com>

        Check in new expected results for a test that has been failing on Windows
        since it was originally landed. This appears to be a font issue, but commenting
        on bug <https://bugs.webkit.org/show_bug.cgi?id=34234> to make sure.

        * platform/win/fast/text/international/hebrew-vowels-expected.txt: Added.

2010-02-01  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, revert r54194 that fails new test on Qt and Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * fast/frames/iframe-reparenting-new-page-expected.txt: Removed.
        * fast/frames/iframe-reparenting-new-page.html: Removed.
        * fast/frames/resources/iframe-reparenting-new-page-1.html: Removed.
        * fast/frames/resources/iframe-reparenting-new-page-2.html: Removed.
        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Removed.
        * fast/frames/script-tests/TEMPLATE.html: Removed.
        * fast/frames/script-tests/iframe-reparenting-new-page.js: Removed.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Provide a way to get page number with layoutTestController
        https://bugs.webkit.org/show_bug.cgi?id=33840

        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/page-break-always-expected.txt: Added.
        * printing/page-break-always.html: Added.
        * printing/pageNumerForElementById-expected.txt: Added.
        * printing/pageNumerForElementById.html: Added.
        * printing/script-tests/TEMPLATE.html: Added.
        * printing/script-tests/page-break-always.js: Added.
        (createParagraph):
        * printing/script-tests/pageNumerForElementById.js: Added.
        (createParagraph):

2010-02-01  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=27312

        Tests that the header "X-XSS-Protection: full-block" leads to a full page block
        when an XSS attack is detected.

        * http/tests/security/xssAuditor/full-block-base-href-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-base-href.html: Added.
        * http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-get-from-iframe.html: Added.
        * http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: Added.
        * http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: Added.
        * http/tests/security/xssAuditor/full-block-javascript-link-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-javascript-link.html: Added.
        * http/tests/security/xssAuditor/full-block-link-onclick-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-link-onclick.html: Added.
        * http/tests/security/xssAuditor/full-block-object-tag-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-object-tag.html: Added.
        * http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-post-from-iframe.html: Added.
        * http/tests/security/xssAuditor/full-block-script-tag-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: Added.
        * http/tests/security/xssAuditor/full-block-script-tag.html: Added.
        * http/tests/security/xssAuditor/malformed-xss-protection-header-expected.txt: Added.
        * http/tests/security/xssAuditor/malformed-xss-protection-header.html: Added.
        * http/tests/security/xssAuditor/resources/echo-head-base-href.pl: Modified to optionally
        enable full page blocking.
        * http/tests/security/xssAuditor/resources/echo-intertag-click-and-notify.pl: Ditto.
        * http/tests/security/xssAuditor/resources/echo-intertag.pl: Ditto.
        * http/tests/security/xssAuditor/resources/utilities.js:
        (checkIfFrameLocationMatchesURLAndCallDone): Added.
        (sendRequestFromIFrame): Modified to optionally call callback function when done.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dmitry Titov.

        Convert textarea-rows-cols.html to dumpAsText()
        https://bugs.webkit.org/show_bug.cgi?id=34074

        Remove checks for the size of scrollbar as scrollbar doesn't
        appear on Windows.

        * fast/forms/script-tests/textarea-rows-cols.js:
        * fast/forms/textarea-rows-cols-expected.txt:

2010-02-01  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Date.UTC() should apply TimeClip operation.
        https://bugs.webkit.org/show_bug.cgi?id=34461

        Add tests for corner cases of Date.UTC().

        * fast/js/date-utc-timeclip-expected.txt: Added.
        * fast/js/date-utc-timeclip.html: Added.
        * fast/js/script-tests/date-utc-timeclip.js: Added.

2010-02-01  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Add two more test cases which I forgot to add in r54197.
        https://bugs.webkit.org/show_bug.cgi?id=34462

        * fast/js/math-expected.txt:
        * fast/js/script-tests/math.js:

2010-02-01  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix a bug that Math.round() retunrs incorrect results for huge integers
        https://bugs.webkit.org/show_bug.cgi?id=34462

        * fast/js/math-expected.txt:
        * fast/js/script-tests/math.js: Add test cases for Math.round() for huge numbers.

2010-02-01  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        When a live iframe element is moved between pages, it still depends on the old page.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * fast/frames/iframe-reparenting-new-page-expected.txt: Added.
        * fast/frames/iframe-reparenting-new-page.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-1.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-2.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Added.

2010-02-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher.

        Add common IRC ports to port blocking.
        <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
        * platform/mac-tiger/security/block-test-expected.txt:
        * platform/mac/security/block-test-expected.txt:
        * security/block-test.html:

2010-02-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds

        * http/tests/security/isolatedWorld/resources/userGestureEvents-second-window.html: Added.
        * http/tests/security/isolatedWorld/userGestureEvents-expected.txt: Added.
        * http/tests/security/isolatedWorld/userGestureEvents.html: Added.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION: editing/selection/doubleclick-beside-cr-span.html times out on Windows
        https://bugs.webkit.org/show_bug.cgi?id=34069

        Make the sleep time shorter as this test timed out on Windows bot.

        * editing/selection/doubleclick-beside-cr-span.html:

2010-02-01  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] DRT Provide global flag ability
        https://bugs.webkit.org/show_bug.cgi?id=34418

        Add the globalFlag property to the Qt LayoutTestController to allow
        cross-domain indications.

        * platform/qt/Skipped:

2010-02-01  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Oliver Hunt.

        Check in (failing) expected results for fast/dom/Window/window-postmessage-clone-frames.
        This fails because of <rdar://problem/5230396> eventSender.beginDragWithFiles is unimplemented.

        * platform/win/fast/dom/Window/window-postmessage-clone-frames-expected.txt: Added.

2010-02-01  Eric Carlson  <eric.carlson@apple.com>

        No review, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=34447
        http/tests/media/video-referer.html fails on Windows

        * platform/win/Skipped:

2010-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed trivial fix.
        Platform dependent expected file updated after r54143.

        * platform/qt/fast/dom/Window/window-properties-expected.txt:

2010-02-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Adele Peterson.

        Crash in Safari opening new tabs to "same page"
        <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444

        * fast/loader/crash-copying-backforwardlist-expected.txt: Added.
        * fast/loader/crash-copying-backforwardlist.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-02-01  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Fullscreen API should be on HTMLVideoElement
        https://bugs.webkit.org/show_bug.cgi?id=34438

        Update fullscreen tests now that <audio> doesn't have fullscreen API.

        * fast/dom/Window/window-properties-expected.txt:
        * media/media-fullscreen-inline-expected.txt:
        * media/media-fullscreen-not-in-document-expected.txt:
        * media/media-fullscreen.js:
        (buttonClickHandler):
        (canplaythrough):

2010-02-01  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
        https://bugs.webkit.org/show_bug.cgi?id=34335

        Update layout tests that did not have source and line number information for their console messages, as this information is now available to the ScriptCallFrame and thus can be passed to the inspector, for example.

        * fast/js/console-non-string-values-expected.txt: Add console line number/source.
        * userscripts/script-not-run-for-fragments-expected.txt: ditto.
        * userscripts/script-run-at-start-expected.txt: ditto.
        * platform/gtk/inspector/console-log-before-inspector-open-expected.txt: Removed as platform workarounds no longer necessary.
        * platform/mac/inspector/console-log-before-inspector-open-expected.txt: ditto.
        * platform/win/inspector/console-log-before-inspector-open-expected.txt: ditto.
 

2010-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Platform dependent expected file added for test introduced in r53868,
        because this test passes. Compared to png file and Mac expected file.

        * platform/qt/fast/lists/anonymous-items-expected.txt: Added.

2010-02-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        JSC is failing to propagate anonymous slot count on some transitions
        https://bugs.webkit.org/show_bug.cgi?id=34321

        Add test case for modifying DOM objects with anonymous storage.

        * fast/dom/Window/anonymous-slot-with-changes-expected.txt: Added.
        * fast/dom/Window/anonymous-slot-with-changes.html: Added.

2010-01-31  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        [Win] Fix a bug of round() with huge integral numbers
        https://bugs.webkit.org/show_bug.cgi?id=34297

        Add a test case to call round(8639999913600001).

        * fast/forms/input-valueasnumber-datetime-expected.txt:
        * fast/forms/script-tests/input-valueasnumber-datetime.js:

2010-01-31  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix valueAsNumber calculation for type=month.
        https://bugs.webkit.org/show_bug.cgi?id=34304

        valueAsNumber calculation for type=month which was checked in as
        r53893 was the number of milliseconds since UNIX epoch, and it was
        wrong. The correct way is the number months since UNIX epoch.

        * fast/forms/input-valueasnumber-month-expected.txt:
        * fast/forms/script-tests/input-valueasnumber-month.js:

2010-01-28  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        Implement CSSOM Range.getClientRects for collapsed selections
        https://bugs.webkit.org/show_bug.cgi?id=34239

        Adds two cases to getClientRects test. 

        * fast/dom/Range/getClientRects-expected.txt:
        * fast/dom/Range/getClientRects.html:

2010-01-31  Oliver Hunt  <oliver@apple.com>

        Reviewed by Simon Fraser.

        Animated scaling of background-image is too slow
        https://bugs.webkit.org/show_bug.cgi?id=33808

        Update checksum.

        * platform/mac/fast/backgrounds/size/backgroundSize16-expected.checksum:

2010-01-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        Do color animations on premultiplied colors
        https://bugs.webkit.org/show_bug.cgi?id=34383
        
        Testcase for animating from transparent colors.

        * transitions/color-transition-premultiplied-expected.txt: Added.
        * transitions/color-transition-premultiplied.html: Added.

== Rolled over to ChangeLog-2010-01-29 ==
