2009-06-15  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Updating test for:
        <rdar://problem/6907228> Pasting a paragraph as quotation leaves you typing in blue instead of black; repros

        This test case covered inserting a newline after a blockquote, but outside of the blockquote.  I added some 
        text insertion to verify that the newline doesn't get any old styles copied from the blockquote.

        * editing/pasteboard/5368833.html:
        * platform/mac/editing/pasteboard/5368833-expected.checksum:
        * platform/mac/editing/pasteboard/5368833-expected.png:
        * platform/mac/editing/pasteboard/5368833-expected.txt:

2009-06-15  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser  <simon.fraser@apple.com>.

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

        Testcase to detect transitions that are still running after removal

        * transitions/cancel-transition-expected.txt: Added.
        * transitions/cancel-transition.html: Added.

2009-06-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Tim Hatcher.

        - updated results after changing source view to use the default
          monospace font family and size

        * platform/mac/fast/frames/viewsource-attribute-expected.checksum:
        * platform/mac/fast/frames/viewsource-attribute-expected.png:
        * platform/mac/fast/frames/viewsource-attribute-expected.txt:

2009-06-14  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 26364: Search can find text that's hidden by overflow:hidden
        https://bugs.webkit.org/show_bug.cgi?id=26364
        <rdar://problem/6952081>

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

        * fast/block/float/crash-replaced-display-block-expected.txt: Removed a space.
        * fast/dom/Range/acid3-surround-contents-expected.txt: Removed a blank line.
        * fast/dom/object-embed-plugin-scripting-expected.txt: Removed four spaces.
        * fast/parser/badentity-expected.txt: Removed a blank line.
        * http/tests/security/local-video-poster-from-remote-expected.txt: Removed a blank line.

2009-06-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler
        
        https://bugs.webkit.org/show_bug.cgi?id=26362
        
        Testcase for :nth-child updating when dynamically adding siblings.

        * fast/css/nth-child-dynamic.html: Added.
        * platform/mac/fast/css/nth-child-dynamic-expected.checksum: Added.
        * platform/mac/fast/css/nth-child-dynamic-expected.png: Added.
        * platform/mac/fast/css/nth-child-dynamic-expected.txt: Added.

2009-06-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Eric Seidel.

        Added tests for the new subRgion-code on SVG filters.

        * platform/mac/svg/filters: Added.
        * platform/mac/svg/filters/subRegion-one-effect-expected.checksum: Added.
        * platform/mac/svg/filters/subRegion-one-effect-expected.png: Added.
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt: Added.
        * platform/mac/svg/filters/subRegion-two-effects-expected.checksum: Added.
        * platform/mac/svg/filters/subRegion-two-effects-expected.png: Added.
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt: Added.
        * svg/filters: Added.
        * svg/filters/subRegion-one-effect.svg: Added.
        * svg/filters/subRegion-two-effects.svg: Added.

2009-06-12  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Gtk] Enable more http/tests/navigation tests

        * platform/gtk/Skipped:

2009-06-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=26095
        
        Testcase for creating accelerated compositing layers for anonymous content.
        
        * compositing/generated-content.html: Added.
        * platform/mac/compositing/generated-content-expected.txt: Added.

2009-06-12  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Jan Alonzo.

        Enable test that uses the now implemented dumpStatusCallbacks()
        call.

        * platform/gtk/Skipped:

2009-06-11  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=2628i
        Converted LayoutTests\editing\deleting\4875189.html from a pixel test to dumpAsText test
        since it only checks whether the result contains exactly two paragraphs or not.

        * editing/deleting/4875189-expected.txt: Added.
        * editing/deleting/4875189.html:
        * platform/mac/editing/deleting/4875189-expected.checksum: Removed.
        * platform/mac/editing/deleting/4875189-expected.png: Removed.
        * platform/mac/editing/deleting/4875189-expected.txt: Removed.
        * platform/qt/editing/deleting/4875189-expected.txt: Removed.

2009-06-11  Eric Seidel  <eric@webkit.org>

        Rubber stamped by Dave Levin.

        Add missing pixel results

        * platform/mac/editing/style/apply-through-end-of-document-expected.checksum: Added.
        * platform/mac/editing/style/apply-through-end-of-document-expected.png: Added.
        * platform/mac/fast/canvas/canvas-empty-image-pattern-expected.checksum: Copied from LayoutTests/platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.checksum.
        * platform/mac/fast/canvas/canvas-empty-image-pattern-expected.png: Copied from LayoutTests/platform/mac/dom/xhtml/level3/core/canonicalform08-expected.png.
        * platform/mac/fast/css/compare-content-style-expected.checksum: Added.
        * platform/mac/fast/css/compare-content-style-expected.png: Added.
        * platform/mac/fast/dynamic/anchor-lock-expected.checksum: Added.
        * platform/mac/fast/dynamic/anchor-lock-expected.png: Added.
        * platform/mac/fast/transforms/bounding-rect-zoom-expected.checksum: Added.
        * platform/mac/fast/transforms/bounding-rect-zoom-expected.png: Added.
        * platform/mac/webarchive/test-link-rel-icon-expected.checksum: Copied from LayoutTests/platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.checksum.
        * platform/mac/webarchive/test-link-rel-icon-expected.png: Copied from LayoutTests/platform/mac/dom/xhtml/level3/core/canonicalform08-expected.png.

2009-06-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY (build-fix).

        Lower stringify recursion limit to deal with small windows stack.

        * fast/js/resources/JSON-stringify.js:
        * fast/js/JSON-expected.txt:

2009-06-11  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=25512
        Handle texts after unfinished special tags (i.e., script, style, textarea,
        title, xmp, and iframe) as the text node under the tags in view-source mode.
        Before this change, all texts in unfinished special tags cannot be seen even in view-source mode.

        This was already done only for title. This change allows other special tags to be handled as well.

        The test case verifies if the texts in the unfinished special tags are visible in view-source mode. Also, fixed window-shadow-location-using-* tests so that they don't use unfinished iframe anymore.

        * fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString-expected.txt:
        * fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString.html:
        * fast/dom/Window/Location/window-shadow-location-using-string-expected.txt:
        * fast/dom/Window/Location/window-shadow-location-using-string.html:
        * fast/frames/resources/viewsource-frame-unfinished-script.html: Added.
        * fast/frames/resources/viewsource-frame-unfinished-textarea.html: Added.
        * fast/frames/viewsource-unfinished-tags-expected.txt: Added.
        * fast/frames/viewsource-unfinished-tags.html: Added.

2009-06-10  Brent Fulgham  <bfulgham@gmail.com>

        Unreviewed build fix.
        Reverted change to skip file, as Windows build is
        still failing.

        * platform/win/Skipped:

2009-06-05 Pierre d'Herbemont <pdherbemont@apple.com> 

        Reviewed by Eric Seidel.

        Re-enable the video-zoom-controls test on Windows.

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

        * platform/win/Skipped:
        * platform/win/media: Added.
        * platform/win/media/video-zoom-controls-expected.checksum: Added.
        * platform/win/media/video-zoom-controls-expected.png: Added.
        * platform/win/media/video-zoom-controls-expected.txt: Added.

2009-06-10  Gustavo Noronha Silva  <gns@gnome.org>

        Disabling new tests, and tests that use features of DRT we don't
        currently implement.

        * platform/gtk/Skipped:

2009-06-10  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build correction.

        Clean up some stupid test mistakes, add pixel-level Mac tests
        for the new zero-radius gradient test.

        * fast/gradients/crash-on-zero-radius-expected.txt: Removed.
        * fast/gradients/simple-gradients-expected.txt: Removed.
        * platform/mac/fast/gradients/crash-on-zero-radius-expected.checksum: Added.
        * platform/mac/fast/gradients/crash-on-zero-radius-expected.png: Added.
        * platform/mac/fast/gradients/crash-on-zero-radius-expected.txt: Copied from fast/gradients/crash-on-zero-radius-expected.txt.

2009-06-10  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build correction.
        Add two missing 'expected results' files.

        * fast/gradients/crash-on-zero-radius-expected.txt: Added.
        * fast/gradients/simple-gradients-expected.txt: Added.

2009-06-10  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.
        
        Tests that typing works after enabling a disabled, empty textarea.
        
        https://bugs.webkit.org/show_bug.cgi?id=26296

        * fast/forms/empty-textarea-toggle-disabled-expected.txt: Copied from BugsSite/data/mail.
        * fast/forms/empty-textarea-toggle-disabled.html: Added.

2009-06-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        - updated test to cover <rdar://problem/6958664> REGRESSION (r42665):
          When I drag to pan a Google map in iPhoto Places, it drags a map tile
          instead

        * fast/dom/HTMLScriptElement/nested-execution.html:
        * fast/dom/HTMLScriptElement/resources/nested-execution.js:

2009-06-10  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Justin Garcia.

        Bug 26214: RenderTextControl: Remove ASSERT for checking that visiblePositionForIndex()'s return is not null.
        https://bugs.webkit.org/show_bug.cgi?id=26214

        visiblePositionForIndex can return an instance that returns true for
        isNotNull(). One of common case is when the corresponding input element has
        "-webkit-user-select: none" style attribute. We should allow the case instead
        of putting ASSERT.

        * fast/forms/input-select-webkit-user-select-none-expected.txt: Added.
        * fast/forms/input-select-webkit-user-select-none.html: Added.

2009-06-10  Dean McNamee  <deanm@chromium.org>

        Reviewed by Eric Seidel.

        Make sure filling a canvas pattern with an empty image doesn't crash.
        https://bugs.webkit.org/show_bug.cgi?id=26061

        * fast/canvas/canvas-empty-image-pattern-expected.txt: Added.
        * fast/canvas/canvas-empty-image-pattern.html: Added.

2009-06-10  Dean McNamee  <deanm@chromium.org>

        Reviewed by Eric Seidel.

        Add a test case for a radial gradient with a zero radius.
        https://bugs.webkit.org/show_bug.cgi?id=26059

        * fast/gradients/crash-on-zero-radius.html: Added.
        * fast/gradients/simple-gradients.html: Fix an extraneous } in the css.

2009-06-09  Brent Fulgham  <bfulgham@webkit.org>

        No review, build fix only.
        Correct DOS line-endings in expected file.
        https://bugs.webkit.org/show_bug.cgi?id=26187.

        * fast/canvas/canvas-lineWidth-expected.txt:

2009-06-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam Weinig.

        Bug 26249: Support JSON.stringify
        <https://bugs.webkit.org/show_bug.cgi?id=26249>
        
        Add test coverage for JSON.stringify -- covers use of replacer function,
        replacer array, no replacer, numeric and string gaps.  Also tests call
        sequencing (toJSON, toString, replacer functions, and getters).

        * fast/js/JSON-stringify-expected.txt: Added.
        * fast/js/JSON-stringify.html: Added.
        * fast/js/resources/JSON-stringify.js: Added.
        * fast/js/resources/json2-es5-compat.js: Added.
           Modified version of json2.js to force strict es5 semantics on stringify
           to allow us to compare our results to the expected without having to 
           stuff large arbitrary strings into the testcase

2009-06-09  Brent Fulgham  <bfulgham@webkit.org>

        No review, build fix only.
        Added missing expected results from
        https://bugs.webkit.org/show_bug.cgi?id=26187.

        * fast/canvas/canvas-lineWidth-expected.txt: Added.

2009-06-09  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Eric Seidel.

        Test case on internal -webkit-media overload.

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

        * media/controls-css-overload-expected.txt: Added.
        * media/controls-css-overload.html: Added.

2009-06-09  Ryosuke Niwa  <rniwa@google.com>

        Reviewed by Eric Seidel.

        Changing editing/deleting/4866671.html to use a dumpAsText test instead of a pixel test
        so as to remove the platform dependency.

        * editing/deleting/4866671.html:

2009-06-09  Dean McNamee  <deanm@chromium.org>

        Reviewed by Oliver Hunt.

        Make sure the graphics backends are in sync with the canvas lineWidth state.
        https://bugs.webkit.org/show_bug.cgi?id=26187

        * fast/canvas/canvas-lineWidth.html: Added.
        * fast/canvas/canvas-lineWidth.js: Added.
        (compareRows):

2009-06-09  Michael Nordman  <michaeln@google.com>

        Reviewed by Eric Seidel.

        Proactively cancel pending requests at DocLoader dtor time,
        otherwise crashes can occur. 

        https://bugs.webkit.org/show_bug.cgi?id=26230
        http://code.google.com/p/chromium/issues/detail?id=12161

        * fast/frames/javascript-url-as-framesrc-crash-expected.txt: Added.
        * fast/frames/javascript-url-as-framesrc-crash.html: Added.

2009-06-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Fix ASSERT seen in shadow tree testing
        https://bugs.webkit.org/show_bug.cgi?id=25092

        * svg/custom/use-mutation-event-crash.svg: Added.

2009-06-09  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Bug 26196: Fix the problem that worker's importScripts fails if the
        script URL is redirected from different origin.
        https://bugs.webkit.org/show_bug.cgi?id=26196

        Add a test case in the importScripts layout test to cover the scenario
        that the import script URL can come from different redirect origin.

        * http/tests/workers/resources/worker-importScripts.js:
        * http/tests/workers/worker-importScripts-expected.txt:

2009-06-09  Anand K. Mistry  <amistry@google.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26037
        Test the globalAlpha property of canvas contexts.

        * fast/canvas/drawImage-with-globalAlpha.html: Added.
        * platform/mac/fast/canvas/drawImage-with-globalAlpha-expected.checksum: Added.
        * platform/mac/fast/canvas/drawImage-with-globalAlpha-expected.png: Added.
        * platform/mac/fast/canvas/drawImage-with-globalAlpha-expected.txt: Added.

2009-06-09  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Ariya Hidayat.

        Adjusted Qt fixed layout testcase to LayoutController API change.

        * platform/qt/view/fixed-layout-size.html:

2009-06-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Antti Koivisto

        <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes.

        Note this "Loader::Host deleted while still in use" could come up in a variety of ways but this layout
        test only covers the single most reproducible way we know that *could* be tested by DRT.

        * http/tests/loading/deleted-host-in-resource-load-delegate-callback-expected.txt: Added.
        * http/tests/loading/deleted-host-in-resource-load-delegate-callback.html: Added.
        * http/tests/loading/resources/snow-shoes-vs-pie-copy.png: Added.
        * http/tests/loading/resources/snow-shoes-vs-pie.png: Added.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2009-06-06  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Remove XHTML MP and WCSS tests from the skipped lists as run-webkit-tests
        now treats them like our other optional features and will skip them automatically
        when the feature is not compiled in.

        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2009-06-06  Mark Rowe  <mrowe@apple.com>

        Unskip two more tests that now pass.

        * platform/mac-snowleopard/Skipped:

2009-06-06  Mark Rowe  <mrowe@apple.com>

        Unskip some tests now that they pass.

        * platform/mac-snowleopard/Skipped:

2009-06-06  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/6778101> Four SSL-related test failures

        * platform/mac-snowleopard/Skipped: Unskip the tests.

2009-06-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Test for <rdar://problem/6930540>
        REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle

        * fast/css/font-family-builtins-expected.txt: Added.
        * fast/css/font-family-builtins.html: Added.

2009-06-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Update tests for <rdar://problem/6936235>
        Need to support StorageEvent.storageArea to meet the Web Storage spec

        Test StorageEvent.uri, StorageEvent.source and StorageEvent.storageArea.

        * storage/domstorage/localstorage/iframe-events-expected.txt:
        * storage/domstorage/localstorage/iframe-events.html:
        * storage/domstorage/localstorage/resources/iframe-events-second.html:
        * storage/domstorage/sessionstorage/iframe-events-expected.txt:
        * storage/domstorage/sessionstorage/iframe-events.html:
        * storage/domstorage/sessionstorage/resources/iframe-events-second.html:

2009-06-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Anders Carlsson.

        Force initialization of the WML variable state, right after the dynamically created WML elements have been added to the tree.
        Note that "regular WML" doesn't support JavaScript at all, in a normal WML document WMLDocument::finishedParsing() takes care of that.

        * wml/resources/WMLTestCase.js:
        (startTest):

2009-06-01  Ben Murdoch  <benm@google.com>

        <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress.

        Reviewed by Alexey Proskuryakov.

        Fix a bug that causes database transactions to fail if a history
        navigation to a hash fragment of the same document is made while
        resources (e.g. an XHR) are loading.

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

        * storage/hash-change-with-xhr-expected.txt: Added.
        * storage/hash-change-with-xhr.html: Added.

2009-06-03  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Kilzer.
        
        https://bugs.webkit.org/show_bug.cgi?id=13128
        Safari not obeying cache header
        
        Test subresource caching and expiration.

        * http/tests/cache: Added.
        * http/tests/cache/resources: Added.
        * http/tests/cache/resources/cache-simulator.cgi: Added.
        * http/tests/cache/resources/subresource-test.js: Added.
        (frame1.onload):
        (frame2.onload):
        (loadTestFrame.scr.onload):
        (nextTest):
        (testComplete):
        (runTests):
        * http/tests/cache/resources/test-frame.html: Added.
        * http/tests/cache/subresource-expiration-expected.txt: Added.
        * http/tests/cache/subresource-expiration.html: Added.

2009-06-04  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Bug in property caching of getters and setters.

        * fast/js/property-getters-and-setters-expected.txt:
        * fast/js/resources/property-getters-and-setters.js:

2009-02-03  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin Garcia.

        Test to make sure execCommand("bold") on <b style="text-decoration: underline">test</b>
        only removes the bold and not the underline.
        https://bugs.webkit.org/show_bug.cgi?id=23496

        * editing/execCommand/convert-style-elements-to-spans-expected.txt: Added.
        * editing/execCommand/convert-style-elements-to-spans.html: Added.
        * editing/execCommand/resources/convert-style-elements-to-spans.js: Added.
        (testSingleToggle):
        (testDoubleToggle):

2009-06-04  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        Fix the Window focus test to not resign first responder, since that actually made the test
        incorrect.  An unfocused WebHTMLView's DOM window should not receive focus/blur events when the activation
        changes.

        Now the test just checks that a first responder WebHTMLView will actually fire focus/blur on the DOM window
        as the window gains/loses key.

        * fast/dom/Window/window-onFocus.html:

2009-06-05  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26192
        Fix the expected results for editing/execCommand/list-wrapping-image-crash.html

        * editing/execCommand/list-wrapping-image-crash-expected.txt:
        * editing/execCommand/list-wrapping-image-crash.html:

2009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Darin Adler.

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

        * media/before-load-member-access-expected.txt: Added.
        * media/before-load-member-access.html: Test access for property accessed before
        loading occurs. That tests for 26081 crasher specifically.

2009-06-04  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Rubber-stamped by Tor Arne Vestbø.

        Added Qt-specific expected result for Canvas pointInPath's test.

        Qt's QPainterPath::contains(point) returns false if the point is
        exactly along one of the edges (except the origin). Until we
        find a workaround for this, compensate it in the expected result.

        * platform/qt/fast/canvas/pointInPath-expected.txt: Added.

2009-06-03  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Mark Rowe.

        Fix appcache/fallback.html test broken by network simulator changes made for a preloading test.

        * http/tests/resources/network-simulator.php: Tell PHP that a variable is global.

2009-06-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Insert*List on an stand-alone image in a content editable region ASSERTS
        ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)
        https://bugs.webkit.org/show_bug.cgi?id=19066

        * editing/execCommand/list-wrapping-image-crash-expected.txt: Added.
        * editing/execCommand/list-wrapping-image-crash.html: Added.

2009-06-02  Alexey Proskuryakov  <ap@webkit.org>

        Land correct results for a test I just added (forgot to regenerate them after adding new
        test cases).

        * fast/xpath/py-dom-xpath/expressions-expected.txt:

2009-06-02  Chris Marrin  <ap@webkit.org>

        Rubber-stamped by Maciej Stachowiak.

        Moved CSSMatrix tests into root of LayoutTests/transforms so both the
        2D and 3D versions are always valid.

        * transforms/2d/cssmatrix-interface.xhtml: Removed.
        * transforms/3d/cssmatrix-3d-interface.xhtml: Removed.
        * transforms/cssmatrix-2d-interface.xhtml: Added.
        * transforms/cssmatrix-3d-interface.xhtml: Added.

2009-06-02  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric Seidel.

        Bug 17167: Failures in fast/dom/Node/initial-values.html

        Added some more tests to show that the compatibility issue is only
        partly solved.

        Also updated the new passing result and removed the associated comment
        inside the initial-values.js.

        * fast/dom/Node/initial-values-expected.txt:
        * fast/dom/Node/resources/initial-values.js:

2009-06-02  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=26133
        Adapt and import py-dom-xpath tests

        * fast/xpath/xpath-test-pre.js: (test): Added a new helper function.

        * fast/xpath/py-dom-xpath: Added.
        * fast/xpath/py-dom-xpath/abbreviations-expected.txt: Added.
        * fast/xpath/py-dom-xpath/abbreviations.html: Added.
        * fast/xpath/py-dom-xpath/axes-expected.txt: Added.
        * fast/xpath/py-dom-xpath/axes.html: Added.
        * fast/xpath/py-dom-xpath/data-expected.txt: Added.
        * fast/xpath/py-dom-xpath/data.html: Added.
        * fast/xpath/py-dom-xpath/expressions-expected.txt: Added.
        * fast/xpath/py-dom-xpath/expressions.html: Added.
        * fast/xpath/py-dom-xpath/nodetests-expected.txt: Added.
        * fast/xpath/py-dom-xpath/nodetests.html: Added.
        * fast/xpath/py-dom-xpath/paths-expected.txt: Added.
        * fast/xpath/py-dom-xpath/paths.html: Added.
        * fast/xpath/py-dom-xpath/predicates-expected.txt: Added.
        * fast/xpath/py-dom-xpath/predicates.html: Added.
        All these tests pass now (sometimes, with adaptations, see comments inside).

        * fast/xpath/py-dom-xpath/functions-expected.txt: Added.
        * fast/xpath/py-dom-xpath/functions.html: Added.
        id() function fails because of bug 12971.

2009-06-01  Sam Weinig  <sam@webkit.org>

        Reviewed by Brady Eidson.

        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
        Add missing event handler properties to the DOMWindow

        Added oncontextmenu, oninput, and onmessage event handlers to
        the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
        and onsuspend event handlers were implemented but not added to
        DOMWindow.idl.

        * fast/dom/Window/window-properties-expected.txt:

2009-06-02  Johnny Ding  <johnnyding.webkit@gmail.com>

        Reviewed by Alexey Proskuryakov.  Landed by Adam Barth.

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

        Add a test case for multiple requests for same sub-resource due to preload.

        * http/tests/loading/preload-img-test-expected.txt: Added.
        * http/tests/loading/preload-img-test.html: Added.
        * http/tests/loading/resources/preload-test.jpg: Added.
        * http/tests/resources/network-simulator.php:

2009-06-01  Drew Wilson  <atwilson@google.com>

        Reviewed by Darin Adler.  Landed by Adam Barth.

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

        Added WorkerContext.close()

        * fast/workers/worker-close-expected.txt: Added.
        * fast/workers/worker-close.html: Added.
        * fast/workers/resources/worker-close.js: Added.
        * http/tests/xmlhttprequest/workers/close.html: Added.

2009-06-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=12471
        XPathResult not invalidated for documents retrieved via XMLHttpRequest

        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ANY_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_ORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_invalidIteratorState_UNORDERED_NODE_ITERATOR_TYPE-expected.txt:
        * dom/svg/level3/xpath/XPathResult_iterateNext_INVALID_STATE_ERR-expected.txt:
        These tests now pass.

        * fast/xpath/detached-subtree-invalidate-iterator-expected.txt: Added.
        * fast/xpath/detached-subtree-invalidate-iterator.html: Added.

2009-06-01  Brett Wilson  <brettw@chromium.org>

        Reviewed by Darin Adler.  Landed by Adam Barth.

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

        Test: fast/transforms/bounding-rect-zoom.html

        Make getClientRects and getBoundingClientRect account for ther zoom
        factor.

        * fast/transforms/bounding-rect-zoom.html: Added.
        * platform/mac/fast/transforms/bounding-rect-zoom-expected.txt: Added.

2009-06-01  Nate Chapin  <japhet@google.com>

        Reviewed by Dimitri Glazkov.  Landed by Adam Barth.

        Ensure an anchor remains locked in view as images (without height already specified) load around it.
        
        https://bugs.webkit.org/show_bug.cgi?id=26034

        * fast/dynamic/anchor-lock.html: Added.
        * fast/dynamic/resources/largeblank.png: Added.

2009-05-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=13233
        Need to implement an optimizing XPath evaluator

        * fast/xpath/attribute-node-predicate-expected.txt: Added.
        * fast/xpath/attribute-node-predicate.html: Added.
        Test that predicates on attribute nodes are applied correctly (which I had wrong for a while
        when working on this patch).

        * fast/xpath/position-expected.txt:
        * fast/xpath/position.html:
        Added an example from XPath spec.

2009-05-31  Dan Bernstein  <mitz@apple.com>

        - add Windows results for fast/forms/isindex-placeholder.html

        * platform/win/fast/forms/isindex-placeholder-expected.checksum: Added.
        * platform/win/fast/forms/isindex-placeholder-expected.png: Added.
        * platform/win/fast/forms/isindex-placeholder-expected.txt: Added.

2009-05-31  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
        Add missing event handler properties to the DOMWindow

        Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied,
        onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying,
        onratechange, onseeked, onseeking, ontimeupdate, onvolumechange,
        onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag,
        ondragend, ondragenter, ondragleave, ondragover, ondragstart and 
        ondrop event handlers to the DOMWindow.

        * fast/dom/Window/window-properties-expected.txt:

2009-05-31  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Part of https://bugs.webkit.org/show_bug.cgi?id=26100
        Add missing event handler properties to the DOMWindow

        Add missing onstorage event handler to the DOMWindow.

        * fast/dom/Window/window-properties-expected.txt:
        * storage/domstorage/window-attributes-exist-expected.txt:
        * storage/domstorage/window-attributes-exist.html:

2009-05-31  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Mark Rowe.

        Remove duplicate file. The version of window-properties-expected.txt in the
        platform/mac-leopard was identical to the one in the normal spot.

        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt: Removed.

2009-05-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26110
        Update online/offline events to match the current spec.
        - Also adds window.ononline and window.onoffline event handler
          properties.

        * fast/dom/Window/window-properties-expected.txt:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-05-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=26091
        Make storage events match the current spec.
        - Storage event listeners are added to the window.
        - Storage events are dispatched to the window.

        * storage/domstorage/localstorage/iframe-events.html:
        * storage/domstorage/localstorage/index-get-and-set.html:
        * storage/domstorage/localstorage/resources/iframe-events-second.html:
        * storage/domstorage/localstorage/simple-events.html:
        * storage/domstorage/sessionstorage/iframe-events.html:
        * storage/domstorage/sessionstorage/index-get-and-set.html:
        * storage/domstorage/sessionstorage/resources/iframe-events-second.html:
        * storage/domstorage/sessionstorage/simple-events.html:

2009-05-30  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element

        * fast/forms/focus-control-to-page-expected.txt: Updated.
        * fast/forms/focus-control-to-page.html: Added test of <select>, <textarea>,
        and <input type="password">, and made sure we can tab both in and out of each type.

2009-05-30  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Sam Weinig.

        LocalStorage and SessionStorage's implicit setters do not correctly
        handle null.  The custom JS bindings should convert to strings
        unconditionally and not try to handle null specially.
        https://bugs.webkit.org/show_bug.cgi?id=25970

        * storage/domstorage/localstorage/string-conversion-expected.txt: Added.
        * storage/domstorage/localstorage/string-conversion.html: Added.
        * storage/domstorage/sessionstorage/string-conversion-expected.txt: Added.
        * storage/domstorage/sessionstorage/string-conversion.html: Added.

2009-05-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll
          bars in key window draw as inactive if the WebView is not active

        * platform/mac/scrollbars/key-window-not-first-responder-expected.checksum: Added.
        * platform/mac/scrollbars/key-window-not-first-responder-expected.png: Added.
        * platform/mac/scrollbars/key-window-not-first-responder-expected.txt: Added.
        * platform/mac/scrollbars/key-window-not-first-responder.html: Added.

2009-05-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - test for https://bugs.webkit.org/show_bug.cgi?id=18445
          <rdar://problem/5931174> Assertion failure in CSSGradientValue::image
          with -webkit-gradient as body's background

        * fast/backgrounds/body-generated-image-propagated-to-root.html: Added.
        * platform/mac/fast/backgrounds/body-generated-image-propagated-to-root-expected.checksum: Added.
        * platform/mac/fast/backgrounds/body-generated-image-propagated-to-root-expected.png: Added.
        * platform/mac/fast/backgrounds/body-generated-image-propagated-to-root-expected.txt: Added.

2009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Add simple WML testcase: select.wml, that demonstates rendering of <select> elements.
        More testcases will follow, as soon as WML specific features are available.

        * fast/wml/select.wml: Added.
        * platform/mac/fast/wml/select-expected.checksum: Added.
        * platform/mac/fast/wml/select-expected.png: Added.
        * platform/mac/fast/wml/select-expected.txt: Added.

2009-05-29  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Darin Alder.

        Bug 25911: Apply href in base elements to anchors shown on the source viewer
        https://bugs.webkit.org/show_bug.cgi?id=25911

        In rendering HTML sources, parse base elements to apply the base URI to
        anchors shown on the source viewer.

        Add tests to verify this change.

        This issue was originally reported to the Chromium issue tracker.
        http://code.google.com/p/chromium/issues/detail?id=2418

        * fast/frames/resources/viewsource-frame-3.html: Added.
        * fast/frames/resources/viewsource-frame-4.html: Added.
        * fast/frames/viewsource-link-on-href-value-expected.txt: Added.
        * fast/frames/viewsource-link-on-href-value.html: Added.

2009-05-29  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by David Hyatt.

        Testcase for:
        https://bugs.webkit.org/show_bug.cgi?id=22429
        document.styleSheets collection ignores media=presentation

        * fast/css/sheet-collection-link.html: Added.
        * fast/css/sheet-collection-link-expected.txt: Added.

2009-05-29  Jian Li  <jianli@chromium.org>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=26069
        Test for the above bug.

        * fast/xmlhttprequest/resources/xmlhttprequest-open-after-iframe-onload-remove-self-child.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html: Added.

2009-05-29  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY (Test fix).

        Fix error in test case i accidentally introduced.

        * fast/js/string-replace-exception-crash.html:

2009-05-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.
        
        https://bugs.webkit.org/show_bug.cgi?id=8736

        * fast/borders/border-radius-constraints.html: Added.
        * platform/mac/fast/borders/border-radius-constraints-expected.checksum: Added.
        * platform/mac/fast/borders/border-radius-constraints-expected.png: Added.
        * platform/mac/fast/borders/border-radius-constraints-expected.txt: Added.
        
        Test that corner radii are constrained according to CSS3 rules.

        * fast/borders/border-radius-huge-assert.html:
        * platform/mac/fast/borders/border-radius-huge-assert-expected.checksum:
        * platform/mac/fast/borders/border-radius-huge-assert-expected.png:
        * platform/mac/fast/borders/border-radius-huge-assert-expected.txt:
        
        Now that we constrain border-radius, update the text of the test, and the
        expected result.
        
        * fast/borders/border-radius-split-inline.html: Added.
        * platform/mac/fast/borders/border-radius-split-inline-expected.checksum: Added.
        * platform/mac/fast/borders/border-radius-split-inline-expected.png: Added.
        * platform/mac/fast/borders/border-radius-split-inline-expected.txt: Added.
        
        New test for border-radius on a split inline.
        
        * fast/box-shadow/border-radius-big.html:
        * platform/mac/fast/box-shadow/border-radius-big-expected.checksum:
        * platform/mac/fast/box-shadow/border-radius-big-expected.png:
        * platform/mac/fast/box-shadow/border-radius-big-expected.txt:

        Now that we constrain border-radius, update the text of the test, and the
        expected result.

2009-05-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=26005
        Optimization for XPath //* does not preserve context size

        * fast/xpath/position-expected.txt: Added.
        * fast/xpath/position.html: Added.
        Test for this bug, and for other potential issues with position().

        * fast/xpath/4XPath/Core/test.js: Updated to work with Firefox 3 (getElementsByTagName handles
        node names with namespace prefixes differently there).
        * fast/xpath/4XPath/Core/test_location_path.html: Fixed the test to request ordered snapshots
        when there is more than one node in expected result, as the checks verify node order.

2009-05-28  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Test whether lexical or dynamic scope is used for window.open().

        * http/tests/security/frameNavigation/context-for-window-open-expected.txt: Added.
        * http/tests/security/frameNavigation/context-for-window-open.html: Added.
        * http/tests/security/frameNavigation/resources/middle-frame-for-location.html:

2009-05-27  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - test for <rdar://problem/6927761> <isindex> placeholder text is
          unstylable and initially not visible

        * fast/forms/isindex-placeholder.html: Added.
        * platform/mac/fast/forms/isindex-placeholder-expected.checksum: Added.
        * platform/mac/fast/forms/isindex-placeholder-expected.png: Added.
        * platform/mac/fast/forms/isindex-placeholder-expected.txt: Added.

2009-05-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Mark Rowe.

        <rdar://problem/6928025> Stack overflow in JSC::stringProtoFuncReplace() running jsFunFuzz

        Add an additional exception check for stack overflow in String.replace

        * fast/js/string-replace-exception-crash.html:

2009-05-27  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=17725
        XPath should be case insensitive for HTML

        * fast/xpath/node-name-case-sensitivity-expected.txt: Added.
        * fast/xpath/node-name-case-sensitivity.html: Added.

2009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disabling new tests to make the bot green.

        * platform/gtk/Skipped:

2009-05-26  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        <rdar://problem/6924033> REGRESSION: Assertion failure due to forward references

        Add a few more test cases for invalid back references.

        * fast/js/regexp-backreferences-expected.txt: Added.
        * fast/js/regexp-backreferences.html: Added.
        * fast/js/resources/regexp-backreferences.js: Added.

2009-05-26  Adam Barth  <abarth@webkit.org>

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

        Unreviewed change to disable flaky test as requested by Sam Weinig.

        * http/tests/security/postMessage/origin-follows-lexical-scope-expected.txt: Removed.
        * http/tests/security/postMessage/origin-follows-lexical-scope.html: Removed.

2009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=23649
        Add layout test for various cases of SQLTransactionErrorCallback
        invocation.

        * storage/transaction-error-callback-expected.txt: Added.
        * storage/transaction-error-callback.html: Added.

2009-05-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler.

        Fix for bug 25969, scrollbars remain after document shrinks.  Add a couple of layout tests
        written by Dan that show various problems with scrollbars following resizes.

        * fast/dynamic/window-resize-scrollbars-test.html: Added.
        * fast/dynamic/window-scrollbars-test.html: Added.
        * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.checksum: Added.
        * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.png: Added.
        * platform/mac/fast/dynamic/window-resize-scrollbars-test-expected.txt: Added.
        * platform/mac/fast/dynamic/window-scrollbars-test-expected.checksum: Added.
        * platform/mac/fast/dynamic/window-scrollbars-test-expected.png: Added.
        * platform/mac/fast/dynamic/window-scrollbars-test-expected.txt: Added.

2009-05-25  Adam Barth  <abarth@webkit.og>

        Reviewed by Sam Weinig.

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

        Test our use of dynamicGlobalObject and lexicalGlobalObject for
        window.location.

        * http/tests/security/frameNavigation/context-for-location-assign-expected.txt: Added.
        * http/tests/security/frameNavigation/context-for-location-assign.html: Added.
        * http/tests/security/frameNavigation/context-for-location-expected.txt: Added.
        * http/tests/security/frameNavigation/context-for-location-href-expected.txt: Added.
        * http/tests/security/frameNavigation/context-for-location-href.html: Added.
        * http/tests/security/frameNavigation/context-for-location.html: Added.
        * http/tests/security/frameNavigation/resources/middle-frame-for-location.html: Added.
        * http/tests/security/frameNavigation/resources/target-for-location.html: Added.

2009-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Try to make test less flaky.

        * http/tests/security/postMessage/origin-follows-lexical-scope-expected.txt:
        * http/tests/security/postMessage/origin-follows-lexical-scope.html:
        * http/tests/security/postMessage/resources/middle-frame-for-lexical.html:
        * http/tests/security/postMessage/resources/post-message-listener-with-ready.html: Added.

2009-05-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

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

        Test that the origin for postMessage follows the lexical scope.

        * http/tests/security/postMessage/origin-follows-lexical-scope-expected.txt: Added.
        * http/tests/security/postMessage/origin-follows-lexical-scope.html: Added.
        * http/tests/security/postMessage/resources/middle-frame-for-lexical.html: Added.

2009-05-23  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Gustavo Noronha and Xan Lopez.

        [Gtk] Enable database and localStorage support
        https://bugs.webkit.org/show_bug.cgi?id=25629

        Enable storage/ tests for Gtk.

        * platform/gtk/Skipped:

2009-05-23  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Add tests to cover exceptions thrown from non-object results of get_by_id

        * fast/js/exception-for-nonobject-expected.txt: Added.
        * fast/js/exception-for-nonobject.html: Added.
        * fast/js/resources/exception-for-nonobject.js: Added.

2009-05-23  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Unreviewed. Skip new tests introduced in r44010. These tests
        require an eventSender implementation which the gtk port
        currently do not have.

        Also remove gtk-specific result for
        fast/canvas/canvas-composite-alpha. The non-platform specific
        result now works.

        * platform/gtk/Skipped:
        * platform/gtk/fast/canvas/canvas-composite-alpha-expected.txt: Removed.

2009-05-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6916082> Incorrect handling of % as CSS value.

        * fast/css/percent-character-as-value-expected.txt: Added.
        * fast/css/percent-character-as-value.html: Added.

2009-05-22  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - Made the global-function-resolve test independent of hashing order
          by using a fixed set of properties. This also removes the need for us
          to update this test every time we add something to the window object or
          the js-test-pre.js family of scripts.

        * fast/js/global-function-resolve-expected.txt: Updated.
        * fast/js/resources/global-function-resolve.js: Use a fixed array instead
        of using all property names from the global object; also made other small
        changes that don't have an effect on the substance of the test.

2009-05-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - remove a test that was supposed to test the text/* change to MIME
          types from r43979, since the change was rolled out, and the test seems
          to be ineffective anyway, since it was passing on Mac after rolling
          out the change.

        * http/tests/mime/accept-all-text-types-expected.txt: Removed.
        * http/tests/mime/accept-all-text-types.html: Removed.

2009-05-22  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>

        Reviewed by Simon Hausmann.

        Skip tests depending on platform dependent results.

        * platform/qt/Skipped:

2009-05-22  Shinichiro Hamaji  <hamaji@google.com>

        Reviewed by Oliver Hunt.

        Remove optimization path alpha=0 case from GraphicContext(CG|Skia).
        This optimization doesn't make sense for some composite mode (e.g., 'copy' operation).

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

        * fast/canvas/canvas-composite-alpha-expected.txt:
        * fast/canvas/canvas-composite-alpha.html:
        * platform/gtk/fast/canvas/canvas-composite-alpha-expected.txt: Removed.

2009-05-21  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Add tests to ensure that we correctly cache (or do not cache) lookups
        of global properties.

        * fast/js/global-function-resolve.html: Added.
        * fast/js/resources/global-function-resolve.js: Added.

2009-05-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Tests for <rdar://problem/6910832> | https://bugs.webkit.org/show_bug.cgi?id=25907
        Incorrect URL returned to the DOM while the user drags a file

        * http/tests/local/drag-over-remote-content-expected.txt: Added.
        * http/tests/local/drag-over-remote-content.html: Added.
        * http/tests/security/drag-over-remote-content-iframe-expected.txt: Added.
        * http/tests/security/drag-over-remote-content-iframe.html: Added.

2009-05-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Fixing test to actually use the correct names for the frames.

        * http/tests/mime/accept-all-text-types.html:

2009-05-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disable 2 more tests that sometimes fail.

        * platform/gtk/Skipped:

2009-05-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Adding file I forgot to add to last commit.

        * http/tests/mime/resources/accept-all-text-types.cgi: Added.

2009-05-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Darin Adler.

        Test that WebKit accepts any text/* type.

        * http/tests/mime/accept-all-text-types-expected.txt: Added.
        * http/tests/mime/accept-all-text-types.html: Added.

2009-05-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Disable failing HTTP tests now that we are enabling HTTP on the
        bot.

        * platform/gtk/Skipped:

2009-05-21  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19517
        <rdar://problem/6007112> DOM modification of textArea causes Access Violation (NULL pointer?)

        This no longer happens with ToT, just adding a test.

        * fast/parser/head-parsing-19517-expected.txt: Added.
        * fast/parser/head-parsing-19517.html: Added.

2009-05-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - test for <rdar://problem/6901751> REGRESSION (r35515): Tiger crash
          painting the selection on registration page of car2go.com

        * fast/block/float/selection-gap-clip-out-tiger-crash-expected.txt: Added.
        * fast/block/float/selection-gap-clip-out-tiger-crash.html: Added.

2009-05-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Fix file-input-files-access which was passing for the wrong reasons.

        The log was pushing the drop target off screen and the drops were failing!

        * editing/pasteboard/file-input-files-access-expected.txt:
        * editing/pasteboard/resources/file-input-files-access.js:
        (testOrderedDraggingWithDirectory):
        (runTest):

2009-05-20  Gustavo Noronha Silva  <gns@gnome.org>

        Skipping a new test.

        * platform/gtk/Skipped:

2009-05-20  Gustavo Noronha Silva  <gns@gnome.org>

        Skipping test that fails intermitently.

        * platform/gtk/Skipped:

2009-05-20  Gustavo Noronha Silva  <gns@gnome.org>

        Rubber-stamped by Mark Rowe.

        Add GTK+-specific results for canvas-composite-alpha. This test
        has 'failing' cases that pass on GTK+/cairo.

        * platform/gtk/fast/canvas/canvas-composite-alpha-expected.txt: Added.

2009-05-20  David Kilzer  <ddkilzer@apple.com>

        Test for <rdar://problem/5666078> Cookie parsing terminates at the first semicolon, ignoring quotes (16699)

        <https://bugs.webkit.org/show_bug.cgi?id=16699>

        Reviewed by Brady Eidson.

        * http/tests/cookies/double-quoted-value-with-semi-colon-expected.txt: Added.
        * http/tests/cookies/double-quoted-value-with-semi-colon.html: Added.
        * http/tests/cookies/resources/double-quoted-value-with-semi-colon.js: Added.
        * platform/mac-tiger/Skipped: Added
        double-quoted-value-with-semi-colon.html since CFNetwork on
        Tiger stops parsing cookie values when it sees a semi-colon,
        even inside double quotes.

2009-05-20  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Fix <rdar://problem/6904941> and https://bugs.webkit.org/show_bug.cgi?id=25300

        * fast/loader/javascript-url-hierarchical-execution-expected.txt: Added.
        * fast/loader/javascript-url-hierarchical-execution.html: Added.

2009-05-20  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Anders Carlsson.

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

        Add a test case that Netscape Plugin can properly
        determine if a given object has a specific method
        and property.

        The test will ask the plugin to call hasproperty and
        hasmethod and will compare the result with what is
        expected. This approach is taken from
        netscape-get-property-return-value.html

        * plugins/netscape-invoke-browserfuncs-expected.txt: Added.
        * plugins/netscape-invoke-browserfuncs.html: Added.

2009-05-20  Eric Seidel  <eric@webkit.org>

        Fix bug URL in ChangeLogs in r43903.
        https://bugs.webkit.org/show_bug.cgi?id=25742

2009-05-20  Eric Seidel  <eric@webkit.org>

        No review, build fix only.

        Add files I missed in r43903.
        https://bugs.webkit.org/show_bug.cgi?id=25742

        Takeshi's patch was right, I just failed to add the files when landing.

        * platform/mac/fast/forms/search-styled-expected.checksum: Added.
        * platform/mac/fast/forms/search-styled-expected.png: Added.

2009-05-20  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Eric Seidel.

        Bug 24539: Fix RenderThemeChromiumWin::paintTextFieldInternal() not to hide background image.
        https://bugs.webkit.org/show_bug.cgi?id=25742

        Changed the test fast/forms/select-style.html to exercise the change on
        RenderThemeChromiumWin::paintTextFieldInternal() on Chromium. Replaced expected results for
        platform mac. Expected cases for the other platforms are to be replaced later.

        * fast/forms/select-style.html:
        * platform/mac/fast/forms/select-style-expected.checksum:
        * platform/mac/fast/forms/select-style-expected.txt:

2009-05-20  Shinichiro Hamaji  <hamaji@google.com>

        Reviewed by Eric Seidel.

        Layout tests for canvas' composite operations with alpha blending.

        * fast/canvas/canvas-composite-alpha-expected.txt: Added.
        * fast/canvas/canvas-composite-alpha.html: Added.

2009-05-20  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Remove dragging subtest from 43890 which used ? char

        ? is a reserved char on Windows. After removing both the ü and now the ? this 
        subtest is now useless, so I'm removing it entirely.

        * editing/pasteboard/file-input-files-access-expected.txt:
        * editing/pasteboard/resources/File With Spaces! For Dragging?.gif: Removed.
        * editing/pasteboard/resources/file-input-files-access.js:
        (runTest):

2009-05-20  Eric Seidel  <eric@webkit.org>

        Build fix only, no review.

        Fix windows and tiger builds after r43890

        Commit r43890 caused:
        svn: Can't convert string from 'UTF-8' to native encoding:
        svn: LayoutTests/editing/pasteboard/resources/File With Spaces! For Dra?\204?\136gging?.gif
        On both the windows and tiger buildbots.  According to:
        http://svnbook.red-bean.com/en/1.2/svn.advanced.l10n.html
        this is intentional behavior, and due to the fact that the default
        LC_CTYPE for Tiger and Windows makes Subversion think the filesystems
        do not support utf8.

        The fix would be to execute:
        export LC_CTYPE=en_US.UTF-8
        On all affected machines.  But since that's not going to happen,
        I'm removing the utf8 chars from this filename.

        This makes the drag-drop test weaker, but I see no other option.

        * editing/pasteboard/resources/File With Spaces! For Dragging?.gif: Renamed from "LayoutTests/editing/pasteboard/resources/File With Spaces! For Dra\314\210gging?.gif".
        * editing/pasteboard/resources/file-input-files-access.js:
        (moveMouseToCenterOfElement): use the unused argument
        (runTest): fix to use the ansii name

2009-05-20  Darin Adler  <darin@apple.com>

        Removed stray file left after some check-ins earlier today.

        * fast/tokenizer/preload-scanner-entities.html-disabled: Removed.

2009-05-18  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        Remove layoutTestController.addFileToPasteboardOnDrag and add eventSender.beginDragWithFiles
        https://bugs.webkit.org/show_bug.cgi?id=25852

        Add new tests for multi-file dragging:
        https://bugs.webkit.org/show_bug.cgi?id=25862

        I've removed the old tests in fast/forms which used layoutTestController.addFileToPasteboardOnDrag
        and have added a new test in editing/pasteboard/ (where all the other drag-drop tests are)
        which tests more than the previous two tests did.

        Mac was the only platform running the old layoutTestController.addFileToPasteboardOnDrag tests
        I've updated all the Skipped files to skip this new test instead.

        * editing/pasteboard/file-input-files-access-expected.txt: Added.
        * editing/pasteboard/file-input-files-access.html: Added.
        * editing/pasteboard/resources/File With Spaces! For Dragging?.gif: Copied from LayoutTests/fast/canvas/resources/apple.gif.
        * editing/pasteboard/resources/apple.gif: Copied from LayoutTests/fast/canvas/resources/apple.gif.
        * editing/pasteboard/resources/file-input-files-access.js: Added.
        (moveMouseToCenterOfElement):
        (dragFilesOntoInput):
        (fileListShouldBe):
        (filesShouldBe):
        (draggingPathsShouldResultInFiles):
        (runTest):
        * editing/pasteboard/resources/mozilla.gif: Copied from LayoutTests/fast/dom/resources/mozilla.gif.
        * fast/forms/dragging-to-disabled-file-input-expected.txt: Removed.
        * fast/forms/dragging-to-disabled-file-input.html: Removed.
        * fast/forms/dragging-to-file-input-expected.txt: Removed.
        * fast/forms/dragging-to-file-input.html: Removed.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2009-05-19  Yichao Yin  <yichao.yin@torchmobile.com.cn>

        Reviewed by George Staikos.

        Add tests for WCSS marquee extension support
        https://bugs.webkit.org/show_bug.cgi?id=23727

        * fast/wcss: Added.
        * fast/wcss/marquee-dir.xhtml: Added.
        * fast/wcss/marquee-loop.xhtml: Added.
        * fast/wcss/marquee-speed.xhtml: Added.
        * fast/wcss/marquee-style.xhtml: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2009-05-19  Antti Koivisto  <antti@apple.com>

        I can't figure out how to make this not timing dependent, making it manual test instead.

        * fast/tokenizer/preload-scanner-entities-expected.txt: Removed.
        * fast/tokenizer/preload-scanner-entities.html: Removed.

2009-05-19  Darin Adler  <darin@apple.com>

        Renamed test failing on many buildbots to disable it.
        Antti can move it back once he gets it working more consistently.

        * fast/tokenizer/preload-scanner-entities.html: Removed.
        * fast/tokenizer/preload-scanner-entities.html-disabled: Copied from fast/tokenizer/preload-scanner-entities.html.

2009-05-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 25872: aria-labeledby appends all siblings instead of all children to aria name
        https://bugs.webkit.org/show_bug.cgi?id=25872

        * accessibility/aria-labelledby-stay-within.html: Added.
        * platform/mac/accessibility/aria-describedby-on-input-expected.txt:
        * platform/mac/accessibility/aria-labelledby-on-input-expected.txt:
        * platform/mac/accessibility/aria-labelledby-stay-within-expected.txt: Added.

2009-05-19  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/6902674> REGRESSION: Query parameters are sometimes incorrect in URL (23135)

        * fast/tokenizer/preload-scanner-entities-expected.txt: Added.
        * fast/tokenizer/preload-scanner-entities.html: Added.

2009-05-19  Yichao Yin  <yichao.yin@torchmobile.com.cn>

        Reviewed by George Staikos.
        
        Add the XHTML MP tests but put them in skipped since they are not active
        by default on any platforms.
        https://bugs.webkit.org/show_bug.cgi?id=23452

        * fast/xhtmlmp: Added.
        * fast/xhtmlmp/check-doctype-declaration.xhtml: Added.
        * fast/xhtmlmp/check-rootelement.xhtml: Added.
        * fast/xhtmlmp/noscript-in-multiscripts.xhtml: Added.
        * fast/xhtmlmp/noscript-nested.xhtml: Added.
        * fast/xhtmlmp/noscript.xhtml: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/win/Skipped:

2009-05-18  David Kilzer  <ddkilzer@apple.com>

        Added cookie test to Skipped list for Windows

        See Bug 25861. <https://bugs.webkit.org/show_bug.cgi?id=25861>

        * platform/win/Skipped: Added
        http/tests/cookies/simple-cookies-expired.html.

2009-05-18  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed and tweaked by David Kilzer.

        Bug 24569: Add some cookies tests
        <https://bugs.webkit.org/show_bug.cgi?id=24569>

        This modification adds a cookie framework to check setting cookies.
        It is a simple modification over the js test framework. It uses some XHRs and custom server-side script
        to set / get / clear cookies.

        It also adds some very basic tests to check that everything works.

        * http/tests/cookies: Added.
        * http/tests/cookies/multiple-cookies-expected.txt: Added.
        * http/tests/cookies/multiple-cookies.html: Added.
        * http/tests/cookies/resources: Added.
        * http/tests/cookies/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
        * http/tests/cookies/resources/clearCookies.cgi: Added.
        * http/tests/cookies/resources/cookies-test-post.js: Copied from LayoutTests/fast/js/resources/js-test-post.js.
        * http/tests/cookies/resources/cookies-test-pre.js: Copied from LayoutTests/fast/js/resources/js-test-pre.js.
        (setCookies): Internal method to set a cookie (multiple cookies are not supported).
        (testCookies): Internal method to check if the cookie were set.

        (clearAllCookies): Used to clear all pre-existing cookies for this domain.
        (clearCookies): Used to clear the cookies set with cookiesShouldBe.
        (cookiesShouldBe): Used to set a cookie and check the "Cookie" header sent. It is inspired from shouldBe from the js test framework.

        * http/tests/cookies/resources/cookies-test-style.css: Copied from LayoutTests/fast/js/resources/js-test-style.css.
        * http/tests/cookies/resources/getCookies.cgi: Added.
        * http/tests/cookies/resources/multiple-cookies.js: Added.
        * http/tests/cookies/resources/setCookies.cgi: Added.
        * http/tests/cookies/resources/simple-cookies-expired.js: Added.
        * http/tests/cookies/resources/simple-cookies-max-age.js: Added.
        * http/tests/cookies/simple-cookies-expired-expected.txt: Added.
        * http/tests/cookies/simple-cookies-expired.html: Added.
        * http/tests/cookies/simple-cookies-max-age-expected.txt: Added.
        * http/tests/cookies/simple-cookies-max-age.html: Added.
        * platform/mac-tiger/Skipped: Added
        http/tests/cookies/simple-cookies-max-age.html since CFNetwork
        on Tiger doesn't support expiring cookies with Max-Age=0.

2009-05-18  David Kilzer  <ddkilzer@apple.com>

        Bug 20652: WebKit doesn't display favicons with MIME type image/vnd.microsoft.icon

        <https://bugs.webkit.org/show_bug.cgi?id=20652>

        Reviewed by Darin Adler.

        Updated existing favicon-as-image.html test to display a third
        image having MIME type image/vnd.microsoft.icon.

        * http/tests/misc/favicon-as-image.html: Updated.
        * http/tests/misc/resources/.htaccess: Added.
        * http/tests/misc/resources/favicon-vnd-ms.ico: Copied from LayoutTests/fast/images/resources/favicon.ico.
        * platform/mac/http/tests/misc/favicon-as-image-expected.checksum: Updated.
        * platform/mac/http/tests/misc/favicon-as-image-expected.png: Updated.
        * platform/mac/http/tests/misc/favicon-as-image-expected.txt: Updated.

2009-05-18  Julie Parent  <jparent@google.com>

        Reviewed by Eric Seidel.

        Skip new tests from r43822 on Gtk
        https://bugs.webkit.org/show_bug.cgi?id=25780

        * platform/gtk/Skipped:

2009-05-18  Julie Parent  <jparent@google.com>

        Reviewed by Oliver Hunt.

        Add missing files from r43821
        https://bugs.webkit.org/show_bug.cgi?id=25780

        * editing/pasteboard/get-data-text-plain-drop-expected.txt: Added.
        * editing/pasteboard/get-data-text-plain-drop.html: Added.
        * editing/pasteboard/get-data-text-plain-paste-expected.txt: Added.
        * editing/pasteboard/get-data-text-plain-paste.html: Added.
        * editing/pasteboard/resources/TEMPLATE.html: Copied from LayoutTests/editing/execCommand/resources/TEMPLATE.html.
        * editing/pasteboard/resources/get-data-text-plain-paste.js: Added.
        (handlePaste):

2009-05-18  Julie Parent  <jparent@google.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=25780
        Adds layout tests for getData (text/plain) during paste and drop events.

        * editing/pasteboard/get-data-text-plain-drop-expected.txt: Added.
        * editing/pasteboard/get-data-text-plain-drop.html: Added. Tests that getData
        is available on paste.
        * editing/pasteboard/get-data-text-plain-paste-expected.txt: Added.
        * editing/pasteboard/get-data-text-plain-paste.html: Added. Tests that getData
        is available on drop.
        * editing/pasteboard/resources/TEMPLATE.html: Added.
        * editing/pasteboard/resources/get-data-text-plain-paste.js: Added.
        (handlePaste):
        * fast/events/drag-in-frames-expected.txt: Changed to incLude new dragover
         event dispatch.
        * platform/win/Skipped: Skip newly added drop test since it won't work on windows,
        like other drop tests.

2009-05-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by David Kilzer.

        - move fast/repaint/repaint.js into the resources subdirectory

        * fast/repaint/repaint.js: Removed.
        * fast/repaint/resources/repaint.js: Copied from fast/repaint/repaint.js.
        * (89 tests changed to load the script from the new location)

2009-05-17  Darin Adler  <darin@apple.com>

        * platform/gtk/Skipped: Disable another media test that seems to be failing at least
        intermittently.

2009-05-17  Kai Brüning  <kai@granus.net>

        Reviewed by Darin Adler.
        
        Test case for bug 25822: DOM normalize does not remove empty text node between element nodes
        https://bugs.webkit.org/show_bug.cgi?id=25822
        
        The test case strives to test the whole functionality of Node's normalize().

        * fast/dom/Node/normalize-expected.txt: Added.
        * fast/dom/Node/normalize.html: Added.

2009-05-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        - test for <rdar://problem/6873305> Two distinct characters are not
          displayed correctly with 2 of the font selections from the stickies
          widget

        * platform/mac/editing/pasteboard/text-precomposed-expected.txt: Added.
        * platform/mac/editing/pasteboard/text-precomposed.html: Added.

2009-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Jan Michael Alonzo.

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

        Enable more passing plugin tests.

        * platform/gtk/Skipped:

2009-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Jan Michael Alonzo.

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

        Enable plugins/npruntime.html

        * platform/gtk/Skipped:

2009-05-15  Darin Adler  <darin@apple.com>

        Fix some failures from recent changes.

        * platform/gtk/Skipped: Added recently-added test to the "no expected results" section.

        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Updated.
        * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Ditto.
        * svg/css/getComputedStyle-basic-expected.txt: Ditto.

2009-05-15  Darin Adler  <darin@apple.com>

        * svg/css/getComputedStyle-basic-expected.txt: Updated for change to getComputedStyle.

2009-05-15  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6883872> REGRESSION (r43243): computed style for font-family is returning
        only the generic font, if any generic font is in the family list

        * fast/css/getComputedStyle/computed-style-font-family-expected.txt: Added.
        * fast/css/getComputedStyle/computed-style-font-family.html: Added.

        * fast/css/getComputedStyle/computed-style.html: Updated array of properties to dump
        that are not visible when iterating the computed style object. Removed pointless
        unused array of unimplemented properties.
        * fast/css/getComputedStyle/computed-style-without-renderer.html: Ditto.

        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Updated.
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Ditto.

2009-05-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Oliver Hunt.

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

        Test that insertBeforeItem behaves properly for out of bounds indices.

        * svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
        * svg/dom/svglist-exception-on-out-bounds-error.html:
        * svg/dom/svglist-insertItemBefore-appends-expected.txt: Added.
        * svg/dom/svglist-insertItemBefore-appends.html: Added.

2009-05-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=25829
        
        Fix -webkit-background-clip:text when the renderer had a non (0,0) x, y offset.

        * fast/backgrounds/background-clip-text.html: Added.
        * platform/mac/fast/backgrounds/background-clip-text-expected.checksum: Added.
        * platform/mac/fast/backgrounds/background-clip-text-expected.png: Added.
        * platform/mac/fast/backgrounds/background-clip-text-expected.txt: Added.

2009-05-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - test for <rdar://problem/6888244> REGRESSION: Using the Up or Down
          keyboard arrows, I can't navigate caret between To Do items in a Note
          message

        * editing/selection/move-by-line-004-expected.txt: Added.
        * editing/selection/move-by-line-004.html: Added.

2009-05-15  Gustavo Noronha Silva  <gns@gnome.org>

        Disable new tests.

        * platform/gtk/Skipped:

2009-05-15  Eric Seidel  <eric@webkit.org>

        Mark Rowe says skipping tests doesn't need review. :)

        Add new tests from r43759 to windows and tiger skipped lists until bug 25816 can be resolved.
        https://bugs.webkit.org/show_bug.cgi?id=25816

        Original bug: http://bugs.webkit.org/show_bug.cgi?id=25464

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

2009-05-15  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [GTK] Implement layoutTestController.waitForPolicyDelegate
        https://bugs.webkit.org/show_bug.cgi?id=25036

        Enable fast/forms/mailto tests.

        * platform/gtk/Skipped:

2009-05-15  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Dimitri Glazkov

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

        Improve the font fallback for characters belonging to 'common' scripts
        in ChromiumWin port. Make characters like Danda, Double Danda (punctuation
        marks in North Indian scripts) and currency signs (e.g. Thai Baht)
        rendered correctly in Chromium on Win. 

        - danda-space.html has two setences in Gurumukhi script
        (supported on Mac and Windows) ended with Danda. The first Danda 
        is followed by a space, which was misrendered in Chromium on Windows.

        - thai-baht-space.html has Thai Baht signs before and after a space,
          which was misrendered by Chromium on Windows.

        * fast/text/international/danda-space.html: Added.
        * fast/text/international/thai-baht-space.html: Added.
        * platform/mac/fast/text/international/danda-space-expected.txt: Added.
        * platform/mac/fast/text/international/thai-baht-space-expected.txt: Added.

2009-05-14  Eric Seidel  <eric@webkit.org>

        No review, rollout only.

        Roll out r43753 as it caused a test to fail
        Turns out more than one test was using the modified JS file.

        * editing/pasteboard/paste-blockquote-before-blockquote-expected.txt:
        * editing/pasteboard/paste-blockquote-before-blockquote.html:
        * editing/pasteboard/resources/TEMPLATE.html: Removed.
        * editing/pasteboard/resources/paste-blockquote-before-blockquote.js:
        (copyAndPasteNode):

2009-05-14  Julie Parent  <jparent@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=25716
        Convert a test located in the resources directory into being a regular js test,
        so we can add add more tests there and run make-js-test-wrappers without clobbering this one.

        * editing/pasteboard/paste-blockquote-before-blockquote-expected.txt:
        * editing/pasteboard/paste-blockquote-before-blockquote.html:
        * editing/pasteboard/resources/TEMPLATE.html: Added.
        * editing/pasteboard/resources/paste-blockquote-before-blockquote.js:
        (createLine):
        (copyAndPasteNode):

2009-05-14  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

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

        Add support for aspect-ratio and orientation
        media queries.

        * fast/media/mq-aspect-ratio.html: Added.
        * fast/media/mq-orientation.html: Added.
        * platform/mac/fast/media/mq-aspect-ratio-expected.checksum: Added.
        * platform/mac/fast/media/mq-aspect-ratio-expected.png: Added.
        * platform/mac/fast/media/mq-aspect-ratio-expected.txt: Added.
        * platform/mac/fast/media/mq-orientation-expected.checksum: Added.
        * platform/mac/fast/media/mq-orientation-expected.png: Added.
        * platform/mac/fast/media/mq-orientation-expected.txt: Added.

2009-05-14  Kevin McCullough  <kmccullough@apple.com>

        - Resubmitting previous patch, correctly this time.

        * editing/execCommand/outdent-blockquote-test1.html: Copied from editing/execCommand/outdent-blockquote-test1.html.
        * editing/execCommand/outdent-blockquote-test2.html: Copied from editing/execCommand/outdent-blockquote-test2.html.
        * editing/execCommand/outdent-blockquote-test3.html: Copied from editing/execCommand/outdent-blockquote-test3.html.
        * editing/execCommand/outdent-blockquote-test4.html: Copied from editing/execCommand/outdent-blockquote-test4.html.
        * platform/mac/editing/execCommand/outdent-blockquote-test1-expected.txt: Copied from platform/mac/editing/execCommand/outdent-blockquote-test1-expected.txt.
        * platform/mac/editing/execCommand/outdent-blockquote-test2-expected.txt: Copied from platform/mac/editing/execCommand/outdent-blockquote-test2-expected.txt.
        * platform/mac/editing/execCommand/outdent-blockquote-test3-expected.txt: Copied from platform/mac/editing/execCommand/outdent-blockquote-test3-expected.txt.
        * platform/mac/editing/execCommand/outdent-blockquote-test4-expected.txt: Copied from platform/mac/editing/execCommand/outdent-blockquote-test4-expected.txt.
        * platform/mac/editing/execCommand/outdent-blockquote-test5-expected.txt: Copied from platform/mac/editing/execCommand/outdent-blockquote-test5-expected.txt.

2009-05-14  Kevin McCullough  <kmccullough@apple.com>

        - Rolled out for bug and build fix.

        * editing/execCommand/outdent-blockquote-test1.html: Removed.
        * editing/execCommand/outdent-blockquote-test2.html: Removed.
        * editing/execCommand/outdent-blockquote-test3.html: Removed.
        * editing/execCommand/outdent-blockquote-test4.html: Removed.
        * platform/mac/editing/execCommand/outdent-blockquote-test1-expected.txt: Removed.
        * platform/mac/editing/execCommand/outdent-blockquote-test2-expected.txt: Removed.
        * platform/mac/editing/execCommand/outdent-blockquote-test3-expected.txt: Removed.
        * platform/mac/editing/execCommand/outdent-blockquote-test4-expected.txt: Removed.
        * platform/mac/editing/execCommand/outdent-blockquote-test5-expected.txt: Removed.

2009-05-14  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6510362> In some situations message content is messed up
        when indentation is decreased

        - These tests are the various combinations of <blockquote>s that
        revealed bugs in our old logic.

        * editing/execCommand/outdent-blockquote-test1.html: Added.
        * editing/execCommand/outdent-blockquote-test2.html: Added.
        * editing/execCommand/outdent-blockquote-test3.html: Added.
        * editing/execCommand/outdent-blockquote-test4.html: Added.
        * platform/mac/editing/execCommand/outdent-blockquote-test1-expected.txt: Added.
        * platform/mac/editing/execCommand/outdent-blockquote-test2-expected.txt: Added.
        * platform/mac/editing/execCommand/outdent-blockquote-test3-expected.txt: Added.
        * platform/mac/editing/execCommand/outdent-blockquote-test4-expected.txt: Added.
        * platform/mac/editing/execCommand/outdent-blockquote-test5-expected.txt: Added.

2009-05-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=25777
        
        Testcase for canvas as image background with zooming.

        * fast/canvas/canvas-bg-zoom.html: Added.
        * platform/mac/fast/canvas/canvas-bg-zoom-expected.txt: Added.

2009-05-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25796
        <rdar://problem/6886654> Shouldn't set referer and origin in Loader::Host::servePendingRequests().

        * http/tests/security/credentials-in-referer-expected.txt: Added.
        * http/tests/security/credentials-in-referer.html: Added.
        * http/tests/security/resources/credentials-in-referer-frame.php: Added.
        * http/tests/security/resources/credentials-in-referer.php: Added.

2009-05-14  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disabling tests that are failing intermittently.

        * platform/gtk/Skipped:

2009-05-14  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 25797: Pages with image maps are not properly read with Voiceover
        https://bugs.webkit.org/show_bug.cgi?id=25797
 
        Updating layout tests.

        * platform/mac/accessibility/document-links-expected.txt:
        * platform/mac/accessibility/image-map1-expected.txt:
        * platform/mac/accessibility/image-map2-expected.txt:

2009-05-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6887762> and https://bugs.webkit.org/show_bug.cgi?id=25790 

        * platform/win/Skipped: Renable these tests.

2009-05-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25791
        Bug 25791: HTMLMediaElement: implement 'startTime' attribute

        Add test for 'startTime' attribute.

        * media/media-startTime-expected.txt: Added.
        * media/media-startTime.html: Added.

2009-05-14  Tony Chang  <tony@chromium.org>

        Reviewed by Dimitri Glazkov.

        Move iframe content to a file because Chromium has
        AllowLocalLoadsForLocalOnly enabled.  This prevents the parent
        frame from modifying the iframe content if it is a data: URL.

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

        * fast/frames/content-opacity-2.html:
        * fast/frames/resources/empty-body.html: Added.

2009-05-14  Adam Roben  <aroben@apple.com>

        Add a failing text control metrics test to the Windows Skipped file

        See Bug 25794: fast/replaced/table-percent-height-text-controls fails
        on Windows
        <https://bugs.webkit.org/show_bug.cgi?id=25794>

        * platform/win/Skipped: Added
        fast/replaced/table-percent-height-text-controls.html.

2009-05-14  Adam Roben  <aroben@apple.com>

        Add a timing-out test to the Windows Skipped file

        See Bug 25792: fast/encoding/percent-escaping.html times out on
        Windows
        <https://bugs.webkit.org/show_bug.cgi?id=25792>

        * platform/win/Skipped: Added fast/encoding/percent-escaping.html.

2009-05-14  Adam Roben  <aroben@apple.com>

        Add new Hebrew-using tests to the Windows Skipped file

        See Bug 23925: Tests that use Hebrew text fail on Windows because
        Lucida Grande is not used for Hebrew
        <https://bugs.webkit.org/show_bug.cgi?id=23925>

        * platform/win/Skipped: Added tests added in r43664.

2009-05-14  Adam Roben  <aroben@apple.com>

        Skip XHR tests that crash in Windows Debug builds

        See:

        Bug 25790: REGRESSION (r43518): Multiple XHR tests asserting in
        createCFURLResponseWithDefaultMIMEType on Windows
        <https://bugs.webkit.org/show_bug.cgi?id=25790>

        Bug 25344: Some http tests crash in Debug Windows builds due to an
        assertion in CFNetwork when releasing a CFURLConnection
        <https://bugs.webkit.org/show_bug.cgi?id=25344>

        * platform/win/Skipped: Added crashing XHR tests.

2009-05-14  Adam Roben  <aroben@apple.com>

        Remove old render tree dumps for http tests that are now text-only

        Beth made the tests text-only in r43677 but forgot to remove these
        Windows-specific render tree dumps.

        Rubber-stamped by Dave Hyatt.

        * platform/win/http/tests/navigation/anchor-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/anchor-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/anchor-subframeload-expected.txt: Removed.
        * platform/win/http/tests/navigation/javascriptlink-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/javascriptlink-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/javascriptlink-subframeload-expected.txt: Removed.
        * platform/win/http/tests/navigation/metaredirect-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/metaredirect-frames-expected.txt: Removed.
        * platform/win/http/tests/navigation/metaredirect-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/metaredirect-subframeload-expected.txt: Removed.
        * platform/win/http/tests/navigation/post-goback2-expected.txt: Removed.
        * platform/win/http/tests/navigation/postredirect-goback2-expected.txt: Removed.
        * platform/win/http/tests/navigation/redirect302-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/redirect302-frames-expected.txt: Removed.
        * platform/win/http/tests/navigation/redirect302-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/redirect302-subframeload-expected.txt: Removed.
        * platform/win/http/tests/navigation/relativeanchor-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/relativeanchor-frames-expected.txt: Removed.
        * platform/win/http/tests/navigation/relativeanchor-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/slowmetaredirect-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/slowtimerredirect-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-frames-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-frames-loadsame-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-loadsame-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-reload-expected.txt: Removed.
        * platform/win/http/tests/navigation/success200-subframeload-expected.txt: Removed.
        * platform/win/http/tests/navigation/timerredirect-basic-expected.txt: Removed.
        * platform/win/http/tests/navigation/timerredirect-frames-expected.txt: Removed.
        * platform/win/http/tests/navigation/timerredirect-goback-expected.txt: Removed.
        * platform/win/http/tests/navigation/timerredirect-subframeload-expected.txt: Removed.

2009-05-14  Darin Adler  <darin@apple.com>

        * platform/gtk/Skipped: Added new tests to the skipped list.

2009-05-13  Simon Fraser  <simon.fraser@apple.com>

        No review.
        
        Fix pixel result after test was changed in r43664.

        * platform/mac/fast/css/text-overflow-ellipsis-expected.checksum:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.png:

2009-05-13  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Oliver Hunt.

        Change a bunch of http tests to dumpAsText(). They are currently 
        failing on the Windown Build Bot because of textarea metrics 
        changes, and we have decided that these tests are most valuable as 
        text test anyway.

        * http/tests/navigation/anchor-basic-expected.txt: Added.
        * http/tests/navigation/anchor-basic.html:
        * http/tests/navigation/anchor-goback-expected.txt: Added.
        * http/tests/navigation/anchor-goback.html:
        * http/tests/navigation/anchor-subframeload-expected.txt: Added.
        * http/tests/navigation/anchor-subframeload.html:
        * http/tests/navigation/javascriptlink-basic-expected.txt: Added.
        * http/tests/navigation/javascriptlink-basic.html:
        * http/tests/navigation/javascriptlink-goback-expected.txt: Added.
        * http/tests/navigation/javascriptlink-goback.html:
        * http/tests/navigation/javascriptlink-subframeload-expected.txt: Added.
        * http/tests/navigation/javascriptlink-subframeload.html:
        * http/tests/navigation/metaredirect-basic-expected.txt: Added.
        * http/tests/navigation/metaredirect-basic.html:
        * http/tests/navigation/metaredirect-frames-expected.txt: Added.
        * http/tests/navigation/metaredirect-frames.html:
        * http/tests/navigation/metaredirect-goback-expected.txt: Added.
        * http/tests/navigation/metaredirect-goback.html:
        * http/tests/navigation/metaredirect-subframeload-expected.txt: Added.
        * http/tests/navigation/metaredirect-subframeload.html:
        * http/tests/navigation/post-goback2-expected.txt: Added.
        * http/tests/navigation/post-goback2.html:
        * http/tests/navigation/postredirect-goback2-expected.txt: Added.
        * http/tests/navigation/postredirect-goback2.html:
        * http/tests/navigation/redirect302-basic-expected.txt: Added.
        * http/tests/navigation/redirect302-basic.html:
        * http/tests/navigation/redirect302-frames-expected.txt: Added.
        * http/tests/navigation/redirect302-frames.html:
        * http/tests/navigation/redirect302-goback-expected.txt: Added.
        * http/tests/navigation/redirect302-goback.html:
        * http/tests/navigation/redirect302-subframeload-expected.txt: Added.
        * http/tests/navigation/redirect302-subframeload.html:
        * http/tests/navigation/relativeanchor-basic-expected.txt: Added.
        * http/tests/navigation/relativeanchor-basic.html:
        * http/tests/navigation/relativeanchor-frames-expected.txt: Added.
        * http/tests/navigation/relativeanchor-frames.html:
        * http/tests/navigation/relativeanchor-goback-expected.txt: Added.
        * http/tests/navigation/relativeanchor-goback.html:
        * http/tests/navigation/slowmetaredirect-basic-expected.txt: Added.
        * http/tests/navigation/slowmetaredirect-basic.html:
        * http/tests/navigation/slowtimerredirect-basic-expected.txt: Added.
        * http/tests/navigation/slowtimerredirect-basic.html:
        * http/tests/navigation/success200-basic-expected.txt: Added.
        * http/tests/navigation/success200-basic.html:
        * http/tests/navigation/success200-frames-expected.txt: Added.
        * http/tests/navigation/success200-frames-loadsame-expected.txt: Added.
        * http/tests/navigation/success200-frames-loadsame.html:
        * http/tests/navigation/success200-frames.html:
        * http/tests/navigation/success200-goback-expected.txt: Added.
        * http/tests/navigation/success200-goback.html:
        * http/tests/navigation/success200-loadsame-expected.txt: Added.
        * http/tests/navigation/success200-loadsame.html:
        * http/tests/navigation/success200-reload-expected.txt: Added.
        * http/tests/navigation/success200-reload.html:
        * http/tests/navigation/success200-subframeload-expected.txt: Added.
        * http/tests/navigation/success200-subframeload.html:
        * http/tests/navigation/timerredirect-basic-expected.txt: Added.
        * http/tests/navigation/timerredirect-basic.html:
        * http/tests/navigation/timerredirect-frames-expected.txt: Added.
        * http/tests/navigation/timerredirect-frames.html:
        * http/tests/navigation/timerredirect-goback-expected.txt: Added.
        * http/tests/navigation/timerredirect-goback.html:
        * http/tests/navigation/timerredirect-subframeload-expected.txt: Added.
        * http/tests/navigation/timerredirect-subframeload.html:
        * platform/mac/http/tests/navigation/anchor-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/anchor-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/anchor-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/anchor-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/anchor-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/anchor-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.png: Removed.
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.txt: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png: Removed.
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt: Removed.
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.png: Removed.
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.txt: Removed.
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png: Removed.
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt: Removed.
        * platform/mac/http/tests/navigation/post-goback2-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/post-goback2-expected.png: Removed.
        * platform/mac/http/tests/navigation/post-goback2-expected.txt: Removed.
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.png: Removed.
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.txt: Removed.
        * platform/mac/http/tests/navigation/redirect302-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/redirect302-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/redirect302-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/redirect302-frames-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/redirect302-frames-expected.png: Removed.
        * platform/mac/http/tests/navigation/redirect302-frames-expected.txt: Removed.
        * platform/mac/http/tests/navigation/redirect302-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/redirect302-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/redirect302-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.png: Removed.
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.png: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-frames-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-frames-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-frames-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-loadsame-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-loadsame-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-loadsame-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-reload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-reload-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-reload-expected.txt: Removed.
        * platform/mac/http/tests/navigation/success200-subframeload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/success200-subframeload-expected.png: Removed.
        * platform/mac/http/tests/navigation/success200-subframeload-expected.txt: Removed.
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.png: Removed.
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.txt: Removed.
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.png: Removed.
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.txt: Removed.
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.png: Removed.
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.txt: Removed.
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum: Removed.
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png: Removed.
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt: Removed.

2009-05-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - test for <rdar://problem/5483015> Replies in Mail are drawn first
          without the user style sheet and then redrawn with the style sheet

        * platform/mac/fast/loader/user-stylesheet-fast-path-expected.txt: Added.
        * platform/mac/fast/loader/user-stylesheet-fast-path.html: Added.

2009-05-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 25755: Implement ARIA grid role
        https://bugs.webkit.org/show_bug.cgi?id=25755

        * accessibility/aria-tables.html: Added.
        * accessibility/table-with-aria-role.html:
        * platform/mac-leopard/accessibility/aria-tables-expected.txt: Added.
        * platform/mac-leopard/accessibility/table-with-aria-role-expected.txt:
        * platform/mac/accessibility/aria-tables-expected.txt: Added.
        * platform/mac/accessibility/table-with-aria-role-expected.txt:

2009-05-13  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dave Hyatt.

        Fix a number of bugs relating to RTL and text-overflow:ellipsis.
        Also refactor the relevant code to make it a little clearer.

        This CL fixes 3 fundamental issues:
        - Corrects behavior if the truncated InlineTextBox's directionality is
          different from the overall flow direction - bug 25135.
        - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206.
        - Full truncation on InlineBoxes in RTL flow - bug 24186
        - Add tests for the above + reorder/cleanup tests for easier
          interpretation of outcome.

        The code for placing ellipsis has been refactored to use
        left/right notation rather than a single variable whose meaning
        could differ based on flow directionality.

        To support differing inline directionality vs flow directionality,
        different variables are now used in InlineTextBox::placeEllipsisBox to
        track the two.

        The drawing mode for underlines in standards mode now correctly handles
        RTL truncation and relevant test where added.

        https://bugs.webkit.org/show_bug.cgi?id=24186
        https://bugs.webkit.org/show_bug.cgi?id=25135
        https://bugs.webkit.org/show_bug.cgi?id=24206

        * fast/css/text-overflow-ellipsis-bidi.html: Added.
        * fast/css/text-overflow-ellipsis-strict.html: Added.
        * fast/css/text-overflow-ellipsis.html:
        * platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.checksum: Added.
        * platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
        * platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt: Added.
        * platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
        * platform/mac/fast/css/text-overflow-ellipsis-strict-expected.checksum: Added.
        * platform/mac/fast/css/text-overflow-ellipsis-strict-expected.png: Added.
        * platform/mac/fast/css/text-overflow-ellipsis-strict-expected.txt: Added.

2009-05-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        Add layout test for <rdar://problem/6872894> REGRESSION (r41896-42143): First letter cut off in styled select menus.

        * fast/overflow/border-radius-clipping.html: Added.
        * platform/mac/fast/overflow/border-radius-clipping-expected.checksum: Added.
        * platform/mac/fast/overflow/border-radius-clipping-expected.png: Added.
        * platform/mac/fast/overflow/border-radius-clipping-expected.txt: Added.

2009-05-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin and Darin Adler.

        Add a repaint test for <rdar://problem/6869687> REGRESSION (r41203): Facebook friend suggestions disappear on update.

        * fast/repaint/opacity-change-on-overflow-float.html: Added.
        * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.checksum: Added.
        * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.png: Added.
        * platform/mac/fast/repaint/opacity-change-on-overflow-float-expected.txt: Added.

2009-05-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disable new tests. We are not going to be adding more new test
        results for now, for we want to better sort out things such as
        fixed DPI, and easily reproducible font configuration.

        * platform/gtk/Skipped:

2009-05-13  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer
        https://bugs.webkit.org/show_bug.cgi?id=25394

        Request a subresource load for an IMG after 'unload' and before the next
        page load completes to expose the crash.

        * http/tests/xmlhttprequest/frame-unload-abort-crash-expected.txt: Added.
        * http/tests/xmlhttprequest/frame-unload-abort-crash.html: Added.
        * http/tests/xmlhttprequest/resources/xmlhttprequest-in-unload.html: Added.

2009-05-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - tests for <rdar://problem/6805567> REGRESSION (r42348): Notes flicker
          white when loading

        * fast/frames/content-opacity-1.html: Added.
        * fast/frames/content-opacity-2.html: Added.
        * platform/mac/fast/frames/content-opacity-1-expected.checksum: Added.
        * platform/mac/fast/frames/content-opacity-1-expected.png: Added.
        * platform/mac/fast/frames/content-opacity-1-expected.txt: Added.
        * platform/mac/fast/frames/content-opacity-2-expected.checksum: Added.
        * platform/mac/fast/frames/content-opacity-2-expected.png: Added.
        * platform/mac/fast/frames/content-opacity-2-expected.txt: Added.

2009-05-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25749
        Add a test for non-same origin appcache manifest URL

        * http/tests/appcache/different-origin-manifest-expected.txt: Added.
        * http/tests/appcache/different-origin-manifest.html: Added.

2009-05-12  Roland Steiner <rolandsteiner@google.com>

        Reviewed by Eric Seidel.

        Bug 25738: Skia: CSS border style not cleared for SVG object
        https://bugs.webkit.org/show_bug.cgi?id=25738

        * platform/mac/svg/custom/no-inherited-dashed-stroke-expected.checksum: Added.
        * platform/mac/svg/custom/no-inherited-dashed-stroke-expected.png: Added.
        * platform/mac/svg/custom/no-inherited-dashed-stroke-expected.txt: Added.
        * svg/custom/no-inherited-dashed-stroke.xhtml: Added.

2009-05-12  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        <rdar://problem/6881457> Crash occurs at JSC::Interpreter::execute() when loading http://www.sears.com

        Add a test for using the arguments object inside an exception handler.

        * fast/js/arguments-expected.txt:
        * fast/js/resources/arguments.js:
        (argumentCalleeInException):

2009-05-12  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Eric Seidel.

        Bug 21903: Adds DOM bindings for the placeholder property of the
        HTMLInputElement.
        https://bugs.webkit.org/show_bug.cgi?id=21903

        * fast/forms/placeholder-dom-property-expected.txt: Added.
        * fast/forms/placeholder-dom-property.html: Added.
        * fast/forms/resources/placeholder-dom-property.js: Added.

2009-05-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Dimitri Glazkov.

        Test that we use the lexical global object in document.open,
        document.write, and document.writeln.

        * http/tests/security/aboutBlank/security-context-grandchildren-lexical-expected.txt: Added.
        * http/tests/security/aboutBlank/security-context-grandchildren-lexical.html: Added.
        * http/tests/security/aboutBlank/security-context-grandchildren-write-lexical-expected.txt: Added.
        * http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html: Added.
        * http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical-expected.txt: Added.
        * http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html: Added.

2009-05-12  Simon Fraser  <simon.fraser@apple.com>

        No review.
        
        media/video-size-intrinsic-scale.html fails on Tiger, so add it to the skipped
        list.

        * platform/mac-tiger/Skipped:

2009-05-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
        
        <rdar://problem/6497461> Many media layout tests failing on SnowLeopard.
        
        Turn media tests back on for SnowLeopard, and generate new pixel results. Put override
        results in platform/mac-leopard when necessary.
        
        media/video-size-intrinsic-scale.html fails and is still skipped: <rdar://problem/6877291>

        * platform/mac-leopard/media/audio-controls-rendering-expected.checksum: Added.
        * platform/mac-leopard/media/audio-controls-rendering-expected.png: Added.
        * platform/mac-leopard/media/video-aspect-ratio-expected.checksum: Added.
        * platform/mac-leopard/media/video-aspect-ratio-expected.png: Added.
        * platform/mac-leopard/media/video-controls-rendering-expected.checksum: Added.
        * platform/mac-leopard/media/video-controls-rendering-expected.png: Added.
        * platform/mac-leopard/media/video-display-toggle-expected.checksum: Added.
        * platform/mac-leopard/media/video-display-toggle-expected.png: Added.
        * platform/mac-leopard/media/video-empty-source-expected.checksum: Added.
        * platform/mac-leopard/media/video-empty-source-expected.png: Added.
        * platform/mac-leopard/media/video-layer-crash-expected.checksum: Added.
        * platform/mac-leopard/media/video-layer-crash-expected.png: Added.
        * platform/mac-leopard/media/video-transformed-expected.checksum: Added.
        * platform/mac-leopard/media/video-transformed-expected.png: Added.
        * platform/mac-leopard/media/video-zoom-controls-expected.checksum: Added.
        * platform/mac-leopard/media/video-zoom-controls-expected.png: Added.
        * platform/mac-leopard/media/video-zoom-expected.checksum: Added.
        * platform/mac-leopard/media/video-zoom-expected.png: Added.
        * platform/mac-snowleopard/Skipped:
        * platform/mac/Skipped:
        * platform/mac/media/audio-controls-rendering-expected.checksum:
        * platform/mac/media/audio-controls-rendering-expected.png:
        * platform/mac/media/video-aspect-ratio-expected.checksum:
        * platform/mac/media/video-aspect-ratio-expected.png:
        * platform/mac/media/video-controls-rendering-expected.checksum:
        * platform/mac/media/video-controls-rendering-expected.png:
        * platform/mac/media/video-controls-visible-audio-only-expected.checksum: Removed.
        * platform/mac/media/video-controls-visible-audio-only-expected.png: Removed.
        * platform/mac/media/video-display-toggle-expected.checksum:
        * platform/mac/media/video-display-toggle-expected.png:
        * platform/mac/media/video-empty-source-expected.checksum:
        * platform/mac/media/video-empty-source-expected.png:
        * platform/mac/media/video-layer-crash-expected.checksum:
        * platform/mac/media/video-layer-crash-expected.png:
        * platform/mac/media/video-transformed-expected.checksum:
        * platform/mac/media/video-transformed-expected.png:
        * platform/mac/media/video-zoom-controls-expected.checksum:
        * platform/mac/media/video-zoom-controls-expected.png:
        * platform/mac/media/video-zoom-expected.checksum:
        * platform/mac/media/video-zoom-expected.png:

2009-03-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6702386> Incorrect bound check in SVGList::insertItemBefore

        Test to ensure out of bounds indices passed to SVGList are correctly intercepted.

        * svg/dom/svglist-exception-on-out-bounds-error-expected.txt: Added.
        * svg/dom/svglist-exception-on-out-bounds-error.html: Added.

2009-05-12  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25694
        HTMLParser::createHead() ASSERT: Creating an element, calling  document.open() and writing
        to the document NULL ptr

        * fast/parser/implicit-head-in-fragment-crash-expected.txt: Added.
        * fast/parser/implicit-head-in-fragment-crash.html: Added.

2009-05-12  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Dimitri Glazkov.

        Added Qt-specific expected result for toDataURL test, since Qt
        does not support saving pixmaps to GIF.

        * platform/qt/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.

2009-05-12  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Rubber-stamped by Simon Hausmann.

        Added Qt-specific expected result for Canvas getImageData's test.

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

        Since Qt is internally using premultiplied ARGB32 for doing
        alpha-blending painting, reading the color back will not
        necessarily give the same exact color.

        * platform/qt/Skipped: Excluded canvas-getImageData.
        * platform/qt/fast/canvas/canvas-getImageData-expected.txt: Added.

2009-05-12  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Test was checked in with one test case disabled since it exposed an existing bug;
        enable it now.

        * fast/js/instance-of-immediates-expected.txt:
        * fast/js/resources/instance-of-immediates.js:

2009-05-11  Brady Eidson  <beidson@apple.com>

        Add a third copy of the test results for this test to make Tiger bots happy.

        * platform/mac-tiger/fast/images: Added.
        * platform/mac-tiger/fast/images/favicon-as-image-expected.checksum: Copied from platform/mac/fast/images/favicon-as-image-expected.checksum.
        * platform/mac-tiger/fast/images/favicon-as-image-expected.png: Copied from platform/mac/fast/images/favicon-as-image-expected.png.
        * platform/mac-tiger/fast/images/favicon-as-image-expected.txt: Copied from platform/mac/fast/images/favicon-as-image-expected.txt.

2009-05-11  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Add a layout test for instanceof.

        * fast/js/instance-of-immediates-expected.txt: Added.
        * fast/js/instance-of-immediates.html: Added.
        * fast/js/resources/instance-of-immediates.js: Added.
        (testInstanceOf):
        ():
        (testSet):

2009-05-11  Brady Eidson  <beidson@apple.com>

        Reviewed by David Kilzer.

        <rdar://problem/6876226> - Cleanup the fast/images/favicon situation a bit.

        First off, copy fast/images/favicon-as-image.html over to http/tests/misc so it covers the original test case on all Mac platforms.
        Second, add Leopard-specific results for the original test.
        Then, remove it from the Leopard skipped list.
        Finally, add it to the SnowLeopard skipped list (<rdar://problem/6877633> covers re-enabling it when we're no longer blocked).

        * http/tests/misc/favicon-as-image.html: Copied from fast/images/favicon-as-image.html.
        * http/tests/misc/resources/favicon.ico: Copied from fast/images/resources/favicon.ico.

        * platform/mac/http/tests/misc/favicon-as-image-expected.checksum: Added.
        * platform/mac/http/tests/misc/favicon-as-image-expected.png: Added.
        * platform/mac/http/tests/misc/favicon-as-image-expected.txt: Added.

        * platform/mac-leopard/fast/images: Added.
        * platform/mac-leopard/fast/images/favicon-as-image-expected.checksum: Copied from platform/mac/fast/images/favicon-as-image-expected.checksum.
        * platform/mac-leopard/fast/images/favicon-as-image-expected.png: Copied from platform/mac/fast/images/favicon-as-image-expected.png.
        * platform/mac-leopard/fast/images/favicon-as-image-expected.txt: Copied from platform/mac/fast/images/favicon-as-image-expected.txt.

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

2009-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        DRT/GTK+ lacks an AccessibilityController do not run the
        accessibility/onclick-handlers.thtml test.

        * platform/gtk/Skipped:

2009-05-11  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 25713: AX: Control Elements not identified in HTML content
        https://bugs.webkit.org/show_bug.cgi?id=25713

        * accessibility/onclick-handlers-expected.txt: Added.
        * accessibility/onclick-handlers.html: Added.

2009-05-11  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6276843> REGRESSION: TextIterator generates
        an extra newline for ranges that start outside of body

        * editing/text-iterator/basic-iteration-expected.txt:
        Expect success, not failure.

2009-05-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Enable the new passing test, and skip two new failing tests.

        * platform/gtk/Skipped:
        * platform/gtk/fast/css/compare-content-style-expected.txt: Added.

2009-05-11  Alice Liu  <alice.liu@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=25701
        REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook

        * fast/forms/search-styled.html: Added.
        * platform/mac/fast/forms/search-styled-expected.txt: Added.
        * platform/win/fast/forms/search-styled-expected.txt: Added.

2009-05-11  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        * platform/mac-leopard/Skipped: Skip fast/images/favicon-as-image.html until we can come up
          with a better solution to its new failure.

2009-05-11  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Bug 25560: REGRESSION (r34821): "string value".__proto__ gets the wrong object.
        https://bugs.webkit.org/show_bug.cgi?id=25560
        rdar://problem/6861069

        * fast/js/prototypes-expected.txt: Added.
        * fast/js/prototypes.html: Added.
        * fast/js/resources/prototypes.js: Added.

2009-05-11  David Kilzer  <ddkilzer@apple.com>

        Added webarchive/test-link-rel-icon.html to gtk Skipped list

        * platform/gtk/Skipped: Added webarchive/test-link-rel-icon.html.

2009-05-11  David Kilzer  <ddkilzer@apple.com>

        Bug 23331: LayoutTests/webarchive/test-link-rel-icon.html fails in different ways on buildbots

        <https://bugs.webkit.org/show_bug.cgi?id=23331>

        Reviewed by Brady Eidson.

        * webarchive/test-link-rel-icon-expected.webarchive: Updated
        results after removing workaround in the test.
        * webarchive/test-link-rel-icon.html: Copied from webarchive/test-link-rel-icon.html-disabled.
        Removed workaround for Bug 21026 / <rdar://problem/6240826>.
        * webarchive/test-link-rel-icon.html-disabled: Removed.

2009-05-11  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Fix failure seen on most of the buildbots.

        * fast/forms/text-control-intrinsic-widths-expected.txt: Rolled back to the
        version before Hyatt's recent intrinsic margin check-in. According to Dan,
        that should not have had any effect on this test, so these results reflect
        some other sort of difference on Hyatt's computer.

2009-05-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for a crash when deactivating a document that had adopted a
          <form> element

        * fast/dom/HTMLFormElement/document-deactivation-callback-crash-expected.txt: Added.
        * fast/dom/HTMLFormElement/document-deactivation-callback-crash.html: Added.

2009-05-10  David Kilzer  <ddkilzer@apple.com>

        Test for Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer

        Rubber-stamped by Geoff Garen.

        Original test by Simon Fraser.

        * fast/css/compare-content-style.html: Added.
        * platform/mac/fast/css/compare-content-style-expected.txt: Added.

2009-05-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Kilzer.

        - new test and correct results for https://bugs.webkit.org/show_bug.cgi?id=25602
          REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn
          on ToT

        * fast/layers/self-painting-outline.html: Added.
        * platform/mac/fast/overflow/overflow-focus-ring-expected.checksum: Updated.
        * platform/mac/fast/overflow/overflow-focus-ring-expected.png: Updated.
        * platform/mac/fast/layers/self-painting-outline-expected.checksum: Added.
        * platform/mac/fast/layers/self-painting-outline-expected.png: Added.
        * platform/mac/fast/layers/self-painting-outline-expected.txt: Added.

2009-05-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Geoffrey Garen and Mark Rowe.

        - test for https://bugs.webkit.org/show_bug.cgi?id=25666
          Assertion failure in Node::setDocument()
          (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element

        * fast/dom/HTMLFormElement/adopt-assertion-expected.txt: Added.
        * fast/dom/HTMLFormElement/adopt-assertion.html: Added.

2009-05-09  Geoffrey Garen  <ggaren@apple.com>

        Rubber stamped by Beth Dakin.
        
        Added a test for a math edge case I just came across.

        * fast/js/postfix-syntax-expected.txt:
        * fast/js/resources/postfix-syntax.js:

2009-05-09  Dan Bernstein  <mitz@apple.com>

        - correct the results from the previous patch

2009-05-09  Dan Bernstein  <mitz@apple.com>

        - update Windows-specific layout test results for textarea
          intrinsic margin change (r43355)

        * platform/win/editing/inserting/4960120-1-expected.txt:
        * platform/win/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * platform/win/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/win/fast/css/resize-corner-tracking-expected.txt:
        * platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/win/fast/dynamic/008-expected.txt:
        * platform/win/fast/forms/basic-textareas-expected.txt:
        * platform/win/fast/forms/textAreaLineHeight-expected.txt:
        * platform/win/fast/forms/textarea-align-expected.txt:
        * platform/win/fast/forms/textarea-rows-cols-expected.txt:
        * platform/win/fast/forms/textarea-scrollbar-expected.txt:
        * platform/win/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/win/fast/forms/textarea-setinnerhtml-expected.txt:
        * platform/win/fast/forms/textarea-width-expected.txt:
        * platform/win/fast/overflow/overflow-x-y-expected.txt:
        * platform/win/fast/parser/comment-in-textarea-expected.txt:
        * platform/win/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/win/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/win/fast/replaced/width100percent-textarea-expected.txt:
        * platform/win/fast/table/003-expected.txt:
        * platform/win/tables/mozilla/bugs/bug30559-expected.txt:

2009-05-08  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Skip failing render tree test that was added in r43420.

        * platform/gtk/Skipped:

2009-05-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Rubber-stamped by George Staikos.

        Update WML <input> layout test result, as input field metrics have changed recently.

        * platform/mac/fast/wml/input-expected.checksum:
        * platform/mac/fast/wml/input-expected.png:
        * platform/mac/fast/wml/input-expected.txt:

2009-05-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6864786> REGRESSION: Crash below
          ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in
          Bugzilla

        * editing/style/apply-through-end-of-document-expected.txt: Added.
        * editing/style/apply-through-end-of-document.html: Added.

2009-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disable more new tests that are failing.

        * platform/gtk/Skipped:

2009-05-08  Eric Carlson  <eric.carlson@apple.com>

        No review, update tests results missed in r43403.

        * fast/dom/Window/window-properties-expected.txt:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-05-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        GTK+ test results for two new tests.

        * platform/gtk/fast/layers/remove-only-this-layer-update-expected.txt: Added.
        * platform/gtk/fast/repaint/selection-clear-expected.txt: Added.

2009-05-08  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25627
        Bug 25627: HTMLMediaElement: some errors should fire on <source> elements

        Update tests for MEDIA_ERR_NONE_SUPPORTED change to MEDIA_ERR_SRC_NOT_SUPPORTED.
        Add video-source-error.html to test errors fired on <source> elements .

        * media/media-constants-expected.txt:
        * media/media-constants.html:
        * media/unsupported-rtsp.html:
        * media/video-error-does-not-exist.html:
        * media/video-source-error.html: Added.
        * media/video-src-change.html:
        * media/video-src-invalid-remove.html:
        * media/video-src-plus-source.html:

2009-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disable new test that is failing.

        * platform/gtk/Skipped:

2009-05-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        - test for <rdar://problem/6859955> Undoing typed text after selecting
          all leaves non-text areas highlighted

        * fast/repaint/selection-clear.html: Added.
        * platform/mac/fast/repaint/selection-clear-expected.checksum: Added.
        * platform/mac/fast/repaint/selection-clear-expected.png: Added.
        * platform/mac/fast/repaint/selection-clear-expected.txt: Added.

2009-05-07  David Levin  <levin@chromium.org>

        Reviewed by NOBODY.
        Suggested by Oliver Hunt.

        Rolling back http://trac.webkit.org/changeset/43385
        because we have to use mac artwork for the underline on OSX.

        * platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
        * platform/mac/editing/spelling/inline_spelling_markers-expected.png:
        * platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
        * platform/mac/editing/spelling/spellcheck-attribute-expected.png:
        * platform/mac/editing/spelling/spelling-expected.checksum:
        * platform/mac/editing/spelling/spelling-expected.png:
        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
        * platform/mac/editing/spelling/spelling-linebreak-expected.png:

2009-05-07  John Grabowski  <jrg@chromium.org>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=25573
        Rebaseline of spelling tests for Mac.  Tests pass even without this
        change but checksums don't match.  Non-Mac does not need a new baseline.

        * platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
        * platform/mac/editing/spelling/inline_spelling_markers-expected.png:
        * platform/mac/editing/spelling/spellcheck-attribute-expected.checksum:
        * platform/mac/editing/spelling/spellcheck-attribute-expected.png:
        * platform/mac/editing/spelling/spelling-expected.checksum:
        * platform/mac/editing/spelling/spelling-expected.png:
        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
        * platform/mac/editing/spelling/spelling-linebreak-expected.png:

2009-05-07  Darin Adler  <darin@apple.com>

        Reviewed by Simon Fraser.

        Bug 25575: Registered mutation event listener crashes HTMLMediaElement
        https://bugs.webkit.org/show_bug.cgi?id=25575

        * fast/media/video-controls-with-mutation-event-handler-expected.txt: Added.
        * fast/media/video-controls-with-mutation-event-handler.html: Added.

2009-05-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Beth Dakin.

        Fix regression caused by r41469, add test case to prevent it from 
        happening again.
        https://bugs.webkit.org/show_bug.cgi?id=25252

        * fast/layers/remove-only-this-layer-update.html: Added.
        * platform/mac/fast/layers/remove-only-this-layer-update-expected.checksum: Added.
        * platform/mac/fast/layers/remove-only-this-layer-update-expected.png: Added.
        * platform/mac/fast/layers/remove-only-this-layer-update-expected.txt: Added.

2009-05-07  David Hyatt  <hyatt@apple.com>

        Restore intrinsic margins to all form controls on Mac and Windows.

        Reviewed by Beth Dakin.

        * fast/forms/text-control-intrinsic-widths-expected.txt:
        * fast/replaced/table-percent-height-text-controls-expected.txt:
        * platform/mac/editing/inserting/4960120-1-expected.checksum:
        * platform/mac/editing/inserting/4960120-1-expected.png:
        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.checksum:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.png:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/mac/fast/css/resize-corner-tracking-expected.checksum:
        * platform/mac/fast/css/resize-corner-tracking-expected.png:
        * platform/mac/fast/css/resize-corner-tracking-expected.txt:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.checksum:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/mac/fast/dynamic/008-expected.checksum:
        * platform/mac/fast/dynamic/008-expected.png:
        * platform/mac/fast/dynamic/008-expected.txt:
        * platform/mac/fast/forms/001-expected.checksum:
        * platform/mac/fast/forms/001-expected.png:
        * platform/mac/fast/forms/basic-textareas-expected.checksum:
        * platform/mac/fast/forms/basic-textareas-expected.png:
        * platform/mac/fast/forms/basic-textareas-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.checksum:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.checksum:
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png:
        * platform/mac/fast/forms/menulist-clip-expected.checksum:
        * platform/mac/fast/forms/menulist-clip-expected.png:
        * platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
        * platform/mac/fast/forms/menulist-narrow-width-expected.png:
        * platform/mac/fast/forms/menulist-option-wrap-expected.checksum:
        * platform/mac/fast/forms/menulist-option-wrap-expected.png:
        * platform/mac/fast/forms/menulist-restrict-line-height-expected.checksum:
        * platform/mac/fast/forms/menulist-restrict-line-height-expected.png:
        * platform/mac/fast/forms/negativeLineHeight-expected.checksum:
        * platform/mac/fast/forms/negativeLineHeight-expected.png:
        * platform/mac/fast/forms/negativeLineHeight-expected.txt:
        * platform/mac/fast/forms/select-baseline-expected.checksum:
        * platform/mac/fast/forms/select-baseline-expected.png:
        * platform/mac/fast/forms/select-style-expected.checksum:
        * platform/mac/fast/forms/select-style-expected.png:
        * platform/mac/fast/forms/textAreaLineHeight-expected.checksum:
        * platform/mac/fast/forms/textAreaLineHeight-expected.png:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/forms/textarea-align-expected.checksum:
        * platform/mac/fast/forms/textarea-align-expected.png:
        * platform/mac/fast/forms/textarea-align-expected.txt:
        * platform/mac/fast/forms/textarea-rows-cols-expected.checksum:
        * platform/mac/fast/forms/textarea-rows-cols-expected.png:
        * platform/mac/fast/forms/textarea-rows-cols-expected.txt:
        * platform/mac/fast/forms/textarea-scroll-height-expected.checksum:
        * platform/mac/fast/forms/textarea-scroll-height-expected.png:
        * platform/mac/fast/forms/textarea-scroll-height-expected.txt:
        * platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
        * platform/mac/fast/forms/textarea-scrollbar-expected.png:
        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.checksum:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.png:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.checksum:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
        * platform/mac/fast/forms/textarea-width-expected.checksum:
        * platform/mac/fast/forms/textarea-width-expected.png:
        * platform/mac/fast/forms/textarea-width-expected.txt:
        * platform/mac/fast/overflow/overflow-focus-ring-expected.checksum:
        * platform/mac/fast/overflow/overflow-focus-ring-expected.png:
        * platform/mac/fast/overflow/overflow-x-y-expected.checksum:
        * platform/mac/fast/overflow/overflow-x-y-expected.png:
        * platform/mac/fast/overflow/overflow-x-y-expected.txt:
        * platform/mac/fast/parser/comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/comment-in-textarea-expected.png:
        * platform/mac/fast/parser/comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/mac/fast/replaced/selection-rect-transform-expected.png:
        * platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
        * platform/mac/fast/replaced/width100percent-textarea-expected.png:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/fast/table/003-expected.checksum:
        * platform/mac/fast/table/003-expected.png:
        * platform/mac/fast/table/003-expected.txt:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.checksum:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.png:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
        * platform/mac/http/tests/navigation/anchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/anchor-frames-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-frames-expected.png:
        * platform/mac/http/tests/navigation/anchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/anchor-goback-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-goback-expected.png:
        * platform/mac/http/tests/navigation/anchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.png:
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/post-goback2-expected.checksum:
        * platform/mac/http/tests/navigation/post-goback2-expected.png:
        * platform/mac/http/tests/navigation/post-goback2-expected.txt:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.png:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.png:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.png:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.png:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.png:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.checksum:
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.png:
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-basic-expected.checksum:
        * platform/mac/http/tests/navigation/success200-basic-expected.png:
        * platform/mac/http/tests/navigation/success200-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-expected.checksum:
        * platform/mac/http/tests/navigation/success200-frames-expected.png:
        * platform/mac/http/tests/navigation/success200-frames-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-goback-expected.checksum:
        * platform/mac/http/tests/navigation/success200-goback-expected.png:
        * platform/mac/http/tests/navigation/success200-goback-expected.txt:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.checksum:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.png:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-reload-expected.checksum:
        * platform/mac/http/tests/navigation/success200-reload-expected.png:
        * platform/mac/http/tests/navigation/success200-reload-expected.txt:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.png:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.png:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.txt:

2009-05-07  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
        https://bugs.webkit.org/show_bug.cgi?id=25598

        * accessibility/radio-button-title-label-expected.txt: Added.
        * accessibility/radio-button-title-label.html: Added.

2009-05-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser and Justin Garcia.

        - test for another part of <rdar://problem/6703873> Triple-click quoted
          line and type Return creates an extra quoted blank line

        * editing/inserting/6703873-2-expected.txt: Added.
        * editing/inserting/6703873-2.html: Added.

2009-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disable more new tests.

        * platform/gtk/Skipped:

2009-05-06  Eric Seidel  <eric@webkit.org>

        No review, just fixing my previous broken commit.

        Commit correct results for event-function-toString.html

        * fast/events/event-function-toString-expected.txt:

2009-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Fixing typo in my last commit.

        * platform/gtk/Skipped:

2009-05-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disabling failing new tests that do not represent regressions.

        * platform/gtk/Skipped:

2009-05-06  Soren Gjesse  <sgjesse@chromium.org>

        Reviewed by Eric Seidel.

        Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
        https://bugs.webkit.org/show_bug.cgi?id=25544

        * fast/events/event-function-toString.html: Added.
        * fast/events/resources/event-function-toString.js: Added.
        (normalizedFunctionString):

2009-05-06  Dan Bernstein  <mitz@apple.com>

        Reviewed by Justin Garcia.

        - test for an assertion failure in RemoveNodeCommand() when deleting a
          <br> between a block and a mail blockquote

        * editing/deleting/removeNodeCommand-assert-expected.txt: Added.
        * editing/deleting/removeNodeCommand-assert.html: Added.

2009-05-05  Eric Seidel  <eric@webkit.org>

        No review, roll out only.

        Roll out r23072 since it broke layout tests

        * accessibility/ignore-anonymous-block-expected.txt: Removed.
        * accessibility/ignore-anonymous-block.html: Removed.

2009-05-05  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>

        Reviewed by Eric Seidel.

        Anonymous blocks should not be exposed in accessibility tree.
        Part of https://bugs.webkit.org/show_bug.cgi?id=23072

        * accessibility/ignore-anonymous-block-expected.txt: Added a new
        test to check if anonymous blocks are exposed or not.
        * accessibility/ignore-anonymous-block.html: Added a new file that
        contains the expected output for the new test case that is added.

2009-05-05  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        Test if the name 'EUC-KR' is exposed via DOM although we internally
        treat all EUC-KR-related encodings as the superset of EUC-KR,
        'windows-949'.

        * fast/encoding/euckr-name-expected.txt: Added.
        * fast/encoding/euckr-name.html: Added.

2009-05-05  Adam Langley  <agl@google.com>

        Reviewed by Darin Adler.

        Rendering fix for <select> elements.
        https://bugs.webkit.org/show_bug.cgi?id=25558

        * fast/forms/select-dirty-parent-pref-widths.html: Added.
        * platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.checksum: Added.
        * platform/mac/fast/forms/select-dirty-parent-pref-widths-expected.txt: Added.

2009-05-05  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

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

        history.{back,forward,go} should always be dispatched asynchronously,
        even when the history navigation would just result in scrolling the
        page.  This matches the behavior of other browsers like IE and FF.

        * fast/css/target-fragment-match.html: since history.back takes effect
        asynchronously, we need to defer the call to notifyDone

        * fast/dom/location-hash-expected.txt:
        * fast/dom/location-hash.html: since history.{back,forward} take effect
        asynchronously, we need to defer checking that the navigation results.

        * fast/history/back-forward-is-asynchronous-expected.txt: Added.
        * fast/history/back-forward-is-asynchronous.html: Added.
        A test to specifically ensure that history.{back,forward} are processed
        asynchronously.

2009-05-05  Adam Roben  <aroben@apple.com>

        Skip newly-added SVG tests that fail on Windows

        See Bug 25583: New SVG regression tests added in r43269 fail on
        Windows
        <https://bugs.webkit.org/show_bug.cgi?id=25583>

        Rubber-stamped in advance by Eric Seidel.

        * platform/win/Skipped: Added the two new SVG tests.

2009-05-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG.
        https://bugs.webkit.org/show_bug.cgi?id=25532

        This required a change to SVGPaintServerPattern::setup
        That change fixed drawing of transformed SVG text with objectBoundingBox patterns.
        text-with-pattern-with-svg-transform.svg shows the improvement from this change
        text-with-pattern-inside-transformed-html.xhtml shows no change, but documents
        that this change does not break CSS transformed pattern text.

        * 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/text-with-pattern-inside-transformed-html-expected.checksum: Added.
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png: Added.
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt: Added.
        * platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.checksum: Added.
        * platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png: Added.
        * platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.txt: Added.
        * svg/transforms/text-with-pattern-inside-transformed-html.xhtml: Added.
        * svg/transforms/text-with-pattern-with-svg-transform.svg: Added.

2009-05-05  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Sam Weinig.
        
        https://bugs.webkit.org/show_bug.cgi?id=25554
        
        Support HTML5 text control input types: email, number, tel, url

        * fast/html/text-field-input-types-expected.txt: Added.
        * fast/html/text-field-input-types.html: Added.

2009-05-05  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest:
        https://bugs.webkit.org/show_bug.cgi?id=25574

        * platform/mac/accessibility/document-links-expected.txt:
        * platform/mac/accessibility/image-map1-expected.txt:
        * platform/mac/accessibility/image-map2-expected.txt:
        * platform/mac/accessibility/imagemap-hittest-expected.txt: Added.
        * platform/mac/accessibility/imagemap-hittest.html: Added.

2009-05-05  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6552129> Select a quote line and paste elsewhere, you
        get that line and an extra quoted blank line
        <rdar://problem/6609308> Triple-click a quoted header line, copy, paste
        onto an empty line makes an extra quoted line

        - Testing different scenarios where we paste quoted text into a non-quoted area and we
        do not want a trailing newline to be quoted.

        * editing/pasteboard/paste-blockquote-before-blockquote-expected.txt: Added.
        * editing/pasteboard/paste-blockquote-before-blockquote.html: Added.
        * editing/pasteboard/paste-double-nested-blockquote-before-blockquote-expected.txt: Added.
        * editing/pasteboard/paste-double-nested-blockquote-before-blockquote.html: Added.
        * editing/pasteboard/resources/paste-blockquote-before-blockquote.js: Added.
        (copyAndPasteNode):

2009-05-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - updated results for https://bugs.webkit.org/show_bug.cgi?id=24192
          <rdar://problem/5760774> Replying to a Mail message that contains
          fixed width text can change the size of the text

        * editing/execCommand/19089-expected.txt:
        * editing/execCommand/5770834-1-expected.txt:
        * platform/mac/editing/deleting/delete-br-011-expected.txt:
        * platform/mac/editing/deleting/delete-select-all-001-expected.txt:
        * platform/mac/editing/execCommand/remove-formatting-2-expected.txt:
        * platform/mac/editing/pasteboard/5027857-expected.checksum:
        * platform/mac/editing/pasteboard/5027857-expected.png:
        * platform/mac/editing/pasteboard/5027857-expected.txt:
        * platform/mac/editing/pasteboard/paste-pre-002-expected.checksum:
        * platform/mac/editing/pasteboard/paste-pre-002-expected.png:
        * platform/mac/editing/pasteboard/paste-pre-002-expected.txt:
        * platform/mac/editing/style/block-style-004-expected.txt:
        * platform/mac/editing/style/block-style-005-expected.txt:
        * platform/mac/editing/style/block-style-006-expected.txt:

2009-05-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Roben.

        Add test case to cover V8 crasher (which JSC does not share).
        https://bugs.webkit.org/show_bug.cgi?id=25550

        * svg/custom/polyline-points-crash-expected.txt: Added.
        * svg/custom/polyline-points-crash.html: Added.

2009-05-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Roben.

        Fix mappedAttributes() access without NULL check
        https://bugs.webkit.org/show_bug.cgi?id=25553

        * svg/custom/path-getPresentationAttribute-crash-expected.txt: Added.
        * svg/custom/path-getPresentationAttribute-crash.html: Added.

2009-05-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        Add a testcase using SVG in HTML with CSS transforms
        https://bugs.webkit.org/show_bug.cgi?id=23112

        We currently fail the <text> section of this test but pass the path and image sections.

        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.checksum: Added.
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png: Added.
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt: Added.
        * svg/transforms/animated-path-inside-transformed-html.xhtml: Added.

2009-05-04  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dave Hyatt.

        <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com

        * fast/parser/head-element-for-yahoo-player-expected.txt: Added.
        * fast/parser/head-element-for-yahoo-player.html: Added.
        Test the regression case (a misplaced <style> that used to create <head> implicitly).

        * editing/selection/select-all-005.html: Use a new index when selecting the body.

        * fast/dom/Document/document-write-doctype-expected.txt:
        * fast/dom/Document/resources/document-write-doctype.js:
        Removed checks for "Gecko quirk" of implicitly adding HEAD - that not a quirk, but standard
        behavior per HTML5.

        * editing/execCommand/create-list-1-expected.txt:
        * platform/mac/editing/deleting/4845371-expected.txt:
        * platform/mac/editing/deleting/4866671-expected.txt:
        * platform/mac/editing/deleting/4875189-expected.txt:
        * platform/mac/editing/deleting/5026848-1-expected.txt:
        * platform/mac/editing/deleting/5026848-2-expected.txt:
        * platform/mac/editing/deleting/5026848-3-expected.txt:
        * platform/mac/editing/deleting/5032066-expected.txt:
        * platform/mac/editing/deleting/5091898-expected.txt:
        * platform/mac/editing/deleting/5099303-expected.txt:
        * platform/mac/editing/deleting/5115601-expected.txt:
        * platform/mac/editing/deleting/5126166-expected.txt:
        * platform/mac/editing/deleting/5156801-2-expected.txt:
        * platform/mac/editing/deleting/5168598-expected.txt:
        * platform/mac/editing/deleting/5272440-expected.txt:
        * platform/mac/editing/deleting/5300379-expected.txt:
        * platform/mac/editing/deleting/5390681-expected.txt:
        * platform/mac/editing/deleting/5408255-expected.txt:
        * platform/mac/editing/deleting/5433862-2-expected.txt:
        * platform/mac/editing/deleting/5483370-expected.txt:
        * platform/mac/editing/deleting/delete-at-start-or-end-expected.txt:
        * platform/mac/editing/deleting/delete-block-table-expected.txt:
        * platform/mac/editing/deleting/delete-hr-expected.txt:
        * platform/mac/editing/deleting/delete-mixed-editable-content-001-expected.txt:
        * platform/mac/editing/deleting/delete-to-select-table-expected.txt:
        * platform/mac/editing/deleting/deletionUI-single-instance-expected.txt:
        * platform/mac/editing/deleting/merge-endOfParagraph-expected.txt:
        * platform/mac/editing/deleting/merge-no-br-expected.txt:
        * platform/mac/editing/deleting/merge-whitespace-pre-expected.txt:
        * platform/mac/editing/execCommand/4641880-1-expected.txt:
        * platform/mac/editing/execCommand/4641880-2-expected.txt:
        * platform/mac/editing/execCommand/4747450-expected.txt:
        * platform/mac/editing/execCommand/4786404-1-expected.txt:
        * platform/mac/editing/execCommand/4786404-2-expected.txt:
        * platform/mac/editing/execCommand/4916402-expected.txt:
        * platform/mac/editing/execCommand/4916541-expected.txt:
        * platform/mac/editing/execCommand/4916583-expected.txt:
        * platform/mac/editing/execCommand/4920488-expected.txt:
        * platform/mac/editing/execCommand/4920742-1-expected.txt:
        * platform/mac/editing/execCommand/4924441-expected.txt:
        * platform/mac/editing/execCommand/5049671-expected.txt:
        * platform/mac/editing/execCommand/5080333-1-expected.txt:
        * platform/mac/editing/execCommand/5080333-2-expected.txt:
        * platform/mac/editing/execCommand/5119244-expected.txt:
        * platform/mac/editing/execCommand/5120591-expected.txt:
        * platform/mac/editing/execCommand/5136770-expected.txt:
        * platform/mac/editing/execCommand/5142012-1-expected.txt:
        * platform/mac/editing/execCommand/5142012-2-expected.txt:
        * platform/mac/editing/execCommand/5142012-3-expected.txt:
        * platform/mac/editing/execCommand/5144139-1-expected.txt:
        * platform/mac/editing/execCommand/5164796-expected.txt:
        * platform/mac/editing/execCommand/5207369-expected.txt:
        * platform/mac/editing/execCommand/5210032-expected.txt:
        * platform/mac/editing/execCommand/5432254-1-expected.txt:
        * platform/mac/editing/execCommand/5432254-2-expected.txt:
        * platform/mac/editing/execCommand/5481523-expected.txt:
        * platform/mac/editing/execCommand/5482524-expected.txt:
        * platform/mac/editing/execCommand/5569741-expected.txt:
        * platform/mac/editing/execCommand/5573879-expected.txt:
        * platform/mac/editing/execCommand/5700414-1-expected.txt:
        * platform/mac/editing/execCommand/5700414-2-expected.txt:
        * platform/mac/editing/execCommand/insert-list-empty-div-expected.txt:
        * platform/mac/editing/input/5576619-expected.txt:
        * platform/mac/editing/inserting/12882-expected.txt:
        * platform/mac/editing/inserting/4840662-expected.txt:
        * platform/mac/editing/inserting/4875189-1-expected.txt:
        * platform/mac/editing/inserting/4875189-2-expected.txt:
        * platform/mac/editing/inserting/4959067-expected.txt:
        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/inserting/4960120-2-expected.txt:
        * platform/mac/editing/inserting/5002441-expected.txt:
        * platform/mac/editing/inserting/5058163-2-expected.txt:
        * platform/mac/editing/inserting/5156401-2-expected.txt:
        * platform/mac/editing/inserting/5549929-2-expected.txt:
        * platform/mac/editing/inserting/5549929-3-expected.txt:
        * platform/mac/editing/inserting/5607069-2-expected.txt:
        * platform/mac/editing/inserting/5607069-3-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/inserting/editable-inline-element-expected.txt:
        * platform/mac/editing/inserting/edited-whitespace-1-expected.txt:
        * platform/mac/editing/inserting/editing-empty-divs-expected.txt:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.txt:
        * platform/mac/editing/pasteboard/4806874-expected.txt:
        * platform/mac/editing/pasteboard/4861080-expected.txt:
        * platform/mac/editing/pasteboard/4944770-1-expected.txt:
        * platform/mac/editing/pasteboard/4944770-2-expected.txt:
        * platform/mac/editing/pasteboard/4947130-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/pasteboard/5027857-expected.txt:
        * platform/mac/editing/pasteboard/5032095-expected.txt:
        * platform/mac/editing/pasteboard/5065605-expected.txt:
        * platform/mac/editing/pasteboard/5071074-2-expected.txt:
        * platform/mac/editing/pasteboard/5071074-expected.txt:
        * platform/mac/editing/pasteboard/5075944-2-expected.txt:
        * platform/mac/editing/pasteboard/5075944-3-expected.txt:
        * platform/mac/editing/pasteboard/5075944-expected.txt:
        * platform/mac/editing/pasteboard/5134759-expected.txt:
        * platform/mac/editing/pasteboard/5156401-1-expected.txt:
        * platform/mac/editing/pasteboard/5247341-expected.txt:
        * platform/mac/editing/pasteboard/5387578-expected.txt:
        * platform/mac/editing/pasteboard/5478250-expected.txt:
        * platform/mac/editing/pasteboard/5483567-expected.txt:
        * platform/mac/editing/pasteboard/5601583-1-expected.txt:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.txt:
        * platform/mac/editing/pasteboard/input-field-1-expected.txt:
        * platform/mac/editing/pasteboard/merge-after-delete-1-expected.txt:
        * platform/mac/editing/pasteboard/merge-after-delete-2-expected.txt:
        * platform/mac/editing/pasteboard/merge-after-delete-expected.txt:
        * platform/mac/editing/pasteboard/merge-start-blockquote-expected.txt:
        * platform/mac/editing/pasteboard/paste-unrendered-select-expected.txt:
        * platform/mac/editing/pasteboard/prevent-block-nesting-01-expected.txt:
        * platform/mac/editing/pasteboard/select-element-1-expected.txt:
        * platform/mac/editing/selection/13804-expected.txt:
        * platform/mac/editing/selection/14971-expected.txt:
        * platform/mac/editing/selection/4397952-expected.txt:
        * platform/mac/editing/selection/4818145-expected.txt:
        * platform/mac/editing/selection/4866671-expected.txt:
        * platform/mac/editing/selection/4889598-expected.txt:
        * platform/mac/editing/selection/4895428-1-expected.txt:
        * platform/mac/editing/selection/4895428-2-expected.txt:
        * platform/mac/editing/selection/4895428-3-expected.txt:
        * platform/mac/editing/selection/4895428-4-expected.txt:
        * platform/mac/editing/selection/4932260-1-expected.txt:
        * platform/mac/editing/selection/4932260-2-expected.txt:
        * platform/mac/editing/selection/4932260-3-expected.txt:
        * platform/mac/editing/selection/4947387-expected.txt:
        * platform/mac/editing/selection/4960116-expected.txt:
        * platform/mac/editing/selection/4975120-expected.txt:
        * platform/mac/editing/selection/4983858-expected.txt:
        * platform/mac/editing/selection/5007143-2-expected.txt:
        * platform/mac/editing/selection/5007143-expected.txt:
        * platform/mac/editing/selection/5057506-2-expected.txt:
        * platform/mac/editing/selection/5057506-expected.txt:
        * platform/mac/editing/selection/5076323-1-expected.txt:
        * platform/mac/editing/selection/5076323-2-expected.txt:
        * platform/mac/editing/selection/5076323-3-expected.txt:
        * platform/mac/editing/selection/5081257-1-expected.txt:
        * platform/mac/editing/selection/5081257-2-expected.txt:
        * platform/mac/editing/selection/5099303-expected.txt:
        * platform/mac/editing/selection/5109817-expected.txt:
        * platform/mac/editing/selection/5136696-expected.txt:
        * platform/mac/editing/selection/5195166-1-expected.txt:
        * platform/mac/editing/selection/5195166-2-expected.txt:
        * platform/mac/editing/selection/5234383-1-expected.txt:
        * platform/mac/editing/selection/5234383-2-expected.txt:
        * platform/mac/editing/selection/5240265-expected.txt:
        * platform/mac/editing/selection/5333725-expected.txt:
        * platform/mac/editing/selection/5354455-1-expected.txt:
        * platform/mac/editing/selection/addRange-expected.txt:
        * platform/mac/editing/selection/caret-before-select-expected.txt:
        * platform/mac/editing/selection/contains-boundaries-expected.txt:
        * platform/mac/editing/selection/drag-select-1-expected.txt:
        * platform/mac/editing/selection/editable-html-element-expected.txt:
        * platform/mac/editing/selection/inconsistent-in-removeChildNode-expected.txt:
        * platform/mac/editing/selection/inline-closest-leaf-child-expected.txt:
        * platform/mac/editing/selection/mixed-editability-6-expected.txt:
        * platform/mac/editing/selection/mixed-editability-7-expected.txt:
        * platform/mac/editing/selection/move-by-sentence-linebreak-expected.txt:
        * platform/mac/editing/selection/select-all-005-expected.txt:
        * platform/mac/editing/selection/table-caret-1-expected.txt:
        * platform/mac/editing/selection/table-caret-2-expected.txt:
        * platform/mac/editing/selection/table-caret-3-expected.txt:
        * platform/mac/editing/selection/wrapped-line-caret-1-expected.txt:
        * platform/mac/editing/selection/wrapped-line-caret-2-expected.txt:
        * platform/mac/editing/style/4916887-expected.txt:
        * platform/mac/editing/style/5017613-1-expected.txt:
        * platform/mac/editing/style/5017613-2-expected.txt:
        * platform/mac/editing/style/5046875-1-expected.txt:
        * platform/mac/editing/style/5046875-2-expected.txt:
        * platform/mac/editing/style/5065910-expected.txt:
        * platform/mac/editing/style/5084241-expected.txt:
        * platform/mac/editing/style/5091898-expected.txt:
        * platform/mac/editing/style/5228141-expected.txt:
        * platform/mac/editing/style/5279521-expected.txt:
        * platform/mac/editing/style/font-family-with-space-expected.txt:
        * platform/mac/editing/style/fontsize-1-expected.txt:
        * platform/mac/editing/style/highlight-expected.txt:
        * platform/mac/editing/style/non-inheritable-styles-expected.txt:
        * platform/mac/editing/undo/5378473-expected.txt:
        * platform/mac/fast/block/float/relative-painted-twice-expected.txt:
        * platform/mac/fast/dom/delete-contents-expected.txt:
        * platform/mac/fast/events/context-no-deselect-expected.txt:
        * platform/mac/fast/events/label-focus-expected.txt:
        * platform/mac/fast/forms/input-appearance-focus-expected.txt:
        * platform/mac/fast/forms/input-text-click-inside-expected.txt:
        * platform/mac/fast/forms/input-text-click-outside-expected.txt:
        * platform/mac/fast/forms/input-text-double-click-expected.txt:
        * platform/mac/fast/forms/input-text-drag-down-expected.txt:
        * platform/mac/fast/forms/input-text-option-delete-expected.txt:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.txt:
        * platform/mac/fast/forms/textfield-overflow-expected.txt:
        * platform/mac/fast/inline/25277-2-expected.txt:
        * platform/mac/fast/inline/25277-expected.txt:
        * platform/mac/fast/lists/drag-into-marker-expected.txt:
        * platform/mac/fast/overflow/overflow-focus-ring-expected.txt:
        * platform/mac/fast/repaint/4776765-expected.txt:
        * platform/mac/fast/repaint/selection-after-delete-expected.txt:
        * platform/mac/fast/repaint/selection-after-remove-expected.txt:
        * platform/qt/editing/deleting/4845371-expected.txt:
        * platform/qt/editing/deleting/4866671-expected.txt:
        * platform/qt/editing/deleting/4875189-expected.txt:
        * platform/qt/editing/deleting/5026848-1-expected.txt:
        * platform/qt/editing/deleting/5026848-2-expected.txt:
        * platform/qt/editing/deleting/5026848-3-expected.txt:
        * platform/qt/editing/deleting/5032066-expected.txt:
        * platform/qt/editing/deleting/5091898-expected.txt:
        * platform/qt/editing/deleting/5099303-expected.txt:
        * platform/qt/editing/deleting/5115601-expected.txt:
        * platform/qt/editing/deleting/5126166-expected.txt:
        * platform/qt/editing/deleting/5144139-2-expected.txt:
        * platform/qt/editing/deleting/5156801-2-expected.txt:
        * platform/qt/editing/deleting/5168598-expected.txt:
        * platform/qt/editing/deleting/5272440-expected.txt:
        * platform/qt/editing/deleting/5300379-expected.txt:
        * platform/qt/editing/deleting/5390681-expected.txt:
        * platform/qt/editing/deleting/5408255-expected.txt:
        * platform/qt/editing/deleting/delete-at-start-or-end-expected.txt:
        * platform/qt/editing/deleting/delete-block-table-expected.txt:
        * platform/qt/editing/deleting/delete-hr-expected.txt:
        * platform/qt/editing/deleting/delete-link-1-expected.txt:
        * platform/qt/editing/deleting/delete-mixed-editable-content-001-expected.txt:
        * platform/qt/editing/deleting/delete-to-select-table-expected.txt:
        * platform/qt/editing/deleting/deletionUI-single-instance-expected.txt:
        * platform/qt/editing/deleting/merge-endOfParagraph-expected.txt:
        * platform/qt/editing/deleting/merge-no-br-expected.txt:
        * platform/qt/editing/deleting/merge-whitespace-pre-expected.txt:
        * platform/qt/editing/execCommand/4641880-1-expected.txt:
        * platform/qt/editing/execCommand/4641880-2-expected.txt:
        * platform/qt/editing/execCommand/4747450-expected.txt:
        * platform/qt/editing/execCommand/4786404-1-expected.txt:
        * platform/qt/editing/execCommand/4786404-2-expected.txt:
        * platform/qt/editing/execCommand/4916402-expected.txt:
        * platform/qt/editing/execCommand/4916541-expected.txt:
        * platform/qt/editing/execCommand/4916583-expected.txt:
        * platform/qt/editing/execCommand/4920488-expected.txt:
        * platform/qt/editing/execCommand/4920742-1-expected.txt:
        * platform/qt/editing/execCommand/4924441-expected.txt:
        * platform/qt/editing/execCommand/5049671-expected.txt:
        * platform/qt/editing/execCommand/5062376-expected.txt:
        * platform/qt/editing/execCommand/5080333-1-expected.txt:
        * platform/qt/editing/execCommand/5080333-2-expected.txt:
        * platform/qt/editing/execCommand/5119244-expected.txt:
        * platform/qt/editing/execCommand/5120591-expected.txt:
        * platform/qt/editing/execCommand/5136770-expected.txt:
        * platform/qt/editing/execCommand/5142012-1-expected.txt:
        * platform/qt/editing/execCommand/5142012-2-expected.txt:
        * platform/qt/editing/execCommand/5142012-3-expected.txt:
        * platform/qt/editing/execCommand/5144139-1-expected.txt:
        * platform/qt/editing/execCommand/5164796-expected.txt:
        * platform/qt/editing/execCommand/5207369-expected.txt:
        * platform/qt/editing/execCommand/5210032-expected.txt:
        * platform/qt/editing/execCommand/5432254-1-expected.txt:
        * platform/qt/editing/execCommand/5432254-2-expected.txt:
        * platform/qt/editing/execCommand/insert-list-empty-div-expected.txt:
        * platform/qt/editing/inserting/12882-expected.txt:
        * platform/qt/editing/inserting/4840662-expected.txt:
        * platform/qt/editing/inserting/4875189-1-expected.txt:
        * platform/qt/editing/inserting/4875189-2-expected.txt:
        * platform/qt/editing/inserting/4959067-expected.txt:
        * platform/qt/editing/inserting/4960120-1-expected.txt:
        * platform/qt/editing/inserting/4960120-2-expected.txt:
        * platform/qt/editing/inserting/5002441-expected.txt:
        * platform/qt/editing/inserting/5058163-2-expected.txt:
        * platform/qt/editing/inserting/5156401-2-expected.txt:
        * platform/qt/editing/inserting/editable-html-element-expected.txt:
        * platform/qt/editing/inserting/editable-inline-element-expected.txt:
        * platform/qt/editing/inserting/edited-whitespace-1-expected.txt:
        * platform/qt/editing/inserting/editing-empty-divs-expected.txt:
        * platform/qt/editing/inserting/insert-before-link-1-expected.txt:
        * platform/qt/editing/pasteboard/4806874-expected.txt:
        * platform/qt/editing/pasteboard/4840662-expected.txt:
        * platform/qt/editing/pasteboard/4944770-1-expected.txt:
        * platform/qt/editing/pasteboard/4989774-expected.txt:
        * platform/qt/editing/pasteboard/5027857-expected.txt:
        * platform/qt/editing/pasteboard/5032095-expected.txt:
        * platform/qt/editing/pasteboard/5065605-expected.txt:
        * platform/qt/editing/pasteboard/5071074-2-expected.txt:
        * platform/qt/editing/pasteboard/5071074-expected.txt:
        * platform/qt/editing/pasteboard/5075944-2-expected.txt:
        * platform/qt/editing/pasteboard/5075944-3-expected.txt:
        * platform/qt/editing/pasteboard/5075944-expected.txt:
        * platform/qt/editing/pasteboard/5134759-expected.txt:
        * platform/qt/editing/pasteboard/5156401-1-expected.txt:
        * platform/qt/editing/pasteboard/5245519-expected.txt:
        * platform/qt/editing/pasteboard/5247341-expected.txt:
        * platform/qt/editing/pasteboard/5387578-expected.txt:
        * platform/qt/editing/pasteboard/5478250-expected.txt:
        * platform/qt/editing/pasteboard/5483567-expected.txt:
        * platform/qt/editing/pasteboard/copy-paste-bidi-expected.txt:
        * platform/qt/editing/pasteboard/merge-after-delete-1-expected.txt:
        * platform/qt/editing/pasteboard/merge-after-delete-2-expected.txt:
        * platform/qt/editing/pasteboard/merge-after-delete-expected.txt:
        * platform/qt/editing/pasteboard/merge-start-blockquote-expected.txt:
        * platform/qt/editing/pasteboard/paste-unrendered-select-expected.txt:
        * platform/qt/editing/pasteboard/prevent-block-nesting-01-expected.txt:
        * platform/qt/editing/selection/13804-expected.txt:
        * platform/qt/editing/selection/4397952-expected.txt:
        * platform/qt/editing/selection/4818145-expected.txt:
        * platform/qt/editing/selection/4866671-expected.txt:
        * platform/qt/editing/selection/4889598-expected.txt:
        * platform/qt/editing/selection/4895428-2-expected.txt:
        * platform/qt/editing/selection/4895428-3-expected.txt:
        * platform/qt/editing/selection/4932260-1-expected.txt:
        * platform/qt/editing/selection/4932260-2-expected.txt:
        * platform/qt/editing/selection/4932260-3-expected.txt:
        * platform/qt/editing/selection/4960116-expected.txt:
        * platform/qt/editing/selection/4983858-expected.txt:
        * platform/qt/editing/selection/5007143-2-expected.txt:
        * platform/qt/editing/selection/5007143-expected.txt:
        * platform/qt/editing/selection/5076323-1-expected.txt:
        * platform/qt/editing/selection/5076323-2-expected.txt:
        * platform/qt/editing/selection/5076323-3-expected.txt:
        * platform/qt/editing/selection/5081257-1-expected.txt:
        * platform/qt/editing/selection/5081257-2-expected.txt:
        * platform/qt/editing/selection/5099303-expected.txt:
        * platform/qt/editing/selection/5136696-expected.txt:
        * platform/qt/editing/selection/5195166-1-expected.txt:
        * platform/qt/editing/selection/5195166-2-expected.txt:
        * platform/qt/editing/selection/5234383-1-expected.txt:
        * platform/qt/editing/selection/5234383-2-expected.txt:
        * platform/qt/editing/selection/5240265-expected.txt:
        * platform/qt/editing/selection/addRange-expected.txt:
        * platform/qt/editing/selection/caret-before-select-expected.txt:
        * platform/qt/editing/selection/editable-html-element-expected.txt:
        * platform/qt/editing/selection/mixed-editability-6-expected.txt:
        * platform/qt/editing/selection/mixed-editability-7-expected.txt:
        * platform/qt/editing/selection/move-by-sentence-linebreak-expected.txt:
        * platform/qt/editing/selection/select-all-005-expected.txt:
        * platform/qt/editing/selection/table-caret-1-expected.txt:
        * platform/qt/editing/selection/table-caret-2-expected.txt:
        * platform/qt/editing/selection/table-caret-3-expected.txt:
        * platform/qt/editing/style/4916887-expected.txt:
        * platform/qt/editing/style/5017613-1-expected.txt:
        * platform/qt/editing/style/5017613-2-expected.txt:
        * platform/qt/editing/style/5046875-1-expected.txt:
        * platform/qt/editing/style/5046875-2-expected.txt:
        * platform/qt/editing/style/5065910-expected.txt:
        * platform/qt/editing/style/5084241-expected.txt:
        * platform/qt/editing/style/5228141-expected.txt:
        * platform/qt/editing/style/5279521-expected.txt:
        * platform/qt/editing/style/font-family-with-space-expected.txt:
        * platform/qt/editing/style/fontsize-1-expected.txt:
        * platform/qt/editing/style/highlight-expected.txt:
        * platform/qt/editing/style/non-inheritable-styles-expected.txt:
        * platform/qt/editing/undo/5378473-expected.txt:
        * platform/qt/fast/dom/delete-contents-expected.txt:
        * platform/qt/fast/events/label-focus-expected.txt:
        * platform/qt/fast/forms/input-appearance-focus-expected.txt:
        * platform/qt/fast/forms/input-maxlength-2-expected.txt:
        * platform/qt/fast/forms/input-text-click-inside-expected.txt:
        * platform/qt/fast/forms/input-text-option-delete-expected.txt:
        * platform/qt/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/qt/fast/forms/textfield-drag-into-disabled-expected.txt:
        * platform/qt/fast/forms/textfield-overflow-expected.txt:
        * platform/qt/fast/overflow/overflow-focus-ring-expected.txt:
        * platform/qt/fast/repaint/4776765-expected.txt:
        * platform/qt/fast/repaint/selection-after-delete-expected.txt:
        * platform/qt/fast/repaint/selection-after-remove-expected.txt:
        * platform/win/editing/deleting/5168598-expected.txt:
        * platform/win/editing/inserting/4960120-1-expected.txt:
        * platform/win/editing/inserting/5607069-2-expected.txt:
        * platform/win/editing/inserting/5607069-3-expected.txt:
        * platform/win/editing/inserting/typing-tab-designmode-forms-expected.txt:
        * platform/win/editing/pasteboard/4806874-expected.txt:
        * platform/win/editing/selection/4895428-3-expected.txt:
        * platform/win/editing/selection/5136696-expected.txt:
        * platform/win/editing/selection/drag-select-1-expected.txt:
        * platform/win/fast/events/context-no-deselect-expected.txt:
        * platform/win/fast/events/label-focus-expected.txt:
        * platform/win/fast/forms/input-appearance-focus-expected.txt:
        * platform/win/fast/forms/input-text-click-inside-expected.txt:
        * platform/win/fast/forms/input-text-click-outside-expected.txt:
        * platform/win/fast/forms/input-text-double-click-expected.txt:
        * platform/win/fast/forms/input-text-drag-down-expected.txt:
        * platform/win/fast/forms/input-text-option-delete-expected.txt:
        * platform/win/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/win/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/win/fast/forms/textfield-drag-into-disabled-expected.txt:
        * platform/win/fast/forms/textfield-overflow-expected.txt:
        Updated BODY element index in test output (for some tests, it increased because of the
        implicitly added <head>, and for others, it decreased because mispositoned <script> is being
        moved into <head>).

        * webarchive/adopt-attribute-styled-body-webarchive-expected.webarchive:
        * webarchive/archive-empty-frame-dom-expected.webarchive:
        Updated to include the implicitly added <head> elements.

2009-05-04  Holger Hans Peter Freyther  <zecke@selfish.org>

        Disabling accessibility/canvas.html due the lack of a
        an AccessibilityController implementation in DRT.

        * platform/gtk/Skipped:

2009-05-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin, Oliver Hunt.

        Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage
        https://bugs.webkit.org/show_bug.cgi?id=25557

        * accessibility/canvas-expected.txt: Added.
        * accessibility/canvas.html: Added.

2009-05-04  Kai Brüning  <kai@granus.net>

        Reviewed by Eric Seidel.

        * fast/innerHTML/innerHTML-nbsp-expected.txt: Added.
        * fast/innerHTML/innerHTML-nbsp.xhtml: Added.

2009-05-04  Darin Adler  <darin@apple.com>

        * platform/gtk/Skipped: Disable a test that's timing out.

2009-05-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disabling new tests, as they are failing because of font
        configuration mismatch between my machine and the bot.

        * platform/gtk/Skipped:
        * platform/gtk/editing/spelling/spellcheck-attribute-expected.txt: Removed.
        * platform/gtk/svg/text/foreignObject-repaint-expected.txt: Removed.

2009-05-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Alexey Proskuryakov.

        Add results for two new tests, for the GTK+ port.

        * platform/gtk/editing/spelling/spellcheck-attribute-expected.txt: Added.
        * platform/gtk/svg/text/foreignObject-repaint-expected.txt: Added.

2009-05-04  Darin Adler  <darin@apple.com>

        Reviewed by Adam Roben.

        * media/video-size-intrinsic-scale-expected.txt: Changed to match test.
        * media/video-size-intrinsic-scale.html: Removed doubled "Movie" word.

2009-05-04  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=25545
        Bug 25545: HTMLMediaElement: display anamorphic video correctly
        
        Added 720x576i PAL anamorphic movie, extended video-size-intrinsic-scale
        test to check that it is sized correctly.

        * media/content/720x576i-anamorphic.mov: Added.
        * media/video-size-intrinsic-scale-expected.txt:
        * media/video-size-intrinsic-scale.html:

2009-05-03  Eric Seidel  <eric@webkit.org>

        No review, just adding missing results.

        Add Win results for editing/spelling/spellcheck-attribute
        Pixel results are still missing, but I have no easy way
        to add them, and the bots aren't generating them currently.

        * platform/win/editing/spelling/spellcheck-attribute-expected.txt: Added.

2009-05-03  Hironori Bono  <hbono@chromium.org>

        Reviewed by Eric Seidel.

        Bug 14552: Add a way to disable spell checking for specific element
        https://bugs.webkit.org/show_bug.cgi?id=14552

        Add a layout test which verifies "spellcheck" attributes work as written
        in this specification, "http://damowmow.com/playground/spellcheck.txt".
        This test expects the default value of an element is compatible with
        Firefox, i.e. inheriting from the parent element.

        * editing/spelling/spellcheck-attribute.html: Added.
        * platform/mac/editing/spelling/spellcheck-attribute-expected.checksum: Added.
        * platform/mac/editing/spelling/spellcheck-attribute-expected.png: Added.
        * platform/mac/editing/spelling/spellcheck-attribute-expected.txt: Added.

2009-05-03  Gustavo Noronha Silva  <gns@gnome.org>

        Three more failing tests caused by the disabling of the others.

        * platform/gtk/Skipped:

2009-05-03  Gustavo Noronha Silva  <gns@gnome.org>

        Disable more tests that fail on the bot, and those which fail when
        we disable some. Hopefully this finishes our massage to the
        skipped list and we can go back to working on fixing tests now.

        * platform/gtk/Skipped:

2009-05-03  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Weinig.

        Dump more metrics from svgsvgelement-ctm test.
        (And break up the first SVG into two SVGs for easier reading of the metrics)

        * svg/custom/svgsvgelement-ctm-expected.txt:
        * svg/custom/svgsvgelement-ctm.xhtml:

2009-05-03  Gustavo Noronha Silva  <gns@gnome.org>

        Some tests are still failing on the bot, despite working
        locally. Disabling for now.

        * platform/gtk/Skipped:

2009-05-03  Zan Dobersek  <zandobersek@gmail.com>

         Reviewed by Gustavo Noronha.

         Enable more tests that succeed and style up the list a bit.

         * platform/gtk/Skipped:

2009-05-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - another test for <rdar://problem/6617298> Typing delete on an unquoted
          blank line unquotes the preceding, quoted blank line

        * editing/deleting/type-delete-after-quote-2-expected.txt: Added.
        * editing/deleting/type-delete-after-quote-2.html: Added.

2009-05-02  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com
        https://bugs.webkit.org/show_bug.cgi?id=25352
        rdar://problem/6823239

        * http/tests/mime/resources/style-with-text-css-and-invalid-type.php:
        Copied from LayoutTests/http/tests/mime/resources/style-with-charset.php and adapted.
        * http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type-expected.txt: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html:
        Copied from LayoutTests/http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html and adapted.

2009-05-02  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson (except for the non-fast/loading test fixes).

        Bug 25491: WebFrame leak when a subframe removes itself
        https://bugs.webkit.org/show_bug.cgi?id=25491
        rdar://problem/6833859

        * fast/loading: Added.
        * fast/loading/resources: Added.
        * fast/loading/resources/subframe-that-removes-itself.html: Added.
        * fast/loading/subframe-removes-itself-expected.txt: Added.
        * fast/loading/subframe-removes-itself.html: Added.

        * fast/frames/location-put-after-removal-expected.txt: Updated.
        For some reason, fixing the loader sequence results in output that has one more blank line.

        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html:
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html:
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html:
        Updated tests so they don't terminate when the partial load of the subframe completes, but
        rather wait until the subsequent load of about:blank occurs.

        * platform/gtk/Skipped: Skip loading tests.

2009-05-02  Gustavo Noronha Silva  <gns@gnome.org>

        Skip test that sometimes fails in GTK+.

        * platform/gtk/Skipped:

2009-05-02  Gustavo Noronha Silva  <gns@gnome.org>

        Skip new test that does not represent a regression.

        * platform/gtk/Skipped:

2009-04-30  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adele Peterson and Darin Adler.

        <rdar://problem/4815598> Stuck in double spacing mode after pasting a
        paragraph with padding/margin (or table mode !)

        A lot of the issues in this bug were resolved on Mail's side by using
        WebKit to convert to plain text.  This is the final issue, that floating
        style stays on copied nodes causing them to float when they are pasted
        which is not what the user intended.

        * editing/pasteboard/copy-paste-float-expected.txt: Added.
        * editing/pasteboard/copy-paste-float.html: Added.

2009-05-01  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Skip the following failing tests:
        fast/replaced/table-percent-height-text-controls.html
        media/video-document-types.html

        * platform/gtk/Skipped:

2009-04-30  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Add layout test for rdar:/68455379.

        * fast/js/regexp-range-bound-ffff-expected.txt: Added.
        * fast/js/regexp-range-bound-ffff.html: Added.
        * fast/js/resources/regexp-range-bound-ffff.js: Added.

2009-04-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        MediaDocument falls back to plug-in unnecessarily
        https://bugs.webkit.org/show_bug.cgi?id=25504
        <rdar://problem/6844702>

        Test case for MediaDocument with previously unsupported track
        types. Disabled on Windows for now until https://bugs.webkit.org/show_bug.cgi?id=25220
        has been fixed.
    
        * media/content/counting.mp4: Added.
        * media/video-document-types-expected.txt: Added.
        * media/video-document-types.html: Added.
        * platform/win/Skipped:

2009-04-30  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.
        
        Fix tests that depend on Mac-specific metrics now that text controls
        are sized according to font metrics (r43007).
        
        Fixes https://bugs.webkit.org/show_bug.cgi?id=25474.

        * fast/forms/textarea-appearance-wrap-expected.txt:
        * fast/forms/textarea-appearance-wrap.html:
        This test only really cares that a line-wrap character is submitted
        with forms that have the appropriate wrap value and not with other forms.
        So checking that the submit contents have a line-wrap character, instead of
        looking for it in a specific place, is sufficient. This gets around that we
        wrap in a different place in some cases on Mac and Windows.

        * fast/forms/textarea-hard-linewrap-expected.txt: Removed.
        * fast/forms/textarea-hard-linewrap.html: Removed.
        This test is redundant with fast/forms/textarea-appearance-wrap.html.

        * fast/replaced/table-percent-height-expected.txt:
        * fast/replaced/table-percent-height-text-controls-expected.txt: Added.
        * fast/replaced/table-percent-height-text-controls.html: Added.
        * fast/replaced/table-percent-height.html:
        Pulled out the cases in table-percent-height.html that had text controls and moved
        them into their own test. The new test doesn't assert specific metrics, it just
        spits them out. This allows us to have different expected results for Windows and
        Mac without having "FAIL" messages in the expected results. It's not perfect, but
        it seems better than any alternatives I could come up with. We do still print "FAIL"
        if the results don't match any platform.

        * platform/win/Skipped:
        * platform/win/fast/replaced/table-percent-height-text-controls-expected.txt: Added.

2009-04-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines
        
        Test accessibility bounding box with CSS transforms.

        * accessibility/transformed-element-expected.txt: Added.
        * accessibility/transformed-element.html: Added.

2009-04-30  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Add a first text iterator test. We'll add more later.
        This test includes some known expected failures. At some point we'll fix those.

        * editing/text-iterator: Added.
        * editing/text-iterator/basic-iteration-expected.txt: Added.
        * editing/text-iterator/basic-iteration.html: Added.
        * editing/text-iterator/resources: Added.
        * editing/text-iterator/resources/TEMPLATE.html: Copied from editing/selection/resources/TEMPLATE.html.
        * editing/text-iterator/resources/basic-iteration.js: Added.

        * platform/gtk/Skipped: Skip editing/text-iterator since only Mac DumpRenderTree has this at the moment.
        * platform/qt/Skipped: Ditto.
        * platform/win/Skipped: Ditto.

2009-04-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Test for bug where the WorkerLocation and WorkerNavigator wrappers would be
        collected even if the WorkerContext is still alive.

        * fast/workers/worker-context-gc-expected.txt: Added.
        * fast/workers/worker-context-gc.html: Added.

2009-04-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25379
        <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails

        * fast/forms/multiple-selected-options-innerHTML-expected.txt: Added.
        * fast/forms/multiple-selected-options-innerHTML.html: Added.

2009-04-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - updated results for https://bugs.webkit.org/show_bug.cgi?id=25476
          <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4
          animation is jittery

        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
        * platform/mac/svg/custom/focus-ring-expected.checksum:
        * platform/mac/svg/custom/focus-ring-expected.png:
        * platform/mac/svg/custom/image-small-width-height-expected.checksum:
        * platform/mac/svg/custom/image-small-width-height-expected.png:

2009-04-30  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej Stachowiak

        Test for <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop
        https://bugs.webkit.org/show_bug.cgi?id=21193

        * fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution-expected.txt: Added.
        * fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html: Added.

2009-04-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Skip one more video test that sometimes fails.

        * platform/gtk/Skipped:

2009-04-30  Adam Roben  <aroben@apple.com>

        Add a sometimes-timing-out test to the Windows skipped file

        See Bug 25483: http/tests/navigation/redirect-cycle.html sometimes
        times out on Windows
        <https://bugs.webkit.org/show_bug.cgi?id=25483>

        * platform/win/Skipped: Added
        http/tests/navigation/redirect-cycle.html.

2009-04-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Skip two more tests that I had accidentaly generated results for,
        locally.

        * platform/gtk/Skipped:

2009-04-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Also disable new tests, and tests that are using stderr.

        * platform/gtk/Skipped:

2009-04-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Disabling more video tests that seem to come and go.

        * platform/gtk/Skipped:

2009-04-30  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Hopefully last try making the bot green.

        * platform/gtk/Skipped:

2009-04-30  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Rubber-stamped by Simon Hausmann.

        [Qt] Exclude canvas-putImageData.html from the skipped list since
        Canvas's putImageData is implemented in r41355 already.

        * platform/qt/Skipped: Removed canvas-putImageData.html.

2009-04-29  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=25440
        setTimeout should stringify non-string/non-function first arguments

        * fast/dom/Window/setTimeout-string-argument-expected.txt: Added.
        * fast/dom/Window/setTimeout-string-argument.html: Added.

2009-04-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - test and updated results for <rdar://problem/6609509> Select All and
          then Delete should put Mail editing back into the same state as a new
          message

        * editing/deleting/in-visibly-empty-root-expected.txt: Added.
        * editing/deleting/in-visibly-empty-root.html: Added.
        * platform/mac/editing/deleting/delete-at-start-or-end-expected.txt:

2009-04-23  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        Re-write image-clipped-hit.svg to be dumpAsText() (and clean up the code to be less insane)

        * platform/mac/svg/custom/image-clipped-hit-expected.checksum: Removed.
        * platform/mac/svg/custom/image-clipped-hit-expected.png: Removed.
        * platform/mac/svg/custom/image-clipped-hit-expected.txt: Removed.
        * platform/qt/svg/custom/image-clipped-hit-expected.txt: Removed.
        * svg/custom/image-clipped-hit.svg:

2009-04-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Second try at making the bot green.

        * platform/gtk/Skipped:

2009-04-29  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=24168
        RTL: Home/End key does not behave correctly in mixed bidi text in RTL document

        * editing/selection/extend-selection-expected.txt: Added result for extend in
        lineBoundary.
        * editing/selection/extend-selection.html: Added test cases and script for extend
        in lineBoundary.
        * editing/selection/home-end-expected.txt: Added.
        * editing/selection/home-end.html: Added.

2009-04-29  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.
        
        Fix this test to only use a setTimeout in IE. It doesn't need a timeout in WebKit
        and the timeout requires using waitUntilDone/notifyDone, which doesn't play
        nicely with JS tests.
        
        See https://bugs.webkit.org/show_bug.cgi?id=25471

        * fast/forms/resources/textarea-metrics.js:
        (assertTextareaMetrics):
        * fast/forms/textarea-metrics-expected.txt:
        * platform/win/fast/forms/textarea-metrics-expected.txt:
        * platform/win/Skipped:

2009-04-29  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.
        
        Put this file in the right place to fix the bot failure.

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

2009-04-29  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Skip fast/forms/textarea-metrics.html. It's printing the TEST PASSED
        before the test is finished. There's a race with any JS tests that
        use setTimeout. Fortunately, this test doesn't need the setTimeout,
        so it's easy to fix.
        
        See https://bugs.webkit.org/show_bug.cgi?id=25471
        
        * platform/win/Skipped:

2009-04-29  Eric Seidel  <eric@webkit.org>

        No review, rolling out a patch.

        Revert http://trac.webkit.org/changeset/43019

        New tests failed because I removed the tabs from them
        when landing (since we avoid tabs in WebKit files).
        I couldn't tell if the new results were correct with
        spaces or not.

        * editing/selection/extend-selection-expected.txt:
        * editing/selection/extend-selection.html:
        * editing/selection/home-end-expected.txt: Removed.
        * editing/selection/home-end.html: Removed.

2009-04-29  Eric Seidel  <eric@webkit.org>

        No review, rolling out a patch.

        Revert 43020 as it caused accessibility/lists.html to fail
        and no one is around to tell me if it's a progression or not.

        * platform/win/accessibility/listitem-role-expected.txt: Removed.
        * platform/win/accessibility/listitem-role.html: Removed.

2009-04-29  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>

        Reviewed by Jon Honeycutt.

        Add a new accessibility role for list items. Part of
        http://bugs.webkit.org/show_id.cgi?id=20013

        * platform/win/accessibility: Added a new directory to add
        windows specific test case.
        * platform/win/accessibility/listitem-role-expected.txt: Added. This 
        test case is added to check if role attribute of list item elements is
        populated correctly or not.
        * platform/win/accessibility/listitem-role.html: Added. This file
        contains the expected output for the new test case that is added in 
        this fix.

2009-04-29  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=24168
        RTL: Home/End key does not behave correctly in mixed bidi text in RTL document

        * editing/selection/extend-selection-expected.txt: Added result for extend in
        lineBoundary.
        * editing/selection/extend-selection.html: Added test cases and script for extend
        in lineBoundary.
        * editing/selection/home-end-expected.txt: Added.
        * editing/selection/home-end.html: Added.

2009-04-29  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>

        Reviewed by Adele Peterson.

        Populate the role attribute for document objects correctly
        on windows. Added a new test case for this fix. This fix is
        specific for windows. So, added a new test case in windows
        specific directory.
        https://bugs.webkit.org/show_bug.cgi?id=23583

        * platform/win/accessibility: Added a new directory i.e. accessibility.
        * platform/win/accessibility/document-role-expected.txt: Added a new
        test case for populating role attribute of document objects.
        * platform/win/accessibility/document-role.html: This file represents
        the expected output for the test case that is added.

2009-04-29  Mike Belshe  <mike@belshe.com>

        Reviewed by Eric Seidel.

        Update location while page is loading.
        https://bugs.webkit.org/show_bug.cgi?id=21597

        * fast/dom/Window/window-open-pending-url-expected.txt:
        * fast/dom/location-new-window-no-crash-expected.txt:
        * fast/dom/resources/location-new-window-no-crash.js:

2009-04-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Mark Rowe.

        Disable failing tests to make the bot green for its new debut, so
        that we can more easily track regressions.

        * platform/gtk/Skipped:

2009-04-28  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        Make textarea and text input metrics more closely match IEs.

        textarea-metrics.js tests the client/scroll/offset width and height
        of textareas with various CSS applied to them in both quirks
        and strict mode.

        svg-fonts-in-text-controls tests that the average and max character
        width of an svg font are correctly retrieved.

        text-control-intrinsic-widths tests the widths of inputs and textareas with
        different size/cols and different fonts set.
        
        Also, there are 3 tests that have Mac-specific metrics in their asserts. 
        The results are actually correct for Windows, so I've added them 
        to the Skipped list and promise I'll fix them in the next couple days.
        It's just hard to manage a change that requires updating such a large
        number of test expectations. The three tests are:
          fast/forms/textarea-appearance-wrap.html
          fast/forms/textarea-hard-linewrap.html
          fast/replaced/table-percent-height.html
        
        Excluding list of updated results as the list is so long.

2009-04-29  Oliver Hunt  <oliver@apple.com>

        Reviewed by Steve Falkenburg.

        Add a test case for non-string value for Function.displayName in the profiler.

        * fast/profiler/named-functions-with-display-names-expected.txt:
        * fast/profiler/named-functions-with-display-names.html:

2009-04-29  Eric Carlson  <eric.carlson@apple.com>

        Disable media/video-zoom-controls.html on Windows for now.

        * platform/win/Skipped: add media/video-zoom-controls.html.

2009-04-29  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Simon Fraser.

        Updated expected results after Qt's GraphicsContext fixes.

        * platform/qt/fast/canvas/set-colors-expected.txt:

2009-04-28  Alexey Proskuryakov  <ap@webkit.org>

        Fix the test for <https://bugs.webkit.org/show_bug.cgi?id=25420> - I broke it when
        experimenting with other aspects of the issue, so it didn't check what it should have checked.

        * http/tests/xmlhttprequest/detaching-frame-2.html:

2009-04-28  David Carson  <dacarson@apple.com>

        Reviewed by David Kilzer.

        Restore alignment to device pixel boundaries.
        https://bugs.webkit.org/show_bug.cgi?id=25458

        Updated test results with progressions.

        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
        Yin-yang image shifted slightly to pixel boundaries.

        * platform/mac/svg/custom/focus-ring-expected.checksum:
        * platform/mac/svg/custom/focus-ring-expected.png:
        Focus rings drawn around rotated "focus text" and checkered
        images shifted slightly to pixel boundaries.

        * platform/mac/svg/custom/image-small-width-height-expected.checksum:
        * platform/mac/svg/custom/image-small-width-height-expected.png:
        Checkered images shifted slightly to pixel boundaries.

2009-04-28  David Kilzer  <ddkilzer@apple.com>

        Added missing pixel test results.

        * platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.checksum: Added.
        * platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.png: Added.
        * platform/mac/fast/table/cell-coalescing-expected.checksum: Added.
        * platform/mac/fast/table/cell-coalescing-expected.png: Added.
        * platform/mac/webarchive/adopt-attribute-styled-body-webarchive-expected.checksum: Added.
        * platform/mac/webarchive/adopt-attribute-styled-body-webarchive-expected.png: Added.
        * platform/mac/webarchive/adopt-attribute-styled-node-webarchive-expected.checksum: Added.
        * platform/mac/webarchive/adopt-attribute-styled-node-webarchive-expected.png: Added.
        * platform/mac/webarchive/adopt-inline-styled-node-webarchive-expected.checksum: Added.
        * platform/mac/webarchive/adopt-inline-styled-node-webarchive-expected.png: Added.

2009-04-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25420
        <rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin

        The test in intentionally vague, as the behavior is not fully specified yet, and any way to
        prevent cross-origin load is fine for now.

        * http/tests/xmlhttprequest/detaching-frame-2-expected.txt: Added.
        * http/tests/xmlhttprequest/detaching-frame-2.html: Added.
        * http/tests/xmlhttprequest/resources/echo-host.php: Added.

2009-04-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Add a couple table hit tests
        https://bugs.webkit.org/show_bug.cgi?id=21892

        * svg/hittest/svg-inside-display-table-expected.txt: Added.
        * svg/hittest/svg-inside-display-table.xhtml: Added.
        * svg/hittest/svg-inside-table-expected.txt: Added.
        * svg/hittest/svg-inside-table.xhtml: Added.

2009-04-28  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Test for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line

        * editing/deleting/type-delete-after-quote.html: Added.
        * platform/mac/editing/deleting/delete-4038408-fix-expected.txt: This expected result change reflects a change in how the editing is done, 
          but the document structure remains the same, and there are no visible changes to the result.
        * platform/mac/editing/deleting/type-delete-after-quote-expected.checksum: Added.
        * platform/mac/editing/deleting/type-delete-after-quote-expected.png: Added.
        * platform/mac/editing/deleting/type-delete-after-quote-expected.txt: Added.

2009-04-28  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Add text gradient test to cover
        https://bugs.webkit.org/show_bug.cgi?id=25403

        * platform/mac/svg/text/text-gradient-positioning-expected.checksum: Added.
        * platform/mac/svg/text/text-gradient-positioning-expected.png: Added.
        * platform/mac/svg/text/text-gradient-positioning-expected.txt: Added.
        * svg/text/text-gradient-positioning.svg: Added.

2009-04-28  Eric Seidel  <eric@webkit.org>

        Reviewed by David Hyatt.

        Add text repaint test to cover
        https://bugs.webkit.org/show_bug.cgi?id=16188

        * platform/mac/svg/text/text-repaint-rects-expected.checksum: Added.
        * platform/mac/svg/text/text-repaint-rects-expected.png: Added.
        * platform/mac/svg/text/text-repaint-rects-expected.txt: Added.
        * svg/text/text-repaint-rects.xhtml: Added.

2009-04-28  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler

        <rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed

        * webarchive/adopt-attribute-styled-body-webarchive-expected.webarchive: Added.
        * webarchive/adopt-attribute-styled-body-webarchive.html: Added.
        * webarchive/resources/adopt-attribute-styled-body-iframe.html: Added.
        * webarchive/resources/adopt-attribute-styled-body-second-window.html: Added.

        * webarchive/adopt-attribute-styled-node-webarchive-expected.webarchive: Added.
        * webarchive/adopt-attribute-styled-node-webarchive.html: Added.
        * webarchive/resources/adopt-attribute-styled-node-second-window.html: Added.

        * webarchive/adopt-inline-styled-node-webarchive-expected.webarchive: Added.
        * webarchive/adopt-inline-styled-node-webarchive.html: Added.
        * webarchive/resources/adopt-inline-styled-node-second-window.html: Added.

2009-04-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Weinig.

        Fix foreignObject transform order
        https://bugs.webkit.org/show_bug.cgi?id=25433

        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum:
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.png:
        * 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-2-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.png:
        * 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-4-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.png:
        * 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-6-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.png:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.checksum:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.png:

2009-04-27  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Simplify how SVG containers paint
        https://bugs.webkit.org/show_bug.cgi?id=25431

        All three of these changes are progressions.
        We're now respecting border and padding in absoluteTransform()
        which changes the dumped coordinates for these tests.

        * platform/mac/svg/custom/circle-move-invalidation-expected.txt: 1px border causes path offset
        * platform/mac/svg/custom/svg-float-border-padding-expected.txt: now respects 20px of border/padding
        * platform/mac/svg/custom/viewport-update2-expected.txt: now respects 5px of border/padding, SVG origin is effectively 5,5 (not 0,0)

2009-04-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Alder.

        Bug 25453: AX: fall back to PLACEHOLDER attr if form element is not labeled
        https://bugs.webkit.org/show_bug.cgi?id=25453

        * accessibility/placeholder-expected.txt: Added.
        * accessibility/placeholder.html: Added.

2009-04-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 25452: AX: Don't create addition space AXStaticText element for every bold or link tag
        https://bugs.webkit.org/show_bug.cgi?id=25452
 
        * accessibility/ignore-spacer-elements-expected.txt: Added.
        * accessibility/ignore-spacer-elements.html: Added.
        * platform/mac/accessibility/internal-link-anchors2-expected.txt:

2009-04-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 25449: AX: Respect the alt tag of ARIA button as AXDescription
        https://bugs.webkit.org/show_bug.cgi?id=25449

        * accessibility/img-aria-button-alt-tag-expected.txt: Added.
        * accessibility/img-aria-button-alt-tag.html: Added.

2009-04-28  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adam Roben

        <rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows
        https://bugs.webkit.org/show_bug.cgi?id=25094

        * platform/win/Skipped: Re-enable video-size-intrinsic-scale.html.

2009-04-27  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Disable test intermittent failing test.

        * svg/custom/filter-source-alpha.svg: Removed.
        * svg/custom/filter-source-alpha.svg-disabled: Copied from svg/custom/filter-source-alpha.svg.

2009-04-27  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser

        Fix video-played.html layout test.

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

        We implement playForMillisecs() which makes sure the video
        will have been playing for a minimum time.

        Note, this does not ensure a strict synchronization between the time
        asked and the media playback. But given that media playback is the
        slow part we just need to compensate for the delay involved by playback.
        (And not the other way around.)

        Moreover, we split the test in 3 in order to be more gentle which
        slower machines that may tend to timeout more easily on those tests.

        * media/video-played-collapse-expected.txt: Added.
        * media/video-played-collapse.html: Added.
        * media/video-played-expected.txt:
        * media/video-played-reset-expected.txt: Added.
        * media/video-played-reset.html: Added.
        * media/video-played.html:
        - Split tests in multiple files.
        - Makes sure we always play as much as requested by using
        playForMillisecs();
        * media/video-played.js: Added.
        (testRanges):
        (nextTest):
        (pause):
        (canplay):
        (willCreateNewRange):
        (startPlayingInNewRange):
        (startPlaying):
        (secToMilli):
        (milliToSecs):
        (playForMillisecs.callPauseIfTimeIsReached):
        (playForMillisecs):
        (videoPlayedMain):

2009-04-27  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work

        * fast/css/nested-layers-with-hover.html: Added.
        * platform/mac/fast/css/nested-layers-with-hover-expected.checksum: Added.
        * platform/mac/fast/css/nested-layers-with-hover-expected.png: Added.
        * platform/mac/fast/css/nested-layers-with-hover-expected.txt: Added.

2009-04-23  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=22242
        
        Add pixel test for zoomed video with controls, with and without a transform.

        * media/video-zoom-controls.html: Added.
        * platform/mac/media/video-zoom-controls-expected.checksum: Added.
        * platform/mac/media/video-zoom-controls-expected.png: Added.
        * platform/mac/media/video-zoom-controls-expected.txt: Added.

2009-04-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson

        <rdar://problem/6822225> Full page zooming of <video> element in the browser window doesn't work well
        
        Skip the test added for https://bugs.webkit.org/show_bug.cgi?id=25029, which will
        get re-enabled once <rdar://problem/6822344> is fixed.

        * platform/mac/Skipped:

2009-04-27  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore • -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830
        https://bugs.webkit.org/show_bug.cgi?id=25428

        Re-enable test that was crashing

        * platform/mac-snowleopard/Skipped:

2009-04-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=25412
        The Window object should be an EventTarget

        * fast/dom/Window/dispatchEvent-expected.txt: Added.
        * fast/dom/Window/dispatchEvent.html: Added.
        * fast/dom/Window/resources/dispatchEvent.js: Added.
        * fast/dom/Window/window-properties-expected.txt
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-04-25  Gustavo Noronha Silva  <gns@gnome.org>

        Go back to disabling accessibility tests as a whole, since we have
        no real way of checking them, and no accessibilityController
        implementation.

        * platform/gtk/Skipped:

2009-04-25  Gustavo Noronha Silva  <gns@gnome.org>

        Disable tests that need eventSender, not yet implemented in our
        DumpRenderTree.

        * platform/gtk/Skipped:

2009-04-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler
        
        https://bugs.webkit.org/show_bug.cgi?id=25390
        
        Testcase for point mapping with transform and perspective
        with a non-transformed element in between.

        * transforms/3d/point-mapping/3d-point-mapping-3.html: Added.

2009-04-25  Adele Peterson  <adele@apple.com>

        Reviewed by Oliver Hunt.

        Test for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete
        https://bugs.webkit.org/show_bug.cgi?id=25396

        * editing/deleting/delete-br-013.html: Added.
        * platform/mac/editing/deleting/delete-br-013-expected.checksum: Added.
        * platform/mac/editing/deleting/delete-br-013-expected.png: Added.
        * platform/mac/editing/deleting/delete-br-013-expected.txt: Added.

2009-04-24  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser
        
        https://bugs.webkit.org/show_bug.cgi?id=25380

        Fixed a race condition on the first 'played' attribute test start.

        Previously we were starting nearly right away to play, and probably
        before receiving the 'canplay' event. Now we ensure we'll wait for
        that 'canplay' event before attempting to play.

        * media/video-played-expected.txt: Updated
        * media/video-played.html:

2009-04-24  Geoffrey Garen  <ggaren@apple.com>

        Rubber stamped by Eric Seidel.
        
        Updated test to turn the buildbot green after Eric's last check-in.

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:

2009-04-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=25383
        Changing SVG size via JS does not update CSS width/height

        Update viewport-update2.svg to include a border
        (and thus make the bug visually obvious)

        * platform/mac/svg/custom/viewport-update2-expected.checksum:
        * platform/mac/svg/custom/viewport-update2-expected.png:
        * platform/mac/svg/custom/viewport-update2-expected.txt:
        * svg/custom/viewport-update2.svg:

2009-04-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Fix RenderSVGImage to dump with full bounds and style information
        https://bugs.webkit.org/show_bug.cgi?id=25377

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-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/color-prof-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-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-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-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/struct-image-01-t-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-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/carto.net/scrollbar-expected.txt:
        * platform/mac/svg/carto.net/selectionlist-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/group-opacity-expected.txt:
        * platform/mac/svg/custom/image-clipped-hit-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/pointer-events-image-expected.txt:
        * platform/mac/svg/custom/repaint-on-image-bounds-change-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/custom/text-image-opacity-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:

2009-04-24  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser

        <rdar://problem/6805928> Re-export layout test MPEG-4 file to remove unusual edit

        Use better mp4 test file for media tests. The original mp4 file had an unusual
        edit (non-zero start time) which is not supported by all media engines. The new
        movie should also give more useful pixel test results.

        * media/content/test.mp4: Update the movie.
        * media/progress-event-total-expected.txt: Update test results to match movie duration and
        content changes.
        * media/progress-event-total.html: Ditto.
        * media/video-currentTime-set-expected.txt: Ditto.
        * media/video-loop-expected.txt: Ditto.
        * platform/mac/media/video-aspect-ratio-expected.checksum: Ditto.
        * platform/mac/media/video-aspect-ratio-expected.png: Ditto.
        * platform/mac/media/video-controls-rendering-expected.checksum: Ditto.
        * platform/mac/media/video-controls-rendering-expected.png: Ditto.
        * platform/mac/media/video-display-toggle-expected.checksum: Ditto.
        * platform/mac/media/video-display-toggle-expected.png: Ditto.
        * platform/mac/media/video-empty-source-expected.checksum: Ditto.
        * platform/mac/media/video-layer-crash-expected.checksum: Ditto.
        * platform/mac/media/video-layer-crash-expected.png: Ditto.
        * platform/mac/media/video-transformed-expected.checksum: Ditto.
        * platform/mac/media/video-transformed-expected.png: Ditto.
        * platform/mac/media/video-zoom-expected.checksum: Ditto.
        * platform/mac/media/video-zoom-expected.png: Ditto.

2009-04-24  Kevin McCullough  <kmccullough@apple.com>

        When I moved the files I forgot to update the location of the image!

        * platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Added.
        * platform/mac/editing/deleting/deletionUI-differing-background.html: Added.

2009-04-24  Kevin McCullough  <kmccullough@apple.com>

        - Build fix.  Removed this test until I can figure out why it's failing.

        * platform/mac-leopard/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
        * platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Removed.
        * platform/mac/editing/deleting/deletionUI-differing-background.html: Removed.

2009-04-24  Eric Roman  <eroman@chromium.org>

        Reviewed by Darin Adler.

        Add a test for <https://bugs.webkit.org/show_bug.cgi?id=25335>.

        To pass, this test must not access invalid memory when run (won't necessarily manifest as a crash for failures).

        * editing/selection/doubleclick-whitespace-img-crash-expected.txt: Added.
        * editing/selection/doubleclick-whitespace-img-crash.html: Added.

2009-04-24  Fumitoshi Ukai  <ukai@google.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=25257
        Verify XMLHttpRequest has correct attribute value by default.

        * fast/xmlhttprequest/resources/xmlhttprequest-default-attributes.js: Added.
        * fast/xmlhttprequest/xmlhttprequest-default-attributes-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-default-attributes.html: Added.

2009-04-24  Kevin McCullough  <kmccullough@apple.com>

        Speculative fix for leopard build-bot until I have a fix on leopard.

        * platform/mac-leopard/editing: Added.
        * platform/mac-leopard/editing/deleting: Added.
        * platform/mac-leopard/editing/deleting/deletionUI-differing-background-expected.txt: Added.

2009-04-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler
        
        https://bugs.webkit.org/show_bug.cgi?id=23219
        
        Testcase for transitions of background-position, -webkit-background-size,
        -webkit-mask-position and -webkit-mask-size.

        * transitions/background-transitions-expected.txt: Added.
        * transitions/background-transitions.html: Added.
        * transitions/mask-transitions-expected.txt: Added.
        * transitions/mask-transitions.html: Added.

2009-04-24  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Updating these pixel results to the generated results on Leopard.

        * platform/mac/editing/inserting/5510537-expected.checksum:
        * platform/mac/editing/inserting/5510537-expected.png:
        * platform/mac/editing/inserting/6703873-expected.checksum:
        * platform/mac/editing/inserting/6703873-expected.png:
        * platform/mac/editing/selection/select-all-iframe-expected.checksum:
        * platform/mac/editing/selection/select-all-iframe-expected.png:

2009-04-24  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Test for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup

        * editing/pasteboard/paste-blockquote-after-blockquote.html: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.checksum: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.png: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt: Added.

2009-04-24  Ariya Hidayat  <ariya.hidayat@nokia.com>

        Reviewed by Simon Hausmann.

        Added Qt-specific expected result for color conversion.

        This is to compensate the lack of color profile in Qt to do
        color conversion, hence CMYK 0,0,0,1 always give pure black (#000)
        instead of very dark black.

        * platform/qt/fast/canvas/set-colors-expected.txt: Added.

2009-04-23  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Updating test to make it easier to see the blockquote in the results.

        * editing/pasteboard/paste-blockquote-into-blockquote-3.html:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.checksum:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.png:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.txt:

2009-04-23  Mark Rowe  <mrowe@apple.com>

        Move deletionUI-helpers.js in to the correct location so that the
        tests that use it can find it.

        * platform/mac/editing/deleting/resources/deletionUI-helpers.js: Renamed from LayoutTests/editing/deleting/resources/deletionUI-helpers.js.

2009-04-23  Francisco Tolmasky  <francisco@280north.com>

        BUG 24604: WebKit profiler reports incorrect total times
        <https://bugs.webkit.org/show_bug.cgi?id=24604>

        Reviewed by Timothy Hatcher and Kevin McCullough.

        Changed profile.treeProfile to just profile, since these aren't generated in C++ anymore.
        Removed heavy-view test since heavy-view isn't an actual tree that is generated in C++ land anymore,
        but rather just a different display of the normal treeProfile in the JS data grid.

        * fast/profiler/heavy-view-expected.txt: Removed.
        * fast/profiler/heavy-view.html: Removed.
        * fast/profiler/resources/profiler-test-JS-resources.js: profiles[i].treeProfile -> profiles[i].treeProfile
        (printProfilesDataWithoutTime):

2009-04-23  Kevin McCullough  <kmccullough@apple.com>

        - Windows build fix.  Mac only tests go in platform/mac

        * editing/deleting/deletionUI-borders.html: Removed.
        * editing/deleting/deletionUI-differing-background.html: Removed.
        * editing/deleting/deletionUI-minimum-size.html: Removed.
        * platform/mac/editing/deleting/deletionUI-borders.html: Copied from editing/deleting/deletionUI-borders.html.
        * platform/mac/editing/deleting/deletionUI-differing-background.html: Copied from editing/deleting/deletionUI-differing-background.html.
        * platform/mac/editing/deleting/deletionUI-minimum-size.html: Copied from editing/deleting/deletionUI-minimum-size.html.

2009-04-23  Darin Adler  <darin@apple.com>

        Removed some stray files that Geoff missed when rolling out changes.

        * svg/custom/resources/svg-fonts-in-text-controls.js: Removed.
        * svg/custom/svg-fonts-in-text-controls-expected.txt: Removed.

2009-04-23  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff "Dread Pirate Roberts" Garen.

        This test tries to force itself into PCRE; modify the
        test so that as well as dodging WREC it can also avoid
        YARR!

        * fast/js/resources/regexp-overflow-too-big.js:

2009-04-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adam Roben.

        <rdar://problem/6808109> "Deletion UI" is not available for many
        portions of HTML content

        This patch makes the deletion UI show up in some new situations:
        1) If a block's background color is different from its parent's
        2) If a block has a background image.
        3) If a block has a single visible border.
        However the block must now not only be at least a minimum width and
        height, but also exceed a minimum area.  In practice this has led to
        much better element selection.

        * editing/deleting/deletionUI-borders.html: Added.
        * editing/deleting/deletionUI-differing-background.html: Added.
        * editing/deleting/deletionUI-minimum-size.html: Added.
        * editing/deleting/resources: Added.
        * editing/deleting/resources/deletionUI-helpers.js: Added.
        (debug):
        (determineDeletionUIExistence):
        * platform/mac/editing/deleting/deletionUI-borders-expected.txt: Added.
        * platform/mac/editing/deleting/deletionUI-differing-background-expected.txt: Added.
        * platform/mac/editing/deleting/deletionUI-minimum-size-expected.txt: Added.

2009-04-23  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.
        https://bugs.webkit.org/show_bug.cgi?id=25313
        Missing scroll bars in GMail.

        * fast/overflow/overflow-y-scroll-expected.txt: Added.
        * fast/overflow/overflow-y-scroll.html: Added.

2009-04-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Justin Garcia.

        - test for <rdar://problem/6081309> Mail crash when pressing down arrow
          in some messages in WebCore::canHaveChildrenForEditing

        * editing/selection/extend-by-line-anonymous-content-crash-expected.txt: Added.
        * editing/selection/extend-by-line-anonymous-content-crash.html: Added.

2009-04-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adele Peterson.

        <rdar://problem/6791439> REGRESSION: Get an error page instead of login page navigating back in gmail

        * http/tests/history/back-to-post-expected.txt: Added.
        * http/tests/history/back-to-post.php: Added.

2009-04-23  Adam Roben  <aroben@apple.com>

        Skip a newly-added test that fails on Windows

        See Bug 25344: http/tests/misc/redirect-to-external-url.html fails on
        Windows
        <https://bugs.webkit.org/show_bug.cgi?id=25344>

        Reviewed by Brady Eidson.

        * platform/win/Skipped: Added
        http/tests/misc/redirect-to-external-url.html.

2009-04-23  Brady Eidson  <beidson@apple.com>

        Update my just-landed layout test to agree with Tiger's CFNetwork

        * http/tests/misc/resources/redirect-to-external-url.php:

2009-04-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej Stachowiak

        With the fix for:
        <rdar://problem/6786961> - "Are you sure you want to resubmit this form?" nag displays twice.
        And also to make sure we never rebreak:
        <rdar://problem/5689748> - Cannot redirect to protocols handled by external applications.

        * http/tests/misc/redirect-to-external-url-expected.txt: Added.
        * http/tests/misc/redirect-to-external-url.html: Added.
        * http/tests/misc/resources/redirect-to-external-url-iframe.html: Added.
        * http/tests/misc/resources/redirect-to-external-url.php: Added.

        * http/tests/misc/policy-delegate-called-twice-expected.txt: Added.
        * http/tests/misc/policy-delegate-called-twice.html: Added.
        * http/tests/misc/resources/iframe-policy-1.html: Added.
        * http/tests/misc/resources/iframe-policy-2.html: Added.

2009-04-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by NOBODY (Missed file from prior patch).

        Include updated results

        * fast/events/mouse-drag-from-frame-to-other-frame-expected.txt:

2009-04-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        Modify test to only record the important mouse events

        * fast/events/resources/mouse-drag-from-frame-target-subframe.html:

2009-04-22  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=25322
        Can't delete empty paragraph after a block image

        * editing/deleting/25322-1-expected.txt: Added.
        * editing/deleting/25322-1.html: Added.
        * editing/deleting/25322-2-expected.txt: Added.
        * editing/deleting/25322-2.html: Added.
        * editing/deleting/25322-3-expected.txt: Added.
        * editing/deleting/25322-3.html: Added.

2009-04-22  Darin Adler  <darin@apple.com>

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt: Fixed one
        case Eric seems to have missed earlier today of RenderImage -> RenderSVGImage.

2009-04-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves

        Update test to record correct mouseUp behaviour.

        * fast/events/mouse-drag-from-frame-to-other-frame-expected.txt:
        * fast/events/resources/mouse-drag-from-frame-target-subframe.html:

2009-04-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves

        Partial correctness test for non-capturing drag.  Doesn't log the
        final mouse up, as that's still not targetting the correct frame.

        * fast/events/mouse-drag-from-frame-to-other-frame-expected.txt: Added.
        * fast/events/mouse-drag-from-frame-to-other-frame.html: Added.
        * fast/events/resources/mouse-drag-from-frame-target-subframe.html: Added.

2009-04-22  Mark Rowe  <mrowe@apple.com>

        Update test results after Blackbeard's change in r42752 to disable geolocation.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/navigator-detached-no-crash-expected.txt:

2009-04-22  Pierre d'Herbemont  <pdherbemont@apple.com>

        Reviewed by Simon Fraser.
        
        https://bugs.webkit.org/show_bug.cgi?id=24849

        Add tests for media 'played' attribute (missed in r42619).

        * media/video-played-expected.txt: Added.
        * media/video-played.html: Added.

2009-04-22  Eric Seidel  <eric@webkit.org>

        Rubber-stamped by David Hyatt.

        Change RenderSVGImage to dump as RenderSVGImage instead of RenderImage

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-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/color-prof-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-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-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-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/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/carto.net/scrollbar-expected.txt:
        * platform/mac/svg/carto.net/selectionlist-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/group-opacity-expected.txt:
        * platform/mac/svg/custom/image-clipped-hit-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/js-update-image-expected.txt:
        * platform/mac/svg/custom/pointer-events-image-expected.txt:
        * platform/mac/svg/custom/repaint-on-image-bounds-change-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/custom/text-image-opacity-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:

2009-04-21  Dan Bernstein  <mitz@apple.com>

        - updated another result with action element information

        * fast/encoding/mailto-always-utf-8-expected.txt:

2009-04-21  Dan Bernstein  <mitz@apple.com>

        - test for <rdar://problem/6755137> Action dictionary for policy
          decision is missing keys when full-page zoom is used

        * fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt: Added.
        * fast/loader/policy-delegate-action-hit-test-zoomed.html: Added.

2009-04-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Jon Honeycutt.

        - updated result that shows the node in the element dictionary in the
          action information passed to the policy delegate

        * http/tests/security/feed-urls-from-remote-expected.txt:

2009-04-21  Mark Rowe  <mrowe@apple.com>

        Reviewed by Darin Adler.

        Test for <https://bugs.webkit.org/show_bug.cgi?id=25164> / <rdar://problem/6786319>.

        * http/tests/security/xss-DENIED-xml-external-entity-expected.txt: Copied from LayoutTests/http/tests/security/xss-DENIED-xsl-external-entity-expected.txt.
        * http/tests/security/xss-DENIED-xml-external-entity.xhtml: Copied from LayoutTests/http/tests/security/resources/xsl-using-external-entity.xsl.

2009-04-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Update test and results for <rdar://problem/5874009>
        Add port 3659 (apple-sasl / PasswordServer) to the list of blocked ports.

        * platform/mac-tiger/security/block-test-expected.txt:
        * platform/mac/security/block-test-expected.txt:
        * security/block-test.html:

2009-04-21  Justin Garcia  <justin.garcia@apple.com>
        
        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=25320
        Crash when changing block styles in a root that contains no visible content (but contains nodes with renderers)

        * editing/execCommand/25320-expected.txt: Added.
        * editing/execCommand/25320.html: Added.

2009-04-21  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 25162: REGRESSION (r41176-r41242): Drag-selection above/below the line does not select to beginning/end
        https://bugs.webkit.org/show_bug.cgi?id=25162
        rdar://problem/6764354

        * editing/selection/resources/click-in-margins-inside-editable-div.js:
        Updated to expect different results on the Mac.
        * editing/selection/resources/click-in-padding-with-multiple-line-boxes.js: Ditto.

        * fast/css-generated-content/positioned-background-hit-test-crash.html: Clear the selection at
        the end of the test so the result won't include a caret.

        * 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:
        Copied from LayoutTests/editing/selection. Then changed to expect the different Mac results.

        * platform/mac/editing/selection/select-from-textfield-outwards-expected.checksum:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.png:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
        Changed to expect the different Mac results.

        * platform/mac/fast/css-generated-content/positioned-background-hit-test-crash-expected.txt:
        Changed to expect no caret.

        * 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:
        Copied from editing/selection.

        * platform/win/editing/selection/select-from-textfield-outwards-expected.checksum:
        * platform/win/editing/selection/select-from-textfield-outwards-expected.png:
        * platform/win/editing/selection/select-from-textfield-outwards-expected.txt:
        Copied from platform/mac/editing/selection.

2009-04-21  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        Fix some tests that are depending on Mac vs. Windows selection quirks accidentally.
        Added failing tests to the skipped list for SnowLeopard.

        * editing/resources/select-all-iframe-src.html: Moved.
        * editing/selection/resources/select-all-iframe-src.html: Moved from
        editing/resources/select-all-iframe-src.html, since this is used by a test in the
        selection directory. Changed mouse coordinates to be farther to the right so we
        don't depend on the rule for what's selected when you click below text on the last line.
        * editing/selection/select-all-iframe.html: Updated for new location of file above.

        * fast/events/standalone-image-drag-to-editable.html: Changed mouse coordinates to be
        farther to the right so we don't depend on the rule for what's selected when you click
        below text on the last line.

        * platform/mac-snowleopard/Skipped: Added some tests to the Skipped list.

        * svg/custom/pointer-events-path.svg: Clear the selection at the end of the test so it's
        not in the test results. Also removed unneeded use of the layout test controller.

        * platform/mac/editing/selection/select-all-iframe-expected.checksum: Generated new results.
        * platform/mac/editing/selection/select-all-iframe-expected.png: Ditto.
        * platform/mac/editing/selection/select-all-iframe-expected.txt: Ditto.
        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.checksum: Ditto.
        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.png: Ditto.
        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.txt: Ditto.
        * platform/mac/svg/custom/pointer-events-path-expected.checksum: Ditto.
        * platform/mac/svg/custom/pointer-events-path-expected.png: Ditto.
        * platform/mac/svg/custom/pointer-events-path-expected.txt: Ditto.

2009-04-21  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19644
        Text copied with Select All pastes with a indent but shouldn't
        <rdar://problem/6102483> 
        Pasting the content of an HTML message in Mail causes addition nested <div> elements to be added

        * editing/pasteboard/19644-1-expected.txt: Added.
        * editing/pasteboard/19644-1.html: Added.
        * editing/pasteboard/19644-2-expected.txt: Added.
        * editing/pasteboard/19644-2.html: Added.
        * platform/mac/editing/inserting/insert-3907422-fix-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-015-expected.checksum:
        * platform/mac/editing/pasteboard/paste-text-015-expected.png:
        * platform/mac/editing/pasteboard/paste-text-015-expected.txt:
        * platform/mac/editing/style/font-family-with-space-expected.txt:

2009-04-21  Dave Moore <davemoore@google.com> and Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Add test for (as of yet not implemented) HTML5 named option access.
        https://bugs.webkit.org/show_bug.cgi?id=25191

        I believe this will require separate implementations
        for V8 and JSC the way our current bindings are designed.

        * fast/dom/HTMLSelectElement/named-options-expected.txt: Added.
        * fast/dom/HTMLSelectElement/named-options.html: Added.
        * fast/dom/HTMLSelectElement/resources/TEMPLATE.html: Copied from LayoutTests/fast/dom/CSSStyleDeclaration/resources/TEMPLATE.html.
        * fast/dom/HTMLSelectElement/resources/named-options.js: Added.

2009-04-21  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Bug 25304: AX: Safari not identifying a secure text field
        https://bugs.webkit.org/show_bug.cgi?id=25304

        * accessibility/secure-textfield-title-ui-expected.txt: Added.
        * accessibility/secure-textfield-title-ui.html: Added.

2009-04-21  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Darin Adler.

        Add a test for bug 3235: CSS2: Table cell coalescing in CSS broken
        <https://bugs.webkit.org/show_bug.cgi?id=3235>
        <rdar://3299883/>

        This was fixed long ago, but we should add a test to prevent a regression.

        * fast/table/cell-coalescing.html: Added.
        * platform/mac/fast/table/cell-coalescing-expected.txt: Added.

2009-04-20  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25290
        REGRESSION(r41732): Crash when constructing XMLHttpRequest in a detached document

        * fast/dom/resources/xmlhttprequest-constructor-in-detached-document-frame.html: Added.
        * fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt: Added.
        * fast/dom/xmlhttprequest-constructor-in-detached-document.html: Added.

2009-04-20  Geoffrey Garen  <ggaren@apple.com>

        Approved by Mark Rowe, Cameron Zwarich, Oliver Hunt, and Ojan Vafai.
        
        Used svn merge to roll out revisions 42678, 42690, 42694, 42697 because
        they broke the Tiger and Windows buildbots.

        * fast/forms/drag-out-of-textarea.html:
        * fast/forms/resources/TEMPLATE.html: Removed.
        * fast/forms/resources/text-control-intrinsic-widths.js: Removed.
        * fast/forms/resources/textarea-metrics.js: Removed.
        * fast/forms/search-abs-pos-cancel-button.html:
        * fast/forms/text-control-intrinsic-widths-expected.txt: Removed.
        * fast/forms/text-control-intrinsic-widths.html: Removed.
        * fast/forms/textarea-metrics-expected.txt: Removed.
        * fast/forms/textarea-metrics.html: Removed.
        * fast/forms/textarea-width.html:
        * fast/replaced/table-percent-height-expected.txt:
        * fast/replaced/table-percent-height.html:
        * platform/mac-leopard/fast/forms/input-text-maxlength-expected.checksum:
        * platform/mac-leopard/fast/forms/input-text-maxlength-expected.png:
        * platform/mac-leopard/fast/forms/input-text-maxlength-expected.txt:
        * platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.checksum:
        * platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.png:
        * platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.txt:
        * platform/mac/editing/deleting/5168598-expected.checksum:
        * platform/mac/editing/deleting/5168598-expected.png:
        * platform/mac/editing/deleting/5168598-expected.txt:
        * platform/mac/editing/inserting/4960120-1-expected.checksum:
        * platform/mac/editing/inserting/4960120-1-expected.png:
        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/inserting/5607069-2-expected.checksum:
        * platform/mac/editing/inserting/5607069-2-expected.png:
        * platform/mac/editing/inserting/5607069-2-expected.txt:
        * platform/mac/editing/inserting/5607069-3-expected.checksum:
        * platform/mac/editing/inserting/5607069-3-expected.png:
        * platform/mac/editing/inserting/5607069-3-expected.txt:
        * platform/mac/editing/inserting/before-after-input-element-expected.checksum:
        * platform/mac/editing/inserting/before-after-input-element-expected.png:
        * platform/mac/editing/inserting/before-after-input-element-expected.txt:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.checksum:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.png:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.txt:
        * platform/mac/editing/pasteboard/4806874-expected.checksum:
        * platform/mac/editing/pasteboard/4806874-expected.png:
        * platform/mac/editing/pasteboard/4806874-expected.txt:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.checksum:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.png:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
        * platform/mac/editing/pasteboard/input-field-1-expected.checksum:
        * platform/mac/editing/pasteboard/input-field-1-expected.png:
        * platform/mac/editing/pasteboard/input-field-1-expected.txt:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.checksum:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.png:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.txt:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.checksum:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.png:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/mac/editing/selection/3690703-2-expected.checksum:
        * platform/mac/editing/selection/3690703-2-expected.png:
        * platform/mac/editing/selection/3690703-2-expected.txt:
        * platform/mac/editing/selection/3690703-expected.checksum:
        * platform/mac/editing/selection/3690703-expected.png:
        * platform/mac/editing/selection/3690703-expected.txt:
        * platform/mac/editing/selection/3690719-expected.checksum:
        * platform/mac/editing/selection/3690719-expected.png:
        * platform/mac/editing/selection/3690719-expected.txt:
        * platform/mac/editing/selection/4895428-3-expected.checksum:
        * platform/mac/editing/selection/4895428-3-expected.png:
        * platform/mac/editing/selection/4895428-3-expected.txt:
        * platform/mac/editing/selection/4975120-expected.checksum:
        * platform/mac/editing/selection/4975120-expected.png:
        * platform/mac/editing/selection/4975120-expected.txt:
        * platform/mac/editing/selection/5136696-expected.checksum:
        * platform/mac/editing/selection/5136696-expected.png:
        * platform/mac/editing/selection/5136696-expected.txt:
        * platform/mac/editing/selection/5213963-expected.checksum:
        * platform/mac/editing/selection/5213963-expected.png:
        * platform/mac/editing/selection/5213963-expected.txt:
        * platform/mac/editing/selection/drag-select-1-expected.checksum:
        * platform/mac/editing/selection/drag-select-1-expected.png:
        * platform/mac/editing/selection/drag-select-1-expected.txt:
        * platform/mac/editing/selection/drag-text-delay-expected.checksum:
        * platform/mac/editing/selection/drag-text-delay-expected.png:
        * platform/mac/editing/selection/drag-text-delay-expected.txt:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.checksum:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.png:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/css/line-height-expected.checksum:
        * platform/mac/fast/css/line-height-expected.png:
        * platform/mac/fast/css/line-height-expected.txt:
        * platform/mac/fast/css/resize-corner-tracking-expected.checksum:
        * platform/mac/fast/css/resize-corner-tracking-expected.png:
        * platform/mac/fast/css/resize-corner-tracking-expected.txt:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.checksum:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/mac/fast/dom/isindex-002-expected.checksum:
        * platform/mac/fast/dom/isindex-002-expected.png:
        * platform/mac/fast/dom/isindex-002-expected.txt:
        * platform/mac/fast/dynamic/008-expected.checksum:
        * platform/mac/fast/dynamic/008-expected.png:
        * platform/mac/fast/dynamic/008-expected.txt:
        * platform/mac/fast/events/autoscroll-expected.checksum:
        * platform/mac/fast/events/autoscroll-expected.png:
        * platform/mac/fast/events/autoscroll-expected.txt:
        * platform/mac/fast/events/context-no-deselect-expected.checksum:
        * platform/mac/fast/events/context-no-deselect-expected.png:
        * platform/mac/fast/events/context-no-deselect-expected.txt:
        * platform/mac/fast/events/label-focus-expected.checksum:
        * platform/mac/fast/events/label-focus-expected.png:
        * platform/mac/fast/events/label-focus-expected.txt:
        * platform/mac/fast/forms/basic-textareas-expected.checksum:
        * platform/mac/fast/forms/basic-textareas-expected.png:
        * platform/mac/fast/forms/basic-textareas-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.checksum:
        * platform/mac/fast/forms/box-shadow-override-expected.png:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/control-restrict-line-height-expected.checksum:
        * platform/mac/fast/forms/control-restrict-line-height-expected.png:
        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/encoding-test-expected.checksum:
        * platform/mac/fast/forms/encoding-test-expected.png:
        * platform/mac/fast/forms/encoding-test-expected.txt:
        * platform/mac/fast/forms/fieldset-align-expected.checksum:
        * platform/mac/fast/forms/fieldset-align-expected.png:
        * platform/mac/fast/forms/fieldset-align-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.checksum:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/input-align-expected.checksum:
        * platform/mac/fast/forms/input-align-expected.png:
        * platform/mac/fast/forms/input-align-expected.txt:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.checksum:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.png:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.txt:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.checksum:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.png:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt:
        * platform/mac/fast/forms/input-appearance-disabled-expected.checksum:
        * platform/mac/fast/forms/input-appearance-disabled-expected.png:
        * platform/mac/fast/forms/input-appearance-disabled-expected.txt:
        * platform/mac/fast/forms/input-appearance-focus-expected.checksum:
        * platform/mac/fast/forms/input-appearance-focus-expected.png:
        * platform/mac/fast/forms/input-appearance-focus-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.checksum:
        * platform/mac/fast/forms/input-appearance-height-expected.png:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.checksum:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.png:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
        * platform/mac/fast/forms/input-appearance-readonly-expected.checksum:
        * platform/mac/fast/forms/input-appearance-readonly-expected.png:
        * platform/mac/fast/forms/input-appearance-readonly-expected.txt:
        * platform/mac/fast/forms/input-appearance-selection-expected.checksum:
        * platform/mac/fast/forms/input-appearance-selection-expected.png:
        * platform/mac/fast/forms/input-appearance-selection-expected.txt:
        * platform/mac/fast/forms/input-appearance-visibility-expected.checksum:
        * platform/mac/fast/forms/input-appearance-visibility-expected.png:
        * platform/mac/fast/forms/input-appearance-visibility-expected.txt:
        * platform/mac/fast/forms/input-appearance-width-expected.checksum:
        * platform/mac/fast/forms/input-appearance-width-expected.png:
        * platform/mac/fast/forms/input-appearance-width-expected.txt:
        * platform/mac/fast/forms/input-baseline-expected.checksum:
        * platform/mac/fast/forms/input-baseline-expected.png:
        * platform/mac/fast/forms/input-baseline-expected.txt:
        * platform/mac/fast/forms/input-disabled-color-expected.checksum:
        * platform/mac/fast/forms/input-disabled-color-expected.png:
        * platform/mac/fast/forms/input-disabled-color-expected.txt:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.checksum:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/mac/fast/forms/input-paste-undo-expected.checksum:
        * platform/mac/fast/forms/input-paste-undo-expected.png:
        * platform/mac/fast/forms/input-paste-undo-expected.txt:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.checksum:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.png:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.checksum:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.png:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.txt:
        * platform/mac/fast/forms/input-readonly-empty-expected.checksum:
        * platform/mac/fast/forms/input-readonly-empty-expected.png:
        * platform/mac/fast/forms/input-readonly-empty-expected.txt:
        * platform/mac/fast/forms/input-spaces-expected.checksum:
        * platform/mac/fast/forms/input-spaces-expected.png:
        * platform/mac/fast/forms/input-spaces-expected.txt:
        * platform/mac/fast/forms/input-table-expected.txt:
        * platform/mac/fast/forms/input-text-click-inside-expected.checksum:
        * platform/mac/fast/forms/input-text-click-inside-expected.png:
        * platform/mac/fast/forms/input-text-click-inside-expected.txt:
        * platform/mac/fast/forms/input-text-click-outside-expected.checksum:
        * platform/mac/fast/forms/input-text-click-outside-expected.png:
        * platform/mac/fast/forms/input-text-click-outside-expected.txt:
        * platform/mac/fast/forms/input-text-double-click-expected.checksum:
        * platform/mac/fast/forms/input-text-double-click-expected.png:
        * platform/mac/fast/forms/input-text-double-click-expected.txt:
        * platform/mac/fast/forms/input-text-drag-down-expected.checksum:
        * platform/mac/fast/forms/input-text-drag-down-expected.png:
        * platform/mac/fast/forms/input-text-drag-down-expected.txt:
        * platform/mac/fast/forms/input-text-option-delete-expected.checksum:
        * platform/mac/fast/forms/input-text-option-delete-expected.png:
        * platform/mac/fast/forms/input-text-option-delete-expected.txt:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.checksum:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.checksum:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.png:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/mac/fast/forms/input-text-word-wrap-expected.checksum:
        * platform/mac/fast/forms/input-text-word-wrap-expected.png:
        * platform/mac/fast/forms/input-text-word-wrap-expected.txt:
        * platform/mac/fast/forms/input-type-change2-expected.checksum:
        * platform/mac/fast/forms/input-type-change2-expected.png:
        * platform/mac/fast/forms/input-type-change2-expected.txt:
        * platform/mac/fast/forms/input-type-text-min-width-expected.checksum:
        * platform/mac/fast/forms/input-type-text-min-width-expected.png:
        * platform/mac/fast/forms/input-type-text-min-width-expected.txt:
        * platform/mac/fast/forms/input-value-expected.checksum:
        * platform/mac/fast/forms/input-value-expected.png:
        * platform/mac/fast/forms/input-value-expected.txt:
        * platform/mac/fast/forms/input-width-expected.checksum:
        * platform/mac/fast/forms/input-width-expected.png:
        * platform/mac/fast/forms/input-width-expected.txt:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
        * platform/mac/fast/forms/negativeLineHeight-expected.checksum:
        * platform/mac/fast/forms/negativeLineHeight-expected.png:
        * platform/mac/fast/forms/negativeLineHeight-expected.txt:
        * platform/mac/fast/forms/password-placeholder-expected.checksum:
        * platform/mac/fast/forms/password-placeholder-expected.png:
        * platform/mac/fast/forms/password-placeholder-expected.txt:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.checksum:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.png:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.checksum:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.png:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.checksum:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.png:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
        * platform/mac/fast/forms/placeholder-set-value-expected.checksum:
        * platform/mac/fast/forms/placeholder-set-value-expected.png:
        * platform/mac/fast/forms/placeholder-set-value-expected.txt:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.checksum:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.png:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.checksum:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.png:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.checksum:
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.png:
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.checksum:
        * platform/mac/fast/forms/search-rtl-expected.png:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-transformed-expected.checksum:
        * platform/mac/fast/forms/search-transformed-expected.png:
        * platform/mac/fast/forms/search-transformed-expected.txt:
        * platform/mac/fast/forms/search-zoomed-expected.checksum:
        * platform/mac/fast/forms/search-zoomed-expected.png:
        * platform/mac/fast/forms/search-zoomed-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.checksum:
        * platform/mac/fast/forms/searchfield-heights-expected.png:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.checksum:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.png:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
        * platform/mac/fast/forms/textAreaLineHeight-expected.checksum:
        * platform/mac/fast/forms/textAreaLineHeight-expected.png:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/forms/textarea-align-expected.checksum:
        * platform/mac/fast/forms/textarea-align-expected.png:
        * platform/mac/fast/forms/textarea-align-expected.txt:
        * platform/mac/fast/forms/textarea-rows-cols-expected.checksum:
        * platform/mac/fast/forms/textarea-rows-cols-expected.png:
        * platform/mac/fast/forms/textarea-rows-cols-expected.txt:
        * platform/mac/fast/forms/textarea-scroll-height-expected.checksum:
        * platform/mac/fast/forms/textarea-scroll-height-expected.png:
        * platform/mac/fast/forms/textarea-scroll-height-expected.txt:
        * platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
        * platform/mac/fast/forms/textarea-scrollbar-expected.png:
        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.checksum:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.png:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.checksum:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
        * platform/mac/fast/forms/textarea-width-expected.checksum:
        * platform/mac/fast/forms/textarea-width-expected.png:
        * platform/mac/fast/forms/textarea-width-expected.txt:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.checksum:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.png:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.txt:
        * platform/mac/fast/forms/textfield-outline-expected.checksum:
        * platform/mac/fast/forms/textfield-outline-expected.png:
        * platform/mac/fast/forms/textfield-outline-expected.txt:
        * platform/mac/fast/forms/textfield-overflow-expected.checksum:
        * platform/mac/fast/forms/textfield-overflow-expected.png:
        * platform/mac/fast/forms/textfield-overflow-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/invalid/residual-style-expected.txt:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.checksum:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.png:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.txt:
        * platform/mac/fast/overflow/overflow-x-y-expected.checksum:
        * platform/mac/fast/overflow/overflow-x-y-expected.png:
        * platform/mac/fast/overflow/overflow-x-y-expected.txt:
        * platform/mac/fast/parser/comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/comment-in-textarea-expected.png:
        * platform/mac/fast/parser/comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.checksum:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
        * platform/mac/fast/repaint/search-field-cancel-expected.checksum:
        * platform/mac/fast/repaint/search-field-cancel-expected.png:
        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.checksum:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.png:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-expected.checksum:
        * platform/mac/fast/replaced/replaced-breaking-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.checksum:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.txt:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.checksum:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.png:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
        * platform/mac/fast/replaced/width100percent-textarea-expected.png:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/fast/replaced/width100percent-textfield-expected.checksum:
        * platform/mac/fast/replaced/width100percent-textfield-expected.png:
        * platform/mac/fast/replaced/width100percent-textfield-expected.txt:
        * platform/mac/fast/table/003-expected.checksum:
        * platform/mac/fast/table/003-expected.png:
        * platform/mac/fast/table/003-expected.txt:
        * platform/mac/fast/table/colspanMinWidth-expected.checksum:
        * platform/mac/fast/table/colspanMinWidth-expected.png:
        * platform/mac/fast/table/colspanMinWidth-expected.txt:
        * platform/mac/fast/table/spanOverlapRepaint-expected.checksum:
        * platform/mac/fast/table/spanOverlapRepaint-expected.png:
        * platform/mac/fast/table/spanOverlapRepaint-expected.txt:
        * platform/mac/fast/table/text-field-baseline-expected.checksum:
        * platform/mac/fast/table/text-field-baseline-expected.png:
        * platform/mac/fast/table/text-field-baseline-expected.txt:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.checksum:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.png:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.checksum:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.png:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.checksum:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.png:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/mac/http/tests/navigation/anchor-basic-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-basic-expected.png:
        * platform/mac/http/tests/navigation/anchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/anchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/anchor-goback-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-goback-expected.png:
        * platform/mac/http/tests/navigation/anchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/post-goback2-expected.checksum:
        * platform/mac/http/tests/navigation/post-goback2-expected.png:
        * platform/mac/http/tests/navigation/post-goback2-expected.txt:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.png:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.png:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.png:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.png:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.png:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.checksum:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.png:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.checksum:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.png:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-basic-expected.checksum:
        * platform/mac/http/tests/navigation/success200-basic-expected.png:
        * platform/mac/http/tests/navigation/success200-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-expected.checksum:
        * platform/mac/http/tests/navigation/success200-frames-expected.png:
        * platform/mac/http/tests/navigation/success200-frames-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-goback-expected.checksum:
        * platform/mac/http/tests/navigation/success200-goback-expected.png:
        * platform/mac/http/tests/navigation/success200-goback-expected.txt:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.checksum:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.png:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-reload-expected.checksum:
        * platform/mac/http/tests/navigation/success200-reload-expected.png:
        * platform/mac/http/tests/navigation/success200-reload-expected.txt:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.png:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.checksum:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.png:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/mac/svg/hixie/mixed/003-expected.checksum:
        * platform/mac/svg/hixie/mixed/003-expected.png:
        * platform/mac/svg/hixie/mixed/003-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.png:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.png:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.png:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.png:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.png:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.png:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.png:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.png:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.png:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.png:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.png:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.png:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.png:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.png:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/mac/tables/mozilla/dom/tableDom-expected.checksum:
        * platform/mac/tables/mozilla/dom/tableDom-expected.png:
        * platform/mac/tables/mozilla/dom/tableDom-expected.txt:
        * platform/mac/tables/mozilla/other/move_row-expected.checksum:
        * platform/mac/tables/mozilla/other/move_row-expected.png:
        * platform/mac/tables/mozilla/other/move_row-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.checksum:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * platform/win/Skipped:
        * svg/custom/resources/svg-fonts-in-text-controls.js:
        * svg/custom/svg-fonts-in-text-controls-expected.txt:
        * svg/custom/svg-fonts-in-text-controls.html: Removed.

2009-04-20  Dimitri Glazkov  <dglazkov@chromium.org>

        Not reviewed, typo fix.

        Rename erroneous lines in Skipped to actual test URLs.

        * platform/win/Skipped:

2009-04-20  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Roben.

        Add Windows failures temporarily to the Skipped list after r42678.
        See https://bugs.webkit.org/show_bug.cgi?id=25306 for more
        information. This is just to get the tree green while the tests
        are fixed.

        * platform/win/Skipped:

2009-04-20  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel

        Fix svg-fonts-in-text-controls.js to measure the
        widths after the SVG font has loaded.

        For now the expected results have the success line
        printed before the metrics being measured. I'll fix
        this in a following commit. See
        https://bugs.webkit.org/show_bug.cgi?id=25302
        for more details.

        * svg/custom/resources/svg-fonts-in-text-controls.js:
        * svg/custom/svg-fonts-in-text-controls-expected.txt:

2009-04-20  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * fast/dom/Window/window-properties.html: Added a new DumpRenderTree window
        object property, plainText.

2009-04-10  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        Make textarea and text input metrics more closely match IEs.
        https://bugs.webkit.org/show_bug.cgi?id=15312

        textarea-metrics.js tests the client/scroll/offset width and height
        of textareas with various CSS applied to them in both quirks
        and strict mode.

        svg-fonts-in-text-controls tests that the average and max character
        width of an svg font are correctly retrieved.

        text-control-intrinsic-widths tests the widths of inputs and textareas with
        different size/cols and different fonts set.

        * fast/forms/drag-out-of-textarea.html:
        * fast/forms/resources/TEMPLATE.html: Copied from LayoutTests/editing/execCommand/resources/TEMPLATE.html.
        * fast/forms/resources/text-control-intrinsic-widths.js: Added.
        (printElementWidth):
        * fast/forms/resources/textarea-metrics.js: Added.
        (assertTextareaMetrics):
        ():
        * fast/forms/search-abs-pos-cancel-button.html:
        * fast/forms/text-control-intrinsic-widths-expected.txt: Added.
        * fast/forms/text-control-intrinsic-widths.html: Added.
        * fast/forms/textarea-metrics-expected.txt: Added.
        * fast/forms/textarea-metrics.html: Added.
        * fast/forms/textarea-width.html:
        * fast/replaced/table-percent-height-expected.txt:
        * fast/replaced/table-percent-height.html:
        * platform/mac/editing/deleting/5168598-expected.checksum:
        * platform/mac/editing/deleting/5168598-expected.png:
        * platform/mac/editing/deleting/5168598-expected.txt:
        * platform/mac/editing/inserting/4960120-1-expected.checksum:
        * platform/mac/editing/inserting/4960120-1-expected.png:
        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/inserting/5607069-2-expected.checksum:
        * platform/mac/editing/inserting/5607069-2-expected.png:
        * platform/mac/editing/inserting/5607069-2-expected.txt:
        * platform/mac/editing/inserting/5607069-3-expected.checksum:
        * platform/mac/editing/inserting/5607069-3-expected.png:
        * platform/mac/editing/inserting/5607069-3-expected.txt:
        * platform/mac/editing/inserting/before-after-input-element-expected.checksum:
        * platform/mac/editing/inserting/before-after-input-element-expected.png:
        * platform/mac/editing/inserting/before-after-input-element-expected.txt:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.checksum:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.png:
        * platform/mac/editing/inserting/typing-tab-designmode-forms-expected.txt:
        * platform/mac/editing/pasteboard/4806874-expected.checksum:
        * platform/mac/editing/pasteboard/4806874-expected.png:
        * platform/mac/editing/pasteboard/4806874-expected.txt:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.checksum:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.png:
        * platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt:
        * platform/mac/editing/pasteboard/input-field-1-expected.checksum:
        * platform/mac/editing/pasteboard/input-field-1-expected.png:
        * platform/mac/editing/pasteboard/input-field-1-expected.txt:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.checksum:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.png:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.checksum:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.png:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-field-expected.txt:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.checksum:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.png:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/mac/editing/selection/3690703-2-expected.checksum:
        * platform/mac/editing/selection/3690703-2-expected.png:
        * platform/mac/editing/selection/3690703-2-expected.txt:
        * platform/mac/editing/selection/3690703-expected.checksum:
        * platform/mac/editing/selection/3690703-expected.png:
        * platform/mac/editing/selection/3690703-expected.txt:
        * platform/mac/editing/selection/3690719-expected.checksum:
        * platform/mac/editing/selection/3690719-expected.png:
        * platform/mac/editing/selection/3690719-expected.txt:
        * platform/mac/editing/selection/4895428-3-expected.checksum:
        * platform/mac/editing/selection/4895428-3-expected.png:
        * platform/mac/editing/selection/4895428-3-expected.txt:
        * platform/mac/editing/selection/4975120-expected.checksum:
        * platform/mac/editing/selection/4975120-expected.png:
        * platform/mac/editing/selection/4975120-expected.txt:
        * platform/mac/editing/selection/5136696-expected.checksum:
        * platform/mac/editing/selection/5136696-expected.png:
        * platform/mac/editing/selection/5136696-expected.txt:
        * platform/mac/editing/selection/5213963-expected.checksum:
        * platform/mac/editing/selection/5213963-expected.png:
        * platform/mac/editing/selection/5213963-expected.txt:
        * platform/mac/editing/selection/drag-select-1-expected.checksum:
        * platform/mac/editing/selection/drag-select-1-expected.png:
        * platform/mac/editing/selection/drag-select-1-expected.txt:
        * platform/mac/editing/selection/drag-text-delay-expected.checksum:
        * platform/mac/editing/selection/drag-text-delay-expected.png:
        * platform/mac/editing/selection/drag-text-delay-expected.txt:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.checksum:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.png:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/css/line-height-expected.checksum:
        * platform/mac/fast/css/line-height-expected.png:
        * platform/mac/fast/css/line-height-expected.txt:
        * platform/mac/fast/css/resize-corner-tracking-expected.checksum:
        * platform/mac/fast/css/resize-corner-tracking-expected.png:
        * platform/mac/fast/css/resize-corner-tracking-expected.txt:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.checksum:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/mac/fast/dom/isindex-002-expected.checksum:
        * platform/mac/fast/dom/isindex-002-expected.png:
        * platform/mac/fast/dom/isindex-002-expected.txt:
        * platform/mac/fast/dynamic/008-expected.checksum:
        * platform/mac/fast/dynamic/008-expected.png:
        * platform/mac/fast/dynamic/008-expected.txt:
        * platform/mac/fast/events/autoscroll-expected.checksum:
        * platform/mac/fast/events/autoscroll-expected.png:
        * platform/mac/fast/events/autoscroll-expected.txt:
        * platform/mac/fast/events/context-no-deselect-expected.checksum:
        * platform/mac/fast/events/context-no-deselect-expected.png:
        * platform/mac/fast/events/context-no-deselect-expected.txt:
        * platform/mac/fast/events/label-focus-expected.checksum:
        * platform/mac/fast/events/label-focus-expected.png:
        * platform/mac/fast/events/label-focus-expected.txt:
        * platform/mac/fast/forms/basic-textareas-expected.checksum:
        * platform/mac/fast/forms/basic-textareas-expected.png:
        * platform/mac/fast/forms/basic-textareas-expected.txt:
        * platform/mac/fast/forms/box-shadow-override-expected.checksum:
        * platform/mac/fast/forms/box-shadow-override-expected.png:
        * platform/mac/fast/forms/box-shadow-override-expected.txt:
        * platform/mac/fast/forms/control-restrict-line-height-expected.checksum:
        * platform/mac/fast/forms/control-restrict-line-height-expected.png:
        * platform/mac/fast/forms/control-restrict-line-height-expected.txt:
        * platform/mac/fast/forms/encoding-test-expected.checksum:
        * platform/mac/fast/forms/encoding-test-expected.png:
        * platform/mac/fast/forms/encoding-test-expected.txt:
        * platform/mac/fast/forms/fieldset-align-expected.checksum:
        * platform/mac/fast/forms/fieldset-align-expected.png:
        * platform/mac/fast/forms/fieldset-align-expected.txt:
        * platform/mac/fast/forms/form-element-geometry-expected.checksum:
        * platform/mac/fast/forms/form-element-geometry-expected.png:
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/input-align-expected.checksum:
        * platform/mac/fast/forms/input-align-expected.png:
        * platform/mac/fast/forms/input-align-expected.txt:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.checksum:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.png:
        * platform/mac/fast/forms/input-appearance-bkcolor-expected.txt:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.checksum:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.png:
        * platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt:
        * platform/mac/fast/forms/input-appearance-disabled-expected.checksum:
        * platform/mac/fast/forms/input-appearance-disabled-expected.png:
        * platform/mac/fast/forms/input-appearance-disabled-expected.txt:
        * platform/mac/fast/forms/input-appearance-focus-expected.checksum:
        * platform/mac/fast/forms/input-appearance-focus-expected.png:
        * platform/mac/fast/forms/input-appearance-focus-expected.txt:
        * platform/mac/fast/forms/input-appearance-height-expected.checksum:
        * platform/mac/fast/forms/input-appearance-height-expected.png:
        * platform/mac/fast/forms/input-appearance-height-expected.txt:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.checksum:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.png:
        * platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
        * platform/mac/fast/forms/input-appearance-readonly-expected.checksum:
        * platform/mac/fast/forms/input-appearance-readonly-expected.png:
        * platform/mac/fast/forms/input-appearance-readonly-expected.txt:
        * platform/mac/fast/forms/input-appearance-selection-expected.checksum:
        * platform/mac/fast/forms/input-appearance-selection-expected.png:
        * platform/mac/fast/forms/input-appearance-selection-expected.txt:
        * platform/mac/fast/forms/input-appearance-visibility-expected.checksum:
        * platform/mac/fast/forms/input-appearance-visibility-expected.png:
        * platform/mac/fast/forms/input-appearance-visibility-expected.txt:
        * platform/mac/fast/forms/input-appearance-width-expected.checksum:
        * platform/mac/fast/forms/input-appearance-width-expected.png:
        * platform/mac/fast/forms/input-appearance-width-expected.txt:
        * platform/mac/fast/forms/input-baseline-expected.checksum:
        * platform/mac/fast/forms/input-baseline-expected.png:
        * platform/mac/fast/forms/input-baseline-expected.txt:
        * platform/mac/fast/forms/input-disabled-color-expected.checksum:
        * platform/mac/fast/forms/input-disabled-color-expected.png:
        * platform/mac/fast/forms/input-disabled-color-expected.txt:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.checksum:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
        * platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt:
        * platform/mac/fast/forms/input-paste-undo-expected.checksum:
        * platform/mac/fast/forms/input-paste-undo-expected.png:
        * platform/mac/fast/forms/input-paste-undo-expected.txt:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.checksum:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.png:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.checksum:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.png:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.txt:
        * platform/mac/fast/forms/input-readonly-empty-expected.checksum:
        * platform/mac/fast/forms/input-readonly-empty-expected.png:
        * platform/mac/fast/forms/input-readonly-empty-expected.txt:
        * platform/mac/fast/forms/input-spaces-expected.checksum:
        * platform/mac/fast/forms/input-spaces-expected.png:
        * platform/mac/fast/forms/input-spaces-expected.txt:
        * platform/mac/fast/forms/input-table-expected.txt:
        * platform/mac/fast/forms/input-text-click-inside-expected.checksum:
        * platform/mac/fast/forms/input-text-click-inside-expected.png:
        * platform/mac/fast/forms/input-text-click-inside-expected.txt:
        * platform/mac/fast/forms/input-text-click-outside-expected.checksum:
        * platform/mac/fast/forms/input-text-click-outside-expected.png:
        * platform/mac/fast/forms/input-text-click-outside-expected.txt:
        * platform/mac/fast/forms/input-text-double-click-expected.checksum:
        * platform/mac/fast/forms/input-text-double-click-expected.png:
        * platform/mac/fast/forms/input-text-double-click-expected.txt:
        * platform/mac/fast/forms/input-text-drag-down-expected.checksum:
        * platform/mac/fast/forms/input-text-drag-down-expected.png:
        * platform/mac/fast/forms/input-text-drag-down-expected.txt:
        * platform/mac/fast/forms/input-text-maxlength-expected.checksum:
        * platform/mac/fast/forms/input-text-maxlength-expected.png:
        * platform/mac/fast/forms/input-text-maxlength-expected.txt:
        * platform/mac/fast/forms/input-text-option-delete-expected.checksum:
        * platform/mac/fast/forms/input-text-option-delete-expected.png:
        * platform/mac/fast/forms/input-text-option-delete-expected.txt:
        * platform/mac/fast/forms/input-text-paste-maxlength-expected.checksum:
        * platform/mac/fast/forms/input-text-paste-maxlength-expected.png:
        * platform/mac/fast/forms/input-text-paste-maxlength-expected.txt:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.checksum:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.checksum:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.png:
        * platform/mac/fast/forms/input-text-self-emptying-click-expected.txt:
        * platform/mac/fast/forms/input-text-word-wrap-expected.checksum:
        * platform/mac/fast/forms/input-text-word-wrap-expected.png:
        * platform/mac/fast/forms/input-text-word-wrap-expected.txt:
        * platform/mac/fast/forms/input-type-change2-expected.checksum:
        * platform/mac/fast/forms/input-type-change2-expected.png:
        * platform/mac/fast/forms/input-type-change2-expected.txt:
        * platform/mac/fast/forms/input-type-text-min-width-expected.checksum:
        * platform/mac/fast/forms/input-type-text-min-width-expected.png:
        * platform/mac/fast/forms/input-type-text-min-width-expected.txt:
        * platform/mac/fast/forms/input-value-expected.checksum:
        * platform/mac/fast/forms/input-value-expected.png:
        * platform/mac/fast/forms/input-value-expected.txt:
        * platform/mac/fast/forms/input-width-expected.checksum:
        * platform/mac/fast/forms/input-width-expected.png:
        * platform/mac/fast/forms/input-width-expected.txt:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
        * platform/mac/fast/forms/negativeLineHeight-expected.checksum:
        * platform/mac/fast/forms/negativeLineHeight-expected.png:
        * platform/mac/fast/forms/negativeLineHeight-expected.txt:
        * platform/mac/fast/forms/password-placeholder-expected.checksum:
        * platform/mac/fast/forms/password-placeholder-expected.png:
        * platform/mac/fast/forms/password-placeholder-expected.txt:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.checksum:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.png:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.checksum:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.png:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.checksum:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.png:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.txt:
        * platform/mac/fast/forms/placeholder-set-value-expected.checksum:
        * platform/mac/fast/forms/placeholder-set-value-expected.png:
        * platform/mac/fast/forms/placeholder-set-value-expected.txt:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.checksum:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.png:
        * platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.checksum:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.png:
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.checksum:
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.png:
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.txt:
        * platform/mac/fast/forms/search-rtl-expected.checksum:
        * platform/mac/fast/forms/search-rtl-expected.png:
        * platform/mac/fast/forms/search-rtl-expected.txt:
        * platform/mac/fast/forms/search-transformed-expected.checksum:
        * platform/mac/fast/forms/search-transformed-expected.png:
        * platform/mac/fast/forms/search-transformed-expected.txt:
        * platform/mac/fast/forms/search-zoomed-expected.checksum:
        * platform/mac/fast/forms/search-zoomed-expected.png:
        * platform/mac/fast/forms/search-zoomed-expected.txt:
        * platform/mac/fast/forms/searchfield-heights-expected.checksum:
        * platform/mac/fast/forms/searchfield-heights-expected.png:
        * platform/mac/fast/forms/searchfield-heights-expected.txt:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.checksum:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.png:
        * platform/mac/fast/forms/tabbing-input-iframe-expected.txt:
        * platform/mac/fast/forms/textAreaLineHeight-expected.checksum:
        * platform/mac/fast/forms/textAreaLineHeight-expected.png:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/forms/textarea-align-expected.checksum:
        * platform/mac/fast/forms/textarea-align-expected.png:
        * platform/mac/fast/forms/textarea-align-expected.txt:
        * platform/mac/fast/forms/textarea-rows-cols-expected.checksum:
        * platform/mac/fast/forms/textarea-rows-cols-expected.png:
        * platform/mac/fast/forms/textarea-rows-cols-expected.txt:
        * platform/mac/fast/forms/textarea-scroll-height-expected.checksum:
        * platform/mac/fast/forms/textarea-scroll-height-expected.png:
        * platform/mac/fast/forms/textarea-scroll-height-expected.txt:
        * platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
        * platform/mac/fast/forms/textarea-scrollbar-expected.png:
        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.checksum:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.png:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.checksum:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.png:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
        * platform/mac/fast/forms/textarea-width-expected.checksum:
        * platform/mac/fast/forms/textarea-width-expected.png:
        * platform/mac/fast/forms/textarea-width-expected.txt:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.checksum:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.png:
        * platform/mac/fast/forms/textfield-drag-into-disabled-expected.txt:
        * platform/mac/fast/forms/textfield-outline-expected.checksum:
        * platform/mac/fast/forms/textfield-outline-expected.png:
        * platform/mac/fast/forms/textfield-outline-expected.txt:
        * platform/mac/fast/forms/textfield-overflow-expected.checksum:
        * platform/mac/fast/forms/textfield-overflow-expected.png:
        * platform/mac/fast/forms/textfield-overflow-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.checksum:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/invalid/residual-style-expected.txt:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.checksum:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.png:
        * platform/mac/fast/lists/dynamic-marker-crash-expected.txt:
        * platform/mac/fast/overflow/overflow-x-y-expected.checksum:
        * platform/mac/fast/overflow/overflow-x-y-expected.png:
        * platform/mac/fast/overflow/overflow-x-y-expected.txt:
        * platform/mac/fast/parser/comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/comment-in-textarea-expected.png:
        * platform/mac/fast/parser/comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.checksum:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.png:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.checksum:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.png:
        * platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt:
        * platform/mac/fast/repaint/search-field-cancel-expected.checksum:
        * platform/mac/fast/repaint/search-field-cancel-expected.png:
        * platform/mac/fast/repaint/search-field-cancel-expected.txt:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.checksum:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.png:
        * platform/mac/fast/repaint/subtree-root-skipped-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-expected.checksum:
        * platform/mac/fast/replaced/replaced-breaking-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-expected.txt:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.checksum:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.png:
        * platform/mac/fast/replaced/replaced-breaking-mixture-expected.txt:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.checksum:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.png:
        * platform/mac/fast/replaced/width100percent-searchfield-expected.txt:
        * platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
        * platform/mac/fast/replaced/width100percent-textarea-expected.png:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/fast/replaced/width100percent-textfield-expected.checksum:
        * platform/mac/fast/replaced/width100percent-textfield-expected.png:
        * platform/mac/fast/replaced/width100percent-textfield-expected.txt:
        * platform/mac/fast/table/003-expected.checksum:
        * platform/mac/fast/table/003-expected.png:
        * platform/mac/fast/table/003-expected.txt:
        * platform/mac/fast/table/colspanMinWidth-expected.checksum:
        * platform/mac/fast/table/colspanMinWidth-expected.png:
        * platform/mac/fast/table/colspanMinWidth-expected.txt:
        * platform/mac/fast/table/spanOverlapRepaint-expected.checksum:
        * platform/mac/fast/table/spanOverlapRepaint-expected.png:
        * platform/mac/fast/table/spanOverlapRepaint-expected.txt:
        * platform/mac/fast/table/text-field-baseline-expected.checksum:
        * platform/mac/fast/table/text-field-baseline-expected.png:
        * platform/mac/fast/table/text-field-baseline-expected.txt:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.checksum:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.png:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.checksum:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.png:
        * platform/mac/fast/text/textIteratorNilRenderer-expected.txt:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.checksum:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.png:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.txt:
        * platform/mac/http/tests/navigation/anchor-basic-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-basic-expected.png:
        * platform/mac/http/tests/navigation/anchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/anchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/anchor-goback-expected.checksum:
        * platform/mac/http/tests/navigation/anchor-goback-expected.png:
        * platform/mac/http/tests/navigation/anchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.png:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.png:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/post-goback2-expected.checksum:
        * platform/mac/http/tests/navigation/post-goback2-expected.png:
        * platform/mac/http/tests/navigation/post-goback2-expected.txt:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.checksum:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.png:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.png:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.png:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.png:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.png:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.checksum:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.png:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.checksum:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.png:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-basic-expected.checksum:
        * platform/mac/http/tests/navigation/success200-basic-expected.png:
        * platform/mac/http/tests/navigation/success200-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-expected.checksum:
        * platform/mac/http/tests/navigation/success200-frames-expected.png:
        * platform/mac/http/tests/navigation/success200-frames-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.checksum:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.png:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-goback-expected.checksum:
        * platform/mac/http/tests/navigation/success200-goback-expected.png:
        * platform/mac/http/tests/navigation/success200-goback-expected.txt:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.checksum:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.png:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-reload-expected.checksum:
        * platform/mac/http/tests/navigation/success200-reload-expected.png:
        * platform/mac/http/tests/navigation/success200-reload-expected.txt:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.png:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.checksum:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.png:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.checksum:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.png:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/mac/svg/hixie/mixed/003-expected.checksum:
        * platform/mac/svg/hixie/mixed/003-expected.png:
        * platform/mac/svg/hixie/mixed/003-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.png:
        * platform/mac/tables/mozilla/bugs/bug1188-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.png:
        * platform/mac/tables/mozilla/bugs/bug12384-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.png:
        * platform/mac/tables/mozilla/bugs/bug18359-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.png:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.png:
        * platform/mac/tables/mozilla/bugs/bug24200-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.png:
        * platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.png:
        * platform/mac/tables/mozilla/bugs/bug28928-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.png:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4382-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.png:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.png:
        * platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.png:
        * platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.png:
        * platform/mac/tables/mozilla/bugs/bug51037-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.png:
        * platform/mac/tables/mozilla/bugs/bug55545-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.png:
        * platform/mac/tables/mozilla/bugs/bug59354-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.png:
        * platform/mac/tables/mozilla/bugs/bug7342-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.png:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.png:
        * platform/mac/tables/mozilla/bugs/bug99948-expected.txt:
        * platform/mac/tables/mozilla/dom/tableDom-expected.checksum:
        * platform/mac/tables/mozilla/dom/tableDom-expected.png:
        * platform/mac/tables/mozilla/dom/tableDom-expected.txt:
        * platform/mac/tables/mozilla/other/move_row-expected.checksum:
        * platform/mac/tables/mozilla/other/move_row-expected.png:
        * platform/mac/tables/mozilla/other/move_row-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.checksum:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
        * svg/custom/resources/svg-fonts-in-text-controls.js: Added.
        * svg/custom/svg-fonts-in-text-controls-expected.txt: Added.
        * svg/custom/svg-fonts-in-text-controls.html: Added.

2009-04-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel

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

        outlineBoundsForRepaint() should compute a quad relative to the
        repaintContainer. This fixes the repaint issues originally fixed in
        https://bugs.webkit.org/show_bug.cgi?id=12885 for elements in compositing layers.

        * compositing/repaint/content-into-overflow.html: Added.
        * compositing/repaint/overflow-into-content.html: Added.
        * platform/mac/compositing/repaint/content-into-overflow-expected.txt: Added.
        * platform/mac/compositing/repaint/overflow-into-content-expected.txt: Added.

2009-04-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - test and updated tests for <rdar://problem/6734365> eBay "Save this
          search" link does nothing the second time search results are opened

        * fast/dom/HTMLScriptElement/nested-execution-expected.txt: Added.
        * fast/dom/HTMLScriptElement/nested-execution.html: Added.
        * fast/dom/HTMLScriptElement/resources/nested-execution.js: Added.
        * fast/dom/HTMLScriptElement/script-reexecution.html:
        * fast/dom/HTMLScriptElement/script-set-src.html:
        * fast/dom/script-element-gc.html:
        * fast/loader/local-JavaScript-from-local.html:
        * svg/dom/SVGScriptElement/script-reexecution.svg:
        * svg/dom/SVGScriptElement/script-set-href.svg:

2009-04-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto.
        
        https://bugs.webkit.org/show_bug.cgi?id=25066
        
        Add testcase for dynamically giving <video> a layer, via opacity.

        * fast/layers/video-layer.html: Added.
        * platform/mac/fast/layers/video-layer-expected.checksum: Added.
        * platform/mac/fast/layers/video-layer-expected.png: Added.
        * platform/mac/fast/layers/video-layer-expected.txt: Added.

2009-04-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.
        
        Test for <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285
        REGRESSION (r42569): Profiles cannot be selected in inspector profiler

        * fast/events/event-listener-sharing-expected.txt: Added.
        * fast/events/event-listener-sharing.html: Added.
        * fast/events/resources/event-listener-sharing.js: Added.
        (gc):
        (clickHandler):

2009-04-18  Justin Garcia  <justin.garcia@apple.com>

        Updated test results for https://bugs.webkit.org/show_bug.cgi?id=25277

        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.checksum:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
        * platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:

2009-04-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Update fast/wml/fieldset.wml layout test result, as RenderLegend is gone.

        * platform/mac/fast/wml/fieldset-expected.txt: Rename 'RenderLegend' to 'RenderBlock'.

2009-04-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        Testcase to ensure reentry cache correctly unrolls callframe
        when it's destroyed.

        * fast/js/repeat-cached-vm-reentry-expected.txt: Added.
        * fast/js/repeat-cached-vm-reentry.html: Added.
        * fast/js/resources/repeat-cached-vm-reentry.js: Added.

2009-04-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dan Bernstein.
        
        https://bugs.webkit.org/show_bug.cgi?id=25277
        If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box

        * fast/inline/25277-2.html: Added.
        * fast/inline/25277.html: Added.
        * platform/mac/fast/inline/25277-2-expected.checksum: Added.
        * platform/mac/fast/inline/25277-2-expected.png: Added.
        * platform/mac/fast/inline/25277-2-expected.txt: Added.
        * platform/mac/fast/inline/25277-expected.checksum: Added.
        * platform/mac/fast/inline/25277-expected.png: Added.
        * platform/mac/fast/inline/25277-expected.txt: Added.

2009-04-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Mark Rowe

        <rdar://problem/6778137> - Disable post-goback-repost-policy.html until the networking layer allows it to be useful.

        * http/tests/navigation/post-goback-repost-policy.html: Removed.
        * http/tests/navigation/post-goback-repost-policy.html-disabled: Copied from http/tests/navigation/post-goback-repost-policy.html.

2009-04-16  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25223
        REGRESSION: Back button after form submission to the same URL fails to navigate.

        * http/tests/navigation/post-goback-same-url.html: Added.
        * http/tests/navigation/post-goback-same-url-expected.txt: Added.
        * http/tests/navigation/resources/post-goback-same-url.php: Added.

2009-04-17  Pierre d'Herbemont <pdherbemont@apple.com>

        Reviewed by Simon Fraser.

        Add test for media element 'played' attribute.

        * media/video-played-expected.txt: Added.
        * media/video-played.html: Added.
        * media/video-test.js:
        (disableFullTestDetailsPrinting): New, include less information in 'reportExpected' output
        to accomodate tests with values that are expected to change from run to run.
        (reportExpected): Don't log expected and observed values when printFullTestDetails is false.
        (runSilently): New, same as run() but without logging.
        (run): Call runSilently to run command.

2009-04-17  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej Stachowiak

        <rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage

        * storage/private-browsing-readonly-expected.txt: Added.
        * storage/private-browsing-readonly.html: Added.

2009-04-17  Eric Seidel  <eric@webkit.org>

        Reviewed by Antti Koivisto.

        Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint
        https://bugs.webkit.org/show_bug.cgi?id=25268

        * platform/mac/svg/custom/focus-ring-expected.checksum:
        * platform/mac/svg/custom/focus-ring-expected.png:
        * platform/mac/svg/custom/marker-overflow-clip-expected.txt:
        * platform/mac/svg/custom/scroll-hit-test-expected.checksum:
        * platform/mac/svg/custom/scroll-hit-test-expected.png:

2009-04-17  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Anders Carlsson.

        - remove tests affected by <rdar://problem/6661401> from the skip list,
          now that it is fixed.

        * platform/mac-snowleopard/Skipped:

2009-04-17  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by NOBODY Darin Adler.

        Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link 
        https://bugs.webkit.org/show_bug.cgi?id=25259

        Add a test to make sure accessibility is updated when a node becomes visible or hidden.

        * accessibility/visible-elements-expected.txt: Added.
        * accessibility/visible-elements.html: Added.

2009-04-16  Mihnea Ovidenie  <mihnea@adobe.com>

        Reviewed by Oliver Hunt.

        Bug 25027: JavaScript parseInt wrong on negative numbers
        <https://bugs.webkit.org/show_bug.cgi?id=25027>

        Add a simple test for parseInt with negative numbers.

        * fast/js/numeric-conversion-expected.txt:
        * fast/js/resources/numeric-conversion.js:

2009-04-16  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dan Bernstein.
        
        Performing a block style change in an editable root that contains only a br adds a newline
        https://bugs.webkit.org/show_bug.cgi?id=25256

        * editing/execCommand/25256-expected.txt: Added.
        * editing/execCommand/25256.html: Added.

2009-04-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Fix computeContainerBoundingBox to respect RenderSVGViewportContainer
        viewport translations (x/y on nested <svg> elements)
        https://bugs.webkit.org/show_bug.cgi?id=25254

        All of these results are progressions.

        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt:
        * platform/mac/svg/carto.net/textbox-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/image-clipped-hit-expected.txt:

2009-04-16  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 
        crashes on load due to messy HTML in search form
        -and corresponding-
        <rdar://problem/6210633>

        New tests:
        * fast/forms/form-added-to-table.html: Added.
        * fast/forms/form-in-malformed-markup.html: Added.
        * platform/mac/fast/forms/form-added-to-table-expected.checksum: Added.
        * platform/mac/fast/forms/form-added-to-table-expected.png: Added.
        * platform/mac/fast/forms/form-added-to-table-expected.txt: Added.
        * platform/mac/fast/forms/form-in-malformed-markup-expected.checksum: Added.
        * platform/mac/fast/forms/form-in-malformed-markup-expected.png: Added.
        * platform/mac/fast/forms/form-in-malformed-markup-expected.txt: Added.

        Tests with new results:
        * platform/mac/fast/forms/formmove3-expected.txt:
        * platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
        * platform/mac/fast/invalid/table-residual-style-crash-expected.txt:
        * platform/mac/fast/table/fixed-table-non-cell-in-row-expected.txt:
        * platform/mac/fast/table/inline-form-assert-expected.txt:
        * platform/mac/fast/table/insert-cell-before-form-expected.txt:
        * platform/mac/fast/table/insert-row-before-form-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug1318-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug2516-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug32447-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug34538-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug4527-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug78162-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug96343-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:

2009-04-16  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Simon Fraser.

        Fix https://bugs.webkit.org/show_bug.cgi?id=24527
        caret does not paint the first time you focus on a 0px right padding RTL div

        * fast/forms/caret-rtl.html: Added.
        * platform/mac/fast/forms/caret-rtl-expected.checksum: Added.
        * platform/mac/fast/forms/caret-rtl-expected.png: Added.
        * platform/mac/fast/forms/caret-rtl-expected.txt: Added.

2009-04-16  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Simon Fraser.
        
        https://bugs.webkit.org/show_bug.cgi?id=25228
        SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect)

        * editing/selection/25228.html: Added.
        * platform/mac/editing/selection/25228-expected.checksum: Added.
        * platform/mac/editing/selection/25228-expected.png: Added.
        * platform/mac/editing/selection/25228-expected.txt: Added.

2009-04-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6032139> Table cell widths calculated
          incorrectly on table that uses table-layout:fixed, colspans, and a mix
          of percentage and pixel widths

        * fast/table/fixed-granular-cols.html: Added.
        * platform/mac/fast/table/fixed-granular-cols-expected.checksum: Added.
        * platform/mac/fast/table/fixed-granular-cols-expected.png: Added.
        * platform/mac/fast/table/fixed-granular-cols-expected.txt: Added.

2009-04-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Bug 25229: Need support for Array.prototype.reduceRight
        <https://bugs.webkit.org/show_bug.cgi?id=25229>

        Add test coverage for Array.reduceRight

        * fast/js/array-enumerators-functions-expected.txt:
        * fast/js/array-reduceRight-expected.txt: Added.
        * fast/js/array-reduceRight.html: Added.
        * fast/js/resources/array-enumerators-functions.js:
        * fast/js/resources/array-reduceRight.js: Added.

2009-04-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Bug 25227: Array.filter triggers an assertion when the target array shrinks while being filtered
        <https://bugs.webkit.org/show_bug.cgi?id=25227>

        Add a test case (of doom) that covers many of the edge cases of the standard array enumerator
        functions.

        * fast/js/array-enumerators-functions-expected.txt: Added.
        * fast/js/array-enumerators-functions.html: Added.
        * fast/js/resources/array-enumerators-functions.js: Added.

2009-04-13  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Add tests for Array.prototype.reduce

        * fast/js/array-reduce-expected.txt: Added.
        * fast/js/array-reduce.html: Added.
        * fast/js/resources/array-reduce.js: Added.
        (toObject):

2009-04-15  Eric Carlson  <eric.carlson@apple.com>

        Fix incorrect expected result.

        * http/tests/security/local-video-source-from-remote-expected.txt:

2009-04-15  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dan Bernstein.
        
        https://bugs.webkit.org/show_bug.cgi?id=25204
        Create a fast path for ReplaceSelectionCommand that merges text nodes
        
        Simplified DOM/Render trees:
        * editing/pasteboard/4840662-expected.txt:
        * platform/mac/editing/pasteboard/bad-placeholder-expected.txt:
        * platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-019-expected.txt:
        * platform/mac/editing/pasteboard/paste-xml-expected.txt:
        * platform/win/editing/selection/text-drag-delay.html

        Removed redundant styles that were generated during nesting prevention that is no longer needed:
        * platform/mac/editing/pasteboard/4076267-2-expected.txt:
        * platform/mac/editing/pasteboard/5156401-1-expected.txt:
        
        No longer incorrectly uncollapsing unrendered whitespace:
        * editing/pasteboard/paste-into-anchor-text-expected.txt:
        * platform/mac/editing/pasteboard/5387578-expected.txt:
        
        No longer invalidating the old selected DOM range during a paste:
        * editing/pasteboard/copy-in-password-field-expected.txt:

2009-04-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/6777374> Generated content with display:
          run-in causes a crash

        * fast/runin/generated.html: Added.
        * platform/mac/fast/runin/generated-expected.checksum: Added.
        * platform/mac/fast/runin/generated-expected.png: Added.
        * platform/mac/fast/runin/generated-expected.txt: Added.

2009-04-15  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Use a media file inside of LayoutTests/http/ so a cgi isn't necessary to load 
        it. Fixes a test failure introduced in r42533.

        * http/tests/resources/silence.mpg: Added.
        * http/tests/security/local-video-source-from-remote-expected.txt:
        * http/tests/security/local-video-source-from-remote.html: change the
        remote url, update a comment.
        * http/tests/security/resources/load-media.cgi: Removed.

2009-04-14  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        Bug 25202: Improve performance of repeated callbacks into the VM

        Used Array.prototype.filter as the test function for the cached vm
        reentry so extended the existing Array.prototype.filter tests to be
        more thorough in order to test more edge cases.

        * fast/js/array-filter-expected.txt:
        * fast/js/array-filter.html:
        * fast/js/resources/array-filter.js: Added.

2009-04-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Fix <rdar://problem/6755724> <audio> and <video> elements can reference local 
        file:/// URLs from remote in Safari

        Test cases to ensure that local 'src', 'poster', and <source> are not loaded.

        * http/tests/security/local-video-poster-from-remote-expected.txt: Added.
        * http/tests/security/local-video-poster-from-remote.html: Added.
        * http/tests/security/local-video-source-from-remote-expected.txt: Added.
        * http/tests/security/local-video-source-from-remote.html: Added.
        * http/tests/security/local-video-src-from-remote-expected.txt: Added.
        * http/tests/security/local-video-src-from-remote.html: Added.
        * http/tests/security/resources/load-media.cgi: Added.
        * http/tests/security/resources/silence.mpg: Added.

2009-04-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Part of <rdar://problem/6150868>
        Test for incorrect handling of content that needs to go into the head element
        once the head element has been removed.

        * fast/parser/head-content-after-head-removal-expected.txt: Added.
        * fast/parser/head-content-after-head-removal.html: Added.

2009-04-14  Adam Roben  <aroben@apple.com>

        Skip another test that sometimes times out on Windows

        * platform/win/Skipped: Added dom/html/level2/html/table29.html.

2009-04-14  Adam Roben  <aroben@apple.com>

        Skip a test that sometimes times out on Windows

        * platform/win/Skipped: Added
        http/tests/incremental/slow-utf8-text.pl.

2009-04-14  Adam Roben  <aroben@apple.com>

        Skip a sometimes-failing test on Windows

        Rubber-stamped by Simon Fraser.

        * platform/win/Skipped: Added
        transitions/zero-duration-with-non-zero-delay-end.html.

2009-04-14  Adam Roben  <aroben@apple.com>

        Land updated Windows results for two tests changed by r42471

        Rubber-stamped by Anders Carlsson.

        * platform/win/css1/text_properties/text_transform-expected.txt: Copied from LayoutTests/platform/mac-leopard/css1/text_properties/text_transform-expected.txt.
        * platform/win/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt: Copied from LayoutTests/platform/mac-leopard/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt.

2009-04-14  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] disable soup auth dialog when running DRT
        https://bugs.webkit.org/show_bug.cgi?id=24598

        Enable http/tests/xmlhttprequest/failed-auth.html test. We should
        be able to run this test in non-interactive mode

        * platform/gtk/Skipped:

2009-04-13  Francisco Tolmasky  <francisco@280north.com>

        Reviewed by Oliver Hunt.

        BUG 25171: It should be possible to manually set the name of an anonymous function
        <https://bugs.webkit.org/show_bug.cgi?id=25171>

        Added test cases for using displayName property on anonymous and named functions.

        * fast/profiler/anonymous-functions-with-display-names-expected.txt: Added.
        * fast/profiler/anonymous-functions-with-display-names.html: Added.
        * fast/profiler/named-functions-with-display-names-expected.txt: Added.
        * fast/profiler/named-functions-with-display-names.html: Added.

2009-04-13  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks
        https://bugs.webkit.org/show_bug.cgi?id=25158
        rdar://problem/6769693

        * editing/selection/click-after-nested-block-expected.txt: Added.
        * editing/selection/click-after-nested-block.html: Added.

        * fast/events/pointer-events-expected.txt: Updated since this is now a plain-text test.
        * fast/events/pointer-events.html: Changed this to a plain-text test, because the old
        results reflected a difference in hit testing behavior that this test was not intended
        to exercise and it's better to have the test be more cross-platform. Also removed
        unneeded use of waitUntilDone.

        * fast/js/finally-codegen-failure.html: Replaced with standard wrapper created by
        running the make-js-test-wrappers script. If we want to include type and charset
        attributes in the script elements, we can change make-js-test-wrappers to do that
        for all tests at some point.
        * fast/js/function-apply-aliased.html: Ditto.
        * fast/js/function-call-aliased.html: Ditto.

2009-04-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Holger Freyther.

        Further massage tests to disable tests that are failingto make the
        results more useful.

        * platform/gtk/Skipped:

2009-04-13  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Adele Peterson.
        
        <rdar://problem/6748324> REGRESSION (Kirkwood): Can't type in Netflix search field

        * fast/forms/25153-expected.txt: Added.
        * fast/forms/25153.html: Added.

2009-04-13  Sam Weinig  <sam@webkit.org>

        Fix bad expected result.

        * fast/frames/frame-unload-crash-expected.txt:

2009-04-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Update tests after moving showModalDialog from JSDOMWindowBase to
        JSDOMWindow and slightly changing the behavior when showModalDialog
        is not available, as is the case for DumpRenderTree.

        * fast/dom/Window/window-function-frame-getter-precedence-expected.txt:
        * fast/dom/Window/window-properties-expected.txt:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-04-13  Darin Fisher  <darin@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=25136
        CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame

        * fast/frames/frame-unload-crash-expected.txt: Added.
        * fast/frames/frame-unload-crash.html: Added.
        * fast/frames/resources/frame-unload-crash-1.html: Added.
        * fast/frames/resources/frame-unload-crash-2.html: Added.
        * fast/frames/resources/frame-unload-crash-3.html: Added.

2009-04-13  Sam Weinig  <sam@webkit.org>

        Reviewed by Tim Hatcher.

        Update test results after putting the MessagePort constructor
        back in ENABLE_CHANNEL_MESSAGING.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-04-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Rubber-stamped by Holger Freyther.

        Reworked the skipped tests listing so that it is easier to find
        tests that are skipped but pass using diff. Enable all tests that
        are passing, and disable failing tests except for a few crashers
        and known regressions. This is an effort to make the build slave
        output more useful when it is back.

        * platform/gtk/Skipped:

2009-04-13  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Test for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line

        * editing/inserting/5510537.html: Added.
        * platform/mac/editing/inserting/5510537-expected.checksum: Added.
        * platform/mac/editing/inserting/5510537-expected.png: Added.
        * platform/mac/editing/inserting/5510537-expected.txt: Added.

2009-04-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Update test result for new nop window.crypto behavior.

        * http/tests/security/cross-frame-access-get-expected.txt:

2009-04-12  Sam Weinig  <sam@webkit.org>

        Update results.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-04-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Update tests after making MessageChannel completely missing when not
        compiling with support for it (and removing it from the tests because
        we never compile with support for it right now) and exposing the MessagePort
        constructor.

        * fast/dom/constructors-cached-expected.txt:
        * fast/dom/dom-constructors-expected.txt:
        * fast/dom/dom-constructors.html:
        * fast/dom/resources/constructors-cached.js:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-04-12  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Another test for <rdar://problem/6609479>.  This covers inserting HTML in a quoted table.

        * editing/inserting/6609479-1-expected.txt: Added.
        * editing/inserting/6609479-1.html: Added.

2009-04-11  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Tests for <rdar://problem/6609479> Pressing return inside a table cell that's inside quoted content will split the table

        * editing/inserting/5418891.html: Changed test so it doesn't involve tables.
        * editing/inserting/6609479-expected.txt: Added.
        * editing/inserting/6609479.html: Added.
        * platform/mac/editing/inserting/5418891-expected.checksum:
        * platform/mac/editing/inserting/5418891-expected.png:
        * platform/mac/editing/inserting/5418891-expected.txt:

2009-04-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6643103> Unscaled values from body.scrollHeight

        * fast/css/zoom-body-scroll-expected.txt: Added.
        * fast/css/zoom-body-scroll.html: Added.

2009-04-10  Adam Roben  <aroben@apple.com>

        Land corrected results for complex-character-based-fallback.html

        * platform/win/fast/text/international/complex-character-based-fallback-expected.txt:

2009-04-10  Darin Adler  <darin@apple.com>

        Rubber stamped by Adam Roben.

        Disabled fast/dom/gc-8.html, which was using Timer in an unsafe way that now
        triggers an assertion.

        We'll reenable the test after fixing the problem. But this is a test-only problem.

        * fast/dom/gc-8.html: Removed.
        * fast/dom/gc-8.html-disabled: Copied from fast/dom/gc-8.html.

2009-04-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - test and expected result updates following r42379

        * fast/text/offsetForPosition-cluster-at-zero-expected.txt: Updated
        results.
        * fast/text/offsetForPosition-cluster-at-zero.html: Removed
        font-dependent alert that was accidently left in this test.
        * platform/mac-tiger/fast/text/international/thai-line-breaks-expected.checksum:
        * platform/mac-tiger/fast/text/international/thai-line-breaks-expected.png:
        * platform/mac-tiger/fast/text/international/thai-line-breaks-expected.txt:
        * platform/mac-tiger/fast/text/monospace-width-cache-expected.checksum: Added.
        * platform/mac-tiger/fast/text/monospace-width-cache-expected.png: Added.
        * platform/mac-tiger/fast/text/monospace-width-cache-expected.txt: Added.
        * platform/win/Skipped:

2009-04-10  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dan Bernstein
        
        https://bugs.webkit.org/show_bug.cgi?id=25108

        Testcase which reproduces the issue described in bug 25108.
        Won't actually reveal failure, since we have no way to test
        whether animation timers keep firing from DRT.

        * transitions/remove-transition-style-expected.txt: Added.
        * transitions/remove-transition-style.html: Added.

2009-04-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - re-enable css2.1 tests that were disabled following r42379 and make
          them use a different fallback font for certain characters, to get
          the vertical metrics to match Mac

        * platform/win/Skipped:
        * platform/win/css2.1/resources/Mac-compatible-font-fallback.css:

2009-04-10  Dan Bernstein  <mitz@apple.com>

        - skip failures following r42379 until they are addressed by code
          changes or test changes

        * platform/win/Skipped:

2009-04-10  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - revert broken test results that were checked in with r42379, now that
          the regression is fixed

        * platform/mac/fast/text/wide-zero-width-space-expected.checksum:
        * platform/mac/fast/text/wide-zero-width-space-expected.png:
        * platform/mac/fast/text/wide-zero-width-space-expected.txt:

2009-04-10  Adam Roben  <aroben@apple.com>

        Update Windows results for complex-character-based-fallback.html

        Rubber-stamped by Dan Bernstein.

        * platform/win/fast/text/international/complex-character-based-fallback-expected.checksum:
        * platform/win/fast/text/international/complex-character-based-fallback-expected.png:
        * platform/win/fast/text/international/complex-character-based-fallback-expected.txt:
        Updated.

2009-04-09  Dan Bernstein  <mitz@apple.com>

        - remove two files I just checked in by accident

        * platform/mac/fast/events/pointer-events-expected.txt: Removed.
        * platform/mac/fast/events/pointer-events.html: Removed.

2009-04-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - moved some Leopard-and-earlier results into platform/mac-leopard and
          added new results under platform/mac

        * platform/mac-leopard/fast/text/complex-text-opacity-expected.checksum: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.checksum.
        * platform/mac-leopard/fast/text/complex-text-opacity-expected.png: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.png.
        * platform/mac-leopard/fast/text/complex-text-opacity-expected.txt: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.txt.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.checksum: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.png.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.txt.
        * platform/mac-leopard/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum.
        * platform/mac-leopard/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png.
        * platform/mac-leopard/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt.
        * platform/mac/fast/events/pointer-events-expected.txt: Added.
        * platform/mac/fast/events/pointer-events.html: Added.
        * platform/mac/fast/text/atsui-multiple-renderers-expected.checksum:
        * platform/mac/fast/text/atsui-multiple-renderers-expected.png:
        * platform/mac/fast/text/atsui-multiple-renderers-expected.txt:
        * platform/mac/fast/text/complex-text-opacity-expected.checksum: Replaced.
        * platform/mac/fast/text/complex-text-opacity-expected.png: Replaced.
        * platform/mac/fast/text/complex-text-opacity-expected.txt: Replaced.
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum: Replaced.
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.png: Replaced.
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.txt: Replaced.
        * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.checksum: Added.
        * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.png: Added.
        * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
        * platform/mac/fast/text/international/bidi-CS-after-AN-expected.checksum: Added.
        * platform/mac/fast/text/international/bidi-CS-after-AN-expected.png: Added.
        * platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum: Replaced.
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png: Replaced.
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Replaced.
        * platform/mac/fast/text/international/bidi-neutral-run-expected.checksum: Added.
        * platform/mac/fast/text/international/bidi-neutral-run-expected.png: Added.
        * platform/mac/fast/text/international/bidi-neutral-run-expected.txt:

2009-04-09  Mark Rowe  <mrowe@apple.com>

        Remove two tests from the skipped list now that <rdar://problem/6718460> has been addressed.

        * platform/mac-snowleopard/Skipped:

2009-04-09  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver Hunt.

        Skip a few tests that are currently failing.

        * platform/mac-snowleopard/Skipped:

2009-04-09  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        - update Tiger-only test results after r42379

        * platform/mac-tiger/fast/lists/w3-list-styles-expected.txt:
        * platform/mac-tiger/fast/text/cg-fallback-bolding-expected.txt:
        * platform/mac-tiger/fast/text/international/thai-line-breaks-expected.txt:

2009-04-09  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Adam Roben.

        Land Windows-specific results for three forms tests since the Windows results match the Leopard results.

        * platform/win/fast/forms/file-input-disabled-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/forms/file-input-disabled-expected.txt.
        * platform/win/fast/forms/input-text-maxlength-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/forms/input-text-maxlength-expected.txt.
        * platform/win/fast/forms/input-text-paste-maxlength-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.txt.

2009-04-09  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Update test results to account for a slight change in +[NSColor disabledControlTextColor].

        * platform/mac-leopard/fast/forms/disabled-select-change-index-expected.checksum: Renamed from LayoutTests/platform/mac/fast/forms/disabled-select-change-index-expected.checksum.
        * platform/mac-leopard/fast/forms/disabled-select-change-index-expected.png: Renamed from LayoutTests/platform/mac/fast/forms/disabled-select-change-index-expected.png.
        * platform/mac-leopard/fast/forms/disabled-select-change-index-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/disabled-select-change-index-expected.txt.
        * platform/mac-leopard/fast/forms/file-input-disabled-expected.checksum: Renamed from LayoutTests/platform/mac/fast/forms/file-input-disabled-expected.checksum.
        * platform/mac-leopard/fast/forms/file-input-disabled-expected.png: Renamed from LayoutTests/platform/mac/fast/forms/file-input-disabled-expected.png.
        * platform/mac-leopard/fast/forms/file-input-disabled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/file-input-disabled-expected.txt.
        * platform/mac-leopard/fast/forms/input-text-maxlength-expected.checksum: Renamed from LayoutTests/platform/mac/fast/forms/input-text-maxlength-expected.checksum.
        * platform/mac-leopard/fast/forms/input-text-maxlength-expected.png: Renamed from LayoutTests/platform/mac/fast/forms/input-text-maxlength-expected.png.
        * platform/mac-leopard/fast/forms/input-text-maxlength-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-maxlength-expected.txt.
        * platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.checksum: Renamed from LayoutTests/platform/mac/fast/forms/input-text-paste-maxlength-expected.checksum.
        * platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.png: Renamed from LayoutTests/platform/mac/fast/forms/input-text-paste-maxlength-expected.png.
        * platform/mac-leopard/fast/forms/input-text-paste-maxlength-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/input-text-paste-maxlength-expected.txt.
        * platform/mac/fast/forms/disabled-select-change-index-expected.txt:
        * platform/mac/fast/forms/file-input-disabled-expected.txt:
        * platform/mac/fast/forms/input-text-maxlength-expected.txt:
        * platform/mac/fast/forms/input-text-paste-maxlength-expected.txt:

2009-04-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - updated results for <rdar://problem/6166612> Text boxes' metrics should be based on
          the actual fonts used in them, not just the primary font

        * editing/selection/extend-selection-bidi-expected.txt:
        * fast/text/offsetForPosition-cluster-at-zero-expected.txt:
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.checksum:
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.png:
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.txt:
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.checksum:
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.png:
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.txt:
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.checksum:
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.png:
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.txt:
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.checksum:
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.png:
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.txt:
        * platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.checksum:
        * platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.png:
        * platform/mac/css2.1/t0805-c5518-brdr-t-01-e-expected.txt:
        * platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.checksum:
        * platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.png:
        * platform/mac/css2.1/t0805-c5519-brdr-r-00-a-expected.txt:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.checksum:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.png:
        * platform/mac/css2.1/t0805-c5520-brdr-b-01-e-expected.txt:
        * platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.checksum:
        * platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.png:
        * platform/mac/css2.1/t0805-c5521-brdr-l-00-a-expected.txt:
        * platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.checksum:
        * platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.png:
        * platform/mac/css2.1/t0805-c5521-brdr-l-01-e-expected.txt:
        * platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.checksum:
        * platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.png:
        * platform/mac/css2.1/t0805-c5521-ibrdr-l-00-a-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-02-c-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-02-c-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-02-c-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-03-c-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-03-c-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-03-c-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-04-c-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-04-c-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-04-c-expected.txt:
        * platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.checksum:
        * platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.png:
        * platform/mac/css2.1/t0905-c414-flt-fit-01-d-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwidth-02-c-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt:
        * platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.png:
        * platform/mac/css2.1/t0905-c5525-fltwrap-00-b-expected.txt:
        * platform/mac/css2.1/t090501-c414-flt-01-b-expected.checksum:
        * platform/mac/css2.1/t090501-c414-flt-01-b-expected.png:
        * platform/mac/css2.1/t090501-c414-flt-01-b-expected.txt:
        * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.checksum:
        * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.png:
        * platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.txt:
        * platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.checksum:
        * platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.png:
        * platform/mac/css2.1/t090501-c5525-flt-l-00-b-g-expected.txt:
        * platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.checksum:
        * platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.png:
        * platform/mac/css2.1/t090501-c5525-flt-r-00-b-g-expected.txt:
        * platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.checksum:
        * platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.png:
        * platform/mac/css2.1/t100304-c43-rpl-bbx-01-d-g-expected.txt:
        * platform/mac/css2.1/t1202-counter-03-b-expected.checksum:
        * platform/mac/css2.1/t1202-counter-03-b-expected.png:
        * platform/mac/css2.1/t1202-counter-03-b-expected.txt:
        * platform/mac/css2.1/t1202-counter-04-b-expected.checksum:
        * platform/mac/css2.1/t1202-counter-04-b-expected.png:
        * platform/mac/css2.1/t1202-counter-04-b-expected.txt:
        * platform/mac/css2.1/t1202-counter-09-b-expected.checksum:
        * platform/mac/css2.1/t1202-counter-09-b-expected.png:
        * platform/mac/css2.1/t1202-counter-09-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-03-b-expected.checksum:
        * platform/mac/css2.1/t1202-counters-03-b-expected.png:
        * platform/mac/css2.1/t1202-counters-03-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-04-b-expected.checksum:
        * platform/mac/css2.1/t1202-counters-04-b-expected.png:
        * platform/mac/css2.1/t1202-counters-04-b-expected.txt:
        * platform/mac/css2.1/t1202-counters-09-b-expected.checksum:
        * platform/mac/css2.1/t1202-counters-09-b-expected.png:
        * platform/mac/css2.1/t1202-counters-09-b-expected.txt:
        * platform/mac/editing/deleting/5144139-2-expected.checksum:
        * platform/mac/editing/deleting/5144139-2-expected.png:
        * platform/mac/editing/deleting/5144139-2-expected.txt:
        * platform/mac/editing/input/devanagari-ligature-expected.checksum:
        * platform/mac/editing/input/devanagari-ligature-expected.png:
        * platform/mac/editing/input/devanagari-ligature-expected.txt:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.checksum:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.png:
        * platform/mac/editing/pasteboard/copy-paste-bidi-expected.txt:
        * platform/mac/editing/selection/caret-rtl-2-expected.checksum:
        * platform/mac/editing/selection/caret-rtl-2-expected.png:
        * platform/mac/editing/selection/caret-rtl-2-expected.txt:
        * platform/mac/editing/selection/caret-rtl-expected.checksum:
        * platform/mac/editing/selection/caret-rtl-expected.png:
        * platform/mac/editing/selection/caret-rtl-expected.txt:
        * platform/mac/editing/selection/extend-selection-bidi-expected.checksum:
        * platform/mac/editing/selection/extend-selection-bidi-expected.png:
        * platform/mac/fast/css/beforeSelectorOnCodeElement-expected.checksum:
        * platform/mac/fast/css/beforeSelectorOnCodeElement-expected.png:
        * platform/mac/fast/css/beforeSelectorOnCodeElement-expected.txt:
        * platform/mac/fast/css/rtl-ordering-expected.checksum:
        * platform/mac/fast/css/rtl-ordering-expected.png:
        * platform/mac/fast/css/rtl-ordering-expected.txt:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.checksum:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.png:
        * platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
        * platform/mac/fast/css/text-security-expected.checksum:
        * platform/mac/fast/css/text-security-expected.png:
        * platform/mac/fast/css/text-security-expected.txt:
        * platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.checksum:
        * platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.png:
        * platform/mac/fast/encoding/denormalised-voiced-japanese-chars-expected.txt:
        * 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/mac/fast/events/updateLayoutForHitTest-expected.checksum:
        * platform/mac/fast/events/updateLayoutForHitTest-expected.png:
        * platform/mac/fast/events/updateLayoutForHitTest-expected.txt:
        * platform/mac/fast/forms/select-visual-hebrew-expected.checksum:
        * platform/mac/fast/forms/select-visual-hebrew-expected.png:
        * platform/mac/fast/forms/select-visual-hebrew-expected.txt:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.checksum:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.png:
        * platform/mac/fast/forms/select-writing-direction-natural-expected.txt:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.checksum:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.png:
        * platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
        * platform/mac/fast/lists/w3-list-styles-expected.checksum:
        * platform/mac/fast/lists/w3-list-styles-expected.png:
        * platform/mac/fast/lists/w3-list-styles-expected.txt:
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.checksum:
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.png:
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.txt:
        * platform/mac/fast/text/capitalize-boundaries-expected.checksum:
        * platform/mac/fast/text/capitalize-boundaries-expected.png:
        * platform/mac/fast/text/capitalize-boundaries-expected.txt:
        * platform/mac/fast/text/cg-fallback-bolding-expected.checksum:
        * platform/mac/fast/text/cg-fallback-bolding-expected.png:
        * platform/mac/fast/text/cg-fallback-bolding-expected.txt:
        * platform/mac/fast/text/complex-text-opacity-expected.checksum:
        * platform/mac/fast/text/complex-text-opacity-expected.png:
        * platform/mac/fast/text/complex-text-opacity-expected.txt:
        * platform/mac/fast/text/in-rendered-text-rtl-expected.checksum:
        * platform/mac/fast/text/in-rendered-text-rtl-expected.png:
        * platform/mac/fast/text/in-rendered-text-rtl-expected.txt:
        * platform/mac/fast/text/international/001-expected.checksum:
        * platform/mac/fast/text/international/001-expected.png:
        * platform/mac/fast/text/international/001-expected.txt:
        * platform/mac/fast/text/international/002-expected.checksum:
        * platform/mac/fast/text/international/002-expected.png:
        * platform/mac/fast/text/international/002-expected.txt:
        * platform/mac/fast/text/international/003-expected.checksum:
        * platform/mac/fast/text/international/003-expected.png:
        * platform/mac/fast/text/international/003-expected.txt:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.png:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
        * platform/mac/fast/text/international/bidi-L2-run-reordering-expected.checksum:
        * platform/mac/fast/text/international/bidi-L2-run-reordering-expected.png:
        * platform/mac/fast/text/international/bidi-L2-run-reordering-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.checksum:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.png:
        * platform/mac/fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.checksum:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.png:
        * platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
        * platform/mac/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * platform/mac/fast/text/international/bidi-european-terminators-expected.checksum:
        * platform/mac/fast/text/international/bidi-european-terminators-expected.png:
        * platform/mac/fast/text/international/bidi-european-terminators-expected.txt:
        * platform/mac/fast/text/international/bidi-fallback-font-weight-expected.checksum:
        * platform/mac/fast/text/international/bidi-fallback-font-weight-expected.png:
        * platform/mac/fast/text/international/bidi-fallback-font-weight-expected.txt:
        * platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum:
        * platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
        * platform/mac/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
        * platform/mac/fast/text/international/bidi-innertext-expected.checksum:
        * platform/mac/fast/text/international/bidi-innertext-expected.png:
        * platform/mac/fast/text/international/bidi-innertext-expected.txt:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.txt:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.txt:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.checksum:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.png:
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.txt:
        * platform/mac/fast/text/international/bidi-listbox-atsui-expected.checksum:
        * platform/mac/fast/text/international/bidi-listbox-atsui-expected.png:
        * platform/mac/fast/text/international/bidi-listbox-atsui-expected.txt:
        * platform/mac/fast/text/international/bidi-listbox-expected.checksum:
        * platform/mac/fast/text/international/bidi-listbox-expected.png:
        * platform/mac/fast/text/international/bidi-listbox-expected.txt:
        * platform/mac/fast/text/international/bidi-menulist-expected.checksum:
        * platform/mac/fast/text/international/bidi-menulist-expected.png:
        * platform/mac/fast/text/international/bidi-menulist-expected.txt:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.checksum:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.png:
        * platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
        * platform/mac/fast/text/international/bidi-override-expected.checksum:
        * platform/mac/fast/text/international/bidi-override-expected.png:
        * platform/mac/fast/text/international/bidi-override-expected.txt:
        * platform/mac/fast/text/international/hindi-spacing-expected.checksum:
        * platform/mac/fast/text/international/hindi-spacing-expected.png:
        * platform/mac/fast/text/international/hindi-spacing-expected.txt:
        * platform/mac/fast/text/international/rtl-caret-expected.checksum:
        * platform/mac/fast/text/international/rtl-caret-expected.png:
        * platform/mac/fast/text/international/rtl-caret-expected.txt:
        * platform/mac/fast/text/international/thai-line-breaks-expected.checksum:
        * platform/mac/fast/text/international/thai-line-breaks-expected.png:
        * platform/mac/fast/text/international/thai-line-breaks-expected.txt:
        * platform/mac/fast/text/international/wrap-CJK-001-expected.checksum:
        * platform/mac/fast/text/international/wrap-CJK-001-expected.png:
        * platform/mac/fast/text/international/wrap-CJK-001-expected.txt:
        * platform/mac/fast/text/wide-zero-width-space-expected.checksum:
        * platform/mac/fast/text/wide-zero-width-space-expected.png:
        * platform/mac/fast/text/wide-zero-width-space-expected.txt:

2009-04-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Simon Fraser.

        Test to make sure we don't crash when accessing
        properties (like viewport) on a detached <svg> element.

        * svg/custom/detached-outermost-svg-crash-expected.txt: Added.
        * svg/custom/detached-outermost-svg-crash.html: Added.

2009-04-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey "Big Boy" Garen.

        Tests for <rdar://problem/5745677> Possible to stop load during an unload event

        * fast/events/resources/pass.html: Added.
        * fast/events/resources/subframe-stop-load-in-unload-handler-using-document-write.html: Added.
        * fast/events/resources/subframe-stop-load-in-unload-handler-using-window-stop.html: Added.
        * fast/events/stop-load-in-unload-handler-using-document-write-expected.txt: Added.
        * fast/events/stop-load-in-unload-handler-using-document-write.html: Added.
        * fast/events/stop-load-in-unload-handler-using-window-stop-expected.txt: Added.
        * fast/events/stop-load-in-unload-handler-using-window-stop.html: Added.

2009-04-09  Adam Roben  <aroben@apple.com>

        Update results for createDocument-namespace-err.html

        It looks like the test was changed without updating the results before
        it was committed.

        Rubber-stamped by Adele Peterson.

        * fast/dom/DOMImplementation/createDocument-namespace-err-expected.txt:
        Updated.

2009-04-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

        Test cases for document.implementation.createDocument
        https://bugs.webkit.org/show_bug.cgi?id=25096

        We fail some of these tests (as does Mozilla)
        I didn't want to add a behavior change to this crash fix, so I filed
        https://bugs.webkit.org/show_bug.cgi?id=25111 as a follow-up bug.

        * fast/dom/DOMImplementation/createDocument-namespace-err-expected.txt: Added.
        * fast/dom/DOMImplementation/createDocument-namespace-err.html: Added.
        * fast/dom/DOMImplementation/resources/createDocument-namespace-err.js: Copied from fast/dom/Document/resources/createElementNS-namespace-err.js

2009-04-08  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adam Roben.

        Add a test for excess arguments passed to function.apply

        * fast/js/function-apply-expected.txt:
        * fast/js/resources/function-apply.js:
        (argumentsApplyExcessArguments.t):
        (argumentsApplyExcessArguments):

2009-04-08  Adam Roben  <aroben@apple.com>

        Skip fast/js/toString-stack-overflow.html on Windows

        This test sometimes crashes in Debug builds.

        Rubber-stamped by Geoff Garen.

        * platform/win/Skipped: Skip toString-stack-overflow.html.

2009-04-08  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/6771547> Appending to a RenderText causes all its
          lines to be dirtied

        * fast/repaint/text-append-dirty-lines.html: Added.
        * platform/mac/fast/repaint/text-append-dirty-lines-expected.checksum: Added.
        * platform/mac/fast/repaint/text-append-dirty-lines-expected.png: Added.
        * platform/mac/fast/repaint/text-append-dirty-lines-expected.txt: Added.

2009-04-08  Darin Fisher  <darin@chromium.org>

        Reviewed by Eric Seidel.

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

        Fixes a Chromium-specific crash in WebCore::ImageBuffer::context that
        occurs when rendering semi-transparent RTL text.

        * fast/text/complex-text-opacity.html:
        * platform/mac/fast/text/complex-text-opacity-expected.checksum:
        * platform/mac/fast/text/complex-text-opacity-expected.png:
        * platform/mac/fast/text/complex-text-opacity-expected.txt:

2009-04-08  Sam Weinig  <sam@webkit.org>

        Add Windows specific results.

        * platform/win/http/tests/security: Added.
        * platform/win/http/tests/security/XFrameOptions: Added.
        * platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added.
        * platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added.
        * platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * platform/win/http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added.

2009-04-08  Sam Weinig  <sam@webkit.org>

        Add Tiger specific results.

        * platform/mac-tiger/http/tests/security: Added.
        * platform/mac-tiger/http/tests/security/XFrameOptions: Added.
        * platform/mac-tiger/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added.
        * platform/mac-tiger/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added.
        * platform/mac-tiger/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * platform/mac-tiger/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.

2009-04-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        Add a bunch of tests for function.apply

        * fast/js/function-apply-aliased-expected.txt: Added.
        * fast/js/function-apply-aliased.html: Added.
        * fast/js/resources/function-apply-aliased.js: Added.
        * fast/profiler/apply-expected.txt:

2009-04-08  Adam Roben  <aroben@apple.com>

        Skip fast/cookies/local-file-can-set-cookies.html on Windows

        Reviewed by John Sullivan.

        * platform/win/Skipped: Skip local-file-can-set-cookies.html, which is
        failing due to a bug in one of our dependencies.

2009-04-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben and Darin Adler

        Updated results and new tests for https://bugs.webkit.org/show_bug.cgi?id=12440.

        * fast/block/positioning/fixed-positioning-scrollbar-bug.html: Added.
        * platform/mac/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.checksum: Added.
        * platform/mac/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.png: Added.
        * platform/mac/fast/block/positioning/fixed-positioning-scrollbar-bug-expected.txt: Added.
        * platform/mac/fast/flexbox/016-expected.checksum:
        * platform/mac/fast/flexbox/016-expected.png:
        * platform/mac/fast/flexbox/016-expected.txt:
        * platform/mac/fast/flexbox/flex-hang-expected.checksum:
        * platform/mac/fast/flexbox/flex-hang-expected.png:
        * platform/mac/fast/flexbox/flex-hang-expected.txt:
        * platform/mac/fast/lists/001-expected.checksum:
        * platform/mac/fast/lists/001-expected.png:
        * platform/mac/fast/lists/001-expected.txt:

2009-04-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Tests for <rdar://problem/6226200> Implement Microsoft's X-FRAME-OPTIONS anti-framing defense

        * http/tests/security/XFrameOptions: Added.
        * http/tests/security/XFrameOptions/resources: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-in-body.html: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-parent-same-origin-allow.html: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe-parent-same-origin-deny.html: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny-meta-tag-subframe.html: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-deny.cgi: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-parent-same-origin-allow.cgi: Added.
        * http/tests/security/XFrameOptions/resources/x-frame-options-parent-same-origin-deny.cgi: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-deny.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html: Added.
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt: Added.
        * http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html: Added.

2009-04-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        More tests for our handling of MIME types and style sheets.

        * http/tests/mime/resources/style-with-charset.php: Added.
        * http/tests/mime/resources/style-with-empty-content-type.cgi: Renamed from LayoutTests/http/tests/mime/resources/style.cgi.
        * http/tests/mime/resources/style-with-text-plain.php: Added.
        * http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension-expected.txt: Added.
        * http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension.html: Added.
        * http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-expected.txt: Added.
        * http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain.html: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-with-charset-and-css-extension-expected.txt: Copied from LayoutTests/http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header-expected.txt.
        * http/tests/mime/standard-mode-loads-stylesheet-with-charset-and-css-extension.html: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-with-charset-expected.txt: Copied from LayoutTests/http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header-expected.txt.
        * http/tests/mime/standard-mode-loads-stylesheet-with-charset.html: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type-expected.txt: Renamed from LayoutTests/http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header-expected.txt.
        * http/tests/mime/standard-mode-loads-stylesheet-with-empty-content-type.html: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header.html: Removed.

2009-04-08  Adam Roben  <aroben@apple.com>

        Check in Windows-specific results for an SVG test that was failing due
        to rounding issues

        Rubber-stamped by Dave Hyatt.

        * platform/win/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt: Added.

2009-04-08  Adam Roben  <aroben@apple.com>

        Add a failing test to the Windows Skipped file

        * platform/win/Skipped: Added media/video-size-intrinsic-scale.html.

2009-04-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

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

        Test that we apply style sheets in standards mode even if
        those style sheets have an empty Content-Type header.

        * http/tests/mime/resources/style.cgi: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header-expected.txt: Added.
        * http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header.html: Added.

2009-04-07  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=24957
        REGRESSION: Google calendar widget no longer shows upcoming events

        * http/tests/xmlhttprequest/authorization-header-expected.txt: Added.
        * http/tests/xmlhttprequest/authorization-header.html: Added.
        * http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:

2009-04-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adam Roben.

        - make this test insensitive to platform differences in Thai word
          breaking dictionaries

        * editing/selection/thai-word-at-document-end.html:

2009-04-07  Adam Roben  <aroben@apple.com>

        Check in files that were forgotten in r42293

        * platform/win/http/tests/xmlhttprequest/web-apps/012-expected.txt:
        * platform/win/http/tests/xmlhttprequest/web-apps/013-expected.txt:

2009-04-07  Brady Eidson  <beidson@apple.com>

        Update layout test results for new exceptions.

        * fast/dom/Window/window-properties-expected.txt:
        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt:

2009-04-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler

        Tests for <rdar://problem/5968249> "Private Browsing" doesn't affect HTML 5 LocalStorage

        * storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt: Added.
        * storage/domstorage/localstorage/private-browsing-affects-storage.html: Added.
        * storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt: Added.
        * storage/domstorage/sessionstorage/private-browsing-affects-storage.html: Added.

2009-04-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben

        Land updated layout test results now that DRT is doing the right thing
        with scrollbar results.

        * platform/mac/css2.1/t0803-c5502-mrgn-r-02-c-expected.checksum:
        * platform/mac/css2.1/t0803-c5502-mrgn-r-02-c-expected.png:
        * platform/mac/css2.1/t0803-c5502-mrgn-r-02-c-expected.txt:
        * platform/mac/css2.1/t0803-c5505-mrgn-02-c-expected.checksum:
        * platform/mac/css2.1/t0803-c5505-mrgn-02-c-expected.png:
        * platform/mac/css2.1/t0803-c5505-mrgn-02-c-expected.txt:
        * platform/mac/fast/block/float/013-expected.checksum:
        * platform/mac/fast/block/float/013-expected.png:
        * platform/mac/fast/block/float/013-expected.txt:

2009-04-07  Brian Weinstein  <bweinstein@gmail.com>

        Reviewed by Darin Adler.

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

        Tests in http/tests/xmlhttprequest/web-apps were taking results from 
        platform/mac instead of LayoutTests, so added the values from LayoutTests 
        into platform/win, and removed a few tests from the skip list that are fixed 
        by the fix to platform/network/cf/ResourceResponseCFNet.cpp

        * platform/win/Skipped:
        * platform/win/http: Added.
        * platform/win/http/tests: Added.
        * platform/win/http/tests/xmlhttprequest: Added.
        * platform/win/http/tests/xmlhttprequest/web-apps: Added.
        * platform/win/http/tests/xmlhttprequest/web-apps/012-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/web-apps/012-expected.txt.
        * platform/win/http/tests/xmlhttprequest/web-apps/013-expected.txt: Copied from LayoutTests/http/tests/xmlhttprequest/web-apps/013-expected.txt.

2009-04-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6764359> Thai word selection misbehaves for the
          last sentence in the document

        * editing/selection/thai-word-at-document-end-expected.txt: Added.
        * editing/selection/thai-word-at-document-end.html: Added.

2009-04-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        - test that when -webkit-line-break: after-white-space is combined with
          white-space: nowrap, the trailing space is not shrunk to fit the in
          the available width

        - updates results for that and for not shrinking trailing space to less
          than zero

        * fast/text/whitespace/nowrap-line-break-after-white-space-expected.txt: Added.
        * fast/text/whitespace/nowrap-line-break-after-white-space.html: Added.
        * platform/mac/fast/block/float/editable-text-overlapping-float-expected.txt:
        * platform/mac/fast/inline/long-wrapped-line-expected.txt:
        * platform/mac/fast/text/whitespace/tab-character-basics-expected.txt:

2009-04-06  Dimitri Glazkov  <dglazkov@chromium.org>

        Not reviewed because it's stupidly obvious.

        Correct the expected result by adding an extra line break.

        * fast/dom/HTMLSelectElement/length-not-overridden-expected.txt: Added
            an extra line.

2009-04-06  Dave Moore  <davemoore@google.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=25031
        Test for ensuring that named elements don't override properties on collections

        * fast/dom/HTMLSelectElement/length-not-overridden-expected.txt: Added.
        * fast/dom/HTMLSelectElement/length-not-overridden.html: Added.

2009-04-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=25052
        
        Testcase for creating certain compositing layer configurations on the fly.

        * compositing/overflow/overflow-positioning.html: Added.
        * platform/mac/compositing/overflow/overflow-positioning-expected.txt: Added.

2009-04-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - test for  <rdar://problem/6757862> REGRESSION: Cannot use the mouse to
          place the insertion point inside a Thai character

        * fast/text/international/thai-offsetForPosition-inside-character-expected.txt: Added.
        * fast/text/international/thai-offsetForPosition-inside-character.html: Added.

2009-04-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - test for a bug where computing the text offset for a position at the
          beginning of a glyph cluster at the beginning of a Core Text run resulted
          in an attempt to read past the end of a vector

        * fast/text/offsetForPosition-cluster-at-zero-expected.txt: Added.
        * fast/text/offsetForPosition-cluster-at-zero.html: Added.

2009-04-04  Sam Weinig  <sam@webkit.org>

        Update test result.

        * dom/xhtml/level2/html/HTMLFormElement10-expected.txt:

2009-04-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Update tests for <rdar://problem/6330929>
        https://bugs.webkit.org/show_bug.cgi?id=21456

        * dom/xhtml/level2/html/HTMLFormElement10-expected.txt:
        * fast/dom/Window/dom-access-from-closure-iframe-expected.txt:
        * fast/dom/Window/dom-access-from-closure-window-expected.txt:
        * http/tests/security/cross-frame-access-document-direct-expected.txt: Added.
        * http/tests/security/cross-frame-access-document-direct.html: Added.
        * http/tests/security/resources/cross-frame-iframe-for-document-direct-test-victim.html: Added.
        * http/tests/security/resources/cross-frame-iframe-for-document-direct-test.html: Added.

2009-04-03  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        * transitions/bad-transition-shorthand-crash-expected.txt: Added.
        * transitions/bad-transition-shorthand-crash.html: Added.

2009-04-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=22081
        <rdar://problem/6346030>
        Don't allow overriding the return value of window.location.

        * fast/dom/Window/Location: Added.
        * fast/dom/Window/Location/location-override-toString-expected.txt: Added.
        * fast/dom/Window/Location/location-override-toString-on-proto-expected.txt: Added.
        * fast/dom/Window/Location/location-override-toString-on-proto-using-defineGetter-expected.txt: Added.
        * fast/dom/Window/Location/location-override-toString-on-proto-using-defineGetter.html: Added.
        * fast/dom/Window/Location/location-override-toString-on-proto-using-with-expected.txt: Added.
        * fast/dom/Window/Location/location-override-toString-on-proto-using-with.html: Added.
        * fast/dom/Window/Location/location-override-toString-on-proto.html: Added.
        * fast/dom/Window/Location/location-override-toString-using-defineGetter-expected.txt: Added.
        * fast/dom/Window/Location/location-override-toString-using-defineGetter.html: Added.
        * fast/dom/Window/Location/location-override-toString-using-with-expected.txt: Added.
        * fast/dom/Window/Location/location-override-toString-using-with.html: Added.
        * fast/dom/Window/Location/location-override-toString.html: Added.
        * fast/dom/Window/Location/location-override-valueOf-expected.txt: Added.
        * fast/dom/Window/Location/location-override-valueOf-on-proto-expected.txt: Added.
        * fast/dom/Window/Location/location-override-valueOf-on-proto-using-defineGetter-expected.txt: Added.
        * fast/dom/Window/Location/location-override-valueOf-on-proto-using-defineGetter.html: Added.
        * fast/dom/Window/Location/location-override-valueOf-on-proto-using-with-expected.txt: Added.
        * fast/dom/Window/Location/location-override-valueOf-on-proto-using-with.html: Added.
        * fast/dom/Window/Location/location-override-valueOf-on-proto.html: Added.
        * fast/dom/Window/Location/location-override-valueOf-using-defineGetter-expected.txt: Added.
        * fast/dom/Window/Location/location-override-valueOf-using-defineGetter.html: Added.
        * fast/dom/Window/Location/location-override-valueOf-using-with-expected.txt: Added.
        * fast/dom/Window/Location/location-override-valueOf-using-with.html: Added.
        * fast/dom/Window/Location/location-override-valueOf.html: Added.
        * fast/dom/Window/Location/resources: Added.
        * fast/dom/Window/Location/resources/location-tests-functions.js: Added.
        (normalizeURL):
        * fast/dom/Window/Location/resources/pass.html: Added.
        * fast/dom/Window/Location/resources/window-shadow-location-using-js-object-with-toString-iframe.html: Added.
        * fast/dom/Window/Location/resources/window-shadow-location-using-string-iframe.html: Added.
        * fast/dom/Window/Location/window-override-location-using-defineGetter-expected.txt: Added.
        * fast/dom/Window/Location/window-override-location-using-defineGetter.html: Added.
        * fast/dom/Window/Location/window-override-window-using-defineGetter-expected.txt: Added.
        * fast/dom/Window/Location/window-override-window-using-defineGetter.html: Added.
        * fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString-expected.txt: Added.
        * fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString.html: Added.
        * fast/dom/Window/Location/window-shadow-location-using-string-expected.txt: Added.
        * fast/dom/Window/Location/window-shadow-location-using-string.html: Added.
        * fast/dom/Window/Location/window-shadow-window-using-js-object-with-location-field-expected.txt: Added.
        * fast/dom/Window/Location/window-shadow-window-using-js-object-with-location-field.html: Added.
        * http/tests/security/cross-frame-access-location-put-expected.txt:

2009-04-03  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Tests for <rdar://problem/6476356>
        https://bugs.webkit.org/show_bug.cgi?id=23148

        Test for using the correct global object for location and history object
        prototype chain creation.

        * http/tests/security/cross-frame-access-history-prototype-expected.txt: Added.
        * http/tests/security/cross-frame-access-history-prototype.html: Added.
        * http/tests/security/cross-frame-access-location-prototype-expected.txt: Added.
        * http/tests/security/cross-frame-access-location-prototype.html: Added.
        * http/tests/security/resources/cross-frame-history-prototype-iframe.html: Added.
        * http/tests/security/resources/cross-frame-location-prototype-iframe.html: Added.

2009-04-03  Adam Roben  <aroben@apple.com>

        Skip tests that rely on layoutTestController.waitForPolicyDelegate on
        platforms that don't implement that functionality

        Implementing is covered by the following bugs:
        <https://bugs.webkit.org/show_bug.cgi?id=25036>
        <https://bugs.webkit.org/show_bug.cgi?id=25037>
        <https://bugs.webkit.org/show_bug.cgi?id=25038>

        Rubber-stamped by Mark Rowe.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        Skip tests that use layoutTestController.waitForPolicyDelegate.

2009-04-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - test for <rdar://problem/6634771> Under full-page zoom, cannot scroll
          MobileMe contact list

        * fast/css/zoom-in-length-round-trip-expected.txt: Added.
        * fast/css/zoom-in-length-round-trip.html: Added.

2009-04-03  Simon Fraser  <simon.fraser@apple.com>

        Update expected result due to rounding difference after r42207.

        * platform/mac/svg/hixie/perf/007-expected.txt:

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

        Reviewed by Simon Fraser.

        <rdar://problem/6336092> REGRESSION: movie does not resize correctly

        * media/content/scaled-matrix.mov: Added. QuickTime movie saved with 2x scale.
        * media/video-size-intrinsic-scale-expected.txt: Added.
        * media/video-size-intrinsic-scale.html: Added, test that element with a scaled movie is 
        sized correctly.
        * media/video-test.js: Modify so it can be included in <head> element.
        (logConsole): New, wraps creating console <div>, doesn't assume document.body exists.
        (consoleWrite): Call logConsole().

2009-04-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
        
        https://bugs.webkit.org/show_bug.cgi?id=25021
        
        Test for repainting a reflected element with a transform after layout.

        * fast/repaint/reflection-repaint-test.html: Added.
        * platform/mac/fast/repaint/reflection-repaint-test-expected.checksum: Added.
        * platform/mac/fast/repaint/reflection-repaint-test-expected.png: Added.
        * platform/mac/fast/repaint/reflection-repaint-test-expected.txt: Added.

2009-04-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
        
        https://bugs.webkit.org/show_bug.cgi?id=23307
        
        Test for repainting due to layout, with a transform on the leaf.

        * fast/repaint/transform-layout-repaint.html: Added.
        * platform/mac/fast/repaint/transform-layout-repaint-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-layout-repaint-expected.png: Added.
        * platform/mac/fast/repaint/transform-layout-repaint-expected.txt: Added.

2009-04-02  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/6625840> Previous Page isn't loaded after hitting back button at http://www.breakingnews.ie/

        * http/tests/navigation/onload-navigation-iframe-2-expected.txt: Copied from
        LayoutTests/http/tests/navigation/onload-navigation-iframe-expected.txt.
        Updated for slight difference in the new test.

        * http/tests/navigation/onload-navigation-iframe-2.html: Copied from
        LayoutTests/http/tests/navigation/onload-navigation-iframe.html.
        Changed test to use an iframe element already in the HTML.

2009-04-02  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Split no-port test case into separate file, since its result may
        depend on the behavior of a DNS proxy on some systems.
        https://bugs.webkit.org/show_bug.cgi?id=21530

        * platform/mac-tiger/security/block-test-expected.txt: updated
        * platform/mac-tiger/security/block-test-no-port-expected.txt: Added.
        * platform/mac/security/block-test-expected.txt: updated
        * platform/mac/security/block-test-no-port-expected.txt: Added.
        * security/block-test-no-port.html: Added.
        * security/block-test.html: removed no-port test case

2009-04-02  David Hyatt  <hyatt@apple.com>

        Reviewed by Darin Adler

        Add test for https://bugs.webkit.org/show_bug.cgi?id=24643

        * http/tests/misc/image-error-expected.txt: Added.
        * http/tests/misc/image-error.html: Added.

2009-04-02  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Split long-running regexp out of the main regexp-overflow test file
        so VMs (such as V8) that don't limit execution time can still run
        the rest of the test cases.
        https://bugs.webkit.org/show_bug.cgi?id=18327

        * fast/js/regexp-overflow-expected.txt: updated
        * fast/js/regexp-overflow-too-big-expected.txt: Added.
        * fast/js/regexp-overflow-too-big.html: Added.
        * fast/js/resources/regexp-overflow-too-big.js: Added.
        * fast/js/resources/regexp-overflow.js: removed one test case

2009-04-02  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Minor cleanup: remove unneeded "toLower" on typeof.

        * fast/dom/Window/window-lookup-precedence.html:

2009-04-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler. Based on work of Julien Chaffraix.

        https://bugs.webkit.org/show_bug.cgi?id=22475
        REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore

        https://bugs.webkit.org/show_bug.cgi?id=24886
        XHR requests opened when offline never return

        * fast/loader/xmlhttprequest-missing-file-exception-expected.txt: Removed.
        * fast/loader/xmlhttprequest-missing-file-exception.html: Removed.
        * http/tests/xmlhttprequest/state-after-network-error-expected.txt: Added.
        * http/tests/xmlhttprequest/state-after-network-error.html: Added.
        Added tests for these issues.

        * http/tests/xmlhttprequest/frame-load-cancelled-abort-expected.txt: As with other errors,
        the request now reaches DONE state now. This makes the results closer to Firefox again
        (they changed multiple times recently).
        * http/tests/xmlhttprequest/resources/frame-load-to-cancel.html: Firefox dispatches
        cancellation events at a later point, when window.parent is already undefined. Changed
        the test to log all events, making the difference with Firefox less confusing.

        * http/tests/xmlhttprequest/simple-cross-origin-progress-events.html: Fixed a mistake in
        the test, which could call a non-existent function in some code paths.

        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt: State now reaches
        DONE on cross-origin check failure, as it should per the spec. This matches Firefox in async
        case (and in sync case, it simply doesn't dispatch any onreadystatechange events, not sure why).

        * fast/dom/null-document-xmlhttprequest-open-expected.txt: Removed.
        * fast/dom/null-document-xmlhttprequest-open.html: Removed.
        * fast/dom/resources/1251.html: Removed.
        * fast/dom/resources/xmlhttprequest-get-data.xml: Removed.
        * fast/dom/xmlhttprequest-gc-expected.txt: Removed.
        * fast/dom/xmlhttprequest-gc.html: Removed.
        * fast/dom/xmlhttprequest-get-expected.txt: Removed.
        * fast/dom/xmlhttprequest-get.xhtml: Removed.
        * fast/dom/xmlhttprequest-html-response-encoding-expected.txt: Removed.
        * fast/dom/xmlhttprequest-html-response-encoding.html: Removed.
        * fast/dom/xmlhttprequest-invalid-values-expected.txt: Removed.
        * fast/dom/xmlhttprequest-invalid-values.html: Removed.
        * fast/loader/resources/plist.app: Removed.
        * fast/loader/xmlhttprequest-bad-mimetype-expected.txt: Removed.
        * fast/loader/xmlhttprequest-bad-mimetype.html: Removed.
        * fast/xmlhttprequest: Added.
        * fast/xmlhttprequest/null-document-xmlhttprequest-open-expected.txt: Copied from LayoutTests/fast/dom/null-document-xmlhttprequest-open-expected.txt.
        * fast/xmlhttprequest/null-document-xmlhttprequest-open.html: Copied from LayoutTests/fast/dom/null-document-xmlhttprequest-open.html.
        * fast/xmlhttprequest/resources: Added.
        * fast/xmlhttprequest/resources/1251.html: Copied from LayoutTests/fast/dom/resources/1251.html.
        * fast/xmlhttprequest/resources/plist.app: Copied from LayoutTests/fast/loader/resources/plist.app.
        * fast/xmlhttprequest/resources/xmlhttprequest-get-data.xml: Copied from LayoutTests/fast/dom/resources/xmlhttprequest-get-data.xml.
        * fast/xmlhttprequest/xmlhttprequest-bad-mimetype-expected.txt: Copied from LayoutTests/fast/loader/xmlhttprequest-bad-mimetype-expected.txt.
        * fast/xmlhttprequest/xmlhttprequest-bad-mimetype.html: Copied from LayoutTests/fast/loader/xmlhttprequest-bad-mimetype.html.
        * fast/xmlhttprequest/xmlhttprequest-gc-expected.txt: Copied from LayoutTests/fast/dom/xmlhttprequest-gc-expected.txt.
        * fast/xmlhttprequest/xmlhttprequest-gc.html: Copied from LayoutTests/fast/dom/xmlhttprequest-gc.html.
        * fast/xmlhttprequest/xmlhttprequest-get-expected.txt: Copied from LayoutTests/fast/dom/xmlhttprequest-get-expected.txt.
        * fast/xmlhttprequest/xmlhttprequest-get.xhtml: Copied from LayoutTests/fast/dom/xmlhttprequest-get.xhtml.
        * fast/xmlhttprequest/xmlhttprequest-html-response-encoding-expected.txt: Copied from LayoutTests/fast/dom/xmlhttprequest-html-response-encoding-expected.txt.
        * fast/xmlhttprequest/xmlhttprequest-html-response-encoding.html: Copied from LayoutTests/fast/dom/xmlhttprequest-html-response-encoding.html.
        * fast/xmlhttprequest/xmlhttprequest-invalid-values-expected.txt: Copied from LayoutTests/fast/dom/xmlhttprequest-invalid-values-expected.txt.
        * fast/xmlhttprequest/xmlhttprequest-invalid-values.html: Copied from LayoutTests/fast/dom/xmlhttprequest-invalid-values.html.
        * fast/xmlhttprequest/xmlhttprequest-missing-file-exception-expected.txt: Copied from LayoutTests/fast/loader/xmlhttprequest-missing-file-exception-expected.txt.
        * fast/xmlhttprequest/xmlhttprequest-missing-file-exception.html: Copied from LayoutTests/fast/loader/xmlhttprequest-missing-file-exception.html.
        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: Added.
        * fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html: Added.
        * platform/gtk/Skipped:
        Moved non-HTTP XMLHttpRequest tests to fast/xmlhttprequest.

2009-04-01  Darin Adler  <darin@apple.com>

        Reviewed by Geoff Garen.

        Bug 22378: Crash submitting a form when parsing an XHTML document
        https://bugs.webkit.org/show_bug.cgi?id=22378
        rdar://problem/6388377

        * fast/loader/onunload-form-submit-crash-2-expected.txt: Updated for change to the test.
        * fast/loader/onunload-form-submit-crash-2.html: Updated test to expect the form submission
        during the onunload handler to be ineffective.
        * fast/loader/onunload-form-submit-crash-expected.txt: Updated for change to the test.
        * fast/loader/onunload-form-submit-crash.html: Updated test to expect the form submission
        during the onunload handler to be ineffective.

        * fast/loader/resources/onunload-form-submit-crash2.html: Removed.
        * fast/loader/resources/onunload-form-submit-failure.html: Copied from
        LayoutTests/fast/loader/resources/onunload-form-submit-crash2.html.
        * fast/loader/resources/onunload-form-submit-success.html: Copied from
        LayoutTests/fast/loader/resources/onunload-form-submit-crash2.html.

        * fast/loader/resources/submit-form-while-parsing-subframe.html: Added.
        * fast/loader/resources/submit-form-while-parsing-success.html: Added.
        * fast/loader/submit-form-while-parsing-1-expected.txt: Added.
        * fast/loader/submit-form-while-parsing-1.xhtml: Added.
        * fast/loader/submit-form-while-parsing-2-expected.txt: Added.
        * fast/loader/submit-form-while-parsing-2.html: Added.

        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt: Updated
        to expect proper results, without the duplicate history items for the same frame name
        that were present before.

2009-04-01  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Fisher.

        Ensure the right click doesn't deselect text under it.  This was
        happening in the Chromium and GTK+ ports because they don't select
        the text under the cursor on right click.
        
        This was regressed in r41715, https://bugs.webkit.org/show_bug.cgi?id=19737
        
        https://bugs.webkit.org/show_bug.cgi?id=24946

        * fast/events/context-no-deselect.html: Added.
        * platform/mac/fast/events/context-no-deselect-expected.checksum: Added.
        * platform/mac/fast/events/context-no-deselect-expected.png: Added.
        * platform/mac/fast/events/context-no-deselect-expected.txt: Added.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24964
        Bug 24964: HTMLMediaElement: 'waiting' event may fire twice

        * http/tests/media/video-play-stall.html: Fail if 'waiting' fires more than once.
        * media/video-test.js: Fix a typo.
        (failTest):

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24846
        Bug 24846: HTMLMediaElement should implement 'autobuffer' attribute

        * media/video-dom-autobuffer-expected.txt: Added.
        * media/video-dom-autobuffer.html: Added.

2009-03-30  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Bug 24594: PolicyDelegate NavigationAction is WebNavigationTypeOther instead of WebNavigationTypeReload
        https://bugs.webkit.org/show_bug.cgi?id=24594
        rdar://problem/6682110

        * fast/frames/resources/iframe-focus.html: Removed bogus but harmless "layoutTestController.loadCount"
        code.

        * fast/loader/reload-policy-delegate-expected.txt: Added.
        * fast/loader/reload-policy-delegate.html: Added.

2009-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 23445: Copying certain hidden text causes a crash
        https://bugs.webkit.org/show_bug.cgi?id=23445
        rdar://problem/6512520

        * editing/pasteboard/copy-display-none-expected.txt: Added.
        * editing/pasteboard/copy-display-none.html: Added.

2009-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Cameron Zwarich.

        * fast/forms/targeted-frame-submission.html: Fixes from review comments.

2009-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Cameron Zwarich.

        Bug 24922: change WorkQueue-based navigation tests to not depend on synchronous form submission
        https://bugs.webkit.org/show_bug.cgi?id=24922

        * fast/forms/targeted-frame-submission.html: Changed test to wait until the subframe loads
        before moving on to the next test, using an onload attribute.

        * http/tests/navigation/fallback-anchor-reload.html: Removed use of queueScript here for a
        script that can instead just be run immedidately.

        * http/tests/navigation/onload-navigation-iframe-timeout.html: Changed test to wait until
        the subframe loads before moving on to the next test, using an onload attribute.
        * http/tests/navigation/onload-navigation-iframe.html: Ditto.

        * http/tests/navigation/resources/testcode.js: Use queueNonLoadingScript instead of
        queueScript for scripts that don't involve submitting a form. Use queueLoadingScript
        for scripts that do involve submitting a form.

2009-03-29  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/6015407> attr parsing should allow only identifiers

        * fast/css/attr-parsing-expected.txt: Added.
        * fast/css/attr-parsing.html: Added.

2009-03-29  Darin Adler  <darin@apple.com>

        Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly
        https://bugs.webkit.org/show_bug.cgi?id=12104

        Landed the test case from this bug. The bug was fixed by the fix for bug 24740 below.

        * fast/forms/range-thumb-height-percentage.html: Added.
        * platform/mac/fast/forms/range-thumb-height-percentage-expected.checksum: Added.
        * platform/mac/fast/forms/range-thumb-height-percentage-expected.png: Added.
        * platform/mac/fast/forms/range-thumb-height-percentage-expected.txt: Added.

2009-03-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        <rdar://problem/6492712> Cross-origin redirects are not handled correctly.

        Test for status quo - we do not allow cross-origin redirects at all.

        * http/tests/resources/redirect.php: Added.
        * http/tests/resources/tripmine.php: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-tripmine-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html: Added.

2009-03-27  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Update text-content-type-with-binary-extension.html to use a .sitx file of random data rather
        than a .m4a to ensure that WebKit doesn't handle the resource as a full-frame media element if the network
        layer sniffs it as audio/mp4 rather than application/octet-stream.

        * http/tests/loading/resources/.htaccess:
        * http/tests/loading/resources/binaryData.m4a: Removed.
        * http/tests/loading/resources/binaryData.sitx: Added.
        * http/tests/loading/text-content-type-with-binary-extension.html:

2009-03-27  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Tests to verify behaviour of Function.prototype.call

        * fast/js/function-call-aliased-expected.txt: Added.
        * fast/js/function-call-aliased.html: Added.
        * fast/js/resources/function-call-aliased.js: Added.
        * fast/profiler/call-expected.txt:

2009-03-27  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver Hunt.

        Skip two plug-in tests that are failing due to <rdar://problem/6733642>.

        * platform/mac-snowleopard/Skipped:

2009-03-27  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Land updated results for two SVG tests involving Geeza Pro.

        * platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.checksum: Renamed from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Renamed from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt.
        * platform/mac-leopard/svg/text/text-intro-05-t-expected.checksum: Renamed from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.checksum.
        * platform/mac-leopard/svg/text/text-intro-05-t-expected.png: Renamed from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.png.
        * platform/mac-leopard/svg/text/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.txt.
        * platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
        * platform/mac/svg/text/text-intro-05-t-expected.txt:

2009-03-27  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Made our mailto form submission tests work more reliably by using the new
        layoutTestController.waitForPolicyDelegate function.

        * fast/encoding/mailto-always-utf-8.html: Updated test to use waitForPolicyDelegate
        rather than relying on the form submission happening immediately.
        * fast/forms/mailto/advanced-get.html: Ditto.
        * fast/forms/mailto/advanced-put.html: Ditto.
        * fast/forms/mailto/get-multiple-items-text-plain.html: Ditto.
        * fast/forms/mailto/get-multiple-items-x-www-form-urlencoded.html: Ditto.
        * fast/forms/mailto/get-multiple-items.html: Ditto.
        * fast/forms/mailto/get-non-ascii-always-utf-8.html: Ditto.
        * fast/forms/mailto/get-non-ascii-text-plain-latin-1.html: Ditto.
        * fast/forms/mailto/get-non-ascii-text-plain.html: Ditto.
        * fast/forms/mailto/get-non-ascii.html: Ditto.
        * fast/forms/mailto/get-overwrite-query.html: Ditto.
        * fast/forms/mailto/post-append-query.html: Ditto.
        * fast/forms/mailto/post-multiple-items-multipart-form-data.html: Ditto.
        * fast/forms/mailto/post-multiple-items-text-plain.html: Ditto.
        * fast/forms/mailto/post-multiple-items-x-www-form-urlencoded.html: Ditto.
        * fast/forms/mailto/post-multiple-items.html: Ditto.
        * fast/forms/mailto/post-text-plain-with-accept-charset.html: Ditto.
        * fast/forms/mailto/post-text-plain.html: Ditto.

2009-03-27  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix https://bugs.webkit.org/show_bug.cgi?id=24303
        Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE.

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

2009-03-27  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

        Test case for relative positioning bug.

        * fast/block/positioning/negative-rel-position.html: Added.
        * platform/mac/fast/block/positioning/negative-rel-position-expected.checksum: Added.
        * platform/mac/fast/block/positioning/negative-rel-position-expected.png: Added.
        * platform/mac/fast/block/positioning/negative-rel-position-expected.txt: Added.

2009-03-26  Eric Seidel  <eric@webkit.org>

        Reviewed by David Hyatt.

        Update fast/repaint/lines-with-layout-delta.html pixel results.
        Hyatt says it's a progression, blame him if it ain't.

        * platform/mac/fast/repaint/lines-with-layout-delta-expected.checksum:
        * platform/mac/fast/repaint/lines-with-layout-delta-expected.png:

2009-03-26  Mark Rowe  <mrowe@apple.com>

        Update layout test results for changes to Geeza Pro.

        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.txt: Removed.
        * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.checksum.
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.png: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.png.
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
        * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
        * platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
        * platform/mac/fast/text/international/bidi-neutral-run-expected.txt:

2009-03-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=23914
        
        Tests for overflow:hidden with various configurations of position.

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

2009-03-25  Brian Weinstein  <bweinstein@gmail.com>

        Update Windows skipped list based on failures in r41995, to try and make Windows build-bot green

        <https://bugs.webkit.org/show_bug.cgi?id=24810>

        Reviewed by Adam Roben

        * platform/win/Skipped:

2009-03-25  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=23361
        
        Test for direct compositing of images using hardware acceleration.

        * compositing/direct-image-compositing.html: Added.
        * compositing/resources/simple_image.png: Added.
        * platform/mac/compositing/direct-image-compositing-expected.checksum: Added.
        * platform/mac/compositing/direct-image-compositing-expected.png: Added.
        * platform/mac/compositing/direct-image-compositing-expected.txt: Added.

2009-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.
        
        Update layout test results for
        https://bugs.webkit.org/show_bug.cgi?id=24809

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2009-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler
        
        https://bugs.webkit.org/show_bug.cgi?id=24817
        
        Pixel test for a video element with an empty source attribute.

        * media/video-empty-source.html: Added.
        * platform/mac/media/video-empty-source-expected.checksum: Added.
        * platform/mac/media/video-empty-source-expected.png: Added.
        * platform/mac/media/video-empty-source-expected.txt: Added.

2009-03-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/6472150> repro crash in
          RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using
          menus

        * fast/inline/continuation-positioned-reparenting-expected.txt: Added.
        * fast/inline/continuation-positioned-reparenting.html: Added.

2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=24784
        
        Test for transforms with zoom.

        * fast/transforms/transforms-with-zoom.html: Added.
        * platform/mac/fast/transforms/transforms-with-zoom-expected.checksum: Added.
        * platform/mac/fast/transforms/transforms-with-zoom-expected.png: Added.
        * platform/mac/fast/transforms/transforms-with-zoom-expected.txt: Added.

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Change a few test cases to use the new values just to verify that they work.

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

        * fast/backgrounds/size/backgroundSize17.html:
        * fast/backgrounds/size/backgroundSize18.html:
        * fast/backgrounds/size/backgroundSize19.html:
        * fast/gradients/simple-gradients.html:

2009-03-25  Brett Wilson  <brettw@dhcp-172-22-71-191.mtv.corp.google.com>

        Reviewed by Dimitri Glazkov.

        Fix complex text opacity on the Chromium Windows port.
        https://bugs.webkit.org/show_bug.cgi?id=24757

        Revision 1.

        * fast/text/complex-text-opacity.html: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.checksum: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.png: Added.
        * platform/mac/fast/text/complex-text-opacity-expected.txt: Added.

2009-03-25  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        Test case for bug 23198.

        * fast/borders/border-image-border-radius.html: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.checksum: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.png: Added.
        * platform/mac/fast/borders/border-image-border-radius-expected.txt: Added.

2009-03-25  Darin Adler  <darin@apple.com>

        Reviewed by David Hyatt.

        Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none
        https://bugs.webkit.org/show_bug.cgi?id=24740
        rdar://problem/6679873

        * media/video-display-none-crash-expected.txt: Added.
        * media/video-display-none-crash.html: Added.

        * platform/mac/fast/forms/box-shadow-override-expected.txt: Updated since a slider's thumb is no longer
        relative-positioned and hence no longer gets its own layer.
        * platform/mac/fast/forms/input-appearance-height-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-padding-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-thumb-shared-style-expected.txt: Ditto.
        * platform/mac/fast/forms/slider-thumb-stylability-expected.txt: Ditto.
        * platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-controls-rendering-expected.txt: Ditto.
        * platform/mac/media/video-display-toggle-expected.txt: Ditto.

2009-03-24  Mark Rowe  <mrowe@apple.com>

        Reviewed by Jon "The Most Boring Man in the World" Honeycutt.

        Update test result for change to explicitly map NSNotFound to -1 in textInputController.characterIndexForPoint.

        * platform/mac/fast/dom/character-index-for-point-expected.txt:

2009-03-24  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver Hunt.

        Skip some more tests that are failing.

        * platform/mac-snowleopard/Skipped:

2009-03-24  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Updated tests for https://bugs.webkit.org/show_bug.cgi?id=24707
        <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

        * editing/deleting/2610675-1-expected.txt:
        * editing/deleting/2610675-1.html:
        * editing/deleting/2610675-2-expected.txt:
        * editing/deleting/2610675-2.html:

2009-03-24  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Skip fast/forms/search-zoomed.html as it currently fails due to <rdar://problem/6718460>.

        * platform/mac-snowleopard/Skipped:

2009-03-24  Mark Rowe  <mrowe@apple.com>

        Skip some more media tests for now.

        * platform/mac-snowleopard/Skipped:

2009-03-24  Pamela Greene  <pam@chromium.org>

        Reviewed by Sam Weinig.

        Add tests of font choices and metrics, to isolate those dependencies.

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

        * fonts: Added.
        * fonts/cursive.html: Added.
        * fonts/default.html: Added.
        * fonts/fantasy.html: Added.
        * fonts/monospace.html: Added.
        * fonts/sans-serif.html: Added.
        * fonts/serif.html: Added.
        * platform/mac/fonts: Added.
        * platform/mac/fonts/cursive-expected.checksum: Added.
        * platform/mac/fonts/cursive-expected.png: Added.
        * platform/mac/fonts/cursive-expected.txt: Added.
        * platform/mac/fonts/default-expected.checksum: Added.
        * platform/mac/fonts/default-expected.png: Added.
        * platform/mac/fonts/default-expected.txt: Added.
        * platform/mac/fonts/fantasy-expected.checksum: Added.
        * platform/mac/fonts/fantasy-expected.png: Added.
        * platform/mac/fonts/fantasy-expected.txt: Added.
        * platform/mac/fonts/monospace-expected.checksum: Added.
        * platform/mac/fonts/monospace-expected.png: Added.
        * platform/mac/fonts/monospace-expected.txt: Added.
        * platform/mac/fonts/sans-serif-expected.checksum: Added.
        * platform/mac/fonts/sans-serif-expected.png: Added.
        * platform/mac/fonts/sans-serif-expected.txt: Added.
        * platform/mac/fonts/serif-expected.checksum: Added.
        * platform/mac/fonts/serif-expected.png: Added.
        * platform/mac/fonts/serif-expected.txt: Added.

2009-03-24  David Kilzer  <ddkilzer@apple.com>

        Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly

        <https://bugs.webkit.org/show_bug.cgi?id=23310>

        Reviewed by Darin Adler.

        * fast/frames/iframe-no-src-set-location-expected.txt: Added.
        * fast/frames/iframe-no-src-set-location.html: Added.
        * fast/frames/resources/iframe-no-src-set-location-pass.html: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.

2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=24659
        
        Testcase for hit testing on element that has been rotated to be almost
        edge-on.

        * platform/mac/transforms/3d/hit-testing/rotated-hit-test-expected.txt: Added.
        * transforms/3d/hit-testing/rotated-hit-test.html: Added.

2009-03-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

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

        * fast/clip/overflow-border-radius-clip.html: Added.
        * platform/mac/fast/clip/overflow-border-radius-clip-expected.checksum: Added.
        * platform/mac/fast/clip/overflow-border-radius-clip-expected.png: Added.
        * platform/mac/fast/clip/overflow-border-radius-clip-expected.txt: Added.

2009-03-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser

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

        * fast/replaced/border-radius-clip.html: Added.
        * platform/mac/fast/replaced/border-radius-clip-expected.checksum: Added.
        * platform/mac/fast/replaced/border-radius-clip-expected.png: Added.
        * platform/mac/fast/replaced/border-radius-clip-expected.txt: Added.

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

        Update media tests broken by r41907.

        * fast/dom/Window/window-properties-expected.txt:
        * http/tests/media/video-play-stall-seek.html:
        * http/tests/media/video-play-stall.html:

2009-03-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6107874>

        Test that the nesting depth of "block-level" elements generated by
        the parser is capped

        * fast/parser/block-nesting-cap-expected.txt: Added.
        * fast/parser/block-nesting-cap.html: Added.
        * fast/parser/resources/block-nesting-cap.js: Added.

2009-03-17  Eric Seidel  <eric@webkit.org>

        Reviewed by David Hyatt.

        document.write() should be able to make a document strict mode
        https://bugs.webkit.org/show_bug.cgi?id=24336

        Our behavior is now tested by fast/dom/Document/document-write-doctype
        and matches IE, FF fails this new test.  Mozilla bug filed:
        https://bugzilla.mozilla.org/show_bug.cgi?id=483908

        * fast/dom/Document/document-write-doctype-expected.txt: Added.
        * fast/dom/Document/document-write-doctype.html: Added.
        * fast/dom/Document/resources/document-write-doctype.js: Added.

2009-03-23  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        Bug 24726: hit testing doesn't work right when the click is on anonymous content
        https://bugs.webkit.org/show_bug.cgi?id=24726
        rdar://problem/6696992

        * editing/selection/hit-test-anonymous-expected.txt: Added.
        * editing/selection/hit-test-anonymous.html: Added.

2009-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto

        https://bugs.webkit.org/show_bug.cgi?id=24733
        
        Test events on the play button after zooming.

        * media/video-controls-zoomed-expected.txt: Added.
        * media/video-controls-zoomed.html: Added.

2009-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=24736
        
        Test listbox hit testing, slider hit testing, and search field
        hit testing with zoom style (which, unfortunately, isn't quite
        the same as testing full page zoom).

        * fast/forms/listbox-hit-test-zoomed.html: Added.
        * fast/forms/search-zoomed.html: Added.
        * fast/forms/slider-zoomed-expected.txt: Added.
        * fast/forms/slider-zoomed.html: Added.
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.checksum: Added.
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.png: Added.
        * platform/mac/fast/forms/listbox-hit-test-zoomed-expected.txt: Added.
        * platform/mac/fast/forms/search-zoomed-expected.checksum: Added.
        * platform/mac/fast/forms/search-zoomed-expected.png: Added.
        * platform/mac/fast/forms/search-zoomed-expected.txt: Added.

2009-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
        
        https://bugs.webkit.org/show_bug.cgi?id=24753

        Test for CSS clip with zooming.

        * fast/css/clip-zooming.html: Added.

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

        Reviewed by Adele Peterson.
        
        https://bugs.webkit.org/show_bug.cgi?id=24588
        Bug 24588: Update media element implementation to current spec

        * media/media-constants-expected.txt: Test all media constants.
        * media/media-constants.html: Ditto.
        * media/remove-from-document-expected.txt: Updated for spec changes.
        * media/remove-from-document-no-load.html: Ditto.
        * media/remove-from-document.html: Ditto.
        * media/unsupported-rtsp-expected.txt: Ditto.
        * media/unsupported-rtsp.html: Ditto.
        * media/video-currentTime-set-expected.txt: Ditto.
        * media/video-currentTime-set.html: Ditto.
        * media/video-error-does-not-exist-expected.txt: Ditto.
        * media/video-error-does-not-exist.html: Ditto.
        * media/video-load-networkState-expected.txt: Ditto.
        * media/video-load-networkState.html: Ditto.
        * media/video-load-readyState-expected.txt: Ditto.
        * media/video-load-readyState.html: Ditto.
        * media/video-loop-expected.txt: Ditto.
        * media/video-loop.html: Ditto.
        * media/video-pause-empty-events-expected.txt: Ditto.
        * media/video-pause-empty-events.html: Ditto.
        * media/video-play-empty-events-expected.txt: Ditto.
        * media/video-play-empty-events.html: Ditto.
        * media/video-play-pause-events-expected.txt: Ditto.
        * media/video-play-pause-events.html: Ditto.
        * media/video-play-pause-exception-expected.txt: Ditto.
        * media/video-play-pause-exception.html: Ditto.
        * media/video-seek-no-src-exception-expected.txt: Test that seeking 
        whene there is no 'src' attribute throws an INVALID_STATE_ERR exception.
        * media/video-seek-no-src-exception.html: 
        * media/video-seek-past-end-playing-expected.txt: Ditto.
        * media/video-seek-past-end-playing.html: Ditto.
        * media/video-seeking-expected.txt: Ditto.
        * media/video-seeking.html: Ditto.
        * media/video-source-add-src-expected.txt: Test that adding a 'src' 
        attribute does nothing when a <source> element has already been chosen.
        * media/video-source-add-src.html: 
        * media/video-src-change-expected.txt: Ditto.
        * media/video-src-change.html: Ditto.
        * media/video-src-invalid-remove-expected.txt: Test that removing invalid 
        'src' attribute triggers <source> elements loading.
        * media/video-src-invalid-remove.html: 
        * media/video-src-plus-source-expected.txt: Test that a <source> element 
        is not used when a bogus 'src' attribute is present.
        * media/video-src-plus-source.html: 
        * media/video-src-remove-expected.txt: Ditto.
        * media/video-src-remove.html: Ditto.
        * media/video-test.js: 
        (findMediaElement):
        (testExpected):
        (waitForEvent):
        (failTest):
        * media/video-timeupdate-during-playback-expected.txt: Test that 'timeupdate' events
        are posted while an element is playing but not while paused.
        * media/video-timeupdate-during-playback.html:

        * platform/mac/Skipped: Skip media/video-error-abort.html for now, need to figure out how to 
        test now that the 'loadstart' event is now fired asynchronously.
        * platform/win/Skipped

2009-03-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=24743
        
        Testcase for hit testing children with negative z-index.

        * fast/layers/zindex-hit-test.html: Added.

2009-03-20  Tony Chang  <tony@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        Change the layout test from using a data: URL to using a file:///
        URL for the iframe.  If DRT's frame loader has
        AllowLocalLoadsForLocalOnly, then it's not possible to load an image
        from disk into the iframe.  Since this test is about D&D, not
        local load checks, switch to a local file that doesn't have this
        problem.

        This should fix the test on win DRT as well.

        * fast/events/resources/standalone-image-drag-to-editable-frame.html: Added.
        * fast/events/standalone-image-drag-to-editable.html:

2009-03-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test, updated test and results for https://bugs.webkit.org/show_bug.cgi?id=23739
          <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load

        * fast/replaced/percent-height-in-anonymous-block-in-table.html: Added.
        * fast/replaced/table-percent-height-expected.txt:
        * fast/replaced/table-percent-height.html:
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.checksum: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.png: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-in-table-expected.txt: Added.

2009-03-20  Dmitry Titov  <dimich@chromium.org>

        Fix broken LayoutTest/http/tests/workers/text-encoding.html.
        Forgot to add a new file with the previous patch.

        * http/tests/workers/resources/subworker-encoded.php: Added.

2009-03-20  Alpha Lam  <hclam@chromium.org>

        Reviewed by Darin Fisher.

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

        The test in this change is just to verify a no crash.  Full tree
        dump is not necessary, so change to test to dumpAsText and update
        the affected test results.

        * fast/block/float/crash-on-absolute-positioning-expected.txt: Added.
        * fast/block/float/crash-on-absolute-positioning.html:
        * platform/mac/fast/block/float/crash-on-absolute-positioning-expected.txt: Removed.

2009-03-20  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=24706
        Remove ScriptExecutionContext::encoding() since Workers do not need it.
        WorkerContext::encoding() is simply removed, while Document::encoding()
        made non-virtual and private. Workers use UTF-8 now except when instructed
        otherwise by http header. Updated test.
        Also, added test for encoding used by importScripts().

        * http/tests/workers/resources/subworker-encoded.php: Added.
        * http/tests/workers/resources/worker-encoded.php:
        * http/tests/workers/text-encoding-expected.txt:
        * http/tests/workers/text-encoding.html:

2009-03-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION 
        (r35318): A press release at pfizer.com does not display correctly
        - and corresponding -
        <rdar://problem/6680073>

        * http/tests/misc/generated-content-inside-table.html: Added.
        * platform/mac/http/tests/misc/generated-content-inside-table-expected.checksum: Added.
        * platform/mac/http/tests/misc/generated-content-inside-table-expected.png: Added.
        * platform/mac/http/tests/misc/generated-content-inside-table-expected.txt: Added.

2009-03-19  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24122
        <rdar://problem/6674179>
        REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests

        * fast/dom/Range/deleted-range-endpoints-expected.txt: Added.
        * fast/dom/Range/deleted-range-endpoints.html: Added.

2009-03-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich and Oliver Hunt.

        Re-enabled this test, since it no longer crashes when JavaScriptCore is
        compiled in non-JIT mode.

        * fast/workers/use-machine-stack.html: Copied from fast/workers/use-machine-stack.html-disabled.
        * fast/workers/use-machine-stack.html-disabled: Removed.

2009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Add tests for bug 24350: REGRESSION: Safari 4 breaks SPAW wysiwyg editor multiple instances
        <https://bugs.webkit.org/show_bug.cgi?id=24350>
        <rdar://problem/6674182>

        * fast/js/function-constructor-newline-after-brace-expected.txt: Added.
        * fast/js/function-constructor-newline-after-brace.html: Added.
        * fast/js/resources/function-constructor-newline-after-brace.js: Added.

2009-03-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Stephanie Lewis.

        Fix fast/text/Geeza-Pro-vertical-metrics-adjustment.html on Leopard by moving the results in to the location
        that run-webkit-tests currently looks for them.
       
        * platform/mac-leopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum.
        * platform/mac-leopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png.
        * platform/mac-leopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Renamed from LayoutTests/platform/mac-leopard/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt.

2009-03-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Fixed <rdar://problem/6279213> Regular expression run-time complexity
        limit too low for long inputs (21485)
        
        Added a test for a complex regexp match that should succeed, and one
        that should fail.

        * fast/js/regexp-overflow-expected.txt:
        * fast/js/resources/regexp-overflow.js:

2009-03-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Update test results for changes in handling of CMYK.

        * fast/canvas/resources/set-colors.js:
        * fast/canvas/set-colors-expected.txt:
        * platform/mac-leopard/fast/canvas/set-colors-expected.txt: Copied from LayoutTests/fast/canvas/set-colors-expected.txt.

2009-03-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Made two layout tests less agressive, to accomodate a change I made
        for <rdar://problem/6603562> REGRESSION (Safari 4): regular expression
        pattern size limit lower than Safari 3.2, other browsers, breaks SAP (14873)

        * fast/js/regexp-charclass-crash-expected.txt:
        * fast/js/regexp-charclass-crash.html: Explicitly limit the number of iterations
        in the test loop. Otherwise, regular expression engines supporting very
        long patterns take a very very very long time to run this test.

        * fast/js/resources/regexp-overflow.js: Made the "too big" regexp in
        this test even bigger, to match our new limit.

2009-03-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=24686
        
        New tests for hit testing transformed, coplanar elements, and transformed elements
        with a transformed overlay.

        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt: Added.
        * transforms/3d/point-mapping/3d-point-mapping-coplanar.html: Added.
        * transforms/3d/point-mapping/3d-point-mapping-overlapping.html: Added.

2009-03-19  Scott Violet  <sky@google.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=24678
        Transitions tests somewhat flakey on Chromium.

        Modifies transitions/transition-end-event-helpers.js to only process
        results once.
        
        * transitions/transition-end-event-helpers.js:

2009-03-19  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Add test for bug 24596: ASSERT in JSC::PropertySlot::slotBase @ iGoogle homepage
        <https://bugs.webkit.org/show_bug.cgi?id=24596>
        <rdar://problem/6686493>

        * http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt: Added.
        * http/tests/security/cross-frame-access-get-custom-property-cached.html: Added.
        * http/tests/security/resources/cross-frame-access-get-custom-property-cached-iframe.html: Added.
        * http/tests/security/resources/cross-frame-access.js:
        (shouldBeUndefined):

2009-03-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=24676
        Simple cross-origin requests shouldn't dispatch upload progress events

        * http/tests/xmlhttprequest/resources/cross-site-progress-events.cgi: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-progress-events.html: Added.

2009-03-18  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Skip plugins/netscape-throw-exception.html due to <rdar://problem/6530010>.

        * platform/mac-snowleopard/Skipped:

2009-03-18  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Disable pluginDocumentView-deallocated-dataSource.html as it has not tested
        what it was designed to test for some time, and is failing on some machines.
        Fixing the test is tracked by <https://bugs.webkit.org/show_bug.cgi?id=24690>.

        * platform/mac/plugins/pluginDocumentView-deallocated-dataSource.html-disabled: Renamed from LayoutTests/platform/mac/plugins/pluginDocumentView-deallocated-dataSource.html.

2009-03-18  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Update test results for change to address <rdar://problem/6693300>.

        * plugins/mouse-events-expected.txt:
        * plugins/netscape-destroy-plugin-script-objects-expected.txt:
        * plugins/netscape-plugin-setwindow-size-2-expected.txt:
        * plugins/netscape-plugin-setwindow-size-expected.txt:
        * plugins/open-and-close-window-with-plugin-expected.txt:

2009-03-18  Beth Dakin  <bdakin@apple.com>

        Rubber-stamped by Dan Bernstein.

        Updating test to reflect our joy.

        * fast/dom/offset-parent-positioned-and-inline-expected.txt:
        * fast/dom/offset-parent-positioned-and-inline.html:

2009-03-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for <rdar://problem/6636747> REGRESSION (Safari 4 PB-r41326): 
        Popup menu appears at the wrong location on page at http://
        www.signonsandiego.com/

        * fast/dom/offset-parent-positioned-and-inline-expected.txt: Added.
        * fast/dom/offset-parent-positioned-and-inline.html: Added.

2009-03-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Simon Fraser.

        Update test results for https://bugs.webkit.org/show_bug.cgi?id=23966
        REGRESSION: Custom arrow navigation functionality doesn't work at dropular.net
        <rdar://problem/6589657>

        * fast/dom/getBoundingClientRect-expected.txt:
        * fast/dom/getClientRects-expected.txt:

2009-03-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24670
        Add tests for XHR progress events during cross-origin requests.

        * http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-2.html: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-post-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-post-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-post-sync.html: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-post.html: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-sync-double-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-sync-double.html: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin-sync.html: Added.
        * http/tests/xmlhttprequest/redirect-cross-origin.html: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-expected.txt: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync.html: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-post.html: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync.html: Added.
        * http/tests/xmlhttprequest/simple-cross-origin-denied-events.html: Added.

2009-03-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        Update finally codegen test to newer style, add additional tests for
        finaliser changing the return value.

        * fast/js/finally-codegen-failure-expected.txt:
        * fast/js/finally-codegen-failure.html:
        * fast/js/resources/finally-codegen-failure.js: Added.

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Update layout test to avoid depending on formatting of -[NSAttributedString description].

        The attributes aren't important to the test.

        * platform/mac/fast/text/attributed-substring-from-range-001-expected.txt:
        * platform/mac/fast/text/attributed-substring-from-range-001.html:

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Land updated results for tests involving Geeza Pro.

        * platform/mac-leopard/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum: Renamed from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum.
        * platform/mac-leopard/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png: Renamed from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png.
        * platform/mac-leopard/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.checksum: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.checksum.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.png: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.png.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-L-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.txt.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.checksum: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.checksum.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.png: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.png.
        * platform/mac-leopard/fast/text/international/bidi-AN-after-empty-run-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt.
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.checksum: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-CS-after-AN-expected.checksum.
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.png: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-CS-after-AN-expected.png.
        * platform/mac-leopard/fast/text/international/bidi-CS-after-AN-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt.
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.checksum: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.checksum.
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.png: Renamed from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.png.
        * platform/mac-leopard/fast/text/international/bidi-neutral-run-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.txt.
        * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt:
        * platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
        * platform/mac/fast/text/international/bidi-AN-after-empty-run-expected.txt:
        * platform/mac/fast/text/international/bidi-CS-after-AN-expected.txt:
        * platform/mac/fast/text/international/bidi-neutral-run-expected.txt:

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Move the results out of platform/mac since they're a cross-platform progression,
        and non-Mac platforms are already skipping the tests.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/navigator-detached-no-crash-expected.txt:
        * platform/mac/fast/dom/Window/window-properties-expected.txt: Removed.
        * platform/mac/fast/dom/navigator-detached-no-crash-expected.txt: Removed.

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Update layout test results now that the test passes.

        * fast/xsl/mozilla-tests-expected.txt:
        * platform/mac-leopard/fast/xsl/mozilla-tests-expected.txt: Copied from LayoutTests/fast/xsl/mozilla-tests-expected.txt.

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Add platform-specific layout test results to accommodate geolocation.

        * platform/mac-leopard/fast/dom/Window/window-properties-expected.txt: Copied from LayoutTests/fast/dom/Window/window-properties-expected.txt.
        * platform/mac-leopard/fast/dom/navigator-detached-no-crash-expected.txt: Copied from LayoutTests/fast/dom/navigator-detached-no-crash-expected.txt.
        * platform/mac/fast/dom/Window/window-properties-expected.txt: Copied from LayoutTests/fast/dom/Window/window-properties-expected.txt.
        * platform/mac/fast/dom/navigator-detached-no-crash-expected.txt: Copied from LayoutTests/fast/dom/navigator-detached-no-crash-expected.txt.

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Remove geolocation-not-implemented.html.

        * geolocation/geolocation-not-implemented-expected.txt: Removed.
        * geolocation/geolocation-not-implemented.html: Removed.
        * geolocation/geolocation-test.js: Removed.
        * platform/gtk/Skipped:

2009-03-17  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Update layout test results to accommodate the updated Unicode text segmentation rules.

        * platform/mac-leopard/css1/text_properties/text_transform-expected.checksum: Renamed from LayoutTests/platform/mac/css1/text_properties/text_transform-expected.checksum.
        * platform/mac-leopard/css1/text_properties/text_transform-expected.png: Renamed from LayoutTests/platform/mac/css1/text_properties/text_transform-expected.png.
        * platform/mac-leopard/css1/text_properties/text_transform-expected.txt: Copied from LayoutTests/platform/mac/css1/text_properties/text_transform-expected.txt.
        * platform/mac-leopard/css2.1/t1605-c545-txttrans-00-b-ag-expected.checksum: Renamed from LayoutTests/platform/mac/css2.1/t1605-c545-txttrans-00-b-ag-expected.checksum.
        * platform/mac-leopard/css2.1/t1605-c545-txttrans-00-b-ag-expected.png: Renamed from LayoutTests/platform/mac/css2.1/t1605-c545-txttrans-00-b-ag-expected.png.
        * platform/mac-leopard/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt.
        * platform/mac/css1/text_properties/text_transform-expected.txt:
        * platform/mac/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt:

2009-03-17  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adele Peterson.

        Put the padding inside scrollbars on textareas.
        https://bugs.webkit.org/show_bug.cgi?id=24370
        
        Almost all of the test rebaselines are just the textarea moving into the layer
        now that the overflow is on the textarea instead of it's shadowNode. There area
        a couple pixel test rebaselines where the scrollbars move and text wraps
        differently now that the padding is inside the scrollbars.

        * platform/mac/editing/inserting/4960120-1-expected.txt:
        * platform/mac/editing/pasteboard/nested-blocks-with-text-area-expected.txt:
        * platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/css/resize-corner-tracking-expected.txt:
        * platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
        * platform/mac/fast/dynamic/008-expected.txt:
        * platform/mac/fast/forms/basic-textareas-expected.checksum:
        * platform/mac/fast/forms/basic-textareas-expected.png:
        * platform/mac/fast/forms/basic-textareas-expected.txt:
        * platform/mac/fast/forms/basic-textareas-quirks-expected.checksum: Added.
        * platform/mac/fast/forms/basic-textareas-quirks-expected.png: Added.
        * platform/mac/fast/forms/basic-textareas-quirks-expected.txt: Added.
        * platform/mac/fast/forms/form-element-geometry-expected.txt:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
        * platform/mac/fast/forms/negativeLineHeight-expected.txt:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/forms/textarea-align-expected.txt:
        * platform/mac/fast/forms/textarea-rows-cols-expected.txt:
        * platform/mac/fast/forms/textarea-scroll-height-expected.txt:
        * platform/mac/fast/forms/textarea-scrollbar-expected.txt:
        * platform/mac/fast/forms/textarea-scrolled-type-expected.txt:
        * platform/mac/fast/forms/textarea-setinnerhtml-expected.txt:
        * platform/mac/fast/forms/textarea-width-expected.txt:
        * platform/mac/fast/overflow/overflow-x-y-expected.txt:
        * platform/mac/fast/parser/comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/fast/table/003-expected.txt:
        * platform/mac/fast/text/international/rtl-white-space-pre-wrap-expected.txt:
        * platform/mac/http/tests/navigation/anchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/anchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/anchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/anchor-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-basic-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/post-goback2-expected.txt:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-basic-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-frames-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-basic-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-frames-expected.txt:
        * platform/mac/http/tests/navigation/relativeanchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/slowmetaredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/slowtimerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-basic-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-expected.txt:
        * platform/mac/http/tests/navigation/success200-frames-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-goback-expected.txt:
        * platform/mac/http/tests/navigation/success200-loadsame-expected.txt:
        * platform/mac/http/tests/navigation/success200-reload-expected.txt:
        * platform/mac/http/tests/navigation/success200-subframeload-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-basic-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-frames-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-subframeload-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug194024-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30559-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug30692-expected.txt:

2009-03-17  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=24655
        <rdar://problem/6633727> Hitting return at the end of a line with an anchor jumps me to the bottom of the message

        * editing/inserting/6633727.html: Added.
        * platform/mac/editing/inserting/6633727-expected.checksum: Added.
        * platform/mac/editing/inserting/6633727-expected.png: Added.
        * platform/mac/editing/inserting/6633727-expected.txt: Added.

        Updated results.  The behavior for these tests doesn't change, but the render tree is slightly different.

        * platform/mac/editing/inserting/insert-div-021-expected.txt:
        * platform/mac/editing/style/block-styles-007-expected.txt:

2009-03-17  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=13287
        Cannot change SELECT to a dynamically created option

        * fast/forms/add-and-remove-option-expected.txt: Added.
        * fast/forms/add-and-remove-option.html: Added.
        * fast/forms/add-remove-option-modification-event-expected.txt: Added.
        * fast/forms/add-remove-option-modification-event.html: Added.
        * fast/forms/add-selected-option-expected.txt: Added.
        * fast/forms/add-selected-option.html: Added.
        * fast/forms/select-cache-desynchronization-expected.txt: Added.
        * fast/forms/select-cache-desynchronization.html: Added.

2009-03-16  David Hyatt  <hyatt@apple.com>

        <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/

        Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over
        layers that don't paint themselves.  This is done by adding a new enclosingSelfPaintingLayer method
        so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint
        themselves.

        Reviewed by Darin Adler.

        * fast/block/float/overlapping-floats-with-overflow-hidden.html: Added.
        * platform/mac/fast/block/float/overlapping-floats-with-overflow-hidden-expected.checksum: Added.
        * platform/mac/fast/block/float/overlapping-floats-with-overflow-hidden-expected.png: Added.
        * platform/mac/fast/block/float/overlapping-floats-with-overflow-hidden-expected.txt: Added.

2009-03-17  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>,
        seen with inspector, which uses adoptNode
        https://bugs.webkit.org/show_bug.cgi?id=24624
        rdar://problem/6422850

        This test has one significant disadvantage. When it fails, the crash typically
        occurs during a subsequent test, not this one. It would be great if someone figured
        out at some point how to improve that.

        * fast/dom/HTMLImageElement/image-load-cross-document-expected.txt: Added.
        * fast/dom/HTMLImageElement/image-load-cross-document.html: Added.
        * fast/dom/HTMLImageElement/resources/image-load-subframe.html: Added.

2009-03-17  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=24614
        Access control checks are different in cached and uncached cases

        * http/tests/xmlhttprequest/access-control-basic-non-simple-allow-async.html:
        * http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html:
        The default Content-Type set by XMLHttpRequest is no longer implicitly permitted for
        cross origin requests, changed the test to send text/plain.

        * http/tests/xmlhttprequest/resources/access-control-basic-non-get-allow.cgi:
        Modified to prevent errors on unexpected request methods (not directly related to this patch).

        * http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html: Added.

2009-03-16  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=24638
        [GTK] HTML5 media tags do not work

        Remove the blacklisting of the media/ directory, now that we have
        a working MediaPlayer; skip only the tests that are still failing
        because MediaPlayerPrivateGStreamer is not completely implemented.

        * platform/gtk/Skipped:

2009-03-16  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Adele Peterson.

        Skip media tests that are currently failing.

        * platform/mac-snowleopard/Skipped:

2009-03-16  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Beth Dakin.

        Skip a test that is currently crashing.

        * platform/mac-snowleopard/Skipped:

2009-03-16  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Beth Dakin.

        Update test results for six accessibility tests.

        * platform/mac/accessibility/lists-expected.txt:
        * platform/mac/accessibility/table-attributes-expected.txt:
        * platform/mac/accessibility/table-detection-expected.txt:
        * platform/mac/accessibility/table-sections-expected.txt:
        * platform/mac/accessibility/table-with-aria-role-expected.txt:
        * platform/mac/accessibility/table-with-rules-expected.txt:

2009-03-16  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Beth Dakin.

        Move platform-specific acessibility tests and results into platform/mac.

        * platform/mac/accessibility/accesskey-expected.txt: Renamed from LayoutTests/accessibility/accesskey-expected.txt.
        * platform/mac/accessibility/accesskey.html: Renamed from LayoutTests/accessibility/accesskey.html.
        * platform/mac/accessibility/aria-describedby-on-input-expected.txt: Renamed from LayoutTests/accessibility/aria-describedby-on-input-expected.txt.
        * platform/mac/accessibility/aria-labelledby-on-input-expected.txt: Renamed from LayoutTests/accessibility/aria-labelledby-on-input-expected.txt.
        * platform/mac/accessibility/aria-range-expected.txt: Renamed from LayoutTests/accessibility/aria-range-expected.txt.
        * platform/mac/accessibility/aria-range-value-expected.txt: Renamed from LayoutTests/accessibility/aria-range-value-expected.txt.
        * platform/mac/accessibility/aria-range-value.html: Renamed from LayoutTests/accessibility/aria-range-value.html.
        * platform/mac/accessibility/aria-range.html: Renamed from LayoutTests/accessibility/aria-range.html.
        * platform/mac/accessibility/aria-roles-expected.txt: Renamed from LayoutTests/accessibility/aria-roles-expected.txt.
        * platform/mac/accessibility/aria-slider-expected.txt: Renamed from LayoutTests/accessibility/aria-slider-expected.txt.
        * platform/mac/accessibility/aria-slider.html: Renamed from LayoutTests/accessibility/aria-slider.html.
        * platform/mac/accessibility/aria-spinbutton-expected.txt: Renamed from LayoutTests/accessibility/aria-spinbutton-expected.txt.
        * platform/mac/accessibility/aria-spinbutton.html: Renamed from LayoutTests/accessibility/aria-spinbutton.html.
        * platform/mac/accessibility/bounds-for-range-expected.txt: Renamed from LayoutTests/accessibility/bounds-for-range-expected.txt.
        * platform/mac/accessibility/bounds-for-range.html: Renamed from LayoutTests/accessibility/bounds-for-range.html.
        * platform/mac/accessibility/content-editable-expected.txt: Renamed from LayoutTests/accessibility/content-editable-expected.txt.
        * platform/mac/accessibility/content-editable.html: Renamed from LayoutTests/accessibility/content-editable.html.
        * platform/mac/accessibility/document-attributes-expected.txt: Renamed from LayoutTests/accessibility/document-attributes-expected.txt.
        * platform/mac/accessibility/document-attributes.html: Renamed from LayoutTests/accessibility/document-attributes.html.
        * platform/mac/accessibility/document-links-expected.txt: Renamed from LayoutTests/accessibility/document-links-expected.txt.
        * platform/mac/accessibility/document-links.html: Renamed from LayoutTests/accessibility/document-links.html.
        * platform/mac/accessibility/double-title-expected.txt: Renamed from LayoutTests/accessibility/double-title-expected.txt.
        * platform/mac/accessibility/double-title.html: Renamed from LayoutTests/accessibility/double-title.html.
        * platform/mac/accessibility/frame-with-title-expected.txt: Renamed from LayoutTests/accessibility/frame-with-title-expected.txt.
        * platform/mac/accessibility/frame-with-title.html: Renamed from LayoutTests/accessibility/frame-with-title.html.
        * platform/mac/accessibility/image-map1-expected.txt: Renamed from LayoutTests/accessibility/image-map1-expected.txt.
        * platform/mac/accessibility/image-map2-expected.txt: Renamed from LayoutTests/accessibility/image-map2-expected.txt.
        * platform/mac/accessibility/input-image-url-expected.txt: Renamed from LayoutTests/accessibility/input-image-url-expected.txt.
        * platform/mac/accessibility/input-image-url.html: Renamed from LayoutTests/accessibility/input-image-url.html.
        * platform/mac/accessibility/internal-link-anchors-expected.txt: Renamed from LayoutTests/accessibility/internal-link-anchors-expected.txt.
        * platform/mac/accessibility/internal-link-anchors.html: Renamed from LayoutTests/accessibility/internal-link-anchors.html.
        * platform/mac/accessibility/internal-link-anchors2-expected.txt: Renamed from LayoutTests/accessibility/internal-link-anchors2-expected.txt.
        * platform/mac/accessibility/legend-expected.txt: Renamed from LayoutTests/accessibility/legend-expected.txt.
        * platform/mac/accessibility/plugin-expected.txt: Renamed from LayoutTests/accessibility/plugin-expected.txt.
        * platform/mac/accessibility/radio-button-group-members-expected.txt: Renamed from LayoutTests/accessibility/radio-button-group-members-expected.txt.
        * platform/mac/accessibility/resources/cake.png: Copied from LayoutTests/accessibility/resources/cake.png.
        * platform/mac/accessibility/resources/test.swf: Renamed from LayoutTests/accessibility/resources/test.swf.
        * platform/mac/accessibility/table-one-cell-expected.txt: Renamed from LayoutTests/accessibility/table-one-cell-expected.txt.

2009-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Adele Peterson.

        Bug 24629: moving forward or backward a paragraph fails at edge of document
        https://bugs.webkit.org/show_bug.cgi?id=24629
        rdar://problem/6544413

        * editing/selection/move-paragraph-document-edges-expected.txt: Added.
        * editing/selection/move-paragraph-document-edges.html: Added.

2009-03-16  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

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

        Overflow scrolling needs to account for the bottom/right padding on the object itself as well
        as for bottom/right margins on children.

        * platform/mac/fast/body-propagation/overflow/002-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/002-expected.png:
        * platform/mac/fast/body-propagation/overflow/002-expected.txt:
        * platform/mac/fast/body-propagation/overflow/002-xhtml-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/002-xhtml-expected.png:
        * platform/mac/fast/body-propagation/overflow/002-xhtml-expected.txt:
        * platform/mac/fast/body-propagation/overflow/003-declarative-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/003-declarative-expected.png:
        * platform/mac/fast/body-propagation/overflow/003-declarative-expected.txt:
        * platform/mac/fast/body-propagation/overflow/003-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/003-expected.png:
        * platform/mac/fast/body-propagation/overflow/003-expected.txt:
        * platform/mac/fast/body-propagation/overflow/003-xhtml-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/003-xhtml-expected.png:
        * platform/mac/fast/body-propagation/overflow/003-xhtml-expected.txt:
        * platform/mac/fast/body-propagation/overflow/004-declarative-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/004-declarative-expected.png:
        * platform/mac/fast/body-propagation/overflow/004-declarative-expected.txt:
        * platform/mac/fast/body-propagation/overflow/004-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/004-expected.png:
        * platform/mac/fast/body-propagation/overflow/004-expected.txt:
        * platform/mac/fast/body-propagation/overflow/004-xhtml-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/004-xhtml-expected.png:
        * platform/mac/fast/body-propagation/overflow/004-xhtml-expected.txt:
        * platform/mac/fast/body-propagation/overflow/007-declarative-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/007-declarative-expected.png:
        * platform/mac/fast/body-propagation/overflow/007-declarative-expected.txt:
        * platform/mac/fast/body-propagation/overflow/007-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/007-expected.png:
        * platform/mac/fast/body-propagation/overflow/007-expected.txt:
        * platform/mac/fast/body-propagation/overflow/007-xhtml-expected.checksum:
        * platform/mac/fast/body-propagation/overflow/007-xhtml-expected.png:
        * platform/mac/fast/body-propagation/overflow/007-xhtml-expected.txt:
        * platform/mac/fast/forms/basic-textareas-expected.txt:
        * platform/mac/fast/forms/input-disabled-color-expected.txt:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.checksum:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.png:
        * platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
        * platform/mac/fast/forms/input-readonly-dimmed-expected.txt:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.checksum:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
        * platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt:
        * platform/mac/fast/overflow/003-expected.checksum:
        * platform/mac/fast/overflow/003-expected.png:
        * platform/mac/fast/overflow/003-expected.txt:
        * platform/mac/fast/overflow/004-expected.checksum:
        * platform/mac/fast/overflow/004-expected.png:
        * platform/mac/fast/overflow/007-expected.checksum:
        * platform/mac/fast/overflow/007-expected.png:
        * platform/mac/fast/overflow/007-expected.txt:
        * platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.checksum:
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.png:
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-expected.txt:
        * platform/mac/fast/replaced/width100percent-textarea-expected.checksum:
        * platform/mac/fast/replaced/width100percent-textarea-expected.png:
        * platform/mac/fast/replaced/width100percent-textarea-expected.txt:
        * platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug83786-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug106966-expected.txt:

2009-03-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Test for <rdar://problem/6320555>
        Add an upper limit for setting HTMLSelectElement.length.

        * fast/forms/select-max-length-expected.txt: Added.
        * fast/forms/select-max-length.html: Added.

2009-03-16  Pamela Greene  <pam@chromium.org>

        Reviewed by Dimitri Glazkov.

        Remove test dependency on precise window location and size. It's not
        clear to me why these vary, but they're not what the test is checking,
        so it need not depend on them in any case.
        https://bugs.webkit.org/show_bug.cgi?id=24170

        * fast/dom/Window/window-lookup-precedence-expected.txt:
        * fast/dom/Window/window-lookup-precedence.html:

2009-03-16  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21752
        REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it

        * fast/dom/Window/resources/window-early-properties-xhr-frame.html: Added.
        * fast/dom/Window/window-early-properties-xhr-expected.txt: Added.
        * fast/dom/Window/window-early-properties-xhr.html: Added.

2009-03-15  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19737
        No cursor and paste not enabled right clicking text field/area

        * fast/events/right-click-focus-expected.txt: Added.
        * fast/events/right-click-focus.html: Added.

        * editing/selection/5354455-2.html:
        * platform/mac/editing/selection/5354455-2-expected.checksum:
        * platform/mac/editing/selection/5354455-2-expected.png:
        * platform/mac/editing/selection/5354455-2-expected.txt:
        Right-clicking now removes existing selection. I think that this is a progression.

2009-03-15  Alexey Proskuryakov  <ap@webkit.org>

        Suggested by Mark Rowe.

        Move results for security/block-test.html to their correct locations. Results for other
        platforms will need to be generated.

        * platform/mac-leopard/security/block-test-expected.txt: Removed.
        * platform/mac-tiger/security: Added.
        * platform/mac-tiger/security/block-test-expected.txt: Copied from LayoutTests/security/block-test-expected.txt.
        * platform/mac/security: Added.
        * platform/mac/security/block-test-expected.txt: Copied from LayoutTests/platform/mac-leopard/security/block-test-expected.txt.
        * security/block-test-expected.txt: Removed.

2009-03-15  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=23949
        HTMLSelectElement is in inconsistent state when handling mutation events

        * fast/forms/mutation-event-recalc-expected.txt: Added.
        * fast/forms/mutation-event-recalc.html: Added.

2009-03-14  Alexey Proskuryakov  <ap@webkit.org>

        Add svn:executable property to recently added cgi scripts.

        * http/tests/xmlhttprequest/resources/access-control-basic-options-not-supported.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-whitelist-request-headers.cgi:

2009-03-14  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Dan Bernstein.

        Skip two tests that are failing.

        * platform/mac-snowleopard/Skipped: Added.

2009-03-14  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Mark Rowe.

        Remove two now working tests from GTK's Skipped list.

        * platform/gtk/Skipped:

2009-03-14  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver Hunt.

        Update layout test results to accommodate slight changes in error messages in the latest version of libxml2.

        * fast/dom/getElementsByClassName/011-expected.txt:
        * fast/parser/external-entities-expected.txt:
        * platform/mac-leopard/fast/dom/getElementsByClassName/011-expected.txt: Copied from LayoutTests/fast/dom/getElementsByClassName/011-expected.txt.
        * platform/mac-leopard/fast/invalid/missing-end-tag-expected.checksum: Copied from LayoutTests/platform/mac/fast/invalid/missing-end-tag-expected.checksum.
        * platform/mac-leopard/fast/invalid/missing-end-tag-expected.png: Copied from LayoutTests/platform/mac/fast/invalid/missing-end-tag-expected.png.
        * platform/mac-leopard/fast/invalid/missing-end-tag-expected.txt: Copied from LayoutTests/platform/mac/fast/invalid/missing-end-tag-expected.txt.
        * platform/mac-leopard/fast/parser/external-entities-expected.txt: Copied from LayoutTests/fast/parser/external-entities-expected.txt.
        * platform/mac-leopard/fast/parser/xhtml-alternate-entities-expected.checksum: Copied from LayoutTests/platform/mac/fast/parser/xhtml-alternate-entities-expected.checksum.
        * platform/mac-leopard/fast/parser/xhtml-alternate-entities-expected.png: Copied from LayoutTests/platform/mac/fast/parser/xhtml-alternate-entities-expected.png.
        * platform/mac-leopard/fast/parser/xhtml-alternate-entities-expected.txt: Copied from LayoutTests/platform/mac/fast/parser/xhtml-alternate-entities-expected.txt.
        * platform/mac-leopard/fast/xsl/xslt-extra-content-at-end-expected.checksum: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.checksum.
        * platform/mac-leopard/fast/xsl/xslt-extra-content-at-end-expected.png: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png.
        * platform/mac-leopard/fast/xsl/xslt-extra-content-at-end-expected.txt: Copied from LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt.
        * platform/mac-leopard/svg/custom/junk-data-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/junk-data-expected.checksum.
        * platform/mac-leopard/svg/custom/junk-data-expected.png: Copied from LayoutTests/platform/mac/svg/custom/junk-data-expected.png.
        * platform/mac-leopard/svg/custom/junk-data-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/junk-data-expected.txt.
        * platform/mac-leopard/svg/custom/missing-xlink-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.checksum.
        * platform/mac-leopard/svg/custom/missing-xlink-expected.png: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.png.
        * platform/mac-leopard/svg/custom/missing-xlink-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/missing-xlink-expected.txt.
        * platform/mac-leopard/svg/hixie/error/012-expected.checksum: Copied from LayoutTests/platform/mac/svg/hixie/error/012-expected.checksum.
        * platform/mac-leopard/svg/hixie/error/012-expected.png: Copied from LayoutTests/platform/mac/svg/hixie/error/012-expected.png.
        * platform/mac-leopard/svg/hixie/error/012-expected.txt: Copied from LayoutTests/platform/mac/svg/hixie/error/012-expected.txt.
        * platform/mac/fast/invalid/missing-end-tag-expected.checksum:
        * platform/mac/fast/invalid/missing-end-tag-expected.png:
        * platform/mac/fast/invalid/missing-end-tag-expected.txt:
        * platform/mac/fast/parser/xhtml-alternate-entities-expected.checksum:
        * platform/mac/fast/parser/xhtml-alternate-entities-expected.png:
        * platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
        * platform/mac/fast/xsl/xslt-extra-content-at-end-expected.checksum:
        * platform/mac/fast/xsl/xslt-extra-content-at-end-expected.png:
        * platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
        * platform/mac/svg/custom/junk-data-expected.checksum:
        * platform/mac/svg/custom/junk-data-expected.png:
        * platform/mac/svg/custom/junk-data-expected.txt:
        * platform/mac/svg/custom/missing-xlink-expected.checksum:
        * platform/mac/svg/custom/missing-xlink-expected.png:
        * platform/mac/svg/custom/missing-xlink-expected.txt:
        * platform/mac/svg/hixie/error/012-expected.checksum:
        * platform/mac/svg/hixie/error/012-expected.png:
        * platform/mac/svg/hixie/error/012-expected.txt:

2009-03-14  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Shuffle layout tests and expected results around to fit the new search policy.

        * platform/mac-leopard/Skipped:
        * platform/mac-leopard/accessibility/lists-expected.txt: Renamed from LayoutTests/accessibility/lists-expected.txt.
        * platform/mac-leopard/accessibility/table-attributes-expected.txt: Renamed from LayoutTests/accessibility/table-attributes-expected.txt.
        * platform/mac-leopard/accessibility/table-cell-spans-expected.txt: Renamed from LayoutTests/accessibility/table-cell-spans-expected.txt.
        * platform/mac-leopard/accessibility/table-cells-expected.txt: Renamed from LayoutTests/accessibility/table-cells-expected.txt.
        * platform/mac-leopard/accessibility/table-detection-expected.txt: Renamed from LayoutTests/accessibility/table-detection-expected.txt.
        * platform/mac-leopard/accessibility/table-sections-expected.txt: Renamed from LayoutTests/accessibility/table-sections-expected.txt.
        * platform/mac-leopard/accessibility/table-with-aria-role-expected.txt: Renamed from LayoutTests/accessibility/table-with-aria-role-expected.txt.
        * platform/mac-leopard/accessibility/table-with-rules-expected.txt: Renamed from LayoutTests/accessibility/table-with-rules-expected.txt.
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.checksum: Copied from LayoutTests/platform/mac/fast/text/atsui-multiple-renderers-expected.checksum.
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.png: Copied from LayoutTests/platform/mac/fast/text/atsui-multiple-renderers-expected.png.
        * platform/mac-leopard/fast/text/atsui-multiple-renderers-expected.txt: Copied from LayoutTests/platform/mac/fast/text/atsui-multiple-renderers-expected.txt.
        * platform/mac-tiger/Skipped:
        * platform/mac/accessibility/lists-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/lists-expected.txt.
        * platform/mac/accessibility/table-attributes-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-attributes-expected.txt.
        * platform/mac/accessibility/table-cell-spans-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-cell-spans-expected.txt.
        * platform/mac/accessibility/table-cells-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-cells-expected.txt.
        * platform/mac/accessibility/table-detection-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-detection-expected.txt.
        * platform/mac/accessibility/table-multi-bodies-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-multi-bodies-expected.txt.
        * platform/mac/accessibility/table-multi-bodies.html: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-multi-bodies.html.
        * platform/mac/accessibility/table-sections-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-sections-expected.txt.
        * platform/mac/accessibility/table-updating-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-updating-expected.txt.
        * platform/mac/accessibility/table-updating.html: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-updating.html.
        * platform/mac/accessibility/table-with-aria-role-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-with-aria-role-expected.txt.
        * platform/mac/accessibility/table-with-rules-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/accessibility/table-with-rules-expected.txt.
        * platform/mac/fast/text/atsui-multiple-renderers-expected.checksum: Renamed from platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.checksum.
        * platform/mac/fast/text/atsui-multiple-renderers-expected.png: Renamed from platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.png.
        * platform/mac/fast/text/atsui-multiple-renderers-expected.txt: Renamed from platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.txt.
        * platform/mac/fast/text/myanmar-shaping-expected.checksum: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/myanmar-shaping-expected.checksum.
        * platform/mac/fast/text/myanmar-shaping-expected.png: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/myanmar-shaping-expected.png.
        * platform/mac/fast/text/myanmar-shaping-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/myanmar-shaping-expected.txt.
        * platform/mac/fast/text/myanmar-shaping.html: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/myanmar-shaping.html.
        * platform/mac/fast/text/resources/Garuda.ttf: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/resources/Garuda.ttf.
        * platform/mac/fast/text/resources/mm3.ttf: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/resources/mm3.ttf.
        * platform/mac/fast/text/thai-combining-mark-positioning-expected.checksum: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.checksum.
        * platform/mac/fast/text/thai-combining-mark-positioning-expected.png: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.png.
        * platform/mac/fast/text/thai-combining-mark-positioning-expected.txt: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.txt.
        * platform/mac/fast/text/thai-combining-mark-positioning.html: Renamed from LayoutTests/platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html.

2009-03-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24545
        Make cross-site XHR simple request definition match current spec draft

        * http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html: Added.
        * http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-basic-options-not-supported.cgi: Added.
        * http/tests/xmlhttprequest/resources/access-control-basic-whitelist-request-headers.cgi: Added.

2009-03-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=15172
        object fallback - empty string for first argument of setAttributeNS does not work like null

        https://bugs.webkit.org/show_bug.cgi?id=24548
        createElementNS("", name) should create an element in null namespace

        * fast/dom/createElementNS-empty-namespace-expected.txt: Added.
        * fast/dom/createElementNS-empty-namespace.html: Added.
        * fast/dom/setAttributeNS-empty-namespace-expected.txt: Added.
        * fast/dom/setAttributeNS-empty-namespace.html: Added.

2009-03-13  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Add tests for various types of textareas. Tests in both
        quirks and standards modes. Although only the standards
        modes tests fit in the pixel results.
        https://bugs.webkit.org/show_bug.cgi?id=24370

        * fast/forms/basic-textareas.html: Added.
        * platform/mac/fast/forms/basic-textareas-expected.checksum: Added.
        * platform/mac/fast/forms/basic-textareas-expected.png: Added.
        * platform/mac/fast/forms/basic-textareas-expected.txt: Added.

2009-03-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 24474: AX: in multi-body tables, asking for a cell at a specific coordinate can return nil
        https://bugs.webkit.org/show_bug.cgi?id=24474

        * platform/mac-snowleopard/accessibility/table-multi-bodies-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-multi-bodies.html: Added.

2009-03-13  Adele Peterson  <adele@apple.com>

        Reviewed by Justin Garcia.

        Tests for <rdar://problem/5089327> Color of quoted content is wrong when pasted inside other quoted content

        * editing/pasteboard/5089327.html: Added.
        * platform/mac/editing/pasteboard/5089327-expected.checksum: Added.
        * platform/mac/editing/pasteboard/5089327-expected.png: Added.
        * platform/mac/editing/pasteboard/5089327-expected.txt: Added.

        Updated colors for pasted content.

        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.checksum:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.png:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-expected.checksum:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-expected.png:

2009-03-13  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Fisher.

        Add tests for window property lookup precedence in the presence of
        conflicting names in a child frame and in a named document element.

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

        * fast/dom/Window/resources/window-properties.js: Added.
        * fast/dom/Window/window-lookup-precedence-expected.txt: Added.
        * fast/dom/Window/window-lookup-precedence.html: Added.
        * fast/js/resources/js-test-pre.js:
        (shouldEvaluateTo): Added. Compares expected values of various types.
        

2009-03-13  Pamela Greene  <pam@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add test cases to ensure that DOM constructors have higher lookup
        precedence than a document element with the same name.

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

        * fast/dom/dom-constructors-expected.txt:
        * fast/dom/dom-constructors.html:

2009-03-13  Pamela Greene  <pam@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add a test to check that the JS wrapper for the document in an
        inner frame is created in the correct context when it's accessed
        from the outer frame first.

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

        * fast/dom/resources/wrapper-context-inner.html: Added.
        * fast/dom/wrapper-context-expected.txt: Added.
        * fast/dom/wrapper-context.html: Added.

2009-03-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=24575
        XHR response is incorrect after a network error.

        * http/tests/xmlhttprequest/cross-site-denied-response-expected.txt: Added.
        * http/tests/xmlhttprequest/cross-site-denied-response-sync-2-expected.txt: Added.
        * http/tests/xmlhttprequest/cross-site-denied-response-sync-2.html: Added.
        * http/tests/xmlhttprequest/cross-site-denied-response-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/cross-site-denied-response-sync.html: Added.
        * http/tests/xmlhttprequest/cross-site-denied-response.html: Added.

2009-03-13  Alexey Proskuryakov  <ap@webkit.org>

        Updating results after the fix for bug 3547.

        * fast/loader/xmlhttprequest-missing-file-exception-expected.txt: The status text for
        a failed local file load is no longer "OK", which is good.

2009-03-13  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=3547
        XMLHttpRequest.statusText returns always "OK"

        Changed default expected results to PASS. Moved previous expected
        results to platform/mac.
        
        * http/tests/xmlhttprequest/web-apps/012-expected.txt:
        * http/tests/xmlhttprequest/web-apps/013-expected.txt:
        * platform/mac/http/tests/xmlhttprequest: Added.
        * platform/mac/http/tests/xmlhttprequest/web-apps: Added.
        * platform/mac/http/tests/xmlhttprequest/web-apps/012-expected.txt: Added.
        * platform/mac/http/tests/xmlhttprequest/web-apps/013-expected.txt: Added.

2009-03-12  Dan Bernstein  <mitz@apple.com>

        - Skipped file fix

        * platform/mac-tiger/Skipped:

2009-03-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        - skip editing/selection/word-thai.html on Tiger because it has an older
          version of Unicode.

        * platform/mac-tiger/Skipped:

2009-02-26  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin Garcia.

        Add more logging to this test to make it
        easier to debug when it breaks.

        * editing/selection/click-before-and-after-table.html:

2009-03-12  Aaron Boodman  <aa@chromium.org>

        Reviewed by Dave Hyatt.

        Bug 16348: @font-face does not affect the default style
        <https://bugs.webkit.org/show_bug.cgi?id=16348>

        * fast/css/font-face-default-font.html:
        Handle the default font being either 'Times' or 'Times New Roman'.

2009-03-12  Pamela Greene  <pam@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add a test to check that an invalid second argument of
        window.postMessage is ignored. Note that this is probably not the
        correct behavior according to the HTML5 spec, so this test will
        need to be changed once we support that.

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

        * fast/dom/Window/window-postmessage-args-expected.txt: Added.
        * fast/dom/Window/window-postmessage-args.html: Added.

2009-03-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Fisher and Justin Garcia.

        Safari crashes during drag and drop in Google presentations
        due to mutation event handlers removing DOM content during insertNode
        https://bugs.webkit.org/show_bug.cgi?id=22634

        * editing/selection/crash-on-drag-with-mutation-events-expected.txt: Added.
        * editing/selection/crash-on-drag-with-mutation-events.html: Added.

2009-03-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.
        
        https://bugs.webkit.org/show_bug.cgi?id=24508
        
        Test for setting the value on a text input with placeholder text.
        
        * fast/forms/placeholder-set-value.html: Added.
        * platform/mac/fast/forms/placeholder-set-value-expected.checksum: Added.
        * platform/mac/fast/forms/placeholder-set-value-expected.png: Added.
        * platform/mac/fast/forms/placeholder-set-value-expected.txt: Added.

2009-03-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=24496
        Test for logging non-string values.

        * fast/js/console-non-string-values-expected.txt: Added.
        * fast/js/console-non-string-values.html: Added.

2009-03-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=24552

        Test hit testing when there is a normal-flow, self-painting layer
        (e.g. a reflection) in the layer tree.

        * fast/layers/normal-flow-hit-test.html: Added.
        * platform/mac/fast/layers/normal-flow-hit-test-expected.checksum: Added.
        * platform/mac/fast/layers/normal-flow-hit-test-expected.png: Added.
        * platform/mac/fast/layers/normal-flow-hit-test-expected.txt: Added.

2009-03-12  Pamela Greene  <pam@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add test cases to make sure window.location and window.navigator
        have higher lookup precedence than a DOM element with that ID.

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

        * fast/dom/Window/window-special-properties-expected.txt:
        * fast/dom/Window/window-special-properties.html:

2009-03-12  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Add a test to make sure GC doesn't drop XHR wrappers too soon.
        https://bugs.webkit.org/show_bug.cgi?id=24528

        * fast/dom/xmlhttprequest-gc-expected.txt: Added.
        * fast/dom/xmlhttprequest-gc.html: Added.

2009-03-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/6673852> Widget "Simple World Clock" does not display with Safari 4

        Add testcases to ensure correct behaviour of addStop when given an invalid color
        string.

        * fast/canvas/canvas-gradient-addStop-error-expected.txt: Added.
        * fast/canvas/canvas-gradient-addStop-error.html: Added.
        * fast/canvas/resources/canvas-gradient-addStop-error.js: Added.

2009-03-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/3919124> Thai text selection in Safari is
          incorrect

        * platform/mac/editing/selection/word-thai-expected.txt: Added.
        * platform/mac/editing/selection/word-thai.html: Added.

2009-03-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        Test for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage 
        top value on position:relative child not calculated correctly if 
        parent has percentage height
        - and corresponding -
        <rdar://problem/6172925>

        * fast/css/percent-top-value-with-relative-position.html: Added.
        * platform/mac/fast/css/percent-top-value-with-relative-position-expected.checksum: Added.
        * platform/mac/fast/css/percent-top-value-with-relative-position-expected.png: Added.
        * platform/mac/fast/css/percent-top-value-with-relative-position-expected.txt: Added.

2009-03-11  Pamela Greene  <pam@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add test for potential crash in window.frames.length
        These files were accidentally left out of r41459.

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

        * fast/dom/Window/window-collection-length-no-crash-expected.txt: Added.
        * fast/dom/Window/window-collection-length-no-crash.html: Added.

2009-03-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=24366
        
        Make this test more reliable by only calling runAnimationTest() once
        the animation starts, not before some setTimeout().

        * animations/change-keyframes-name-expected.txt:
        * animations/change-keyframes-name.html:

2009-03-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=24266
        
        Land new expected results for transform-absolute-in-positioned-container.html,
        and new pixel results for reflection-masks.html. Both are progressions.

        * platform/mac/fast/reflections/reflection-masks-expected.checksum:
        * platform/mac/fast/reflections/reflection-masks-expected.png:
        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum:
        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png:
        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt:

2009-03-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein
       
        https://bugs.webkit.org/show_bug.cgi?id=23093
        
        Test for repainting of the search field cancel button.

        * fast/repaint/search-field-cancel.html: Added.
        * platform/mac/fast/repaint/search-field-cancel-expected.checksum: Added.
        * platform/mac/fast/repaint/search-field-cancel-expected.png: Added.
        * platform/mac/fast/repaint/search-field-cancel-expected.txt: Added.

2009-03-11  Marc-André Decoste  <mad@chromium.org>

        Reviewed by Eric Seidel.

        Fixed the positions of the list boxes so that the size of their
        rendering doesn't affect the test coordinates.
        https://bugs.webkit.org/show_bug.cgi?id=24006

        * fast/forms/option-mouseevents-expected.txt:
        * fast/forms/option-mouseevents.html:

2009-03-11  Hironori Bono  <hbono@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=15790
        Ligatures aren't accounted for when manipulating VisiblePositions

        Verify that we can prevent a cursor from moving in the middle of an Indic ligature.

        * editing/deleting/skip-virama-001-expected.txt: Added.
        * editing/deleting/skip-virama-001.html: Added.

        * platform/mac-tiger/Skipped: This fix requires a customized cursorMovementIterator,
        which is not enabled on Tiger (see bug 24513).

2009-03-11  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] Implement LayoutTestControllerGtk::setPrivateBrowsingEnabled
        https://bugs.webkit.org/show_bug.cgi?id=24487

        Enable http/tests/security/cross-frame-access-private-browsing.html test.

        * platform/gtk/Skipped:

2009-03-10  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR

        * http/tests/security/cookies/xmlhttprequest.html: We don't expose cookies for documents
        retrieved via XMLHttpRequest. Added a check to make sure that we don't forget about cross-
        origin restrictions if we ever decide to change that.

        * http/tests/xmlhttprequest/resources/get-set-cookie.cgi: While at it, fixed a broken check
        for Set-Cookie2.

2009-03-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=24503
        
        Test for hitting the cancel button of an absolutely-positioned form
        control.

        * fast/forms/search-abs-pos-cancel-button-expected.txt: Added.
        * fast/forms/search-abs-pos-cancel-button.html: Added.

2009-03-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Test changes for <rdar://problem/6624769> REGRESSION (Safari 4 PB): 
        No scroll bar appears for long line of text with NOWRAP set

        New test:
        * fast/inline/long-wrapped-line.html: Added.
        * platform/mac/fast/inline/long-wrapped-line-expected.checksum: Added.
        * platform/mac/fast/inline/long-wrapped-line-expected.png: Added.
        * platform/mac/fast/inline/long-wrapped-line-expected.txt: Added.

        
        These tests all have changed results from the patch. Now trailing 
        whitespace always has its own linebox instead of sometimes sharing 
        a linebox with text.
        * platform/mac/editing/deleting/5206311-1-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-018-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-021-expected.txt:
        * platform/mac/editing/deleting/delete-block-merge-contents-022-expected.txt:
        * platform/mac/editing/deleting/delete-block-table-expected.txt:
        * platform/mac/editing/deleting/delete-leading-ws-001-expected.txt:
        * platform/mac/editing/deleting/delete-line-end-ws-001-expected.txt:
        * platform/mac/editing/deleting/delete-line-end-ws-002-expected.txt:
        * platform/mac/editing/deleting/delete-to-select-table-expected.txt:
        * platform/mac/editing/deleting/delete-ws-fixup-001-expected.txt:
        * platform/mac/editing/deleting/delete-ws-fixup-002-expected.txt:
        * platform/mac/editing/deleting/deletionUI-single-instance-expected.txt:
        * platform/mac/editing/deleting/forward-delete-expected.txt:
        * platform/mac/editing/execCommand/5482023-expected.txt:
        * platform/mac/editing/execCommand/boldSelection-expected.txt:
        * platform/mac/editing/execCommand/italicizeByCharacter-expected.txt:
        * platform/mac/editing/execCommand/modifyForeColorByCharacter-expected.txt:
        * platform/mac/editing/execCommand/print-expected.txt:
        * platform/mac/editing/execCommand/selectAll-expected.txt:
        * platform/mac/editing/execCommand/strikethroughSelection-expected.txt:
        * platform/mac/editing/input/emacs-ctrl-o-expected.txt:
        * platform/mac/editing/inserting/12882-expected.txt:
        * platform/mac/editing/inserting/editable-html-element-expected.txt:
        * platform/mac/editing/inserting/insert-div-019-expected.txt:
        * platform/mac/editing/inserting/insert-div-020-expected.txt:
        * platform/mac/editing/inserting/insert-div-021-expected.txt:
        * platform/mac/editing/inserting/insert-div-022-expected.txt:
        * platform/mac/editing/inserting/insert-div-023-expected.txt:
        * platform/mac/editing/inserting/insert-div-024-expected.txt:
        * platform/mac/editing/inserting/insert-div-025-expected.txt:
        * platform/mac/editing/inserting/insert-div-027-expected.txt:
        * platform/mac/editing/inserting/typing-003-expected.txt:
        * platform/mac/editing/pasteboard/4989774-expected.txt:
        * platform/mac/editing/pasteboard/5028447-expected.txt:
        * platform/mac/editing/pasteboard/merge-end-3-expected.txt:
        * platform/mac/editing/pasteboard/paste-table-003-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-012-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-013-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-014-expected.txt:
        * platform/mac/editing/selection/4947387-expected.txt:
        * platform/mac/editing/selection/4983858-expected.txt:
        * platform/mac/editing/selection/5081257-1-expected.txt:
        * platform/mac/editing/selection/5081257-2-expected.txt:
        * platform/mac/editing/selection/5136696-expected.txt:
        * platform/mac/editing/selection/5234383-1-expected.txt:
        * platform/mac/editing/selection/5234383-2-expected.txt:
        * platform/mac/editing/selection/7152-1-expected.txt:
        * platform/mac/editing/selection/7152-2-expected.txt:
        * platform/mac/editing/selection/after-line-wrap-expected.txt:
        * platform/mac/editing/selection/click-start-of-line-expected.txt:
        * platform/mac/editing/selection/drag-in-iframe-expected.txt:
        * platform/mac/editing/selection/editable-html-element-expected.txt:
        * platform/mac/editing/selection/editable-non-editable-crash-expected.txt:
        * platform/mac/editing/selection/end-of-document-expected.txt:
        * platform/mac/editing/selection/extend-by-character-003-expected.txt:
        * platform/mac/editing/selection/extend-by-character-005-expected.txt:
        * platform/mac/editing/selection/extend-by-word-002-expected.txt:
        * platform/mac/editing/selection/mixed-editability-1-expected.txt:
        * platform/mac/editing/selection/move-by-character-003-expected.txt:
        * platform/mac/editing/selection/move-by-character-005-expected.txt:
        * platform/mac/editing/selection/select-all-001-expected.txt:
        * platform/mac/editing/selection/select-all-002-expected.txt:
        * platform/mac/editing/selection/select-all-003-expected.txt:
        * platform/mac/editing/selection/wrapped-line-caret-1-expected.txt:
        * platform/mac/editing/selection/wrapped-line-caret-2-expected.txt:
        * platform/mac/editing/style/apple-style-editable-mix-expected.txt:
        * platform/mac/editing/style/create-block-for-style-001-expected.txt:
        * platform/mac/editing/style/create-block-for-style-002-expected.txt:
        * platform/mac/editing/style/create-block-for-style-003-expected.txt:
        * platform/mac/editing/style/create-block-for-style-004-expected.txt:
        * platform/mac/editing/style/create-block-for-style-005-expected.txt:
        * platform/mac/editing/style/create-block-for-style-006-expected.txt:
        * platform/mac/editing/style/create-block-for-style-007-expected.txt:
        * platform/mac/editing/style/create-block-for-style-008-expected.txt:
        * platform/mac/editing/style/create-block-for-style-009-expected.txt:
        * platform/mac/editing/style/create-block-for-style-010-expected.txt:
        * platform/mac/editing/style/create-block-for-style-011-expected.txt:
        * platform/mac/editing/style/create-block-for-style-012-expected.txt:
        * platform/mac/editing/style/create-block-for-style-013-expected.txt:
        * platform/mac/editing/style/relative-font-size-change-001-expected.txt:
        * platform/mac/editing/style/relative-font-size-change-002-expected.txt:
        * platform/mac/editing/style/relative-font-size-change-003-expected.txt:
        * platform/mac/editing/style/relative-font-size-change-004-expected.txt:
        * platform/mac/editing/undo/undo-combined-delete-boundary-expected.txt:
        * platform/mac/editing/undo/undo-combined-delete-expected.txt:
        * platform/mac/editing/undo/undo-delete-boundary-expected.txt:
        * platform/mac/editing/undo/undo-delete-expected.txt:
        * platform/mac/editing/undo/undo-forward-delete-boundary-expected.txt:
        * platform/mac/editing/undo/undo-forward-delete-expected.txt:
        * platform/mac/fast/block/float/editable-text-overlapping-float-expected.txt:
        * platform/mac/fast/clip/outline-overflowClip-expected.txt:
        * platform/mac/fast/forms/negativeLineHeight-expected.txt:
        * platform/mac/fast/forms/textAreaLineHeight-expected.txt:
        * platform/mac/fast/forms/textarea-rows-cols-expected.txt:
        * platform/mac/fast/lists/drag-into-marker-expected.txt:
        * platform/mac/fast/parser/comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
        * platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
        * platform/mac/fast/repaint/inline-outline-repaint-expected.txt:
        * platform/mac/fast/repaint/selection-after-delete-expected.txt:
        * platform/mac/fast/repaint/selection-after-remove-expected.txt:
        * platform/mac/fast/text/embed-at-end-of-pre-wrap-line-expected.txt:
        * platform/mac/fast/text/trailing-white-space-expected.txt:
        * platform/mac/fast/text/whitespace/pre-wrap-line-test-expected.txt:
        * platform/mac/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
        * platform/mac/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
        * platform/mac/fast/text/whitespace/tab-character-basics-expected.txt:
        * platform/mac/http/tests/navigation/anchor-goback-expected.txt:
        * platform/mac/http/tests/navigation/javascriptlink-goback-expected.txt:
        * platform/mac/http/tests/navigation/metaredirect-goback-expected.txt:
        * platform/mac/http/tests/navigation/post-goback2-expected.txt:
        * platform/mac/http/tests/navigation/postredirect-goback2-expected.txt:
        * platform/mac/http/tests/navigation/redirect302-goback-expected.txt:
        * platform/mac/http/tests/navigation/success200-goback-expected.txt:
        * platform/mac/http/tests/navigation/timerredirect-goback-expected.txt:

2009-03-10  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Geoff Garen.

        Tests for bug 24291: REGRESSION (r38635): Single line JavaScript comment prevents HTML button click handler execution
        <https://bugs.webkit.org/show_bug.cgi?id=24291>
        <rdar://problem/6663472>

        * fast/events/onload-single-line-comment-expected.txt: Added.
        * fast/events/onload-single-line-comment.html: Added.
        * fast/js/function-constructor-single-line-comment-expected.txt: Added.
        * fast/js/function-constructor-single-line-comment.html: Added.
        * fast/js/resources/function-constructor-single-line-comment.js: Added.

2009-03-10  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Geoff Garen.

        Test for bug 23736: WebKit Crashes on http://g-conquest.fr/~server2
        <https://bugs.webkit.org/show_bug.cgi?id=23736>
        <rdar://problem/6560278>

        * http/tests/misc/javascript-url-stop-loaders-expected.txt: Added.
        * http/tests/misc/javascript-url-stop-loaders.html: Added.

2009-03-10  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        Bug 24494: crash when deleting at end of document and merging paragraphs
        https://bugs.webkit.org/show_bug.cgi?id=24494
        rdar://problem/6571537

        * editing/deleting/merge-at-end-of-document-expected.txt: Added.
        * editing/deleting/merge-at-end-of-document.html: Added.

2009-03-10  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML
        https://bugs.webkit.org/show_bug.cgi?id=23564
        rdar://problem/6537238

        * fast/dom/HTMLElement/innerHTML-selection-crash-expected.txt: Added.
        * fast/dom/HTMLElement/innerHTML-selection-crash.html: Added.

2009-03-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Alexey Proskuryakov.

        <rdar://problem/6425807> Implement WorkerUtils.importScripts()
        <https://bugs.webkit.org/show_bug.cgi?id=22721>

        Tests to cover various usages of importScripts, eg. network load
        failures, security exceptions, execution ordering, etc

        * http/tests/workers/resources/worker-importScripts-differentOrigin.js: Added.
        * http/tests/workers/resources/worker-importScripts-source1.js: Added.
        * http/tests/workers/resources/worker-importScripts-source2.js: Added.
        * http/tests/workers/resources/worker-importScripts-syntaxError.js: Added.
        * http/tests/workers/resources/worker-importScripts.js: Added.
        (try.resetLoadFlags):
        * http/tests/workers/worker-importScripts-expected.txt: Added.
        * http/tests/workers/worker-importScripts.html: Added.

2009-03-10  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19797
        Bring the list of forbidden headers in sync with XMLHttpRequest spec draft

        * http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
        * http/tests/xmlhttprequest/set-dangerous-headers.html:

2009-03-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein, Oliver Hunt

        https://bugs.webkit.org/show_bug.cgi?id=24475
        
        Test for repainting a replaced element with transform and box-shadow.

        * fast/repaint/transform-replaced-shadows.html: Added.
        * platform/mac/fast/repaint/transform-replaced-shadows-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-replaced-shadows-expected.png: Added.
        * platform/mac/fast/repaint/transform-replaced-shadows-expected.txt: Added.

2009-03-09  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Bug 24447: REGRESSION (r41508): Google Maps does not complete initialization
        <rdar://problem/6657774>

        Tests to cover correct dirtying of the register cache at branch targets.  I've included
        the closest case i was able to make that could generate incorrect code from a back edge
        but was unable to create a case which would actually fail.

        * fast/js/registerCachingAcrossBranchTargets-expected.txt: Added.
        * fast/js/registerCachingAcrossBranchTargets.html: Added.
        * fast/js/resources/registerCachingAcrossBranchTargets.js: Added.

2009-03-09  Sam Weinig  <sam@webkit.org>

        Roll out r41393.  It has been causing failures on the bots for about a week.

        * fast/block/float/resources/se_arrow.png: Removed.
        * fast/block/float/resources/yinyang.png: Removed.
        * fast/block/float/t0905-c414-flt-fit-01-d-g.html: Removed.
        * fast/block/float/t0905-c5525-fltblck-00-d-ag.html: Removed.
        * fast/block/float/t0905-c5526-flthw-00-c-g.html: Removed.
        * platform/mac/fast/block/float/t0905-c414-flt-fit-01-d-g-expected.checksum: Removed.
        * platform/mac/fast/block/float/t0905-c414-flt-fit-01-d-g-expected.png: Removed.
        * platform/mac/fast/block/float/t0905-c414-flt-fit-01-d-g-expected.txt: Removed.
        * platform/mac/fast/block/float/t0905-c5525-fltblck-00-d-ag-expected.checksum: Removed.
        * platform/mac/fast/block/float/t0905-c5525-fltblck-00-d-ag-expected.png: Removed.
        * platform/mac/fast/block/float/t0905-c5525-fltblck-00-d-ag-expected.txt: Removed.
        * platform/mac/fast/block/float/t0905-c5526-flthw-00-c-g-expected.checksum: Removed.
        * platform/mac/fast/block/float/t0905-c5526-flthw-00-c-g-expected.png: Removed.
        * platform/mac/fast/block/float/t0905-c5526-flthw-00-c-g-expected.txt: Removed.

2009-03-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson and Dave Hyatt.

        - test for <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has
          misaligned edit fields

        * fast/forms/legend-display-none-expected.txt: Added.
        * fast/forms/legend-display-none.html: Added.

2009-03-09  Alpha Lam  <hclam@chromium.org>

        Reviewed by Dave Hyatt.

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

        Added regression test for a bug that causes crashes.

        * fast/block/float/crash-on-absolute-positioning.html: Added.
        * platform/mac/fast/block/float/crash-on-absolute-positioning-expected.txt: Added.

2009-03-09  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        Test hit testing with backface-visibility: hidden, and a transform on
        the parent element.

        * platform/mac/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt: Added.
        * transforms/3d/hit-testing/backface-no-transform-hit-test.html: Added.

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

        Rubber-stamped by Mark Rowe.

        [Gtk] Skip failing tests that require the eventSender.

        The Gtk+ platform is lacking an implementation of the
        eventSender. We will enable the tests once there is an
        implementation of that class.

        * platform/gtk/Skipped:

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

        Reviewed by Mark Rowe.

        Enable all fast/profiler tests.

        * platform/gtk/Skipped:

2009-03-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Updated Skipped list per r41464. Not reviewed.
        This should remove the warnings that come up everytime we run the gtk layout tests. 
        http://trac.webkit.org/changeset/41464

        The ff. tests have been moved to fast/css/getComputedStyle in the Skipped list:
         fast/css/computed-style-without-renderer.html
         fast/css/computed-style.html
         fast/css/getComputedStyle-border-box.html

        The ff. test has been removed from the Skipped list:
          fast/css/marginComputedStyle.html

        * platform/gtk/Skipped:

2009-03-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Rubber-stamped by Holger Freyther.

        Remove fast/canvas/gradient-empty-path.html from the skipped
        list as it was removed by r39288.

        * platform/gtk/Skipped:

2009-03-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] Enable http security, plugins and ssl tests
        https://bugs.webkit.org/show_bug.cgi?id=24393

        Enable http tests for security, plugins and ssl, skipping tests
        that are failing/crashing.

        * platform/gtk/Skipped:

2009-03-07  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] Enable http history tests
        https://bugs.webkit.org/show_bug.cgi?id=24394

        Enable http/tests/history, adding failing tests to the Skipped list.

        * platform/gtk/Skipped:

2009-03-07  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Test for https://bugs.webkit.org/show_bug.cgi?id=24444
        No multiple JS property for <input type="file" multiple />

        * fast/forms/input-multiple-expected.txt: Added.
        * fast/forms/input-multiple.html: Added.

2009-03-06  Darin Adler  <darin@apple.com>

        Fixed broken test I just landed for bug 24422.

        * fast/dom/location-new-window-no-crash-expected.txt: Updated.
        * fast/dom/resources/location-new-window-no-crash.js: Added code to make the window
        opening and closing work in DumpRenderTree.

2009-03-06  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=24150
        Add virtual ScriptExecutionContext::encoding()

        Test to verify how the text encoding in workers is used.
        Script decoding and url completion is checked, with and
        w/o http 'Content-Type: ...;charset=...' header.

        * http/tests/workers/resources/worker-encoded.php: Added.
        * http/tests/workers/resources/xhr-query-utf8.php: Added.
        * http/tests/workers/resources/xhr-response.php: Added.
        * http/tests/workers/text-encoding-expected.txt: Added.
        * http/tests/workers/text-encoding.html: Added.

2009-03-04  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        Fixed test and fixed expected results to reflect the fix

        * fast/dom/Window/webkitConvertPoint-expected.txt:
        * fast/dom/Window/webkitConvertPoint.html:

2009-03-06  Darin Adler  <darin@apple.com>

        Reviewed by Darin Fisher.

        Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window
        https://bugs.webkit.org/show_bug.cgi?id=24422
        rdar://problem/6402208

        The new test manipulates all the properties of the location object on a new window which
        has no location yet. I tested Firefox too and added comments about how its behavior differs
        from WebKit. At some point we may want to tweak our behavior to be a bit closer to theirs,
        or check IE's behavior or if HTML 5 or some other W3 specification has something to say
        about this, but for now the main purpose of the test is to verify we don't crash.

        * fast/dom/location-new-window-no-crash-expected.txt: Added.
        * fast/dom/location-new-window-no-crash.html: Added.
        * fast/dom/resources/location-new-window-no-crash.js: Added.

2009-03-06  Darin Adler  <darin@apple.com>

        * fast/dom/Window/window-properties-expected.txt: Updated for recent addition of canPlayType.

2009-03-06  Hironori Bono  <hbono@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=24342
        Bug 24342: [Chromium] cannot insert a Thai character after a Thai
        prepend character

        Add a test that verifies we can insert a character after a Thai prepend character.

        * editing/inserting/insert-thai-characters-001-expected.txt: Added.
        * editing/inserting/insert-thai-characters-001.html: Added.

2009-03-05  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Oliver Hunt.

        <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special
        Characters (a compatibility issue with widgets).

        * http/tests/xmlhttprequest/broken-xml-encoding-expected.txt: Added.
        * http/tests/xmlhttprequest/broken-xml-encoding.html: Added.
        * http/tests/xmlhttprequest/resources/broken-encoding.xml: Added.

2009-03-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=24412
        
        Testcase for hit testing an element with -webkit-transform-style: preserve-3d
        but no transform.

        * transforms/3d/hit-testing/hit-preserves-3d-expected.txt: Added.
        * transforms/3d/hit-testing/hit-preserves-3d.html: Added.

2009-03-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        WebViewDidChangeSelectionNotification isn't always called.
        Undo was enabled, shouldDeleteDOMRange was called, etc. for no-op backward and forward deletes.

        * platform/mac/editing/deleting/delete-4038408-fix-expected.txt:
        * platform/mac/editing/deleting/delete-at-start-or-end-expected.txt:
        * platform/mac/editing/deleting/delete-br-002-expected.txt:
        * platform/mac/editing/deleting/delete-br-004-expected.txt:
        * platform/mac/editing/deleting/delete-br-005-expected.txt:
        * platform/mac/editing/deleting/delete-br-006-expected.txt:
        * platform/mac/editing/deleting/delete-br-009-expected.txt:
        * platform/mac/editing/deleting/delete-br-010-expected.txt:
        * platform/mac/editing/deleting/delete-hr-expected.txt:
        * platform/mac/editing/deleting/delete-tab-004-expected.txt:
        * platform/mac/editing/deleting/forward-delete-expected.txt:
        * platform/mac/editing/deleting/merge-into-empty-block-1-expected.txt:
        * platform/mac/editing/deleting/merge-into-empty-block-2-expected.txt:
        * platform/mac/editing/inserting/editing-empty-divs-expected.txt:
        * platform/mac/editing/inserting/insert-3800346-fix-expected.txt:
        * platform/mac/editing/inserting/insert-br-004-expected.txt:
        * platform/mac/editing/inserting/insert-br-005-expected.txt:
        * platform/mac/editing/inserting/insert-br-006-expected.txt:
        * platform/mac/editing/inserting/insert-br-008-expected.txt:
        * platform/mac/editing/inserting/insert-div-006-expected.txt:
        * platform/mac/editing/inserting/insert-div-008-expected.txt:
        * platform/mac/editing/inserting/insert-div-010-expected.txt:
        * platform/mac/editing/inserting/insert-div-011-expected.txt:
        * platform/mac/editing/inserting/insert-div-013-expected.txt:
        * platform/mac/editing/inserting/insert-div-015-expected.txt:
        * platform/mac/editing/inserting/insert-div-019-expected.txt:
        * platform/mac/editing/inserting/insert-div-021-expected.txt:
        * platform/mac/editing/inserting/insert-paragraph-01-expected.txt:
        * platform/mac/editing/inserting/insert-paragraph-03-expected.txt:
        * platform/mac/editing/inserting/insert-paragraph-05-expected.txt:
        * platform/mac/editing/inserting/insert-tab-004-expected.txt:
        * platform/mac/editing/inserting/insert-text-with-newlines-expected.txt:
        * platform/mac/editing/inserting/line-break-expected.txt:
        * platform/mac/editing/pasteboard/3976872-expected.txt:
        * platform/mac/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
        * platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-010-expected.txt:
        * platform/mac/editing/style/block-style-006-expected.txt:
        * platform/mac/editing/undo/undo-combined-delete-boundary-expected.txt:
        * platform/mac/editing/undo/undo-combined-delete-expected.txt:
        * platform/mac/editing/undo/undo-forward-delete-boundary-expected.txt:
        * platform/mac/editing/undo/undo-forward-delete-expected.txt:

2009-03-05  Eric Seidel  <eric@webkit.org>

        Rubber-stamped by Adam Roben.

        Move all of the fast/css/*computed* tests into fast/css/getComputedStyle
        in preparation for adding a bunch more getComputedStyle tests.

        * fast/css/getComputedStyle/computed-style-display-none-expected.txt: Renamed from LayoutTests/fast/css/computed-style-display-none-expected.txt.
        * fast/css/getComputedStyle/computed-style-display-none.html: Renamed from LayoutTests/fast/css/computed-style-display-none.html.
        * fast/css/getComputedStyle/computed-style-expected.txt: Renamed from LayoutTests/fast/css/computed-style-expected.txt.
        * fast/css/getComputedStyle/computed-style-negative-top-expected.txt: Renamed from LayoutTests/fast/css/computed-style-negative-top-expected.txt.
        * fast/css/getComputedStyle/computed-style-negative-top.html: Renamed from LayoutTests/fast/css/computed-style-negative-top.html.
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Renamed from LayoutTests/fast/css/computed-style-without-renderer-expected.txt.
        * fast/css/getComputedStyle/computed-style-without-renderer.html: Renamed from LayoutTests/fast/css/computed-style-without-renderer.html.
        * fast/css/getComputedStyle/computed-style.html: Renamed from LayoutTests/fast/css/computed-style.html.
        * fast/css/getComputedStyle/getComputedStyle-background-position-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-background-position-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-background-position.html: Renamed from LayoutTests/fast/css/getComputedStyle-background-position.html.
        * fast/css/getComputedStyle/getComputedStyle-background-size-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-background-size-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-background-size.html: Renamed from LayoutTests/fast/css/getComputedStyle-background-size.html.
        * fast/css/getComputedStyle/getComputedStyle-border-box-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-border-box-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-border-box.html: Renamed from LayoutTests/fast/css/getComputedStyle-border-box.html.
        * fast/css/getComputedStyle/getComputedStyle-border-image-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-border-image-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-border-image.html: Renamed from LayoutTests/fast/css/getComputedStyle-border-image.html.
        * fast/css/getComputedStyle/getComputedStyle-border-spacing-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-border-spacing-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-border-spacing.html: Renamed from LayoutTests/fast/css/getComputedStyle-border-spacing.html.
        * fast/css/getComputedStyle/getComputedStyle-borderRadius-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-borderRadius-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-borderRadius.html: Renamed from LayoutTests/fast/css/getComputedStyle-borderRadius.html.
        * fast/css/getComputedStyle/getComputedStyle-relayout-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-relayout-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-relayout.html: Renamed from LayoutTests/fast/css/getComputedStyle-relayout.html.
        * fast/css/getComputedStyle/getComputedStyle-transform-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-transform-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-transform.html: Renamed from LayoutTests/fast/css/getComputedStyle-transform.html.
        * fast/css/getComputedStyle/getComputedStyle-zIndex-auto-expected.txt: Renamed from LayoutTests/fast/css/getComputedStyle-zIndex-auto-expected.txt.
        * fast/css/getComputedStyle/getComputedStyle-zIndex-auto.html: Renamed from LayoutTests/fast/css/getComputedStyle-zIndex-auto.html.
        * fast/css/marginComputedStyle.html: Removed.
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Renamed from LayoutTests/platform/mac/fast/css/computed-style-expected.txt.
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Renamed from LayoutTests/platform/mac/fast/css/computed-style-without-renderer-expected.txt.
        * platform/mac/fast/css/getComputedStyle/marginComputedStyle-expected.checksum: Renamed from LayoutTests/platform/mac/fast/css/marginComputedStyle-expected.checksum.
        * platform/mac/fast/css/getComputedStyle/marginComputedStyle-expected.png: Renamed from LayoutTests/platform/mac/fast/css/marginComputedStyle-expected.png.
        * platform/mac/fast/css/getComputedStyle/marginComputedStyle-expected.txt: Renamed from LayoutTests/platform/mac/fast/css/marginComputedStyle-expected.txt.
        * platform/qt/fast/css/getComputedStyle/computed-style-expected.txt: Renamed from LayoutTests/platform/qt/fast/css/computed-style-expected.txt.
        * platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Renamed from LayoutTests/platform/qt/fast/css/computed-style-without-renderer-expected.txt.
        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Renamed from LayoutTests/platform/win/fast/css/computed-style-expected.txt.
        * platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Renamed from LayoutTests/platform/win/fast/css/computed-style-without-renderer-expected.txt.

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

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=24400
        Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" 
        media element attributes

        * media/loopend-limits-expected.txt: Removed.
        * media/loopend-limits.html: Removed.
        * media/loopstart-limits-expected.txt: Removed.
        * media/loopstart-limits.html: Removed.
        * media/video-dom-end-expected.txt: Removed.
        * media/video-dom-end.html: Removed.
        * media/video-dom-loopcount-expected.txt: Removed.
        * media/video-dom-loopcount.html: Removed.
        * media/video-dom-loopend-expected.txt: Removed.
        * media/video-dom-loopend.html: Removed.
        * media/video-dom-loopstart-expected.txt: Removed.
        * media/video-dom-loopstart.html: Removed.
        * media/video-dom-start-expected.txt: Removed.
        * media/video-dom-start.html: Removed.
        * media/video-end-expected.txt: Removed.
        * media/video-end.html: Removed.
        * media/video-loop.html: Added, test for new "loop" attribute.
        * media/video-loopcount-expected.txt: Removed.
        * media/video-loopcount.html: Removed.
        * media/video-loopend-expected.txt: Removed.
        * media/video-loopend.html: Removed.
        * media/video-loopstart-expected.txt: Removed.
        * media/video-loopstart.html: Removed.
        * media/video-seek-past-end-paused-expected.txt: Updated for loop changes, add more tests.
        * media/video-seek-past-end-paused.html: Ditto.
        * media/video-seek-past-end-playing-expected.txt: Ditto.
        * media/video-seek-past-end-playing.html: Ditto.
        * media/video-start-expected.txt: Removed.
        * media/video-start.html: Removed.

2009-03-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add test for potential crash in window.frames.length
        https://bugs.webkit.org/show_bug.cgi?id=24339

        * fast/dom/Window/window-collection-length-no-crash-expected.txt: Added.
        * fast/dom/Window/window-collection-length-no-crash.html: Added.

2009-03-04  Simon Fraser  <simon.fraser@apple.com>

        Rubber-stamped by Eric Seidel.
        
        New layout tests for point mapping and hit testing through 3d transforms.
        Not run by default yet.
        
        * platform/mac/transforms/3d/hit-testing/backface-hit-test-expected.txt: Added.
        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: Added.
        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt: Added.
        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-expected.txt: Added.
        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt: Added.
        * platform/mac/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: Added.
        * transforms/3d/cssmatrix-3d-interface-expected.txt: Added.
        * transforms/3d/cssmatrix-3d-interface.xhtml: Added.
        * transforms/3d/hit-testing/backface-hit-test.html: Added.
        * transforms/3d/point-mapping/3d-point-mapping-2.html: Added.
        * transforms/3d/point-mapping/3d-point-mapping-deep.html: Added.
        * transforms/3d/point-mapping/3d-point-mapping-origins.html: Added.
        * transforms/3d/point-mapping/3d-point-mapping-preserve-3d.html: Added.
        * transforms/3d/point-mapping/3d-point-mapping.html: Added.
        * transforms/3d/point-mapping/point-mapping-helpers.js: Added.
        (mousemoved):
        (dispatchEvent):
        (clicked):
        (log):
        (runTest):

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

        - Correct bogus result checked in as part of r41432.

        * media/video-can-play-type-expected.txt:

2009-03-04  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Fisher.

        Add test to ensure that window.frames is self-referential
        https://bugs.webkit.org/show_bug.cgi?id=24341

        * fast/dom/Window/window-frames-self-referential-expected.txt: Added.
        * fast/dom/Window/window-frames-self-referential.html: Added.

2009-03-04  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
        <https://bugs.webkit.org/show_bug.cgi?id=24337>

        * http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html: Added.
        * http/tests/xmlhttprequest/workers/resources/xmlhttprequest-file-not-found.js: Added.
        (log):
        (done):
        * http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found-expected.txt: Added.
        * http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html: Added.

2009-03-04  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
        <https://bugs.webkit.org/show_bug.cgi?id=24330>

        Added test to verify to terminate a worker while it is doing a synchronous xhr.
        It does not verify that the exception is a ABORT_ERR because I couldn't figure out a way
        to actually do this.

        * http/tests/xmlhttprequest/workers/abort-exception-assert-expected.txt: Added.
        * http/tests/xmlhttprequest/workers/abort-exception-assert.html: Added.
        * http/tests/xmlhttprequest/workers/resources/endless-response.php: Copied from LayoutTests/http/tests/xmlhttprequest/resources/endlessxml.php.
        * http/tests/xmlhttprequest/workers/resources/endless-sync-xhr.js: Added.

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

        Reviewed by Antti Koivisto.

        https://bugs.webkit.org/show_bug.cgi?id=24364
        Test HTMLMediaElement canPlayType method.

        * media/video-can-play-type-expected.txt: Added.
        * media/video-can-play-type.html: Added.

2009-03-04  Kevin McCullough  <kmccullough@apple.com>

        - Build bot fix.

        * fast/profiler/many-calls-in-the-same-scope-expected.txt:
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
        * fast/profiler/nested-start-and-stop-profiler-expected.txt:
        * fast/profiler/profile-calls-in-included-file-expected.txt:

2009-03-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=24361
        
        Test hit testing on generated content.

        * fast/css-generated-content/hit-test-generated-content.html: Added.
        * platform/mac/fast/css-generated-content/hit-test-generated-content-expected.checksum: Added.
        * platform/mac/fast/css-generated-content/hit-test-generated-content-expected.png: Added.
        * platform/mac/fast/css-generated-content/hit-test-generated-content-expected.txt: Added.

2009-03-03  David Hyatt  <hyatt@apple.com>

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

        Reviewed by Dan Bernstein

        * fast/block/float/nested-clearance.html: Added.
        * platform/mac/fast/block/float/nested-clearance-expected.checksum: Added.
        * platform/mac/fast/block/float/nested-clearance-expected.png: Added.
        * platform/mac/fast/block/float/nested-clearance-expected.txt: Added.

2009-03-03  Anders Carlsson  <andersca@apple.com>

        Reviewed by John Sullivan.

        https://bugs.webkit.org/show_bug.cgi?id=22884
        <rdar://problem/6449783>
        modified layout test crashes Safari
        
        Update tests.
        * plugins/destroy-stream-twice-expected.txt:
        * plugins/destroy-stream-twice.html:

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

        Reviewed by Simon Fraser.
        
        https://bugs.webkit.org/show_bug.cgi?id=24294
        Bug 24294: Improve media layout test logging
        
        Make all media layout tests log the condition that is being tested,
        success or failure, plus observed value when a test condition fails
        so it is possible to see exactly what failed without having to hack
        the test source. Consolidate some of the logic in the shared JavaScript file.

        * media/audio-constructor-expected.txt:
        * media/audio-constructor-src-expected.txt:
        * media/audio-constructor-src.html:
        * media/audio-constructor.html:
        * media/audio-mpeg-supported-expected.txt:
        * media/audio-mpeg-supported.html:
        * media/broken-video-expected.txt:
        * media/broken-video.html:
        * media/constructors-expected.txt:
        * media/constructors.html:
        * media/loopend-limits-expected.txt:
        * media/loopstart-limits-expected.txt:
        * media/progress-event-expected.txt:
        * media/progress-event-total-expected.txt:
        * media/progress-event-total.html:
        * media/progress-event.html:
        * media/remove-from-document-expected.txt:
        * media/remove-from-document-no-load-expected.txt:
        * media/remove-from-document-no-load.html:
        * media/remove-from-document.html:
        * media/unsupported-rtsp-expected.txt:
        * media/unsupported-rtsp.html:
        * media/unsupported-tracks-expected.txt:
        * media/unsupported-tracks.html:
        * media/video-append-source-expected.txt:
        * media/video-append-source.html:
        * media/video-autoplay-expected.txt:
        * media/video-autoplay.html:
        * media/video-buffered-expected.txt:
        * media/video-buffered.html:
        * media/video-controls-expected.txt:
        * media/video-controls-transformed-expected.txt:
        * media/video-controls-transformed.html:
        * media/video-controls.html:
        * media/video-currentTime-expected.txt:
        * media/video-currentTime-set.html:
        * media/video-currentTime-set2-expected.txt:
        * media/video-currentTime-set2.html:
        * media/video-currentTime.html:
        * media/video-dom-autoplay-expected.txt:
        * media/video-dom-autoplay.html:
        * media/video-dom-end-expected.txt:
        * media/video-dom-end.html:
        * media/video-dom-loopcount-expected.txt:
        * media/video-dom-loopcount.html:
        * media/video-dom-loopend-expected.txt:
        * media/video-dom-loopend.html:
        * media/video-dom-loopstart-expected.txt:
        * media/video-dom-loopstart.html:
        * media/video-dom-src-expected.txt:
        * media/video-dom-src.html:
        * media/video-dom-start-expected.txt:
        * media/video-dom-start.html:
        * media/video-end-expected.txt:
        * media/video-end.html:
        * media/video-error-abort-expected.txt:
        * media/video-error-abort.html:
        * media/video-error-does-not-exist-expected.txt:
        * media/video-error-does-not-exist.html:
        * media/video-load-networkState-expected.txt:
        * media/video-load-networkState.html:
        * media/video-load-readyState-expected.txt:
        * media/video-load-readyState.html:
        * media/video-loopcount-expected.txt:
        * media/video-loopcount.html:
        * media/video-loopend-expected.txt:
        * media/video-loopend.html:
        * media/video-loopstart-expected.txt:
        * media/video-loopstart.html:
        * media/video-muted-expected.txt:
        * media/video-muted.html:
        * media/video-no-autoplay-expected.txt:
        * media/video-no-autoplay.html:
        * media/video-pause-empty-events-expected.txt:
        * media/video-pause-empty-events.html:
        * media/video-play-empty-events-expected.txt:
        * media/video-play-empty-events.html:
        * media/video-play-pause-events-expected.txt:
        * media/video-play-pause-events.html:
        * media/video-poster-expected.txt:
        * media/video-poster.html:
        * media/video-seek-past-end-paused-expected.txt:
        * media/video-seek-past-end-paused.html:
        * media/video-seek-past-end-playing-expected.txt:
        * media/video-seek-past-end-playing.html:
        * media/video-seekable-expected.txt:
        * media/video-seekable.html:
        * media/video-seeking-expected.txt:
        * media/video-seeking.html:
        * media/video-size-expected.txt:
        * media/video-size.html:
        * media/video-source-expected.txt:
        * media/video-source-media-expected.txt:
        * media/video-source-media.html:
        * media/video-source-type-expected.txt:
        * media/video-source-type-params-expected.txt:
        * media/video-source-type-params.html:
        * media/video-source-type.html:
        * media/video-source.html:
        * media/video-src-change-expected.txt:
        * media/video-src-change.html:
        * media/video-src-expected.txt:
        * media/video-src-remove-expected.txt:
        * media/video-src-remove.html:
        * media/video-src-set-expected.txt:
        * media/video-src-set.html:
        * media/video-src-source-expected.txt:
        * media/video-src-source.html:
        * media/video-src.html:
        * media/video-start-expected.txt:
        * media/video-start.html:
        * media/video-test.js:
        (test):
        (testExpected):
        (waitForEvent._eventCallback):
        (waitForEvent):
        (waitForEventAndTest._eventCallback):
        (waitForEventAndTest):
        (testException):
        (logResult):
        * media/video-volume-expected.txt:
        * media/video-volume.html:
        * media/video-width-height-expected.txt:
        * media/video-width-height.html:

2009-03-03  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6031674> JSProfiler: Multiple anonymous functions get
        the same entry in profiler if called from same function

        - This no longer happens but I thought I'd make a test case anyway. 

        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Added.
        * fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Added.
        * fast/profiler/resources/profiler-test-JS-resources.js:
        (anotherAnonymousFunction):

2009-03-03  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/6639110> console.profile() doesn't work without a title

        * fast/profiler/profile-with-no-title-expected.txt: Added.
        * fast/profiler/profile-with-no-title.html: Added.

2009-03-03  Pamela Greene  <pam@chromium.org>

        Remove junk files that must have been accidentally committed.
        Submitted without review.

        * fast/block/float/t0905-c414-flt-fit-01-d-g.html.orig: Removed.
        * fast/block/float/t0905-c414-flt-fit-01-d-g.html.rej: Removed.
        * fast/block/float/t0905-c5525-fltblck-00-d-ag.html.orig: Removed.
        * fast/block/float/t0905-c5525-fltblck-00-d-ag.html.rej: Removed.
        * fast/block/float/t0905-c5526-flthw-00-c-g.html.orig: Removed.
        * fast/block/float/t0905-c5526-flthw-00-c-g.html.rej: Removed.

2009-03-03  Scott Violet  <sky@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24325
        Crash on replacing document contents during drop

        Makes sure we don't crash during dnd with DOM mutation event listener
        that mutates the document on drop.

        * fast/events/crash-on-mutate-during-drop-expected.txt: Added.
        * fast/events/crash-on-mutate-during-drop.html: Added.

2009-03-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler

        Layout test covering <rdar://problem/6616664> - Quick looks of various file types is broken

        Added to test the changes:
        * fast/loader/main-document-url-for-non-http-loads-expected.txt: Added.
        * fast/loader/main-document-url-for-non-http-loads.html: Added.
        * fast/loader/resources/subframe-notify-done.html: Added.

        Updated the following for the new info from dumpResourceLoadCallbacks():
        * http/tests/misc/window-dot-stop-expected.txt:
        * http/tests/xmlhttprequest/abort-should-cancel-load-expected.txt:
        * platform/mac-leopard/security/block-test-expected.txt:
        * platform/mac-tiger/http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
        * platform/mac/http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
        * platform/mac/webarchive/loading/cache-expired-subresource-expected.txt:
        * security/block-test-expected.txt:
        * webarchive/loading/test-loading-archive-expected.txt:

2009-03-02  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig.

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

        Test for all newly added constructor prototypes.
        This addition also changes window-properties.html
        results, so that is updated as well.

        * fast/dom/Window/custom-constructors-expected.txt: Added.
        * fast/dom/Window/custom-constructors.html: Added.
        * fast/dom/Window/window-properties-expected.txt:

2009-03-03  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Darin Adler.

        http://bugs.webkit.org/show_bug.cgi?id=23482
        Add the following CSS 2.1 tests, with YinYang character (U+262F)
        and SouthEast Arrow (U+2798) replaced by png images, 
        to fast/block/float. Leftward white arrow (U+21E6) is also 
        replaced by an ASCII-equivalent of '<-'.

              css2.1/t0905-c414-flt-fit-01-d-g.html
              css2.1/t0905-c5525-fltblck-00-d-ag.html           
              css2.1/t0905-c5526-flthw-00-c-g.html

        On platforms where no font covers those characters (e.g. Windows),
        the above tests can be skipped and the new tests can be used, instead.
        They're equivalent in terms of what they test.

        * fast/block/float/resources/se_arrow.png: Added.
        * fast/block/float/resources/yinyang.png: Added.
        * fast/block/float/t0905-c414-flt-fit-01-d-g.html: Copied from LayoutTests/css2.1/t0905-c414-flt-fit-01-d-g.html.
        * fast/block/float/t0905-c5525-fltblck-00-d-ag.html: Copied from LayoutTests/css2.1/t0905-c5525-fltblck-00-d-ag.html.
        * fast/block/float/t0905-c5526-flthw-00-c-g.html: Copied from LayoutTests/css2.1/t0905-c5526-flthw-00-c-g.html.
        * platform/mac/fast/block/float/t0905-c414-flt-fit-01-d-g-expected.checksum: Added.
        * platform/mac/fast/block/float/t0905-c414-flt-fit-01-d-g-expected.png: Added.
        * platform/mac/fast/block/float/t0905-c414-flt-fit-01-d-g-expected.txt: Added.
        * platform/mac/fast/block/float/t0905-c5525-fltblck-00-d-ag-expected.checksum: Added.
        * platform/mac/fast/block/float/t0905-c5525-fltblck-00-d-ag-expected.png: Added.
        * platform/mac/fast/block/float/t0905-c5525-fltblck-00-d-ag-expected.txt: Added.
        * platform/mac/fast/block/float/t0905-c5526-flthw-00-c-g-expected.checksum: Added.
        * platform/mac/fast/block/float/t0905-c5526-flthw-00-c-g-expected.png: Added.
        * platform/mac/fast/block/float/t0905-c5526-flthw-00-c-g-expected.txt: Added.

2009-03-03  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=4343
        XMLHttpRequest doesn't work in a JavaScript-created window

        The problem was fixed a while ago (r34506), just adding a test.

        * http/tests/xmlhttprequest/request-from-popup-expected.txt: Added.
        * http/tests/xmlhttprequest/request-from-popup.html: Added.

2009-03-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson
        
        https://bugs.webkit.org/show_bug.cgi?id=24313
        
        Test hit testing on the border and padding of inputs, after
        touching code that referenced <rdar://problem/4617841>.

        * fast/forms/input-hit-test-border-expected.txt: Added.
        * fast/forms/input-hit-test-border.html: Added.

2009-03-01  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 24271: XMLHttpRequest needs js bindings for Workers.
        <https://bugs.webkit.org/show_bug.cgi?id=24271>

        Some sanity checks for xhr done from workers. These are the same as
        tests done for normal workers.

        * http/tests/xmlhttprequest/workers/methods-async-expected.txt: Added.
        * http/tests/xmlhttprequest/workers/methods-async.html: Added.
        * http/tests/xmlhttprequest/workers/methods-expected.txt: Added.
        * http/tests/xmlhttprequest/workers/methods.html: Added.
        * http/tests/xmlhttprequest/workers/resources/methods-async.js: Added.
        (onmessage):
        (log):
        (done):
        (onReqAbort):
        (onSyncReqError):
        (start):
        (processStateChange):
        * http/tests/xmlhttprequest/workers/resources/methods.cgi: Copied from LayoutTests/http/tests/xmlhttprequest/methods.cgi.
        * http/tests/xmlhttprequest/workers/resources/methods.js: Added.
        (log):
        (done):

2009-02-28  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] get the HTTP layout tests going
        https://bugs.webkit.org/show_bug.cgi?id=24259

        Enable http tests, excluding tests/folders that fail or untested

        * platform/gtk/Skipped:

2009-03-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts

        * fast/events/scroll-during-zoom-change-expected.txt: Added.
        * fast/events/scroll-during-zoom-change.html: Added.

2009-02-28  Dan Bernstein  <mitz@apple.com>

        - correct a color profile mismatch in expected pixel results

        * platform/mac/fast/gradients/background-clipped-expected.checksum:
        * platform/mac/fast/gradients/background-clipped-expected.png:

2009-02-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - test for https://bugs.webkit.org/show_bug.cgi?id=23848
          <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de

        * fast/layers/inline-dirty-z-order-lists.html: Added.
        * platform/mac/fast/layers/inline-dirty-z-order-lists-expected.checksum: Added.
        * platform/mac/fast/layers/inline-dirty-z-order-lists-expected.png: Added.
        * platform/mac/fast/layers/inline-dirty-z-order-lists-expected.txt: Added.

2009-02-27  Matt Pennig  <pennig@apple.com>

        Reviewed by David Hyatt.
        
        Added two tests:
            1. Tests offsetParent, offsetLeft and offsetTop on fixed-position elements.
            2. Tests offsetLeft and offsetTop on static and positioned <html> elements.

        * fast/dom/Element/fixed-position-offset-parent-expected.txt: Added.
        * fast/dom/Element/fixed-position-offset-parent.html: Added.
        * fast/dom/Element/offsetLeft-offsetTop-html-expected.txt: Added.
        * fast/dom/Element/offsetLeft-offsetTop-html.html: Added.

2009-02-27  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser

        Pixel tests for previous commit
        https://bugs.webkit.org/show_bug.cgi?id=24252
        

        * platform/mac/transforms/no_transform_hit_testing-expected.checksum: Added.
        * platform/mac/transforms/no_transform_hit_testing-expected.png: Added.

2009-02-27  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Add test for crash - transform is null in hit testing
        https://bugs.webkit.org/show_bug.cgi?id=24252

        * transforms/no_transform_hit_testing-expected.txt: Added.
        * transforms/no_transform_hit_testing.html: Added.

2009-02-27  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 24213: Web Worker: Worker4 test: onmessage will never be called
        <https://bugs.webkit.org/show_bug.cgi?id=24213>

        * fast/workers/worker-terminate-expected.txt:
        * fast/workers/worker-terminate.html:
        Added a log entry to the onmessage handler for worker4 to make it visible that
        the handler was called and removed the terminate call that happened outside of onmessage.

2009-02-26  Adele Peterson  <adele@apple.com>

        Reviewed by Alice Liu.

        Make the success/failure of this test more obvious.

        * editing/selection/designmode-no-caret.html:
        * platform/mac/editing/selection/designmode-no-caret-expected.checksum:
        * platform/mac/editing/selection/designmode-no-caret-expected.png:
        * platform/mac/editing/selection/designmode-no-caret-expected.txt:

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

        Rubber stamped by Geoff Garen.

        Layout test for bug #23614.

        * fast/js/resources/switch-behaviour.js:
        * fast/js/switch-behaviour-expected.txt:

2009-02-26  Adele Peterson  <adele@apple.com>

        Reviewed by Geoff Garen.

        Updating results for <rdar://problem/6618166>
        https://bugs.webkit.org/show_bug.cgi?id=24216
        (REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message

        We changed these results shortly after r36919, but the original result is actually correct.
        The test's text indicates that we expect a caret to be placed in this case.

        * platform/mac/editing/selection/designmode-no-caret-expected.checksum:
        * platform/mac/editing/selection/designmode-no-caret-expected.png:
        * platform/mac/editing/selection/designmode-no-caret-expected.txt:

2009-02-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig

        Fix text-bottom vertical alignment.  It was incorrectly aligning the bottom of the descent instead of including
        the line-height below the descent.

        * fast/inline/vertical-align-text-bottom.html: Added.
        * platform/mac/fast/inline/vertical-align-text-bottom-expected.checksum: Added.
        * platform/mac/fast/inline/vertical-align-text-bottom-expected.png: Added.
        * platform/mac/fast/inline/vertical-align-text-bottom-expected.txt: Added.

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

        Reviewed by Eric Seidel.

        Corrected some tests after the new SVG Masking implementation for Mac.

        Make SVG Masking platform aware
        https://bugs.webkit.org/show_bug.cgi?id=19243

        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.checksum:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.png:
        * svg/custom/mask-excessive-malloc.svg:

2009-02-26  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=24133
        Add a test that checks for a crash in a particular sequence that invokes
        the HTML preload scanner and then cancels all loads.

        * http/tests/misc/slow-preload-cancel-expected.txt: Added.
        * http/tests/misc/slow-preload-cancel.html: Added.
        * http/tests/misc/resources/slow-preload-cancel-1.html: Added.

2009-02-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23500
        KURL::parse() incorrectly compares its result to original string

        * fast/loader/url-parse-1-expected.txt: Updated results. Neither old nor new results match
        Firefox precisely.

2009-02-26  Rahul Kuchhal  <kuchhal@chromium.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=24003
        Fix a crash caused by unsafe type conversion.

        * fast/block/positioning/absolute-in-inline-rtl-4-expected.txt: Added.
        * fast/block/positioning/absolute-in-inline-rtl-4.html: Added.

2009-02-26  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein & Darin Adler

        Make sure the border/padding are properly omitted at the start of an inline that is a continuation.

        * fast/inline/inline-continuation-borders.html: Added.
        * platform/mac/fast/inline/inline-continuation-borders-expected.checksum: Added.
        * platform/mac/fast/inline/inline-continuation-borders-expected.png: Added.
        * platform/mac/fast/inline/inline-continuation-borders-expected.txt: Added.

2009-02-26  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Fisher.

        Add test that custom DOM properties survive garbage collection.
        https://bugs.webkit.org/show_bug.cgi?id=24142

        * fast/dom/Window/customized-property-survives-gc-expected.txt: Added.
        * fast/dom/Window/customized-property-survives-gc.html: Added.

2009-02-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=19527
        ASSERTION FAILED: containerA && containerB

        * fast/dom/Range/range-comparePoint.html: Updated the test for current Firefox behavior
        (as of 3.1 and 3.2a1pre).

        * fast/dom/Range/bug-19527-expected.txt: Added.
        * fast/dom/Range/bug-19527.html: Added.
        Test a number of additional edge cases.

2009-02-25  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Gavin Barraclough.

        Add tests for bug 24086: Regression (r40993): WebKit crashes after logging in to lists.zenbe
        <https://bugs.webkit.org/show_bug.cgi?id=24086>
        <rdar://problem/6625111>

        * fast/js/resources/sort-no-jit-code-crash.js: Added.
        * fast/js/sort-no-jit-code-crash-expected.txt: Added.
        * fast/js/sort-no-jit-code-crash.html: Added.

2009-02-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        - test for https://bugs.webkit.org/show_bug.cgi?id=24130
          <rdar://problem/6618196> Paint very slow when horizontally resizing

        * fast/gradients/background-clipped.html: Added.
        * platform/mac/fast/gradients/background-clipped-expected.checksum: Added.
        * platform/mac/fast/gradients/background-clipped-expected.png: Added.
        * platform/mac/fast/gradients/background-clipped-expected.txt: Added.

2009-02-25  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Fix test regressions from positionForCoordinates patch.
        These three just need rebaselining.
        https://bugs.webkit.org/show_bug.cgi?id=24148

        standalone-image-drag now correctly places the image in the text
        at the x coordinate that it's being dragged on at.

        dirtyLinesForInline now places the cursor at the node below it when clicking
        in the margin of that node instead of the node above it.

        svg/custom/pointer-events-path.svg previously had the caret at the end of 
        the last box, and now has the caret at the beginning of the last box, 
        since the click was to the left of the box.

        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.checksum:
        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.png:
        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.txt:
        * platform/mac/fast/inline/dirtyLinesForInline-expected.txt:
        * platform/mac/svg/custom/pointer-events-path-expected.txt:

2009-02-25  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Test for
        Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
        https://bugs.webkit.org/show_bug.cgi?id=24143

        * platform/mac-snowleopard/accessibility/table-updating-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-updating.html: Added.

2009-02-24  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Maciej Stachowiak.
        
        Added a test for <rdar://problem/6611174> REGRESSION (r36701): Unable to
        select messages on hotmail (24052)

        * fast/js/for-in-cached-expected.txt: Added.
        * fast/js/for-in-cached.html: Added.
        * fast/js/resources/for-in-cached.js: Added.
        (forIn):

2009-02-25  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Test for <rdar://problem/6487249> repro crash in 
        WebCore::CSSParser::parseFillImage copying entire contents of this 
        page
        -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172

        * editing/pasteboard/copy-crash-with-extraneous-attribute-expected.txt: Added.
        * editing/pasteboard/copy-crash-with-extraneous-attribute.html: Added.

2009-02-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        Test for new API and fixed results of window-properties.html
        to include new API and new WebKitPoint object.

        * fast/dom/Window/webkitConvertPoint-expected.txt: Added.
        * fast/dom/Window/webkitConvertPoint.html: Added.
        * fast/dom/Window/window-properties-expected.txt:

2009-02-25  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code.
        <https://bugs.webkit.org/show_bug.cgi?id=24089>

        Modified the test to account for behavior change and output more information to better detect
        future changes in behavior.

        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect.html:

2009-02-24  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt.

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

        Hit testing tests, for both accelerated and non-accelerated
        cases, and for both transitions and animations.

        * animations/animation-hit-test-expected.txt: Added.
        * animations/animation-hit-test-transform-expected.txt: Added.
        * animations/animation-hit-test-transform.html: Added.
        * animations/animation-hit-test.html: Added.
        * transitions/transition-hit-test-expected.txt: Added.
        * transitions/transition-hit-test-transform-expected.txt: Added.
        * transitions/transition-hit-test-transform.html: Added.
        * transitions/transition-hit-test.html: Added.

2009-02-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24067
        REGRESSION: Crash in WebCore::Document::initSecurityContext

        * http/tests/security/aboutBlank/window-open-self-about-blank-expected.txt: Added.
        * http/tests/security/aboutBlank/window-open-self-about-blank.html: Added.

2009-02-25  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Zack Rusin.

        https://bugs.webkit.org/show_bug.cgi?id=24158
        Adding these tests back in as they are now passing with the implementation
        of the queue*() methods on layoutTestController.

        * platform/qt/Skipped:

2009-02-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson
        
        https://bugs.webkit.org/show_bug.cgi?id=15081
        
        Add tests for display:none on applets, embeds and object elements.

        * fast/replaced/applet-display-none.html: Added.
        * fast/replaced/embed-display-none.html: Added.
        * fast/replaced/object-display-none.html: Added.
        * fast/replaced/resources/test.swf: Copied from LayoutTests/accessibility/resources/test.swf.
        * platform/mac/fast/replaced/applet-display-none-expected.checksum: Added.
        * platform/mac/fast/replaced/applet-display-none-expected.png: Added.
        * platform/mac/fast/replaced/applet-display-none-expected.txt: Added.
        * platform/mac/fast/replaced/embed-display-none-expected.checksum: Added.
        * platform/mac/fast/replaced/embed-display-none-expected.png: Added.
        * platform/mac/fast/replaced/embed-display-none-expected.txt: Added.
        * platform/mac/fast/replaced/object-display-none-expected.checksum: Added.
        * platform/mac/fast/replaced/object-display-none-expected.png: Added.
        * platform/mac/fast/replaced/object-display-none-expected.txt: Added.

2009-02-24  Sam Weinig  <sam@webkit.org>

        Reviewed by David Hyatt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=23990
        Regression (r40837): JavaScript image popup doesn't work

        * fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport-expected.txt: Added.
        * fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html: Added.

2009-02-24  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden
        
        This patch reworks the painting of overflow.  There is now the concept of a "self-painting layer."  All
        layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have
        reflections or masks).
        
        If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object.
        The only difference is that the clip has to be pushed and popped when painting the object's children.
        
        The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case.  With
        the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to
        use the new functions.
        
        Hit testing has also been patched to check the overflow clip rect first before recurring into children.
        
        Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars
        yet, and scrollbar hit testing was already there anyway.  Now the two code paths are more symmetrical.
        
        Masks are now treated like normal flow layers (just like reflections).
        
        A couple of test cases have been added to fast/overflow to test the stacking order.

        * fast/overflow/overflow-float-stacking.html: Added.
        * fast/overflow/overflow-stacking.html: Added.
        * platform/mac/fast/overflow/overflow-float-stacking-expected.checksum: Added.
        * platform/mac/fast/overflow/overflow-float-stacking-expected.png: Added.
        * platform/mac/fast/overflow/overflow-float-stacking-expected.txt: Added.
        * platform/mac/fast/overflow/overflow-stacking-expected.checksum: Added.
        * platform/mac/fast/overflow/overflow-stacking-expected.png: Added.
        * platform/mac/fast/overflow/overflow-stacking-expected.txt: Added.

2009-02-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel

        https://bugs.webkit.org/show_bug.cgi?id=24135
        
        Update the expected value after testcase change.

        * fast/events/offsetX-offsetY-expected.txt:

2009-02-05 Ojan Vafai <ojan@chromium.org> and Eric Seidel <eric@webkit.org>

        Reviewed by Dave Hyatt.

        Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding
        around divs inside editable regions.
        https://bugs.webkit.org/show_bug.cgi?id=23605

        Fix clicks outside editable regions from focusing the editable region.
        https://bugs.webkit.org/show_bug.cgi?id=23607

        Removed editing/selection/contenteditable-click-outside.html as it's
        not as useful as our new tests.

        * editing/selection/click-in-margins-inside-editable-div-expected.txt: Added.
        * editing/selection/click-in-margins-inside-editable-div.html: Added.
        * editing/selection/click-in-padding-with-multiple-line-boxes-expected.txt: Added.
        * editing/selection/click-in-padding-with-multiple-line-boxes.html: Added.
        * editing/selection/click-outside-editable-div-expected.txt: Added.
        * editing/selection/click-outside-editable-div.html: Added.
        * editing/selection/contenteditable-click-outside.html: Removed.
        * editing/selection/resources/TEMPLATE.html: Added.
        * editing/selection/resources/click-in-margins-inside-editable-div.js: Added.
        * editing/selection/resources/click-in-padding-with-multiple-line-boxes.js: Added.
        * editing/selection/resources/click-outside-editable-div.js: Added.
        * editing/selection/resources/js-test-selection-shared.js: Added.
        * editing/selection/select-missing-image.html:
        * platform/mac/editing/selection/contenteditable-click-outside-expected.checksum: Removed.
        * platform/mac/editing/selection/contenteditable-click-outside-expected.txt: Removed.
        * platform/mac/editing/selection/select-all-iframe-expected.txt:
        * platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
        * platform/mac/editing/selection/select-missing-image-expected.txt:
        * platform/qt/editing/selection/contenteditable-click-outside-expected.txt: Removed.
        * platform/qt/editing/selection/select-all-iframe-expected.txt: Removed.

2009-02-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=24135
        
        Fix test now that offsetX/offsetY get rounded, rather than truncated.

        * fast/events/offsetX-offsetY.html:

2009-02-24  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Test for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: 
        Ordered list item marker misaligned when line height is not 1.2 
        -and corresponding <rdar://problem/6602506>

        * fast/lists/list-marker-with-line-height.html: Added.
        * platform/mac/fast/lists/list-marker-with-line-height-expected.checksum: Added.
        * platform/mac/fast/lists/list-marker-with-line-height-expected.png: Added.
        * platform/mac/fast/lists/list-marker-with-line-height-expected.txt: Added.

2009-02-24  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Simon Fraser.

        Adding these tests back in and removing from the Skipped list as
        these tests are all now passing on my machine as of latest revision.

        * platform/qt/Skipped:

2009-02-24  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Cameron Zwarich.

        Remove tests from the Qt Skipped list that no longer even exist.

        * platform/qt/Skipped:

2009-02-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=24091
        <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache

        * http/tests/appcache/access-via-redirect-expected.txt: Added.
        * http/tests/appcache/access-via-redirect.php: Added.
        * http/tests/appcache/resources/access-via-redirect.html: Added.
        * http/tests/appcache/resources/access-via-redirect.manifest: Added.

2009-02-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe ("awesome!").

        Make test for <https://bugs.webkit.org/show_bug.cgi?id=15707> more reliable.

        * fast/dom/onload-open.html: Added waitUntilDone().

2009-02-24  David Levin  <levin@chromium.org>

        Reviewed by Dave Hyatt.

        Update expected results due to better results introduced by r41090.

        * platform/mac/media/video-layer-crash-expected.txt:

2009-02-23  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Test for bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName)

        * fast/dom/cloneNode-expected.txt: Added.
        * fast/dom/cloneNode.html: Added.

2009-02-23  David Hyatt  <hyatt@apple.com>

        Fix the stacking order for column rules in multi-column layout.  Column rules should paint as part of the background of an element, just
        after all other components of the background have been painted.  This allows negative z-index children to still paint on top of the
        column rules (rather than ending up above the background of the box but behind the column rules).

        Reviewed by Eric Seidel

        * fast/multicol/column-rules-stacking.html: Added.
        * platform/mac/fast/multicol/column-rules-stacking-expected.checksum: Added.
        * platform/mac/fast/multicol/column-rules-stacking-expected.png: Added.
        * platform/mac/fast/multicol/column-rules-stacking-expected.txt: Added.

2009-02-23  Gustavo Noronha Silva  <gns@gnome.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=24011
        KURL's setPort doesn't unset port if 0 is given

        Adding regression tests for change done on KURL's setPort in
        r41076. It is worth noting that Firefox doesn't render this test
        correctly since it raises an exception when javascript tries to
        change the iframe's contentWindow.location.port, though other
        properties are modifiable.

        * fast/loader/location-port-expected.txt: Added.
        * fast/loader/location-port.html: Added.
        * fast/loader/resources/location-port-iframe.html: Added.

2009-02-23  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=15690
        Bug in layout test framework (setUpPage vs. setUpPageStatus)

        * (Many JS files in dom/):
        (setUpPage): Replaced setUpPage with setUpPageStatus where appropriate, downstreaming
        a W3C fix.

2009-02-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=21147
        hash property returns incorrect value for links w/o hash

        * fast/dom/empty-hash-and-search-expected.txt: Added.
        * fast/dom/empty-hash-and-search.html: Added.

2009-02-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=20184
        SELECT with no name generates invalid query string

        * fast/forms/select-no-name-expected.txt: Added.
        * fast/forms/select-no-name.html: Added.

2009-02-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=15707
        Crash when manipulating document from within an iframe onload function

        * fast/dom/onload-open-expected.txt: Added.
        * fast/dom/onload-open.html: Added.
        * fast/dom/resources/frame-onload-open.html: Added.

2009-02-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=18970
        Numerically named input fields cause document.forms loop problems

        * fast/forms/numeric-input-name-expected.txt: Added.
        * fast/forms/numeric-input-name.html: Added.

2009-02-21  Hironori Bono  <hbono@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23786
        [Chromium] line-break characters in a complex text are treated as zero-width spaces

        Added tests which verifies line-break characters in a complex text are treated as defined in CSS 2.1.

        * fast/text/international/bidi-linebreak-001.html: Added.
        * fast/text/international/bidi-linebreak-002.html: Added.
        * fast/text/international/bidi-linebreak-003.html: Added.
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.checksum: Added.
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.png: Added.
        * platform/mac/fast/text/international/bidi-linebreak-001-expected.txt: Added.
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.checksum: Added.
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.png: Added.
        * platform/mac/fast/text/international/bidi-linebreak-002-expected.txt: Added.
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.checksum: Added.
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.png: Added.
        * platform/mac/fast/text/international/bidi-linebreak-003-expected.txt: Added.

2009-02-20  Sam Weinig  <sam@webkit.org>

        * fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt: Update results.

2009-02-20  Oliver Hunt  <oliver@apple.com>

        RS=Mark Rowe.

        <rdar://problem/6606660> 2==null returns true in 64bit jit

        Improved equality test to contain all integer values that could
        appear to be other immediate values if the type tag were ignored.

        * fast/js/equality-expected.txt:
        * fast/js/resources/equality.js:

2009-02-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Beth Dakin.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=24044
        Update querySelector/querySelectorAll to match the latest spec

        * fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
        * fast/dom/SelectorAPI/dumpNodeList-expected.txt:
        * fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt:
        * fast/dom/SelectorAPI/resig-SelectorsAPI-test.xhtml: Updated.  We now fail 17 tests
        due to not throwing an exception when no arguments are passed to querySelector
        or querySelectorAll.
        * fast/dom/SelectorAPI/resources/undefined-null-stringify.js: Added.
        * fast/dom/SelectorAPI/undefined-null-stringify-expected.txt: Added.
        * fast/dom/SelectorAPI/undefined-null-stringify.html: Added.

2009-02-19  David Hyatt  <hyatt@apple.com>

        Fix a bug where reflections didn't work properly if opacity was < 1.  Make sure that replaced elements
        also consider reflections to be part of their visual overflow.  This had already been done for blocks
        and lines, but it wasn't being done yet for replaced elements.

        Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer
        transparency layer early.  Since the reflected object paints twice, we don't want to end the transparency
        layer it pushed until we're done painting the real object (rather than the reflection).

        Reviewed by Dan Bernstein

        * fast/reflections/reflection-masks-opacity.html: Added.
        * platform/mac/fast/reflections/reflection-direction-expected.txt:
        * platform/mac/fast/reflections/reflection-masks-expected.txt:
        * platform/mac/fast/reflections/reflection-masks-opacity-expected.checksum: Added.
        * platform/mac/fast/reflections/reflection-masks-opacity-expected.png: Added.
        * platform/mac/fast/reflections/reflection-masks-opacity-expected.txt: Added.

2009-02-19  Jay Campan  <jcampan@google.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23959
        LayoutTests/fast/dom/navigator-detached-no-crash.html may fail with other JS engines.

        * fast/dom/navigator-detached-no-crash-expected.txt:
        * fast/dom/navigator-detached-no-crash.html:

2009-02-19  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=24012
        Clarify objective of the test and clean up.

        * fast/forms/inline-ignored-on-legend-expected.txt:
        * fast/forms/inline-ignored-on-legend.html:

2009-02-18  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24012
        Convert inline-ignored-on-legend to text-only test.

        * fast/forms/inline-ignored-on-legend-expected.txt: Added.
        * fast/forms/inline-ignored-on-legend.html: Changed to text-only.
        * platform/mac/fast/forms/inline-ignored-on-legend-expected.checksum: Removed.
        * platform/mac/fast/forms/inline-ignored-on-legend-expected.png: Removed.
        * platform/mac/fast/forms/inline-ignored-on-legend-expected.txt: Removed.

2009-02-17  Peter Abrahamsen  <rainhead@gmail.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=23958
        <rdar://problem/6587815>

        Updated XMLHttpRequests tests to match the newest Access Control draft.

        * http/tests/security/originHeader/resources/print-origin.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-print-headers.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-allow-star.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-allow.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-get-fail-non-simple.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-non-get-allow.cgi:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-whitelist-response-headers.cgi:

2009-02-17  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Test for <rdar://problem/6595040> REGRESSION: http://www.amnestyusa.org/
        fails to load.

        * fast/js/function-toString-semicolon-insertion-expected.txt: Added.
        * fast/js/function-toString-semicolon-insertion.html: Added.
        * fast/js/resources/function-toString-semicolon-insertion.js: Added.
        (compileAndSerialize):

2009-02-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Eric Seidel

        Fix for https://bugs.webkit.org/show_bug.cgi?id=23985

        Don't allow legends to be anything but display:block.

        * fast/forms/inline-ignored-on-legend.html: Added.
        * platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.txt:
        * platform/mac/fast/borders/fieldsetBorderRadius-expected.txt:
        * platform/mac/fast/forms/006-expected.txt:
        * platform/mac/fast/forms/007-expected.txt:
        * platform/mac/fast/forms/fieldset-align-expected.txt:
        * platform/mac/fast/forms/float-before-fieldset-expected.txt:
        * platform/mac/fast/forms/inline-ignored-on-legend-expected.checksum: Added.
        * platform/mac/fast/forms/inline-ignored-on-legend-expected.png: Added.
        * platform/mac/fast/forms/inline-ignored-on-legend-expected.txt: Added.
        * platform/mac/fast/invalid/residual-style-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:

2009-02-16  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Mark Rowe.
        
        https://bugs.webkit.org/show_bug.cgi?id=16309
        HTML5: The third execCommand argument for insert{un}orderedlist should be ignored

        * editing/execCommand/insert-list-with-id-expected.txt: Added.
        * editing/execCommand/insert-list-with-id.html:
        * platform/mac/editing/execCommand/insert-list-with-id-expected.checksum: Removed.
        * platform/mac/editing/execCommand/insert-list-with-id-expected.png: Removed.
        * platform/mac/editing/execCommand/insert-list-with-id-expected.txt: Removed.

2009-02-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoffrey Garen.

        Add tests for <rdar://problem/6468156>
        REGRESSION (r36779): Adding link, images, flash in TinyMCE blocks entire page (21382)

        * fast/js/function-apply-expected.txt:
        * fast/js/resources/function-apply.js: Add cases covering setting arugments.length and
        Array.length explicitly or implicitly using Array.prototype.unshift.

2009-02-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Geoffrey Garen.

        - test for <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse

        * platform/mac/fast/events/pointer-events-dashboard-expected.checksum: Added.
        * platform/mac/fast/events/pointer-events-dashboard-expected.png: Added.
        * platform/mac/fast/events/pointer-events-dashboard-expected.txt: Added.
        * platform/mac/fast/events/pointer-events-dashboard.html: Copied from LayoutTests/fast/events/pointer-events.html.

2009-02-16  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Eric Seidel.
        
        https://bugs.webkit.org/show_bug.cgi?id=15381
        execCommand justify modifies the contentEditable node

        * editing/execCommand/15381-expected.txt: Added.
        * editing/execCommand/15381.html: Added.
        
        Made this test cross platform and changed it to reflect the fix:
        * editing/execCommand/5062376-expected.txt: Added.
        * editing/execCommand/5062376.html:
        * platform/mac/editing/execCommand/5062376-expected.checksum: Removed.
        * platform/mac/editing/execCommand/5062376-expected.png: Removed.
        * platform/mac/editing/execCommand/5062376-expected.txt: Removed.

2009-02-16  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Adele Peterson.

        Test for Bug 23979: AX: alt tag not returned for <input type="image">
        https://bugs.webkit.org/show_bug.cgi?id=23979

        * accessibility/input-image-alt-expected.txt: Added.
        * accessibility/input-image-alt.html: Added.

2009-02-13  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Added a test for an edge case in <rdar://problem/6584057>.

        * fast/js/resources/sort-non-numbers.js: Added.
        * fast/js/sort-non-numbers.html: Added.
        * fast/js/sort-non-numbers-expected.txt: Added.

2009-02-13  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adam Roben.

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

        Fixed 3 more test cases

        * platform/win/fast/css/computed-style-expected.txt:
        * platform/win/fast/css/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2009-02-13  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        Fixed 2 more test cases (mac specific)

        * platform/mac/fast/css/computed-style-expected.txt:
        * platform/mac/fast/css/computed-style-without-renderer-expected.txt:

2009-02-12  Horia Olaru  <olaru@adobe.com>

        Reviewed by Oliver Hunt.

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

        Added a modified version of the test Chris Brichford attached to the bug.
        Will test return values of various eval function calls, including some which
        throw and catch errors in the string to evaluate.

        * fast/js/eval-throw-return-expected.txt: Added.
        * fast/js/eval-throw-return.html: Added.
        * fast/js/resources/eval-throw-return.js: Added.
        (throwFunc):
        (throwOnReturn):
        (twoFunc):

2009-02-12  David Smith  <catfish.man@gmail.com>

        Reviewed by David Hyatt.

        * fast/dom/SelectorAPI/resig-SelectorsAPI-test-expected.txt: Updated results now that we pass a few more

2009-02-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        Fixed test results

        * fast/css/computed-style-expected.txt:
        * fast/css/computed-style-without-renderer-expected.txt:
        * fast/dom/Window/window-properties-expected.txt:
        * platform/mac/svg/text/text-text-05-t-expected.checksum:
        * platform/mac/svg/text/text-text-05-t-expected.png:

2009-02-12  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.
        
        Support MPEG content on Mac and Windows.
        <rdar://problem/5917509>
        https://bugs.webkit.org/show_bug.cgi?id=23495

        * media/audio-mpeg-supported-expected.txt: Added.
        * media/audio-mpeg-supported.html: Added.
        * media/content/silence.mpg: Added.

2009-02-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt

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

        Added test for parsing 3d functions in webkit-transform

        * transforms/3d: Added.
        * transforms/3d/cssmatrix-3d-interface-expected.txt: Added.
        * transforms/3d/cssmatrix-3d-interface.xhtml: Added.

2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool)

        The test validates the <image> special treatment (using <img> tag) and see whether
        it validates the previous behaviour and we do not ASSERT.

        * fast/dom/prefixed-image-tag-expected.txt: Added.
        * fast/dom/prefixed-image-tag.xhtml: Added.

2009-02-12  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Bug 23826: Potential bug with before/after rule while moving element from one document to another

        * fast/css-generated-content/beforeAfter-interdocument.html: Added.
        * platform/mac/fast/css-generated-content/beforeAfter-interdocument-expected.txt: Added.

2009-02-12  Adam Roben  <aroben@apple.com>

        Try to fix dashboard-region-parser

        * platform/mac/fast/css/dashboard-region-parser.html: Fixed relative
        paths now that this test has moved.

2009-02-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        Skip 16 SVG tests that fail on PPC, until problem is resolved

        * platform/mac/Skipped:

2009-02-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        This fixes one testcase on PPC Mac

        * svg/custom/getTransformToElement.svg:

2009-02-12  Adam Roben  <aroben@apple.com>

        Add some tests that fail due to using the wrong font for Hebrew to the
        Windows Skipped list

        * platform/win/Skipped:

2009-02-12  Adam Roben  <aroben@apple.com>

        Remove some passing tests from the Windows Skipped list

        * platform/win/Skipped: Removed two tests in http/tests/incremental
        (one of which had been renamed and so was running anyway).

2009-02-12  Adam Roben  <aroben@apple.com>

        Add a failing loader test to the Windows Skipped list

        * platform/win/Skipped: Added fast/loader/frame-creation-removal.html.

2009-02-12  Adam Roben  <aroben@apple.com>

        Add another failing drag-n-drop test to the Windows Skipped list

        * platform/win/Skipped: Added editing/selection/drag-in-iframe.html.

2009-02-12  Adam Roben  <aroben@apple.com>

        Fix Bug 23919: Mac-specific test fast/css/dashboard-region-parser is
        in cross-platform location

        <https://bugs.webkit.org/show_bug.cgi?id=23919>

        Moved the test and its results to platform/mac.

        Reviewed by Dan Bernstein.

        * platform/mac/fast/css/dashboard-region-parser-expected.txt: Renamed from LayoutTests/fast/css/dashboard-region-parser-expected.txt.
        * platform/mac/fast/css/dashboard-region-parser.html: Renamed from LayoutTests/fast/css/dashboard-region-parser.html.

2009-02-12  Adam Roben  <aroben@apple.com>

        Fix Bug 23918: Mac-specific results for
        fast/css/computed-style[-without-renderer] are sitting in
        cross-platform location

        <https://bugs.webkit.org/show_bug.cgi?id=23918>

        Move Mac-specific results for
        fast/css/computed-style[-without-renderer] to platform/mac

        Reviewed by John Sullivan.

        * fast/css/computed-style-expected.txt:
        * fast/css/computed-style-without-renderer-expected.txt:
        Made these results correct for non-Mac platforms by removing the
        -webkit-dashboard-region references.

        * platform/mac/fast/css/computed-style-expected.txt: Copied from LayoutTests/fast/css/computed-style-expected.txt.
        * platform/mac/fast/css/computed-style-without-renderer-expected.txt: Copied from LayoutTests/fast/css/computed-style-without-renderer-expected.txt.

        * platform/win/fast/css/computed-style-expected.txt:
        * platform/win/fast/css/computed-style-without-renderer-expected.txt:
        Copied the non-Mac results here, too, since on Windows we first check
        for Mac-specific results before checking for cross-platform results.

2009-02-11  Adam Roben  <aroben@apple.com>

        Windows fix for Bug 22239: Implement missing animation & transition
        APIs on LayoutTestController for non-mac platforms

        <https://bugs.webkit.org/show_bug.cgi?id=22239>

        Reviewed by Simon Fraser.

        * platform/win/Skipped: Enable the previously-skipped tests.

2009-02-11  Scott Violet  <sky@google.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=23805 
        The test transitions/transition-end-event-multiple-03.html occasionally fails.

        * transitions/transition-end-event-multiple-03.html: Upped the timeout.

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

        Reviewed by Adele Peterson.

        <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop

        Simple testcase to ensure that a subframe does not incorrectly capture mousemove events
        when the mousedown handler has prevented default handling.

        * fast/events/mouse-drag-from-frame-expected.txt: Added.
        * fast/events/mouse-drag-from-frame.html: Added.
        * fast/events/resources/mouse-drag-from-frame-subframe.html: Added.

2009-02-08  Sam Weinig  <sam@webkit.org>

        Reviewed by David Hyatt.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=15897
        Please implement getBoundingClientRect and getClientRects
        <rdar://problem/6139669>

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/domListEnumeration-expected.txt:
        * fast/dom/getBoundingClientRect-expected.txt: Added.
        * fast/dom/getBoundingClientRect.html: Added.
        * fast/dom/getClientRects-expected.txt: Added.
        * fast/dom/getClientRects.html: Added.
        * fast/dom/resources/domListEnumeration.js:
        * fast/js/global-constructors-expected.txt:

2009-02-10  Feng Qian <feng@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix crashes in disconnected navigator object.
        https://bugs.webkit.org/show_bug.cgi?id=23626

        * fast/dom/navigator-detached-no-crash-expected.txt: Added.
        * fast/dom/navigator-detached-no-crash.html: Added.

2009-02-09  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser

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

        Add test for 3D functionality of WebKitCSSMatrix.

        * transforms/3d: Added.
        * transforms/3d/cssmatrix-3d-interface-expected.txt: Added.
        * transforms/3d/cssmatrix-3d-interface.xhtml: Added.

2009-02-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Test for <https://bugs.webkit.org/show_bug.cgi?id=23858>
        Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler

        * fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash-expected.txt: Added.
        * fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash.html: Added.

2009-02-09  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=23806
        New test for the crash with an embed element with an empty src and
        "text/html" type.

        * fast/loader/empty-embed-src-attribute-expected.txt: Added.
        * fast/loader/empty-embed-src-attribute.html: Added.

2009-02-09  Alexey Proskuryakov  <ap@webkit.org>

        Land results for a recently added test (https://bugs.webkit.org/show_bug.cgi?id=23601).

        * fast/dom/Selection/getRangeAt-expected.txt: Added.

2009-02-07  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin.

        Test for:
        https://bugs.webkit.org/show_bug.cgi?id=3248
        Bug 3248: Mouse events on OPTION element seem to be ignored

        * fast/forms/option-mouseevents-expected.txt: Added.
        * fast/forms/option-mouseevents.html: Added.

2009-02-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

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

        Fixed results of several svg tests because of differences
        in rounding caused by TransformationMatrix changing from
        single to double precision math.

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-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-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-82-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-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/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/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-09-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-09-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-17-b-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-group-03-t-expected.txt:
        * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/batik/text/verticalText-expected.txt:
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
        * platform/mac/svg/carto.net/slider-expected.txt:
        * platform/mac/svg/carto.net/tabgroup-expected.txt:
        * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt:
        * platform/mac/svg/custom/invalid-css-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/preserve-aspect-ratio-syntax-expected.txt:
        * platform/mac/svg/custom/shapes-supporting-markers-expected.txt:
        * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt:
        * platform/mac/svg/custom/viewbox-syntax-expected.txt:
        * platform/mac/svg/hixie/perf/001-expected.txt:
        * platform/mac/svg/hixie/perf/002-expected.txt:
        * platform/mac/svg/hixie/perf/007-expected.txt:
        * platform/mac/svg/text/text-align-01-b-expected.txt:
        * platform/mac/svg/text/text-align-05-b-expected.txt:
        * platform/mac/svg/text/text-fonts-01-t-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-tref-01-b-expected.txt:
        * svg/custom/getTransformToElement.svg:

2009-02-05  Eric Seidel  <eric@webkit.org>

        Reviewed by Eric Seidel.

        DOMSelection.getRangeAt() returns a different range than the selection
        https://bugs.webkit.org/show_bug.cgi?id=23601

        Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range

        * fast/dom/Selection/getRangeAt.html: Added.
        * fast/dom/Selection/resources/TEMPLATE.html: Copied from LayoutTests/fast/dom/CSSStyleDeclaration/resources/TEMPLATE.html.
        * fast/dom/Selection/resources/getRangeAt.js: Added.

2009-02-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.
        
        https://bugs.webkit.org/show_bug.cgi?id=23800
        Header elements are not always preserved during paste

        * editing/execCommand/4128080-1-expected.txt: Added.
        * editing/execCommand/4128080-1.html: Added.
        * editing/execCommand/4128080-2-expected.txt: Added.
        * editing/execCommand/4128080-2.html: Added.

2009-02-05  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        <rdar://problem/6438271> Improve backspace handling of accented characters

        * platform/mac/editing/deleting/backward-delete-expected.txt: Added.
        * platform/mac/editing/deleting/backward-delete.html: Added.

2009-02-05  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Rubber-stamped by George Staikos.

        Regenerate input.wml result on mac, it was generated with Qt before.

        * platform/mac/fast/wml/input-expected.checksum:
        * platform/mac/fast/wml/input-expected.png:
        * platform/mac/fast/wml/input-expected.txt:

2009-02-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Layer.

        Fix after merging EventTargetNode up into Node.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/prototype-chain-expected.txt:

2009-02-04  Dean Jackson  <dino@apple.com>

        Reviewed by Darin Adler.

        Remove animation-play-state from expected properties.
        https://bugs.webkit.org/show_bug.cgi?id=22907

        * animations/computed-style-expected.txt:
        * animations/computed-style.html:
        * fast/css/computed-style-display-none-expected.txt:
        * fast/css/computed-style-expected.txt:
        * fast/css/computed-style-without-renderer-expected.txt:
        * fast/css/computed-style-without-renderer.html:
        * svg/css/getComputedStyle-basic-expected.txt:

2009-02-04  Tor Arne Vestbø  <tavestbo@trolltech.com>

        Reviewed by Darin Adler.

        Make sure we don't load on removing the media element from the document
        https://bugs.webkit.org/show_bug.cgi?id=22105.

        * media/remove-from-document-no-load-expected.txt: Added.
        * media/remove-from-document-no-load.html: Added.

2009-02-04  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=22806
        Reverting the test that should not yet be landed since it depends on
        changes in DRT which were not yet landed.

        * fast/dom/Window/cached-timeout-stopped-on-close-expected.txt: Removed.
        * fast/dom/Window/cached-timeout-stopped-on-close.html: Removed.
        * fast/dom/Window/resources/cached-timeout-page-1.html: Removed.
        * fast/dom/Window/resources/cached-timeout-page-2.html: Removed.

2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Rename layout test result to the correct name.

        * storage/transaction-callback-exception-crash-expected.txt: Renamed from LayoutTests/storage/transaction-callback-exception-crash.txt.

2009-02-04  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        Regression test for https://bugs.webkit.org/show_bug.cgi?id=22753

        * fast/dom/Window/cached-timeout-stopped-on-close-expected.txt: Added.
        * fast/dom/Window/cached-timeout-stopped-on-close.html: Added.
        * fast/dom/Window/resources/cached-timeout-page-1.html: Added.
        * fast/dom/Window/resources/cached-timeout-page-2.html: Added.

2009-02-04  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=23655
        Clean up storage layout tests a bit.

        * storage/close-during-stress-test.html: Moved brace to new line.
        * storage/empty-statement.html: Moved brace to new line.
        * storage/execute-sql-args.html: Moved brace to new line.
        * storage/quota-tracking.html: Moved brace to new line.
        * storage/success-callback.html: Moved brace to new line, removed erroneous callback argument.
        * storage/transaction-callback-exception-crash.html: Added.
        * storage/transaction-callback-exception-crash.txt: Renamed from LayoutTests/storage/transaction_callback_exception_crash-expected.txt.
        * storage/transaction_callback_exception_crash.html: Removed.

2009-02-04  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=23471
        Fix text-overflow:ellipsis; for RTL case.

        Rebaseline LayoutTests/editing/spelling/inline_spelling_markers.html to reflect correct behavior.

        * fast/css/text-overflow-ellipses.html: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.checksum:
        * platform/mac/editing/spelling/inline_spelling_markers-expected.png:
        * platform/mac/fast/css/text-overflow-ellipses-expected.checksum: Added.
        * platform/mac/fast/css/text-overflow-ellipses-expected.png: Added.
        * platform/mac/fast/css/text-overflow-ellipses-expected.txt: Added.

2009-02-03  Brad Garcia  <bgarcia@google.com>

        Reviewed by Eric Seidel.

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

        * fast/frames/frame-dead-region-expected.txt: Added.
        * fast/frames/frame-dead-region.html: Added.
        * fast/frames/resources/frame-dead-region-left.html: Added.

2009-02-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=13490
        Implement execCommand("styleWithCSS", ...)

        * editing/execCommand/5685604-1-expected.txt: Added.
        * editing/execCommand/5685604-1.html: Added.

2009-02-03  Grace Kloba  <klobag@gmail.com>

        https://bugs.webkit.org/show_bug.cgi?id=23178
        Added a case to test the offsetTop of table cell's children.

        * fast/dom/Element/offsetTop-table-cell-expected.txt:
        * fast/dom/Element/offsetTop-table-cell.html:

2009-02-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Brady Eidson.

        - test for <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward)

        * fast/history/window-open-expected.txt: Added.
        * fast/history/window-open.html: Added.

2009-02-03  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=22718
        Implement WindowTimers interface in Workers.

        First layout test for timeouts in a Worker.

        * fast/workers/resources/worker-timeout.js: Added.
        (checkCompletion):
        * fast/workers/worker-timeout-expected.txt: Added.
        * fast/workers/worker-timeout.html: Added.

2009-02-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        <https://bugs.webkit.org/show_bug.cgi?id=21414> REGRESSION: Regular Expressions and character classes, shorthands and ranges
        <rdar://problem/6543487>

        Testcase for regex codegen emitting checks out of correct order.

        * fast/js/regexp-character-match-out-of-order-expected.txt: Added.
        * fast/js/regexp-character-match-out-of-order.html: Added.
        * fast/js/resources/regexp-character-match-out-of-order.js: Added.

2009-02-02  Yichao Yin  <yichao.yin@torchmobile.com.cn>

        Reviewed by Niko Zimmermann.

        Tests for WML Input

        * wml/input-format-expected.txt: Added.
        * wml/input-format.html: Added.
        * wml/resources/input-format.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):

2009-01-29  Scott Violet  <sky@google.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23633
        The test transitions/transition-end-event-nested.html occasionally fails

        Ups the timeout of the test transitions/transition-end-event-nested.html
        and makes the test exit as soon as all events received.

        * transitions/transition-end-event-helpers.js:
        (recordTransitionEndEvent):
        (runTransitionTest.startTest._endFunction):
        (runTransitionTest.startTest):
        (runTransitionTest):
        * transitions/transition-end-event-nested.html:

2009-01-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Test for <rdar://problem/6545095>
        ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock()

        * fast/block/float/crash-replaced-display-block-expected.txt: Added.
        * fast/block/float/crash-replaced-display-block.html: Added.

2009-01-30  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 23656: AX hierarchy for iFrames is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=23656

        Update test to reflect correct behavior.

        * accessibility/iframe-bastardization.html:

2009-01-30  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        More redirect layout test work.
        
        Added tests (expected to fail) for form submission via JavaScript:
        
        * http/tests/history/redirect-js-form-submit-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-form-submit-0-seconds.html: Added.
        * http/tests/history/redirect-js-form-submit-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-form-submit-2-seconds.html: Added.
        * http/tests/history/redirect-js-form-submit-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-form-submit-before-load.html: Added.
        
        Updated these tests to dump their back/forward lists, to check for
        back/forward regressions, and to use # instead of ? to communicate between
        URLs, since, to my surprise, form submissions can't use query strings.

        * http/tests/history/redirect-200-refresh-0-seconds-expected.txt:
        * http/tests/history/redirect-200-refresh-0-seconds.pl:
        * http/tests/history/redirect-200-refresh-2-seconds-expected.txt:
        * http/tests/history/redirect-200-refresh-2-seconds.pl:
        * http/tests/history/redirect-301-expected.txt:
        * http/tests/history/redirect-301.pl:
        * http/tests/history/redirect-302-expected.txt:
        * http/tests/history/redirect-302.pl:
        * http/tests/history/redirect-303-expected.txt:
        * http/tests/history/redirect-303.pl:
        * http/tests/history/redirect-307-expected.txt:
        * http/tests/history/redirect-307.pl:
        * http/tests/history/redirect-js-document-location-0-seconds-expected.txt:
        * http/tests/history/redirect-js-document-location-0-seconds.html:
        * http/tests/history/redirect-js-document-location-2-seconds-expected.txt:
        * http/tests/history/redirect-js-document-location-2-seconds.html:
        * http/tests/history/redirect-js-document-location-before-load-expected.txt:
        * http/tests/history/redirect-js-document-location-before-load.html:
        * http/tests/history/redirect-js-location-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-0-seconds.html:
        * http/tests/history/redirect-js-location-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-2-seconds.html:
        * http/tests/history/redirect-js-location-assign-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-assign-0-seconds.html:
        * http/tests/history/redirect-js-location-assign-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-assign-2-seconds.html:
        * http/tests/history/redirect-js-location-assign-before-load-expected.txt:
        * http/tests/history/redirect-js-location-assign-before-load.html:
        * http/tests/history/redirect-js-location-before-load-expected.txt:
        * http/tests/history/redirect-js-location-before-load.html:
        * http/tests/history/redirect-js-location-href-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-href-0-seconds.html:
        * http/tests/history/redirect-js-location-href-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-href-2-seconds.html:
        * http/tests/history/redirect-js-location-href-before-load-expected.txt:
        * http/tests/history/redirect-js-location-href-before-load.html:
        * http/tests/history/redirect-js-location-replace-0-seconds-expected.txt:
        * http/tests/history/redirect-js-location-replace-0-seconds.html:
        * http/tests/history/redirect-js-location-replace-2-seconds-expected.txt:
        * http/tests/history/redirect-js-location-replace-2-seconds.html:
        * http/tests/history/redirect-js-location-replace-before-load-expected.txt:
        * http/tests/history/redirect-js-location-replace-before-load.html:
        * http/tests/history/redirect-meta-refresh-0-seconds-expected.txt:
        * http/tests/history/redirect-meta-refresh-0-seconds.html:
        * http/tests/history/redirect-meta-refresh-2-seconds-expected.txt:
        * http/tests/history/redirect-meta-refresh-2-seconds.html:
        * http/tests/history/resources/redirect-target.html:

2009-01-30  Pierre-Olivier Latour  <pol@apple.com>

        Updated the references images for the media layout tests on Tiger since they now differ from Leopard after installing QuickTime 7.6.

        * platform/mac-tiger/media: Added.
        * platform/mac-tiger/media/video-aspect-ratio-expected.checksum: Added.
        * platform/mac-tiger/media/video-aspect-ratio-expected.png: Added.
        * platform/mac-tiger/media/video-controls-rendering-expected.checksum: Added.
        * platform/mac-tiger/media/video-controls-rendering-expected.png: Added.
        * platform/mac-tiger/media/video-display-toggle-expected.checksum: Added.
        * platform/mac-tiger/media/video-display-toggle-expected.png: Added.
        * platform/mac-tiger/media/video-layer-crash-expected.checksum: Added.
        * platform/mac-tiger/media/video-layer-crash-expected.png: Added.
        * platform/mac-tiger/media/video-transformed-expected.checksum: Added.
        * platform/mac-tiger/media/video-transformed-expected.png: Added.
        * platform/mac-tiger/media/video-zoom-expected.checksum: Added.
        * platform/mac-tiger/media/video-zoom-expected.png: Added.

2009-01-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Correct mis-applied http://trac.webkit.org/changeset/40413 by actually
        removing the test file.

        * fast/dom/Window/timeout-released-on-close.html: Removed.

2009-01-30  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23650
        LayoutTests/fast/dom/Window/timeout-released-on-close.html fails intermittently.
        Disable this test to keep buildbots green. Need more time to investigate the cause.

        * fast/dom/Window/timeout-released-on-close.html: Removed.
        * fast/dom/Window/timeout-released-on-close.html-disabled: Copied from LayoutTests/fast/dom/Window/timeout-released-on-close.html.

2009-01-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        Test that documents loaded from application cache cannot load local resources.

        * http/tests/appcache/local-content-expected.txt: Added.
        * http/tests/appcache/local-content.html: Added.
        * http/tests/appcache/resources/local-content.manifest: Added.

2009-01-30  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=23615
        Try to make this test reliable on buildbots.

        * fast/dom/Window/resources/long_timeout.html:
        Allocate more objects to make detection more reliable.

        * fast/dom/Window/timeout-released-on-close.html:
        Use threshold to account for objects allocated by the running scripts.
        Add debug output in case of failure to help understand possible failures.

2009-01-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=23639
        Test that appcache ignores Cache-Control: no-store

        * http/tests/resources/network-simulator.php: Send no-store with all responses.

2009-01-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=23640
        Test that non-HTML main resources work with application cache correctly

        * http/tests/appcache/non-html-expected.txt: Added.
        * http/tests/appcache/non-html.xhtml: Added.
        * http/tests/appcache/resources/abe.png: Added.
        * http/tests/appcache/resources/non-html.manifest: Added.

        * http/tests/resources/network-simulator.php: Support more file extensions.

2009-01-29  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22894
        Fix typo in fill-stroke-clip-reset-path.html where
        layoutTestController.setUseDashboardCompatiblityMode is called instead of
        layoutTestController.setUseDashboardCompatibilityMode.

        * fast/canvas/fill-stroke-clip-reset-path.html:
        * platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.checksum:
        * platform/mac/fast/canvas/fill-stroke-clip-reset-path-expected.png:

2009-01-29  Hironori Bono  <hbono@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Rebaseline a layout test that verifies the InsertLineBreakCommand() function
        doesn't delete existing markers.

        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum:
        * platform/mac/editing/spelling/spelling-linebreak-expected.png:

2009-01-29  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann, Eric Seidel.

        Transformations on SVG patterns caused ugly drawings. The pattern is transformed
        directly now. Texts or strokes are no longer affected by transformations.

        * platform/mac/svg/custom/pattern-with-transformation-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.png: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt: Added.
        * svg/custom/pattern-with-transformation.svg: Added.

2009-01-29  Brady Eidson  <beidson@apple.com>

        Reviewed by Oliver Hunt

        <rdar://problem/6337157> hyundaiusa.com closes window or tab during load

        * fast/loader/resources/subframe-self-close.html: Added.
        * fast/loader/subframe-self-close-expected.txt: Added.
        * fast/loader/subframe-self-close.html: Added.

2009-01-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23620
        Crash in appcache/resource-redirect.html on Tiger

        * http/tests/appcache/resource-redirect.html:
        * http/tests/appcache/resources/resource-redirect.php:
        * http/tests/appcache/resources/manifest-redirect.php:
        Corrected the tests to redirect properly.

        * http/tests/appcache/manifest-redirect-2-expected.txt: Added.
        * http/tests/appcache/manifest-redirect-2.html: Added.
        * http/tests/appcache/resource-redirect-2-expected.txt: Added.
        * http/tests/appcache/resource-redirect-2.html: Added.
        * http/tests/appcache/resources/manifest-redirect-2.php: Added.
        * http/tests/appcache/resources/resource-redirect-2.manifest: Added.
        * http/tests/appcache/resources/resource-redirect-2.php: Added.
        Added tests for the code path that was accidentally tested on Tiger only (using a redirect
        to self, so Leopard will exercise it, too).

2009-01-29  Alexey Proskuryakov  <ap@webkit.org>

        Not reviewed (this was just a merge problem).

        https://bugs.webkit.org/show_bug.cgi?id=23476
        HTTP redirect should make application cache updating fail

        * http/tests/appcache/manifest-redirect.html:
        * http/tests/appcache/resource-redirect.html:
        Updated the tests to work with the new appcache event sending behavior.

2009-01-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23476
        HTTP redirect should make application cache updating fail

        * http/tests/appcache/manifest-redirect-expected.txt: Added.
        * http/tests/appcache/manifest-redirect.html: Added.
        * http/tests/appcache/resource-redirect-expected.txt: Added.
        * http/tests/appcache/resource-redirect.html: Added.
        * http/tests/appcache/resources/manifest-redirect.php: Added.
        * http/tests/appcache/resources/resource-redirect.manifest: Added.
        * http/tests/appcache/resources/resource-redirect.php: Added.

2009-01-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23592
        Update appcache manifest signature parsing

        * http/tests/appcache/manifest-parsing.html: Fixed to point to a correct manifest (oops).

        * http/tests/appcache/resources/manifest-parsing.manifest: Added a comment at the end of
        signature line.

        * http/tests/appcache/resources/wrong-signature-2.manifest: Added.
        * http/tests/appcache/wrong-signature-2-expected.txt: Added.
        * http/tests/appcache/wrong-signature-2.html: Added.
        * http/tests/appcache/wrong-signature.html:
        Test that there must be whitespace before the comment.

2009-01-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23584
        Update application cache code for the latest round of spec changes

        * http/tests/appcache/404-manifest.html:
        * http/tests/appcache/404-resource.html:
        When initial cache attempt fails, the applicationCache singleton now gets an error event.

        * http/tests/appcache/foreign-iframe-main-expected.txt: Checking, downloading and progress
        events are now dispatched during initial cache attempt.

        * http/tests/appcache/idempotent-update-expected.txt:
        * http/tests/appcache/idempotent-update.html:
        Events are now posted asynchronously, so we cannot assume any status when handling an event.
        Rewrote the test to no longer rely on synchronous event dispatch.

        * http/tests/appcache/manifest-containing-itself.html: Changed the test to pass on reload,
        to simplify testing in browser (not related to any behavior changes).

        * http/tests/appcache/navigating-away-while-cache-attempt-in-progress.html: Fixed the test
        to not fail in browser due to missing layoutTestController.

        * http/tests/appcache/offline-access-expected.txt:
        * http/tests/appcache/offline-access.html:
        Removed a warning saying that output is timing dependent - I think this is not true now.

        * http/tests/appcache/remove-cache-expected.txt:
        * http/tests/appcache/remove-cache.html:
        * http/tests/appcache/resources/remove-cache-frame-2.html:
        * http/tests/appcache/resources/remove-cache-frame.html:
        An obsolete event is only dispatched if the document's main resource was already in cache,
        otherwise, an error event is dispatched. Changed the test to add the main resource to cache
        first. Also, updated it to make use of additional events that are now being posted.

        * http/tests/appcache/resources/offline-access-frame.html: Updated to dump frame events more
        completely.

        * http/tests/appcache/wrong-content-type.html:
        * http/tests/appcache/wrong-signature.html:
        Changed to expect and to make use of error event that is now being posted.

2009-01-28  Darin Fisher  <darin@chromium.org>

        Fixing bustage.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Add missing layout test results.

        * platform/mac/editing/spelling/spelling-linebreak-expected.checksum: Added.
        * platform/mac/editing/spelling/spelling-linebreak-expected.png: Added.
        * platform/mac/editing/spelling/spelling-linebreak-expected.txt: Added.

2009-01-28  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Added layout tests for how many history items are created during a
        redirect. (Many of these results are expected failures for now.)

        * http/tests/history: Added.
        * http/tests/history/redirect-200-refresh-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-200-refresh-0-seconds.pl: Added.
        * http/tests/history/redirect-200-refresh-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-200-refresh-2-seconds.pl: Added.
        * http/tests/history/redirect-301-expected.txt: Added.
        * http/tests/history/redirect-301.pl: Added.
        * http/tests/history/redirect-302-expected.txt: Added.
        * http/tests/history/redirect-302.pl: Added.
        * http/tests/history/redirect-303-expected.txt: Added.
        * http/tests/history/redirect-303.pl: Added.
        * http/tests/history/redirect-307-expected.txt: Added.
        * http/tests/history/redirect-307.pl: Added.
        * http/tests/history/redirect-js-document-location-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-document-location-0-seconds.html: Added.
        * http/tests/history/redirect-js-document-location-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-document-location-2-seconds.html: Added.
        * http/tests/history/redirect-js-document-location-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-document-location-before-load.html: Added.
        * http/tests/history/redirect-js-location-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-assign-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-assign-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-assign-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-assign-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-assign-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-assign-before-load.html: Added.
        * http/tests/history/redirect-js-location-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-before-load.html: Added.
        * http/tests/history/redirect-js-location-href-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-href-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-href-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-href-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-href-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-href-before-load.html: Added.
        * http/tests/history/redirect-js-location-replace-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-replace-0-seconds.html: Added.
        * http/tests/history/redirect-js-location-replace-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-js-location-replace-2-seconds.html: Added.
        * http/tests/history/redirect-js-location-replace-before-load-expected.txt: Added.
        * http/tests/history/redirect-js-location-replace-before-load.html: Added.
        * http/tests/history/redirect-meta-refresh-0-seconds-expected.txt: Added.
        * http/tests/history/redirect-meta-refresh-0-seconds.html: Added.
        * http/tests/history/redirect-meta-refresh-2-seconds-expected.txt: Added.
        * http/tests/history/redirect-meta-refresh-2-seconds.html: Added.
        * http/tests/history/resources: Added.
        * http/tests/history/resources/redirect-target.html: Added.

2009-01-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=23582
        
        New test cases for transforms on inlines and table rows, with and without
        opacity (which has the side-effect of creating layers).

        * fast/transforms/transform-on-inline.html: Added.
        * fast/transforms/transform-table-row.html: Added.
        * platform/mac/fast/transforms/transform-on-inline-expected.checksum: Added.
        * platform/mac/fast/transforms/transform-on-inline-expected.png: Added.
        * platform/mac/fast/transforms/transform-on-inline-expected.txt: Added.
        * platform/mac/fast/transforms/transform-table-row-expected.checksum: Added.
        * platform/mac/fast/transforms/transform-table-row-expected.png: Added.
        * platform/mac/fast/transforms/transform-table-row-expected.txt: Added.

2009-01-28  Hironori Bono  <hbono@chromium.org>

        Reviewed by Justin Garcia.

        https://bugs.webkit.org/show_bug.cgi?id=18835
        Spelling underlines disappear when they shouldn't

        Add a layout text to verify if misspelled markers are copied when a
        line-break command splits a text node.

        * editing/spelling/spelling-linebreak.html: Added.

2009-01-27  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber stamped by Darin Adler.

        Get the build bot green as discussed on the mailinglist. There is
        only one crash after unloading a page with plugins. For the remaining
        failing tests DumpRenderTree needs to be looked at.

        * platform/gtk/Skipped:

2009-01-27  Mads Ager  <ager@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23300
        Update test of selection functions on HTMLInputElements to expect
        the selection functions to throw exceptions when used on buttons.
        This is consistent with the Firefox behavior.

        * fast/forms/selection-functions-expected.txt:
        * fast/forms/selection-functions.html:

2009-01-26  David Kilzer  <ddkilzer@apple.com>

        Fix misspelling of "lowercase" in font-face-locally-installed.html

        Reviewed by Dan Bernstein.

        * fast/css/font-face-locally-installed.html: Updated.
        * platform/mac/fast/css/font-face-locally-installed-expected.checksum: Updated.
        * platform/mac/fast/css/font-face-locally-installed-expected.png: Updated.
        * platform/mac/fast/css/font-face-locally-installed-expected.txt: Updated.

2009-01-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Test for https://bugs.webkit.org/show_bug.cgi?id=18141
        Acid3 tests 77 and 78 fail on reload due to SVG font race
        <rdar://problem/6504899>

        * http/tests/misc/SVGFont-delayed-load-expected.txt: Added.
        * http/tests/misc/SVGFont-delayed-load.html: Added.
        * http/tests/misc/resources/SVGFont-delayed-loader.svg: Added.
        * svg/custom/acid3-test-77.html:
        * svg/custom/resources/Acid3Font-loader.svg:

2009-01-26  Pierre-Olivier Latour  <pol@apple.com>

        Updated the reference images for the video tests that rely on the H264 test movie,
        as QuickTime 7.6 apparently slightly changed the results from the 7.5.5 version.

        * platform/mac/media/video-aspect-ratio-expected.checksum:
        * platform/mac/media/video-aspect-ratio-expected.png:
        * platform/mac/media/video-controls-rendering-expected.checksum:
        * platform/mac/media/video-controls-rendering-expected.png:
        * platform/mac/media/video-display-toggle-expected.checksum:
        * platform/mac/media/video-display-toggle-expected.png:
        * platform/mac/media/video-layer-crash-expected.checksum:
        * platform/mac/media/video-layer-crash-expected.png:
        * platform/mac/media/video-transformed-expected.checksum:
        * platform/mac/media/video-transformed-expected.png:
        * platform/mac/media/video-zoom-expected.checksum:
        * platform/mac/media/video-zoom-expected.png:

2009-01-26  Darin Adler  <darin@apple.com>

        Requested by David Hyatt.

        * platform/mac/fast/table/form-with-table-style-expected.checksum: Updated to reflect
        the progression; we now render things we used to fail to render.
        * platform/mac/fast/table/form-with-table-style-expected.png: Ditto.

2009-01-25  David Hyatt  <hyatt@apple.com>

        Add layout test for https://bugs.webkit.org/show_bug.cgi?id=23524.

        Reviewed by Oliver Hunt

        * fast/repaint/dynamic-table-vertical-alignment-change.html: Added.
        * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.checksum: Added.
        * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.png: Added.
        * platform/mac/fast/repaint/dynamic-table-vertical-alignment-change-expected.txt: Added.

2009-01-25  Dan Bernstein  <mitz@apple.com>

        Reviewed by Oliver Hunt.

        - test for <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in
          string hashing code when opening a Digg RSS article

        * fast/loader/null-request-after-willSendRequest-expected.txt: Added.
        * fast/loader/null-request-after-willSendRequest.html: Added.

2009-01-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        <rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes)

        * http/tests/misc/dns-prefetch-control-expected.txt:
        * http/tests/misc/dns-prefetch-control.html:
        Google documentation for DNS Prefetch makes use of net-path relative URLs (//server-name),
        explaining that scheme is not necessary. This is of course true, but this test uses data:
        subframes, and data: is a non-hierachical scheme, so resolving such URLs fails, resulting
        in a KURL object that is not valid. WebKit used to ignore this, and tried to create a URL
        from this string again, now with a single argument KURL constructor, which resulted in a
        valid file: URL, which was successfully used! Both issues have been corrected in WebCore,
        so I had to change the test to no longer use relative net-path URLs.

        * http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
        * http/tests/security/postMessage/invalid-origin-throws-exception.html:
        URLs that start with "/" are no longer converted to "file:" ones, so the results now
        match Firefox.

        * http/tests/uri/resolve-encoding-relative-expected.txt: Added.
        * http/tests/uri/resolve-encoding-relative.html: Added.
        Added a test to cover some cases of relative URL resolving that were not covered before.
        Expected results are taken from Firefox 3, and WebKit doesn't match in how fragments are
        encoded (we use document encoding, while Firefox uses UTF-8). Since fragments are not
        sent in HTTP requests, this is not too dangerous, but the Firefox behavior looks more
        consistent.

2009-01-24  Eric Carlson  <eric.carlson@apple.com>

        <video> controls visibility test needs to dump render tree as text because
        the test does not always end at the same time, so the timeline slider thumb
        is not always at the same position.

        * media/video-controls-visible-audio-only.html:
        * platform/mac/media/video-controls-visible-audio-only-expected.txt:

2009-01-24  Darin Adler  <darin@apple.com>

        Try to fix expected results for new video element test.

        * platform/mac/media/video-controls-visible-audio-only-expected.png: Landed new result
        generated on my machine.
        * platform/mac/media/video-controls-visible-audio-only-expected.txt: Ditto.

2009-01-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        <rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch

        * http/tests/xmlhttprequest/encode-request-url-2-expected.txt: Added.
        * http/tests/xmlhttprequest/encode-request-url-2.html: Added.

        * fast/loader/url-parse-1-expected.txt: Updated test results. Neither new nor old result
        matches Firefox, and the change is caused by <https://bugs.webkit.org/show_bug.cgi?id=23500>.

2009-01-23  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson

        Test for behavior of <video> element controller when a media file has
        only audio.
        https://bugs.webkit.org/show_bug.cgi?id=23407

        * media/video-controls-visible-audio-only.html: Added.
        * platform/mac/media/video-controls-visible-audio-only-expected.checksum: Added.
        * platform/mac/media/video-controls-visible-audio-only-expected.png: Added.
        * platform/mac/media/video-controls-visible-audio-only-expected.txt: Added.

2009-01-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=23478
        Add a test for application test resource loading failure

        * http/tests/appcache/404-resource-expected.txt: Added.
        * http/tests/appcache/404-resource.html: Added.
        * http/tests/appcache/resources/404-resource.manifest: Added.

2009-01-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.

        Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i>
        https://bugs.webkit.org/show_bug.cgi?id=23486

        * editing/execCommand/toggle-styles-expected.txt: pass two more cases!

2009-01-22  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin Garcia.

        Remove <span> turds left by editing commands
        https://bugs.webkit.org/show_bug.cgi?id=23466

        * editing/execCommand/empty-span-removal-expected.txt: Added.
        * editing/execCommand/empty-span-removal.html: Added.
        * editing/execCommand/resources/empty-span-removal.js: Added.
        * editing/execCommand/toggle-styles-expected.txt: Updated.

2009-01-22  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=23461 LayoutTests/
        fast/js/numeric-conversion.html is broken, and corresponding 
        <rdar://problem/6514842>

        The basic problem here is that parseInt(Infinity) should be NaN, 
        but we were returning 0. NaN matches Safari 3.2.1 and Firefox.

        * fast/js/numeric-conversion-expected.txt:
        * fast/js/resources/numeric-conversion.js:

2009-01-22  Eric Roman  <eroman@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=20806
        "Referer" header not sent for history navigation.

        * http/tests/navigation/back-send-referrer-expected.txt: Added.
        * http/tests/navigation/back-send-referrer.html: Added.
        * http/tests/navigation/resources/back-send-referrer-helper.php: Added.

2009-01-22  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        <rdar://problem/6516853> (r39682-r39736) JSFunFuzz: crash on "(function(){({ x2: x }), })()"
        <https://bugs.webkit.org/show_bug.cgi?id=23479>

        Add additional reparsing tests.

        * fast/js/reparsing-semicolon-insertion-expected.txt:
        * fast/js/resources/reparsing-semicolon-insertion.js:
        (commaParenTest):
        (commaParenThrowTest):

2009-01-21  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Geoff "Cameron Zwarich" Garen.

        Add pre & post standalone driver scripts to assist running the javascript layout tests
        on jsc, rather than a full webkit build.

        * fast/js/resources/standalone-post.js: Copied from fast/js/resources/js-test-post.js.
        * fast/js/resources/standalone-pre.js: Copied from fast/js/resources/js-test-pre.js.
        (description):
        (debug):
        (escapeString):
        (testPassed):
        (testFailed):

2009-01-21  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Add layout test for switch (-0).

        * fast/js/resources/switch-behaviour.js:
        * fast/js/switch-behaviour-expected.txt:

2009-01-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt

        Fix for https://bugs.webkit.org/show_bug.cgi?id=23317

        * transitions/repeated-firing-background-color-expected.txt: Added.
        * transitions/repeated-firing-background-color.html: Added.

2009-01-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin Garcia.

        Remove the style='' turds left by some editing commands
        https://bugs.webkit.org/show_bug.cgi?id=23463

        * editing/execCommand/toggle-styles-expected.txt: updated results

2009-01-21  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Test to make sure accessibility doesn't crash when a table is modified through JavaScript

        * accessibility/table-modification-crash-expected.txt: Added.
        * accessibility/table-modification-crash.html: Added.

2009-01-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Justin Garcia.
        
        Updated results for execCommand() 'sub' and 'super' toggle fixes.
        https://bugs.webkit.org/show_bug.cgi?id=17733

        * editing/execCommand/toggle-styles-expected.txt:

2009-01-20  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

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

        Add minimal WML input element testcase: fast/wml/input.wml

        * fast/wml/input.wml: Added.
        * platform/mac/fast/wml/input-expected.checksum: Added.
        * platform/mac/fast/wml/input-expected.png: Added.
        * platform/mac/fast/wml/input-expected.txt: Added.

2009-01-20  Pierre-Olivier Latour  <pol@apple.com>

        Previously uploaded reference images were generated with Perian installed, which affected them
        as explained in https://bugs.webkit.org/show_bug.cgi?id=22615.

        * platform/mac/media/video-zoom-expected.checksum:
        * platform/mac/media/video-zoom-expected.png:

2009-01-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        stroke-pattern is wrong and coords-units-01-b match the behavior of
        batik and Firefox.

        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.png:
        * platform/mac/svg/custom/stroked-pattern-expected.checksum:
        * platform/mac/svg/custom/stroked-pattern-expected.png:

2009-01-19  Simon Fraser  <simon.fraser@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=18078
        
        New testcases for transitions of shorthand properties.

        * transitions/shorthand-border-transitions-expected.txt: Added.
        * transitions/shorthand-border-transitions.html: Added.
        * transitions/shorthand-transitions-expected.txt: Added.
        * transitions/shorthand-transitions.html: Added.

2009-01-19  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Bug 23409: REGRESSION: RegExp 'replace()' function improperly processes '$$'
        <https://bugs.webkit.org/show_bug.cgi?id=23409>
        <rdar://problem/6505723>

        * fast/js/resources/string-replace-3.js:
        * fast/js/string-replace-3-expected.txt:

2009-01-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=18078
        
        Fix transition-test-helpers.js to handle more kinds
        of CSS properties, like lists and colors, and to
        optionally not use the pause API.

        * transitions/transform-op-list-match.html:
        * transitions/transform-op-list-no-match.html:
        * transitions/transition-test-helpers.js:
        (runTransitionTest.checkExpectedValue):
        (runTransitionTest.runTest):
        * transitions/zero-duration-in-list.html:

2009-01-19  Alexey Proskuryakov  <ap@webkit.org>

        Update test results for https://bugs.webkit.org/show_bug.cgi?id=23417.

        * fast/dom/Window/window-properties-expected.txt:

2009-01-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 23422: AX: AXLinks should expose access key information
        https://bugs.webkit.org/show_bug.cgi?id=23422

        Update and add tests for access key information

        * accessibility/accesskey-expected.txt: Added.
        * accessibility/accesskey.html: Added.
        * accessibility/document-links-expected.txt:
        * accessibility/legend-expected.txt:
        * accessibility/radio-button-group-members-expected.txt:
        * accessibility/table-with-aria-role-expected.txt:

2009-01-19  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23417
        Implement application cache obsolete state

        * http/tests/appcache/resources/fail-on-update.php: This script used to alternate between
        200 and 404 responses, which is not correct, because update process should check the
        manifest twice (WebKit doesn't implement that yet). Changed it to take explicit commands.

        * http/tests/appcache/fail-on-update.html: Updated to "delete" the manifest explicitly.

        * http/tests/appcache/remove-cache-expected.txt: Added.
        * http/tests/appcache/remove-cache.html: Added.
        * http/tests/appcache/resources/remove-cache-frame-2.html: Added.
        * http/tests/appcache/resources/remove-cache-frame.html: Added.
        Added a test for manifest obsolescence.

2009-01-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by David Hyatt.

        Bug 23399: AX: some buttons don't expose AXPress as an action
        https://bugs.webkit.org/show_bug.cgi?id=23399

        * accessibility/button-press-action-expected.txt: Added.
        * accessibility/button-press-action.html: Added.

2009-01-17  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson

        <rdar://problem/6293969>

        Update media controls rendering results for new controls CSS.

        * platform/mac/media/audio-controls-rendering-expected.txt:
        * platform/mac/media/video-controls-rendering-expected.txt:
        * platform/mac/media/video-display-toggle-expected.txt:

2009-01-16  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 23397: AXURL is not reported for <INPUT type="image"> elements
        https://bugs.webkit.org/show_bug.cgi?id=23397

        * accessibility/input-image-url-expected.txt: Added.
        * accessibility/input-image-url.html: Added.

2009-01-16  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        Bug 23393: TextField has AXTitle and AXTitleUIElement
        https://bugs.webkit.org/show_bug.cgi?id=23393

        * accessibility/double-title-expected.txt: Added.
        * accessibility/double-title.html: Added.

2009-01-16  Eric Seidel  <eric@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Add toggle-styles test for editing.
        https://bugs.webkit.org/show_bug.cgi?id=23366

        This test demonstrates at least these 3 editing bugs:
        https://bugs.webkit.org/show_bug.cgi?id=17733
        https://bugs.webkit.org/show_bug.cgi?id=20215
        https://bugs.webkit.org/show_bug.cgi?id=22810

        * editing/execCommand/resources/toggle-styles.js: Added.
        * editing/execCommand/toggle-styles-expected.txt: Added.
        * editing/execCommand/toggle-styles.html: Added.

2009-01-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.
        
        Added tests for <rdar://problem/6452301> REGRESSION: Latest WebKit
        nightlies turn "c" into "" when stripping \\c_ character

        * fast/regex/malformed-escapes-expected.txt:
        * fast/regex/resources/malformed-escapes.js:

2009-01-16  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Bug 23387: AX hierarchy is incorrect when iframes are present
        https://bugs.webkit.org/show_bug.cgi?id=23387

        * accessibility/iframe-bastardization-expected.txt: Added.
        * accessibility/iframe-bastardization.html: Added.

2009-01-16  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=16001
        Re-land layout test which didn't land as part of r39785
        Move pixel results to platforms directory.

        * editing/selection/extend-selection-bidi.html: Added.
        * platform/mac/editing/selection/extend-selection-bidi-expected.checksum: Renamed from LayoutTests/editing/selection/extend-selection-bidi-expected.checksum.
        * platform/mac/editing/selection/extend-selection-bidi-expected.png: Renamed from LayoutTests/editing/selection/extend-selection-bidi-expected.png.

2009-01-16  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt.

        * transitions/hang-with-bad-transition-list-expected.txt: Added.
        * transitions/hang-with-bad-transition-list.html: Added.

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

2009-01-16  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Test case for
        Bug 23385: crash at com.apple.WebCore WebCore::HTMLAnchorElement::isKeyboardFocusable

        * fast/events/tab-crash-with-image-map-expected.txt: Added.
        * fast/events/tab-crash-with-image-map.html: Added.

2009-01-15  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig.

        Fixed test case to work on ppc, which (apparently) has some difference in sin() and cos()

        * transforms/2d/cssmatrix-interface.xhtml:

2009-01-15  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.
        
        Added a test for <rdar://problem/6471394> REGRESSION (r39164): Discarding
        quantifier on assertion gives incorrect result (23075)

        * fast/regex/quantified-assertions-expected.txt:
        * fast/regex/resources/quantified-assertions.js:

2009-01-15  Dimitri Dupuis-Latour  <dupuislatour@apple.com>

        Added testcases for all CSS3 pseudo-classes and pseudo-elements

        <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();

        Reviewed by Timothy Hatcher.

        * fast/dom/css-selectorText-expected.txt:
        * fast/dom/css-selectorText.html:

2009-01-15  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.
        
        <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break

        * editing/execCommand/6444148-expected.txt: Added.
        * editing/execCommand/6444148.html: Added.

2009-01-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoff Garen.

        Bug 23225: REGRESSION: Assertion failure in reparseInPlace() (m_sourceElements) at sfgate.com
        <https://bugs.webkit.org/show_bug.cgi?id=23225> <rdar://problem/6487432>

        Test to verify reparsing behaviour in the face of a BOM in the middle of the file.

        * fast/js/bom-in-file-retains-correct-offset-expected.txt: Added.
        * fast/js/bom-in-file-retains-correct-offset.html: Added.
        * fast/js/resources/bom-in-file-retains-correct-offset.js: Added.

2009-01-14  David Kilzer  <ddkilzer@apple.com>

        Updated layout test results after adding WebKitCSSMatrix (r39922)

        * fast/dom/Window/window-properties-expected.txt:
        * fast/js/global-constructors-expected.txt:

2009-01-14  Pierre-Olivier Latour  <pol@apple.com>

        Added missing reference images for pixel tests (generated on iMac Intel with 10.5.5 + QT 7.5.5).

        * platform/mac/editing/pasteboard/dataTransfer-set-data-file-url-expected.checksum: Added.
        * platform/mac/editing/pasteboard/dataTransfer-set-data-file-url-expected.png: Added.
        * platform/mac/fast/events/pointer-events-2-expected.checksum: Added.
        * platform/mac/fast/events/pointer-events-2-expected.png: Added.
        * platform/mac/fast/events/pointer-events-expected.checksum: Added.
        * platform/mac/fast/events/pointer-events-expected.png: Added.
        * platform/mac/fast/media/mq-animation-expected.checksum: Added.
        * platform/mac/fast/media/mq-animation-expected.png: Added.
        * platform/mac/fast/media/mq-transform-01-expected.checksum: Added.
        * platform/mac/fast/media/mq-transform-01-expected.png: Added.
        * platform/mac/fast/media/mq-transform-02-expected.checksum: Added.
        * platform/mac/fast/media/mq-transform-02-expected.png: Added.
        * platform/mac/fast/media/mq-transform-03-expected.checksum: Added.
        * platform/mac/fast/media/mq-transform-03-expected.png: Added.
        * platform/mac/fast/media/mq-transform-04-expected.checksum: Added.
        * platform/mac/fast/media/mq-transform-04-expected.png: Added.
        * platform/mac/fast/media/mq-transition-expected.checksum: Added.
        * platform/mac/fast/media/mq-transition-expected.png: Added.
        * platform/mac/http/tests/security: Added.
        * platform/mac/http/tests/security/dataTransfer-set-data-file-url-expected.checksum: Added.
        * platform/mac/http/tests/security/dataTransfer-set-data-file-url-expected.png: Added.
        * platform/mac/http/tests/webarchive: Added.
        * platform/mac/http/tests/webarchive/test-css-url-encoding-expected.checksum: Added.
        * platform/mac/http/tests/webarchive/test-css-url-encoding-expected.png: Added.
        * platform/mac/http/tests/webarchive/test-css-url-encoding-shift-jis-expected.checksum: Added.
        * platform/mac/http/tests/webarchive/test-css-url-encoding-shift-jis-expected.png: Added.
        * platform/mac/http/tests/webarchive/test-css-url-encoding-utf-8-expected.checksum: Added.
        * platform/mac/http/tests/webarchive/test-css-url-encoding-utf-8-expected.png: Added.
        * platform/mac/http/tests/webarchive/test-preload-resources-expected.checksum: Added.
        * platform/mac/http/tests/webarchive/test-preload-resources-expected.png: Added.
        * platform/mac/media/video-zoom-expected.checksum: Added.
        * platform/mac/media/video-zoom-expected.png: Added.
        * platform/mac/webarchive/test-css-url-resources-in-stylesheets-expected.checksum: Added.
        * platform/mac/webarchive/test-css-url-resources-in-stylesheets-expected.png: Added.
        * platform/mac/webarchive/test-css-url-resources-inline-styles-expected.checksum: Added.
        * platform/mac/webarchive/test-css-url-resources-inline-styles-expected.png: Added.

2009-01-14  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig.

       Testcase for implementation of WebKitCSSMatrix
       https://bugs.webkit.org/show_bug.cgi?id=21421

        * animations/combo-transform-translate+scale-expected.txt:
        * animations/combo-transform-translate+scale.html:
        * transforms/2d/cssmatrix-interface-expected.txt: Added.
        * transforms/2d/cssmatrix-interface.xhtml: Added.

2009-01-14  Darin Adler  <darin@apple.com>

        Reviewed by Beth Dakin.

        Try to fix regression test failures seen on Leopard; possibly new to 10.5.6.

        * http/tests/misc/willCacheResponse-delegate-callback-expected.txt: Removed.
        This test has enough Mac specifics in it that I don't think it makes sense to have cross-platform results.

        * platform/mac-tiger/http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
        Copied from http/tests/misc/willCacheResponse-delegate-callback-expected.txt.

        * platform/mac/http/tests/misc/willCacheResponse-delegate-callback-expected.txt:
        Copied from http/tests/misc/willCacheResponse-delegate-callback-expected.txt.
        Updated with non-Tiger results. The order of delegate calls has changed.

2009-01-14  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Eric Seidel.

        <https://bugs.webkit.org/show_bug.cgi?id=16829>
        Implement NPN_SetException()

        * plugins/netscape-throw-exception-expected.txt: Added.
        * plugins/netscape-throw-exception.html: Added.

2009-01-14  David Kilzer  <ddkilzer@apple.com>

        Disabling webarchive/test-link-rel-icon.html due to various buildbot failures

        Bug 23331: LayoutTests/webarchive/test-link-rel-icon.html fails in different ways on buildbots
        <https://bugs.webkit.org/show_bug.cgi?id=23331>

        * webarchive/test-link-rel-icon.html: Removed.
        * webarchive/test-link-rel-icon.html-disabled: Renamed from LayoutTests/webarchive/test-link-rel-icon.html.

2009-01-14  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        Bug 22903: REGRESSION (r36267): visiting this site reliably crashes WebKit nightly

        Add test to make sure we correctly mark cached EvalCodeBlocks

        * fast/js/cached-eval-gc-expected.txt: Added.
        * fast/js/cached-eval-gc.html: Added.
        * fast/js/resources/cached-eval-gc.js: Added.

2009-01-14  David Kilzer  <ddkilzer@apple.com>

        Bug 22795: favicons should be saved to webarchives

        <https://bugs.webkit.org/show_bug.cgi?id=22795>

        Reviewed by Darin Adler.

        Note that this test case contains a workaround for Bug 21026 and
        <rdar://problem/6240826> which may be removed once that is fixed.

        * webarchive/resources/favicon.ico: Copied from LayoutTests/fast/images/resources/favicon.ico.
        * webarchive/test-link-rel-icon-expected.webarchive: Added.
        * webarchive/test-link-rel-icon.html: Added.

2009-01-14  Nigel Tao  <nigel.tao.gnome@gmail.com>

        Reviewed by Darin Adler.

        - tests for https://bugs.webkit.org/show_bug.cgi?id=22476
        Added tests that calling dataTransfer.setData('URL', aFileUrl)
        only puts NSFilenamesPboardtype data on the clipboard if called
        from a locally served page.

        * http/tests/security/dataTransfer-set-data-file-url-expected.txt: Added.
        * http/tests/security/dataTransfer-set-data-file-url.html: Added.
        * platform/mac/editing/pasteboard/dataTransfer-set-data-file-url-expected.txt: Added.
        * platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html: Added.

2009-01-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23316
        Application cache updating always fails with an assertion

        * http/tests/appcache/resources/versioned-manifest.php: Added.
        * http/tests/appcache/update-cache-expected.txt: Added.
        * http/tests/appcache/update-cache.html: Added.

2009-01-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23313
        appcache/offline-access.html fails frequently

        * http/tests/appcache/resources/offline-access-frame.html:
        Make sure that the test runs, even if the cache update finishes before we install event listeners.

        * http/tests/appcache/offline-access-expected.txt:
        * http/tests/appcache/offline-access.html:
        Don't dump frame content, as it is timing dependent.

2009-01-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23256
        Implement application cache foreign entries

        * http/tests/appcache/resources/xhr-foreign-resource-2.manifest: Added.
        * http/tests/appcache/resources/xhr-foreign-resource-frame.html: Added.
        * http/tests/appcache/resources/xhr-foreign-resource.manifest: Added.
        * http/tests/appcache/xhr-foreign-resource-expected.txt: Added.
        * http/tests/appcache/xhr-foreign-resource.html: Added.

2009-01-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23286
        Add a test for non-ASCII URIs in application cache

        * http/tests/appcache/cyrillic-uri-expected.txt: Added.
        * http/tests/appcache/cyrillic-uri.html: Added.
        * http/tests/appcache/resources/cyrillic-uri-form.html: Added.
        * http/tests/appcache/resources/cyrillic-uri.manifest: Added.
        * http/tests/appcache/resources/intercept: Added.
        * http/tests/appcache/resources/intercept/.htaccess: Added.
        * http/tests/appcache/resources/print-uri.php: Added.

2009-01-13  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler and Oliver Hunt.

        Updated test and results for <rdar://problem/6489314> REGRESSION: 
        Business widget's front side fails to render correctly when 
        flipping widget

        parseInt(NaN) should be NaN.
        * fast/js/numeric-conversion-expected.txt:
        * fast/js/resources/numeric-conversion.js:

2009-01-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Add NPRuntime test.
        
        * plugins/npruntime-expected.txt: Added.
        * plugins/npruntime.html: Added.

2009-01-12  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin Adler
        
        Fix for <https://bugs.webkit.org/show_bug.cgi?id=22096>
        Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds 
        instead of miliseconds

        * fast/css/webkit-marquee-speed-unit-in-quirksmode-expected.txt: Added.
        * fast/css/webkit-marquee-speed-unit-in-quirksmode.html: Added.

2009-01-12  Eric Roman  <eroman@chromium.org>

        Reviewed by Darin Adler.
        https://bugs.webkit.org/show_bug.cgi?id=23232

        * editing/selection/doubleclick-whitespace-crash-expected.txt: Added.
        * editing/selection/doubleclick-whitespace-crash.html: Added.
        * editing/selection/doubleclick-whitespace-expected.txt:
        * editing/selection/doubleclick-whitespace.html:

2009-01-12  Alexey Proskuryakov  <ap@webkit.org>

        Update test results.

        * fast/dom/Window/window-properties-expected.txt: Remove appcache dynamic entries methods.

2009-01-11  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 23247: createSVGPathSegCurvetoCubicSmoothAbs doesn't set y2 correctly
        https://bugs.webkit.org/show_bug.cgi?id=23247

        Also fix problems where partially parsed paths will still have an effect
        rather than failing parsing and being ignored.

        Renamed the path-parser.html test to fuzz-path-parser.html, since it's a fuzz test,
        to make room for a non-fuzz test of the path parser.

        * platform/mac/svg/custom/path-bad-data-expected.txt: Updated results, since the old
        ones were based on incorrect path parsing behavior.

        * svg/dom/fuzz-path-parser-expected.txt: Copied from svg/dom/path-parser-expected.txt.
        Also updated because the parser no longer tolerates extra characters at the end of the
        string, which it was doing by accident.
        * svg/dom/fuzz-path-parser.html: Copied from svg/dom/path-parser.html.

        * svg/dom/path-parser-expected.txt: Replaced fuzz test results with new test results.
        * svg/dom/path-parser.html: Replaced fuzz test with a new test.
        * svg/dom/path-segments-expected.txt: Added.
        * svg/dom/path-segments.html: Added.

        * svg/dom/resources/TEMPLATE.html: Copied from fast/js/resources/TEMPLATE.html.

        * svg/dom/resources/path-parser.js: Added. Mostly, this test shows that we are
        processing the path while parsing it, which is a bug. This test would be much more
        useful if that was fixed. But it also shows that we were incorrectly tolerating
        extra characters after the path, which is now fixed.

        * svg/dom/resources/path-segments.js: Added.

2009-01-11  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23165
        Disable application cache dynamic entries support.

        * http/tests/appcache/dynamic-entries-no-cache.html: Removed.
        * http/tests/appcache/dynamic-entries-no-cache.html-disabled: Copied from LayoutTests/http/tests/appcache/dynamic-entries-no-cache.html.

2009-01-11  Darin Adler  <darin@apple.com>

        * fast/frames/frame-deep-nested-resize-expected.txt: This time for sure.

2009-01-11  Darin Adler  <darin@apple.com>

        Fix failure of new test seen on buildbots.

        * fast/frames/frame-deep-nested-resize-expected.txt: Updated newlines to
        match what DumpRenderTree generates on Mac. I believe Adam generated his
        results under Qt DumpRenderTree. If so, then the Qt version will need to
        change to match the Mac version, since all the expected results were
        generated on Mac.

2009-01-11  Adam Treat  <adam.treat@torchmobile.com>

        Reviewed by Darin Adler.

        Add test to check for correct frame resizing of deeply nested frames.

        * fast/frames/frame-deep-nested-resize-expected.txt: Added.
        * fast/frames/frame-deep-nested-resize.html: Added.

2009-01-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt

        https://bugs.webkit.org/show_bug.cgi?id=23242
        
        Add testcase for incremental repaint after use of ctx.transform(), and
        enhanced isPointInPath testcase to do testing after use of ctx.transform().

        * fast/canvas/canvas-incremental-repaint-2.html: Added.
        * fast/canvas/pointInPath-expected.txt:
        * fast/canvas/pointInPath.js:
        * platform/mac/fast/canvas/canvas-incremental-repaint-2-expected.checksum: Added.
        * platform/mac/fast/canvas/canvas-incremental-repaint-2-expected.png: Added.
        * platform/mac/fast/canvas/canvas-incremental-repaint-2-expected.txt: Added.

2009-01-11  Glenn Wilson  <gwilson@google.com>

        Reviewed by Darin Adler.

        Rebaselined/reworded tests that relied on WinIE's past quirk of 
        not allowing selection of unnamed radio buttons.

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

        * fast/forms/focus2-expected.txt:
        * fast/forms/focus2.html:
        * fast/forms/radio_checked_name-expected.txt:
        * fast/forms/radio_checked_name.html:

2009-01-11  tony chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Remove svn:eol-style native from some utf16 files so
        windows-svn doesn't alter them on checkout.

        * fast/xsl/xslt-enc16.xml: remove svn:eol-style
        * fast/xsl/xslt-enc16to16.xml: remove svn:eol-style

2009-01-11  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov

        - Make fast/encoding/char-encoding test work with Chromium by replacing
        'data:' with 'file:' pointing to resources/dummy.html (an empty file).
        - Put old Mac encodings in a separate char-encoding-mac.html to make it 
        possible to to skip it.
        - Factor out common functions in char-encoding.html and char-encoding-mac.html
        and put them in char-encoding-utils.js

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

        * fast/encoding/char-encoding-mac-expected.txt: Added.
        * fast/encoding/char-encoding-mac.html: Added.
        * fast/encoding/char-encoding.html:
        * fast/encoding/resources/char-encoding-utils.js: Added.
        * fast/encoding/resources/dummy.html: Added.

2009-01-11  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=16001
        Incorrect assumption that selection is always contiguous LTR.

        * editing/selection/extend-selection-bidi-expected.checksum: Added.
        * editing/selection/extend-selection-bidi-expected.png: Added.
        * editing/selection/extend-selection-bidi-expected.txt: Added.
        * editing/selection/extend-selection-bidi.html: Added.

2009-01-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=23222
        
        Test for repainting which is affected by LayoutState under an element
        with a CSS transform.

        * fast/repaint/transform-disable-layoutstate.html: Added.
        * platform/mac/fast/repaint/transform-disable-layoutstate-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-disable-layoutstate-expected.png: Added.
        * platform/mac/fast/repaint/transform-disable-layoutstate-expected.txt: Added.

2009-01-09  Sam Weinig  <sam@webkit.org>

        Check in correct results for failing test.

        * fast/dom/Window/window-properties-expected.txt:

2009-01-09  Joel Weinberger  <jww@cs.berkeley.edu>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        The test intended to test reload, but reference reload in one place and
        replace in another. This makes them consistent.

        * http/tests/security/resources/xss-DENIED-assign-location-reload-attacker.html:

2009-01-09  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        <rdar://problem/6477502> Repro crash reloading page using HTML5 AppCache on Windows

        * http/tests/appcache/reload-expected.txt: Added.
        * http/tests/appcache/reload.html: Added.
        * http/tests/appcache/resources/reload-iframe.html: Added.
        * http/tests/appcache/resources/reload-iframe.manifest: Added.

2009-01-09  Alexey Proskuryakov  <ap@webkit.org>

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

        * fast/dom/Window/window-properties-expected.txt: Forgot to commit this with r39699, too.

2009-01-08  Gavin Barraclough  <barraclough@apple.com>

        RS by Oliver Hunt.

        Looks like this should have been updated with r39699.

        * fast/js/global-constructors-expected.txt:

2009-01-08  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Added layout tests for CSS Transitions with zero-duration but non-zero-delay.

        Also updated the layout test for DRT API numberOfActiveAnimations() which now returns the number of "active" animations,
        instead of simply the running ones.

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

        * animations/animation-controller-drt-api-expected.txt:
        * animations/animation-controller-drt-api.html:
        * platform/win/Skipped:
        * transitions/zero-duration-with-non-zero-delay-end-expected.txt: Added.
        * transitions/zero-duration-with-non-zero-delay-end.html: Added.
        * transitions/zero-duration-with-non-zero-delay-start-expected.txt: Added.
        * transitions/zero-duration-with-non-zero-delay-start.html: Added.

2009-01-07  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        Part one of 
        https://bugs.webkit.org/show_bug.cgi?id=23165
        Add support for application cache dynamic entries

        * http/tests/appcache/dynamic-entries-no-cache-expected.txt: Added.
        * http/tests/appcache/dynamic-entries-no-cache.html: Added.

2009-01-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/6355786> Find fails for queries that contain a line break

        * editing/execCommand/6355786-expected.txt: Added.
        * editing/execCommand/6355786.html: Added.

2009-01-07  Dean Jackson  <dino@apple.com>

        Reviewed by Dan Bernstein.

        Added layout test for removing shorthand properties for
        animation, transition and transform origin.
        
        https://bugs.webkit.org/show_bug.cgi?id=22605

        * fast/css/transform-inline-style-remove-expected.txt: Added.
        * fast/css/transform-inline-style-remove.html: Added.

2009-01-07  Pierre-Olivier Latour  <pol@apple.com>

        Improve DRT API existence test in animation-test-helpers.js & transition-test-helpers.js.

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

        * animations/animation-test-helpers.js:
        * transitions/transition-test-helpers.js:

2009-01-06  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Darin Adler.

        Added layout test for new DRT API numberOfActiveAnimations().

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

        * animations/animation-controller-drt-api-expected.txt: Added.
        * animations/animation-controller-drt-api.html: Added.
        * platform/win/Skipped:

2009-01-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt.

        * animations/animation-test-helpers.js:
        (runAnimationTest.matrixStringToArray):
        (runAnimationTest.checkExpectedValue):
        * animations/simultaneous-start-left-expected.txt: Added.
        * animations/simultaneous-start-left.html: Added.
        * animations/simultaneous-start-transform-expected.txt: Added.
        * animations/simultaneous-start-transform.html: Added.

2009-01-06  Dean Jackson  <dino@apple.com>

        Reviewed by Dave Hyatt.

        Tests for Media Query extensions covering transitions,
        animations, transform-2d and transform-3d
        http://webkit.org/specs/MediaQueriesExtensions.html
        https://bugs.webkit.org/show_bug.cgi?id=22494

        * fast/media/mq-animation.html: Added.
        * fast/media/mq-transform-01.html: Added.
        * fast/media/mq-transform-02.html: Added.
        * fast/media/mq-transform-03.html: Added.
        * fast/media/mq-transform-04.html: Added.
        * fast/media/mq-transition.html: Added.
        * platform/mac/fast/media/mq-animation-expected.txt: Added.
        * platform/mac/fast/media/mq-transform-01-expected.txt: Added.
        * platform/mac/fast/media/mq-transform-02-expected.txt: Added.
        * platform/mac/fast/media/mq-transform-03-expected.txt: Added.
        * platform/mac/fast/media/mq-transform-04-expected.txt: Added.
        * platform/mac/fast/media/mq-transition-expected.txt: Added.

2009-01-06  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver Hunt.
        
        Tests for:
        <rdar://problem/4059423> DOM operations performed on editable HTML can cause a crash later during Undo (19703)
        
        A few more may able to be written after <rdar://problem/6468156> is fixed.

        * editing/undo/4059423-1-expected.txt: Added.
        * editing/undo/4059423-1.html: Added.
        * editing/undo/4059423-2-expected.txt: Added.
        * editing/undo/4059423-2.html: Added.

2009-01-06  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        <https://bugs.webkit.org/show_bug.cgi?id=23085> [jsfunfuzz] Over released ScopeChainNode
        <rdar://problem/6474110>

        Add test for over releasing the scopechain.

        * fast/js/exception-try-finally-scope-error-expected.txt:
        * fast/js/resources/exception-try-finally-scope-error.js:

2008-01-05  Dean Jackson  <dino@apple.com>

        Reviewed by David Hyatt.
        
        Implement 'pointer-events' for HTML content. This involved
        adding a new value 'auto' which behaves as 'visiblePainted'
        in SVG content. The new tests exercise 'auto' and 'none'
        on HTML content. The SVG tests have been updated to include
        'auto'
        
        https://bugs.webkit.org/show_bug.cgi?id=11395

        * fast/css/computed-style-expected.txt:
        * fast/css/computed-style-without-renderer-expected.txt:
        * fast/events/pointer-events-2-expected.txt: Added.
        * fast/events/pointer-events-2.html: Added.
        * fast/events/pointer-events-expected.txt: Added.
        * fast/events/pointer-events.html: Added.
        * platform/mac/svg/custom/pointer-events-image-expected.checksum:
        * platform/mac/svg/custom/pointer-events-image-expected.png:
        * platform/mac/svg/custom/pointer-events-image-expected.txt:
        * platform/mac/svg/custom/pointer-events-path-expected.checksum:
        * platform/mac/svg/custom/pointer-events-path-expected.png:
        * platform/mac/svg/custom/pointer-events-path-expected.txt:
        * platform/mac/svg/custom/pointer-events-text-expected.checksum:
        * platform/mac/svg/custom/pointer-events-text-expected.png:
        * platform/mac/svg/custom/pointer-events-text-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:
        * svg/custom/pointer-events-image.svg:
        * svg/custom/pointer-events-path.svg:
        * svg/custom/pointer-events-text.svg:

2009-01-05  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Fix failing set-colors test.

        * fast/canvas/resources/set-colors.js: Change the CMYK test cases to use the
        black channel only.
        * fast/canvas/set-colors-expected.txt: Updated. The old version I checked in
        accidentally expected failure for the bug I fixed. Also need new results for
        the CMYK test cases.

2009-01-05  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 23109: REGRESSION: Backwards search in a long document matches incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=23109

        * fast/text/find-backwards-expected.txt: Added.
        * fast/text/find-backwards.html: Added.
        * fast/text/resources/TEMPLATE.html: Copied from fast/js/resources/TEMPLATE.html.
        * fast/text/resources/find-backwards.js: Added.

2009-01-05  Darin Adler  <darin@apple.com>

        Reviewed by Anders Carlsson.

        Bug 23104: minor mistakes in init functions for animation and transition events
        https://bugs.webkit.org/show_bug.cgi?id=23104

        * fast/events/init-events-expected.txt: Added.
        * fast/events/init-events.html: Added.
        * fast/events/resources/init-events.js: Added.

2009-01-04  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        Bug 23105: canvas setFillColor function ignores alpha argument
        https://bugs.webkit.org/show_bug.cgi?id=23105

        * fast/canvas/resources/set-colors.js: Added.
        * fast/canvas/set-colors-expected.txt: Added.
        * fast/canvas/set-colors.html: Added.

2009-01-04  Simon Fraser  <simon.fraser@apple.com>

        Fix the expected image to account for a typo fix done on 2008-12-23.

        * platform/mac/fast/transforms/identity-matrix-expected.checksum:
        * platform/mac/fast/transforms/identity-matrix-expected.png:

2009-01-04  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=23090
        
        Repaint test for repainting when an element gets smaller,
        and gains a RenderLayer at the same time.
        
        * fast/repaint/create-layer-repaint.html: Added.
        * platform/mac/fast/repaint/create-layer-repaint-expected.checksum: Added.
        * platform/mac/fast/repaint/create-layer-repaint-expected.png: Added.
        * platform/mac/fast/repaint/create-layer-repaint-expected.txt: Added.

2009-01-02  Adam Treat  <treat@kde.org>

        Reviewed by George Staikos.

        Add layout test for new fixedLayoutSize feature of qt port

        * platform/qt/view/fixed-layout-size-expected.txt: Added.
        * platform/qt/view/fixed-layout-size.html: Added.

2009-01-04  Darin Adler  <darin@apple.com>

        Suggested by Dan Bernstein.

        * platform/mac/editing/selection/move-left-right-expected.txt: Remove WARNING lines that are no
        longer showing up. Dan said he didn't know why we were seeing those before and why they're gone
        now, but it's good that they're gone.

2009-01-03  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 23095: REGRESSION: fast/text/find-case-folding.html regression test failing when ICU used for text search
        https://bugs.webkit.org/show_bug.cgi?id=23095

        * fast/text/find-case-folding.html: Work around this ICU bug in the test for now.
        Later we might want to work around it in our search code instead, or in addition,
        if we can figure out how to do that.

2009-01-03  David D. Kilzer  <ddkilzer@webkit.org>

        Bug 23091: Some webarchive http tests intermittently fail due to Connection/Keep-Alive header differences

        <https://bugs.webkit.org/show_bug.cgi?id=23091>

        Reviewed by Darin Adler.

        Updated test results after removing Keep-Alive and Connection
        headers from webarchive tests.

        * http/tests/webarchive/test-css-url-encoding-expected.webarchive:
        * http/tests/webarchive/test-css-url-encoding-shift-jis-expected.webarchive:
        * http/tests/webarchive/test-css-url-encoding-utf-8-expected.webarchive:
        * http/tests/webarchive/test-preload-resources-expected.webarchive:

2009-01-03  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Darin.
 
        Testcase for:
        https://bugs.webkit.org/show_bug.cgi?id=22660
        SVG elements that are moved are nor fully invalidated/earsed
  
        * platform/mac/svg/custom/circle-move-invalidation-expected.checksum: Added.
        * platform/mac/svg/custom/circle-move-invalidation-expected.png: Added.
        * platform/mac/svg/custom/circle-move-invalidation-expected.txt: Added.
        * svg/custom/circle-move-invalidation.svg: Added.

2009-01-02  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        [jsfunfuzz] unwind logic for exceptions in eval fails to account for dynamic scope external to the eval
        https://bugs.webkit.org/show_bug.cgi?id=23078

        Test exception handling in side eval encapsulated by dynamic scopes.

        * fast/js/exception-with-handler-inside-eval-with-dynamic-scope-expected.txt: Added.
        * fast/js/exception-with-handler-inside-eval-with-dynamic-scope.html: Added.
        * fast/js/resources/exception-with-handler-inside-eval-with-dynamic-scope.js: Added.
        (runTest):

2009-01-02  David Smith  <catfish.man@gmail.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=22699
        Enable NodeList caching for getElementsByTagName
        
        * fast/dom/getelementsbytagnamens-mixed-namespaces-expected.txt: Added.
        * fast/dom/getelementsbytagnamens-mixed-namespaces.html: Added.

2009-01-02  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417> 
        Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale
        
        Add test for <video> zoom with and without width/height attributes

        * media/video-zoom.html: Added.
        * platform/mac/media/video-zoom-expected.txt: Added.

2009-01-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Testcase for animated GIF used as CSS background.
        
        * fast/backgrounds/animated-gif-as-background.html: Added.
        * fast/backgrounds/resources/red-green-animated.gif: Added.
        * platform/mac/fast/backgrounds/animated-gif-as-background-expected.checksum: Added.
        * platform/mac/fast/backgrounds/animated-gif-as-background-expected.png: Added.
        * platform/mac/fast/backgrounds/animated-gif-as-background-expected.txt: Added.

2009-01-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Add tests for animated svg-as-image, animated svg-as-background,
        and canvas-as-image.
        
        * fast/backgrounds/animated-svg-as-background.html: Added.
        * fast/backgrounds/animated-svg-as-mask.html: Added.
        * fast/backgrounds/resources/animated-rect-fixed-size.svg: Added.
        * fast/backgrounds/resources/animated-rect-relative-size.svg: Added.
        * fast/backgrounds/svg-as-background-5.html:
        * fast/canvas/canvas-as-image-incremental-repaint.html: Added.
        * fast/canvas/canvas-as-image.html: Added.
        * fast/images/animated-svg-as-image.html: Added.
        * fast/images/resources/animated-rect-fixed-size.svg: Added.
        * fast/images/resources/animated-rect-relative-size.svg: Added.
        * platform/mac/fast/backgrounds/animated-svg-as-background-expected.checksum: Added.
        * platform/mac/fast/backgrounds/animated-svg-as-background-expected.png: Added.
        * platform/mac/fast/backgrounds/animated-svg-as-background-expected.txt: Added.
        * platform/mac/fast/backgrounds/animated-svg-as-mask-expected.checksum: Added.
        * platform/mac/fast/backgrounds/animated-svg-as-mask-expected.png: Added.
        * platform/mac/fast/backgrounds/animated-svg-as-mask-expected.txt: Added.
        * platform/mac/fast/backgrounds/svg-as-background-5-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-5-expected.png:
        * platform/mac/fast/canvas/canvas-as-image-expected.checksum: Added.
        * platform/mac/fast/canvas/canvas-as-image-expected.png: Added.
        * platform/mac/fast/canvas/canvas-as-image-expected.txt: Added.
        * platform/mac/fast/canvas/canvas-as-image-incremental-repaint-expected.checksum: Added.
        * platform/mac/fast/canvas/canvas-as-image-incremental-repaint-expected.png: Added.
        * platform/mac/fast/canvas/canvas-as-image-incremental-repaint-expected.txt: Added.
        * platform/mac/fast/images/animated-svg-as-image-expected.checksum: Added.
        * platform/mac/fast/images/animated-svg-as-image-expected.png: Added.
        * platform/mac/fast/images/animated-svg-as-image-expected.txt: Added.

2009-01-02  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23076
        Add tests for application cache manifest parse failures

        * http/tests/appcache/resources/.htaccess:
        * http/tests/appcache/resources/wrong-content-type.manifest: Added.
        * http/tests/appcache/resources/wrong-signature.manifest: Added.
        * http/tests/appcache/wrong-content-type-expected.txt: Added.
        * http/tests/appcache/wrong-content-type.html: Added.
        * http/tests/appcache/wrong-signature-expected.txt: Added.
        * http/tests/appcache/wrong-signature.html: Added.

2009-01-02  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23022
        Fix multiple issues with appcache online whitelist handling

        * http/tests/appcache/resources/counter.php: Added a resource that changes on each access,
        making it possible to test that the network was hit when loading.

        * http/tests/appcache/online-whitelist-expected.txt: Added.
        * http/tests/appcache/online-whitelist.html: Added.
        * http/tests/appcache/resources/online-whitelist.manifest: Added.

2009-01-02  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23036
        <rdar://problem/6451666> Implement AppCache fallback entries (23036)

        * http/tests/appcache/fallback-expected.txt: Added.
        * http/tests/appcache/fallback.html: Added.
        * http/tests/appcache/resources/fallback-redirect.php: Added.
        * http/tests/appcache/resources/fallback.manifest: Added.
        Firefox 3.2b2 passes all subtests, except for XMLHttpRequest cross-origin redirect.

        * http/tests/resources/network-simulator.php: Return 404 for missing files.

2009-01-01  Darin Adler  <darin@apple.com>

        Add one more String.replace test case that I should have included in that last check-in.

        * fast/js/resources/string-replace-3.js: Added test case that covers more of the cases where
        $0-$99 are used but are actually valid.
        * fast/js/string-replace-3-expected.txt: Added new result.

2009-01-01  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        String.replace does not support $& replacement metacharacter when search term is not a RegExp
        <https://bugs.webkit.org/show_bug.cgi?id=21431>
        <rdar://problem/6274993>

        * fast/js/resources/string-replace-3.js: Added test cases to cover replace with non-regexp and
        to cover "$0" and "$00".
        * fast/js/string-replace-3-expected.txt: Added new results.

2009-01-01  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Turn on the regression test for ICU search on Mac OS X Tiger too.
        It was already on for Windows (by accident, failing), but now WebCore has been changed
        so it should work fine on all platforms using ICU, which includes both of those.

        * platform/mac-tiger/editing/execCommand: Removed.
        * platform/mac-tiger/editing/execCommand/findString-diacriticals-expected.txt: Removed.

2009-01-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler, Oliver Hunt

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

        Repaint test for incremental painting in canvas.
        
        * fast/canvas/canvas-incremental-repaint.html: Added.
        * platform/mac/fast/canvas/canvas-incremental-repaint-expected.checksum: Added.
        * platform/mac/fast/canvas/canvas-incremental-repaint-expected.png: Added.
        * platform/mac/fast/canvas/canvas-incremental-repaint-expected.txt: Added.

2009-01-01  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences
        https://bugs.webkit.org/show_bug.cgi?id=23051
        rdar://problem/3574497

        Currently this is only activated on the Mac platform, not including Tiger.

        * editing/execCommand/findString-diacriticals-expected.txt: Added. Expect failure.
        * editing/execCommand/findString-diacriticals.html: Added.
        * platform/mac-tiger/editing/execCommand: Added.
        * platform/mac-tiger/editing/execCommand/findString-diacriticals-expected.txt: Added. Expect failure.
        * platform/mac/editing/execCommand/findString-diacriticals-expected.txt: Added. Expect success.

2008-12-31  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        [jsfunfuzz] Assertion + incorrect behaviour with dynamically created local variable in a catch block
        <https://bugs.webkit.org/show_bug.cgi?id=23063>

        Add tests for variable declaration inside eval inside a catch block.

        * fast/js/eval-var-decl-expected.txt:
        * fast/js/resources/eval-var-decl.js:
        (try.thirdEvalResult):

2008-12-31  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        [jsfunfuzz] Computed exception offset wrong when first instruction is attempt to resolve deleted eval
        <https://bugs.webkit.org/show_bug.cgi?id=23062>

        Add an additional line number test to ensure we get the correct exception information when
        resolve of 'eval' fails.

        * fast/js/exception-linenums-expected.txt:
        * fast/js/resources/exception-linenums.js:

2008-12-31  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Add a test for bug 23054: Caching of global lookups occurs even when the global object has become a dictionary
        <https://bugs.webkit.org/show_bug.cgi?id=23054>
        <rdar://problem/6469905>

        * fast/js/pic/delete-global-object-expected.txt: Added.
        * fast/js/pic/delete-global-object.html: Added.

2008-12-30  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        <https://bugs.webkit.org/show_bug.cgi?id=23049> [jsfunfuzz] With blocks do not correctly protect their scope object
        <rdar://problem/6469742> Crash in JSC::TypeInfo::hasStandardGetOwnPropertySlot() running jsfunfuzz

        Tests to ensure we correctly protect the scope object from GC.

        * fast/js/resources/with-scope-gc.js: Added.
        * fast/js/with-scope-gc-expected.txt: Added.
        * fast/js/with-scope-gc.html: Added.

2008-12-30  Simon Fraser  <simon.fraser@apple.com>

        Fix spurious test failures by rounding floating point values to
        mask math differences between machines.

        * transitions/transform-op-list-match-expected.txt:
        * transitions/transform-op-list-match.html:
        * transitions/transform-op-list-no-match-expected.txt:
        * transitions/transform-op-list-no-match.html:
        * transitions/transition-test-helpers.js:
        (roundNumber):

2008-12-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=23042
        
        Repaint test for content inside reflections.
        
        * fast/repaint/reflection-redraw.html: Added.
        * platform/mac/fast/repaint/reflection-redraw-expected.checksum: Added.
        * platform/mac/fast/repaint/reflection-redraw-expected.png: Added.
        * platform/mac/fast/repaint/reflection-redraw-expected.txt: Added.

2008-12-30  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Sam Weinig.

        Add tests for bug 23037: Parsing and reparsing disagree on automatic semicolon insertion
        <https://bugs.webkit.org/show_bug.cgi?id=23037>
        <rdar://problem/6467124>

        * fast/js/reparsing-semicolon-insertion-expected.txt: Added.
        * fast/js/reparsing-semicolon-insertion.html: Added.
        * fast/js/resources/reparsing-semicolon-insertion.js: Added.

2008-12-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        - test for <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com

        * fast/forms/placeholder-non-textfield-expected.txt: Added.
        * fast/forms/placeholder-non-textfield.html: Added.

2008-12-29  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        Bug 23030: Cannot setTransform with a non-invertible ctm

        Tests to ensure correct behaviour when the canvas context does not
        have an invertible CTM.

        * fast/canvas/canvas-set-properties-with-non-invertible-ctm-expected.txt: Added.
        * fast/canvas/canvas-set-properties-with-non-invertible-ctm.html: Added.
        * fast/canvas/resources/canvas-set-properties-with-non-invertible-ctm.js: Added.
        (testPixel):

2008-12-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        Fix Windows svn update - replace a file with a colon in its name with an Apache rewrite.

        * http/tests/appcache/resources/.htaccess: Added.
        * http/tests/appcache/resources/UNKNOWN_SECTION:: Removed.

2008-12-29  Glenn Wilson  <gwilson@chromium.org>

        Reviewed by Darin Adler.
        Landed by Pamela Greene.

        Added new layout tests verifying that using a locally-scoped
        variable in an event handler of a form takes precedence over
        names of items in that form.

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

        * fast/forms/var-name-conflict-in-form-event-handler-expected.txt: Added.
        * fast/forms/var-name-conflict-in-form-event-handler.html: Added.

2008-12-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23007
        REGRESSION: Timer-related crash when closing Web Inspector

        * fast/dom/Window/remove-timeout-crash-expected.txt: Added.
        * fast/dom/Window/remove-timeout-crash.html: Added.

2008-12-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23012
        Bring application cache manifest parsing up to date

        * http/tests/appcache/manifest-parsing-expected.txt: Added.
        * http/tests/appcache/manifest-parsing.html: Added.
        * http/tests/appcache/resources/UNKNOWN_SECTION:: Added.
        * http/tests/appcache/resources/manifest-parsing.manifest: Added.

2008-12-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=23009
        Add a test for application cache offline operation

        * http/tests/resources/network-simulator.php: A proxy script to simulate a network connection
        that can go offline, using an infinite redirect loop in offline mode to generate an error.

        * http/tests/appcache/offline-access-expected.txt: Added.
        * http/tests/appcache/offline-access.html: Added.
        * http/tests/appcache/resources/offline-access-frame.html: Added.
        * http/tests/appcache/resources/offline-access.js: Added.
        * http/tests/appcache/resources/offline-access.manifest: Added.
        Test that an application loads successfully from cache.

        * http/tests/resources: Added.
        * http/tests/resources/portabilityLayer.php: Copied from LayoutTests/http/tests/xmlhttprequest/resources/portabilityLayer.php.
        * http/tests/resources/reset-temp-file.php: Copied from LayoutTests/http/tests/xmlhttprequest/resources/reset-temp-file.php.
        * http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html:
        * http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html:
        * http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html:
        * http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
        * http/tests/xmlhttprequest/resources/portabilityLayer.php: Removed.
        * http/tests/xmlhttprequest/resources/reset-temp-file.php: Removed.
        * http/tests/appcache/resources/fail-on-update.php:
        Moved some common scripts from xmlhttprequest/resources/ to resources/

2008-12-28  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Oliver Hunt.

        Add tests for bug 22840: REGRESSION (r38349): Gmail doesn't load with profiling enabled
        <https://bugs.webkit.org/show_bug.cgi?id=22840>
        <rdar://problem/6468077>

        * fast/profiler/call-register-leak-expected.txt: Added.
        * fast/profiler/call-register-leak.html: Added.

2008-12-27  Alexey Proskuryakov  <ap@webkit.org>

        Suggested by Dave Levin.

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

        Another attempt to fix the failing XHR tests on Tiger buildbot: make file_put_contents
        portable implementation return a result.

        * http/tests/xmlhttprequest/resources/portabilityLayer.php:

2008-12-26  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        Remove ensureTrailingSlash from appcache test.

        * http/tests/appcache/resources/fail-on-update.php:

2008-12-26  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        Attempt to fix the failiing XHR tests on Tiger buildbot.
        Remove the no longer needed ensureTrailingSlash function.

        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:

        * http/tests/xmlhttprequest/resources/portabilityLayer.php:
          Make sys_get_temp_dir() return "/tmp" when it can't find the temp directory through other means.

        * http/tests/xmlhttprequest/resources/reset-temp-file.php:

2008-12-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Anders Carlsson.

        Fix a layout test that was broken by the previous appcache commit
        (it only passed every other time as a result).

        * http/tests/appcache/fail-on-update.html:

2008-12-26  Simon Fraser  <simon.fraser@apple.com>

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

        Update more svg-as-image test results affected by the fix
        for SVGImage drawing.

        * platform/mac/fast/borders/svg-as-border-image-2-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.png:
        * platform/mac/fast/borders/svg-as-border-image-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-expected.png:

2008-12-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=23001
        A call to applicationCache.update() from a cached event listener should be ignored

        * http/tests/appcache/idempotent-update-expected.txt: Added.
        * http/tests/appcache/idempotent-update.html: Added.
        * http/tests/appcache/resources/idempotent-update.manifest: Added.

2008-12-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22997
        ASSERTION FAILED: !m_resources.contains(url) in ApplicationCache::addResource()

        * http/tests/appcache/resources/subframe-1.html: Added.
        * http/tests/appcache/resources/subframe-2.html: Added.
        * http/tests/appcache/resources/subframe-3.html: Added.
        * http/tests/appcache/resources/subframe-4.html: Added.
        * http/tests/appcache/resources/subframes-1.manifest: Added.
        * http/tests/appcache/resources/subframes-2.manifest: Added.
        * http/tests/appcache/resources/subframes-3.manifest: Added.
        * http/tests/appcache/resources/subframes-4.manifest: Added.
        * http/tests/appcache/top-frame-1-expected.txt: Added.
        * http/tests/appcache/top-frame-1.html: Added.
        * http/tests/appcache/top-frame-2-expected.txt: Added.
        * http/tests/appcache/top-frame-2.html: Added.
        * http/tests/appcache/top-frame-3-expected.txt: Added.
        * http/tests/appcache/top-frame-3.html: Added.
        * http/tests/appcache/top-frame-4-expected.txt: Added.
        * http/tests/appcache/top-frame-4.html: Added.
        Added a bunch of tests that cover subframe appcache behavior (and thus a good part of
        application cache selection algorithm in general).

        * http/tests/appcache/simple.html: Changed to execute on noupdate event, too, making the
        test pass in browser without emptying appcache on each run.

2008-12-26  David Levin  <levin@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=22950
        Added more logging to reset-temp-file to help expose potential issues that could cause test failures (on the Tiger buildbot).

        If there are issues in reset-temp-file, they are printed from the test access-control-basic-allow-preflight-cache.html

        * http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html:
        * http/tests/xmlhttprequest/resources/reset-temp-file.php:

2008-12-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22993
        Application cache shouldn't be inherited by subframes

        <rdar://problem/6284708> AppCache crashes in ApplicationCacheResource::addType()

        * http/tests/appcache/foreign-iframe-main-expected.txt: Added.
        * http/tests/appcache/foreign-iframe-main.html: Added.
        * http/tests/appcache/resources/foreign-iframe-subresource.js: Added.
        * http/tests/appcache/resources/foreign-iframe.html: Added.
        * http/tests/appcache/resources/foreign-iframe.manifest: Added.

2008-12-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt

        https://bugs.webkit.org/show_bug.cgi?id=21910
        
        Update more svg-as-image test results affected by the fix
        for SVGImage drawing.
        
        * platform/mac/fast/images/svg-as-background-expected.checksum:
        * platform/mac/fast/images/svg-as-background-expected.png:
        * platform/mac/fast/images/svg-as-image-expected.checksum:
        * platform/mac/fast/images/svg-as-image-expected.png:
        * platform/mac/fast/images/svg-as-relative-image-expected.checksum:
        * platform/mac/fast/images/svg-as-relative-image-expected.png:
        * transforms/2d/compound-transforms-vs-containers.html:

2008-12-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=22982
        http/tests/navigation/post-goback-repost-policy.html fails on Tiger

        Change resources that are accessed with POST from .html to .php. I don't know why Apache 2.0
        had no problem with this.

        * http/tests/navigation/post-goback-repost-policy.html:
        * http/tests/navigation/resources/goback-with-policydelegate.html: Removed.
        * http/tests/navigation/resources/goback-with-policydelegate.php: Copied from LayoutTests/http/tests/navigation/resources/goback-with-policydelegate.html.
        * http/tests/navigation/resources/post-target-policy-test.html: Removed.
        * http/tests/navigation/resources/post-target-policy-test.php: Copied from LayoutTests/http/tests/navigation/resources/post-target-policy-test.html.

2008-12-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=22941
        
        Add test for opacity on the document element.

        * fast/backgrounds/opacity-on-document-element.html: Added.
        * platform/mac/fast/backgrounds/opacity-on-document-element-expected.checksum: Added.
        * platform/mac/fast/backgrounds/opacity-on-document-element-expected.png: Added.
        * platform/mac/fast/backgrounds/opacity-on-document-element-expected.txt: Added.
        
        * fast/transforms/identity-matrix.html:
        * platform/mac/fast/transforms/identity-matrix-expected.txt:
        Fix typo

2008-12-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=21910
        
        Re-create expected images after fixing painting issue with SVGImage.

        * platform/mac/fast/backgrounds/svg-as-background-1-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-1-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-2-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-2-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-3-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-3-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-4-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-4-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.png:
        * platform/mac/fast/backgrounds/svg-as-mask-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-mask-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-05-b-expected.png:

2008-12-22  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Test case for bug 11106: Some XMLHttpRequest URI resolving tests fail
        https://bugs.webkit.org/show_bug.cgi?id=11106

        These tests are borrowed from Opera's test case suite (http://tc.labs.opera.com/apis/XMLHttpRequest).
        They correspond to open/004.html - open/010.html which were previously failing.

        * http/tests/xmlhttprequest/resources/test-uri-resolution.txt: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-004-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-005-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-006-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-007-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-008-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-009-iframe.html: Added.
        * http/tests/xmlhttprequest/resources/uri-resolution-opera-open-010-iframe.html: Added.
        * http/tests/xmlhttprequest/test-uri-resolution.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-004-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-004.html: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-005-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-005.html: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-006-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-006.html: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-007-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-007.html: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-008-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-008.html: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-009-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-009.html: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-010-expected.txt: Added.
        * http/tests/xmlhttprequest/uri-resolution-opera-open-010.html: Added.

2008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

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

        Fix regression caused by the HTMLFormElement refactorization.
        File form elements without a name have to be included in multipart/form-data
        submission. Cover this behaviour with a new test case.

        * http/tests/misc/empty-file-formdata-expected.txt: Added.
        * http/tests/misc/empty-file-formdata.html: Added.
        * http/tests/misc/resources/check-unnamed-file-included-in-formdata.php: Added.

2008-12-22  David Kilzer  <ddkilzer@apple.com>

        Bug 11850: Webarchive fails to save images referenced in CSS

        <https://bugs.webkit.org/show_bug.cgi?id=11850>

        Reviewed by Darin Adler.

        The first set of files below tests that URLs are encoded properly
        based on the charset of the stylesheet.  Normally this behavior may
        only be tested by looking at web server logs with manual tests, but
        webarchives represent this information in such a way that they may
        be tested by DumpRenderTree.  Note that these tests depend on Bug
        11850 being fixed, so it's not possible to separate them.

        The second set of files below tests that all types of resources
        referenced by url() in CSS stylesheets are now saved in webarchives.

        * http/tests/webarchive/resources/.htaccess: Added.
        * http/tests/webarchive/resources/apple.gif: Copied from LayoutTests/fast/canvas/resources/apple.gif.
        * http/tests/webarchive/resources/test-no-charset.css: Added.
        * http/tests/webarchive/resources/test-shift-jis.css: Added.
        * http/tests/webarchive/resources/test-utf-8.css: Added.
        * http/tests/webarchive/test-css-url-encoding-expected.webarchive: Added.
        * http/tests/webarchive/test-css-url-encoding-shift-jis-expected.webarchive: Added.
        * http/tests/webarchive/test-css-url-encoding-shift-jis.html: Added.
        * http/tests/webarchive/test-css-url-encoding-utf-8-expected.webarchive: Added.
        * http/tests/webarchive/test-css-url-encoding-utf-8.html: Added.
        * http/tests/webarchive/test-css-url-encoding.html: Added.

        * webarchive/resources/Ahem.ttf: Copied from LayoutTests/fast/css/resources/Ahem.ttf.
        * webarchive/test-css-url-resources-in-stylesheets-expected.webarchive: Added.
        * webarchive/test-css-url-resources-in-stylesheets.html: Added.
        * webarchive/test-css-url-resources-inline-styles-expected.webarchive: Added.
        * webarchive/test-css-url-resources-inline-styles.html: Added.

2008-12-22  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        <rdar://problem/6277060> ASSERTION FAILED: !m_cacheBeingUpdated if the manifest is not available

        Cover both the failing case, and its opposite, demonstrating that the assertion couldn't be
        just negated.

        * http/tests/appcache/404-manifest-expected.txt: Added.
        * http/tests/appcache/404-manifest.html: Added.
        * http/tests/appcache/fail-on-update-expected.txt: Added.
        * http/tests/appcache/fail-on-update.html: Added.
        * http/tests/appcache/resources/fail-on-update.php: Added.

2008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Alexey Proskuryakov & George Staikos.

        Add simple testcase covering WML <fieldset> element support.

        * fast/wml/fieldset.wml: Added.
        * platform/mac/fast/wml/fieldset-expected.checksum: Added.
        * platform/mac/fast/wml/fieldset-expected.png: Added.
        * platform/mac/fast/wml/fieldset-expected.txt: Added.

2008-12-21  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

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

        Attempted fix for 4 failing XMLHttpReuqest tests on Tiger:
         access-control-basic-allow-preflight-cache-invalidation-by-header.html
         access-control-basic-allow-preflight-cache-invalidation-by-method.html
         access-control-basic-allow-preflight-cache-timeout.html
         access-control-basic-allow-preflight-cache.html

        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
        * http/tests/xmlhttprequest/resources/portabilityLayer.php:
        * http/tests/xmlhttprequest/resources/reset-temp-file.php:

2008-12-22  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Add WML HTTP layout tests and an initital set of results.
        Allow to reuse the existing WMLTestCase.js framework from another
        LayoutTests/ top-level directory - modify TEMPLATE.html & WMLTestCase.js.

        * http/tests/wml: Added.
        * http/tests/wml/go-task-get-method-accept-charset-expected.txt: Added.
        * http/tests/wml/go-task-get-method-accept-charset.html: Added.
        * http/tests/wml/go-task-get-method-expected.txt: Added.
        * http/tests/wml/go-task-get-method.html: Added.
        * http/tests/wml/go-task-post-method-accept-charset-expected.txt: Added.
        * http/tests/wml/go-task-post-method-accept-charset.html: Added.
        * http/tests/wml/go-task-post-method-expected.txt: Added.
        * http/tests/wml/go-task-post-method.html: Added.
        * http/tests/wml/resources: Added.
        * http/tests/wml/resources/TEMPLATE.html: Added.
        * http/tests/wml/resources/answer-utf8.cgi: Added.
        * http/tests/wml/resources/answer.cgi: Added.
        * http/tests/wml/resources/go-task-get-method-accept-charset.js: Added.
        * http/tests/wml/resources/go-task-get-method.js: Added.
        * http/tests/wml/resources/go-task-post-method-accept-charset.js: Added.
        * http/tests/wml/resources/go-task-post-method.js: Added.
        * wml/go-task-animation.html:
        * wml/go-task-get-method-external-deck-with-href.html:
        * wml/go-task-get-method-external-deck.html:
        * wml/go-task-get-method-same-deck.html:
        * wml/resources/TEMPLATE.html:
        * wml/resources/WMLTestCase.js:
        * wml/variable-reference-invalid-character.html:
        * wml/variable-reference-valid.html:

2008-12-19  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Holger Freyther.

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

        Enable more tests for testing on Gtk+ port.

        * platform/gtk/Skipped:

2008-12-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=22938
        
        Test for painting with a transformed <html> element.

        * fast/transforms/transformed-document-element.html: Added.
        * platform/mac/fast/transforms/transformed-document-element-expected.checksum: Added.
        * platform/mac/fast/transforms/transformed-document-element-expected.png: Added.
        * platform/mac/fast/transforms/transformed-document-element-expected.txt: Added.

2008-12-19  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22612
        Add test to verify type enforcement in DOM setters.
        Resubmitting corrected copies; first submission had patching errors.

        * fast/dom/setter-type-enforcement-expected.txt: Added.
        * fast/dom/setter-type-enforcement.html: Added.

2008-12-18  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Darin Adler.

        Rewrote some of the transition layout tests that were using setTimeout() to use the transition pause API in DRT when available.

        Rewrote the transition layout tests that were specifically testing the transition end event to use common JS code from transition-end-event-helpers.js.

        Fixed some typos.

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

        * transitions/end-event-helpers.js: Removed.
        * transitions/interrupt-transform-transition-expected.txt:
        * transitions/interrupt-transform-transition.html:
        * transitions/opacity-transition-zindex.html:
        * transitions/start-transform-transition.html:
        * transitions/transform-op-list-match-expected.txt:
        * transitions/transform-op-list-match.html:
        * transitions/transform-op-list-no-match-expected.txt:
        * transitions/transform-op-list-no-match.html:
        * transitions/transition-end-event-all-properties-expected.txt:
        * transitions/transition-end-event-all-properties.html:
        * transitions/transition-end-event-attributes-expected.txt:
        * transitions/transition-end-event-attributes.html:
        * transitions/transition-end-event-container-expected.txt:
        * transitions/transition-end-event-container.html:
        * transitions/transition-end-event-helpers.js: Copied from LayoutTests/transitions/end-event-helpers.js.
        (recordTransitionEndEvent):
        (runTransitionTest.processEndEvents.compareEventInfo):
        (runTransitionTest.processEndEvents.examineResults):
        (runTransitionTest.processEndEvents):
        (runTransitionTest.startTest):
        (runTransitionTest.window):
        (runTransitionTest):
        * transitions/transition-end-event-left-expected.txt:
        * transitions/transition-end-event-left.html:
        * transitions/transition-end-event-multiple-01-expected.txt:
        * transitions/transition-end-event-multiple-01.html:
        * transitions/transition-end-event-multiple-02-expected.txt:
        * transitions/transition-end-event-multiple-02.html:
        * transitions/transition-end-event-multiple-03-expected.txt:
        * transitions/transition-end-event-multiple-03.html:
        * transitions/transition-end-event-multiple-04-expected.txt:
        * transitions/transition-end-event-multiple-04.html:
        * transitions/transition-end-event-nested-expected.txt:
        * transitions/transition-end-event-nested.html:
        * transitions/transition-end-event-set-none-expected.txt:
        * transitions/transition-end-event-set-none.html:
        * transitions/transition-end-event-transform-expected.txt:
        * transitions/transition-end-event-transform.html:
        * transitions/transition-end-event-window-expected.txt:
        * transitions/transition-end-event-window.html:
        * transitions/transition-test-helpers.js: Added.
        (runTransitionTest.isCloseEnough):
        (runTransitionTest.checkExpectedValue):
        (runTransitionTest.endTest):
        (runTransitionTest.runTest):
        (runTransitionTest.startTest):
        (runTransitionTest.if):
        * transitions/transition-timing-function-expected.txt: Copied from LayoutTests/transitions/transition-timing-function-software-expected.txt.
        * transitions/transition-timing-function-software-expected.txt: Removed.
        * transitions/transition-timing-function-software.html: Removed.
        * transitions/transition-timing-function.html: Copied from LayoutTests/transitions/transition-timing-function-software.html.
        * transitions/zero-duration-in-list-expected.txt:
        * transitions/zero-duration-in-list.html:

2008-12-18  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Add tests for bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link
        <https://bugs.webkit.org/show_bug.cgi?id=21855>
        <rdar://problem/6278244>

        Since DumpRenderTree support was added in order to support these tests,
        they are skipped on non-Mac platforms.

        * fast/events/popup-blocking-click-in-iframe-expected.txt: Added.
        * fast/events/popup-blocking-click-in-iframe.html: Added.
        * fast/events/resources/popup-blocking-click-in-iframe-otherFrame.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2008-12-18  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Moving layout test from root level into LayoutTests where it belongs.

        * fast/dom/setter-type-enforcement-expected.txt: Copied from fast/dom/setter-type-enforcement-expected.txt.
        * fast/dom/setter-type-enforcement.html: Copied from fast/dom/setter-type-enforcement.html.

2008-12-17  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Gavin Barraclough.
        
        Added a test for https://bugs.webkit.org/show_bug.cgi?id=22393
        Segfault when caching property accesses to primitive cells.

        * fast/js/primitive-property-access-edge-cases-expected.txt: Added.
        * fast/js/primitive-property-access-edge-cases.html: Added.
        * fast/js/resources/primitive-property-access-edge-cases.js: Added.
        ():

2008-12-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=22570
        
        Add testcase for reflection on an element with overflow: hidden

        * fast/reflections/reflection-overflow-hidden.html: Added.
        * platform/mac/fast/reflections/reflection-overflow-hidden-expected.checksum: Added.
        * platform/mac/fast/reflections/reflection-overflow-hidden-expected.png: Added.
        * platform/mac/fast/reflections/reflection-overflow-hidden-expected.txt: Added.

2008-12-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Maciej Stachowiak.

        Update results after fixing wml.css, to be more in-line with html4.css.

        Fixes all <do> related tests, to correctly appear as buttons,
        not just text with gray background, as it used to be.

        * platform/mac/fast/wml/do-element-optional-attr-expected.checksum:
        * platform/mac/fast/wml/do-element-optional-attr-expected.png:
        * platform/mac/fast/wml/do-element-optional-attr-expected.txt:
        * platform/mac/fast/wml/do-shadow-expected.checksum:
        * platform/mac/fast/wml/do-shadow-expected.png:
        * platform/mac/fast/wml/do-shadow-expected.txt:
        * platform/mac/fast/wml/do-template-expected.checksum:
        * platform/mac/fast/wml/do-template-expected.png:
        * platform/mac/fast/wml/do-template-expected.txt:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.checksum:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.png:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.txt:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.checksum:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.png:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.txt:
        * platform/mac/fast/wml/err-samename-do-expected.checksum:
        * platform/mac/fast/wml/err-samename-do-expected.png:
        * platform/mac/fast/wml/err-samename-do-expected.txt:

2008-12-17  Feng Qian <feng@chromium.org>

        Reviewed by Alexey Proskuryakov.
        Landed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=21948
        Change two tests to use the host url in XMLHttpRequest so that
        it does not fail because of Chrome's file URL security policy.
        It does not affect the expected behaviors of tests.
        * fast/dom/null-document-xmlhttprequest-open.html:
        * fast/dom/xmlhttprequest-invalid-values.html:

2008-12-17  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=22577
        Add a test to ensure that checkboxes and radio buttons with duplicate
        names map to a collection.

        * fast/dom/HTMLInputElement/duplicate-element-names-expected.txt: Added.
        * fast/dom/HTMLInputElement/duplicate-element-names.html: Added.

2008-12-17  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=22612
        Add test to verify type enforcement in DOM setters.

        * fast/dom/setter-type-enforcement-expected.txt: Added.
        * fast/dom/setter-type-enforcement.html: Added.

2008-12-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Rubber-stamped by Timothy Hatcher.

        Fix wml/ tests, by doing s/</\&lt;/ and s/>/\&gt;/.
        Not sure why this problem wasn't visible before, something has changed.

        * wml/go-task-animation-expected.txt:
        * wml/go-task-get-method-external-deck-expected.txt:
        * wml/go-task-get-method-external-deck-with-href-expected.txt:
        * wml/go-task-get-method-same-deck-expected.txt:
        * wml/resources/go-task-animation.js:
        * wml/resources/go-task-get-method-external-deck-with-href.js:
        * wml/resources/go-task-get-method-external-deck.js:
        * wml/resources/go-task-get-method-same-deck.js:

2008-12-16  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Unskip some tests that pass with the Qt DRT fixed for unload event
        counting.

        * platform/qt/Skipped:

2008-12-16  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Added mac API specific loader test to the skip list for the Qt DRT.

        * platform/qt/Skipped:

2008-12-15  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Oliver Hunt.

        Add several testcases covering WML table element handling.
        Fixed fast/wml/case-sensitivity.wml - which used HTML style tables, that now raise errors (missing 'columns' attribute).

        * fast/wml/case-sensitivity.wml:
        * fast/wml/table-element-align-attribute-invalid.wml: Added.
        * fast/wml/table-element-columns-attribute-invalid-number.wml: Added.
        * fast/wml/table-element-columns-attribute-invalid.wml: Added.
        * fast/wml/table-element-columns-attribute-missing.wml: Added.
        * fast/wml/table-element-columns-attribute.wml: Added.
        * platform/mac/fast/wml/err-invalid-tablecolumn-number-expected.checksum:
        * platform/mac/fast/wml/err-invalid-tablecolumn-number-expected.png:
        * platform/mac/fast/wml/err-invalid-tablecolumn-number-expected.txt:
        * platform/mac/fast/wml/table-element-align-attribute-invalid-expected.checksum: Added.
        * platform/mac/fast/wml/table-element-align-attribute-invalid-expected.png: Added.
        * platform/mac/fast/wml/table-element-align-attribute-invalid-expected.txt: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-expected.checksum: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-expected.png: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-expected.txt: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-invalid-expected.checksum: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-invalid-expected.png: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-invalid-expected.txt: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-invalid-number-expected.checksum: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-invalid-number-expected.png: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-invalid-number-expected.txt: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-missing-expected.checksum: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-missing-expected.png: Added.
        * platform/mac/fast/wml/table-element-columns-attribute-missing-expected.txt: Added.
        * platform/mac/fast/wml/table-element-expected.checksum:
        * platform/mac/fast/wml/table-element-expected.png:
        * platform/mac/fast/wml/table-element-expected.txt:

2008-12-15  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - test for <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window

        * fast/canvas/canvas-gradient-without-path.html: Let make-js-test-wrappers update this one.

        * fast/dom/Window/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
        * fast/dom/Window/resources/window-custom-prototype.js: Added.
        * fast/dom/Window/window-custom-prototype-expected.txt: Added.
        * fast/dom/Window/window-custom-prototype.html: Added.

2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Added an extra layout test for transitions.

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

        * transitions/change-values-during-transition-expected.txt: Added.
        * transitions/change-values-during-transition.html: Added.

2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Added an extra layout test for animations.

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

        * animations/combo-transform-rotate+scale-expected.txt: Added.
        * animations/combo-transform-rotate+scale.html: Added.

2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Updated transform-value-types.html and transform-value-types-expected.txt to latest version
        since change r39264 was lost when relocating these files.

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

        * transforms/2d/transform-value-types-expected.txt:
        * transforms/2d/transform-value-types.html:

2008-12-15  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Sam Weinig.

        Add new layout tests for transforms, animations & transitions.
        Also move a couple transform layout tests to the proper subdirectory.

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

        * animations/combo-transform-translate+scale-expected.txt: Added.
        * animations/combo-transform-translate+scale.html: Added.
        * transforms/2d/computed-style-origin-expected.txt: Copied from LayoutTests/transforms/computed-style-origin-expected.txt.
        * transforms/2d/computed-style-origin.html: Copied from LayoutTests/transforms/computed-style-origin.html.
        * transforms/2d/transform-value-types-expected.txt: Copied from LayoutTests/transforms/transform-value-types-expected.txt.
        * transforms/2d/transform-value-types.html: Copied from LayoutTests/transforms/transform-value-types.html.
        * transforms/computed-style-origin-expected.txt: Removed.
        * transforms/computed-style-origin.html: Removed.
        * transforms/transform-value-types-expected.txt: Removed.
        * transforms/transform-value-types.html: Removed.
        * transitions/interrupt-transform-transition-expected.txt: Added.
        * transitions/interrupt-transform-transition.html: Added.
        * transitions/start-transform-transition-expected.txt: Added.
        * transitions/start-transform-transition.html: Added.
        * transitions/transition-timing-function-software-expected.txt: Added.
        * transitions/transition-timing-function-software.html: Added.
        * transitions/zero-duration-in-list-expected.txt: Added.
        * transitions/zero-duration-in-list.html: Added.
        * transitions/zero-duration-without-units-expected.txt: Added.
        * transitions/zero-duration-without-units.html: Added.

2008-12-15  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger Freyther.

        Add worker tests to the skip list for the Qt DRT as the feature is not enabled.

        * platform/qt/Skipped:

2008-12-14  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Add a new WML testcase covering <timer> and <go> combinations: wml/go-task-animation.html

        * wml/go-task-animation-expected.txt: Added.
        * wml/go-task-animation.html: Added.
        * wml/resources/WMLTestCase.js:
        (createWMLTestCase.iframeElement.onload):
        (createWMLTestCase):
        * wml/resources/animation.wml: Added.
        * wml/resources/go-task-animation.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):
        * wml/resources/go-task-get-method-same-deck.js:
        (setupTestDocument):
        * wml/resources/test-document.wml:

2008-12-14  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        Ensure correct behaviour of composite on a fully transparent color.

        * fast/canvas/canvas-transparency-and-composite-expected.txt: Added.
        * fast/canvas/canvas-transparency-and-composite.html: Added.
        * fast/canvas/resources/canvas-transparency-and-composite.js: Added.

2008-12-14  Alexey Proskuryakov  <ap@webkit.org>

        Suggested by Holger Freyther.

        * fast/workers/worker-navigator-expected.txt:
        * fast/workers/worker-navigator.html:
        navigator.platform.length is intentionally zero on Gtk+, changed to check for its type.

2008-12-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22843
        Auto-generate JSWorkerContext

        * fast/workers/worker-replace-self-expected.txt: Added.
        * fast/workers/worker-replace-self.html: Added.
        Test that "self" is replaceable. This matches window.self behavior, but not Firefox.

        * fast/workers/worker-location-expected.txt:
        * fast/workers/worker-location.html:
        Added a test for global constructor.

2008-12-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        This test is wrong. We shouldn't fill something with a gradient, if the
        path is empty.

        * fast/canvas/gradient-empty-path.html: Removed.
        * platform/mac/fast/canvas/gradient-empty-path-expected.checksum: Removed.
        * platform/mac/fast/canvas/gradient-empty-path-expected.png: Removed.
        * platform/mac/fast/canvas/gradient-empty-path-expected.txt: Removed.

2008-12-13  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - test for https://bugs.webkit.org/show_bug.cgi?id=18734
          REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text
          <rdar://problem/5892415>

        * fast/forms/textarea-selection-preservation-expected.txt: Added.
        * fast/forms/textarea-selection-preservation.html: Added.

2008-12-13  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Dan Bernstein.

        Revert pixel test results back to the old version. This is
        reverting r39254.

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

        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
        * platform/mac/svg/custom/image-small-width-height-expected.checksum:
        * platform/mac/svg/custom/image-small-width-height-expected.png:
        * platform/mac/svg/custom/image-small-width-height-expected.txt:
        * platform/mac/svg/text/text-tselect-02-f-expected.checksum:
        * platform/mac/svg/text/text-tselect-02-f-expected.png:
        * platform/mac/svg/text/text-tselect-02-f-expected.txt:

2008-12-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Darin Adler.

        Checks behavior of gradients on an empty path in canvas.

        * fast/canvas/canvas-gradient-without-path-expected.txt: Added.
        * fast/canvas/canvas-gradient-without-path.html: Added.
        * fast/canvas/resources/canvas-gradient-without-path.js: Added.

2008-12-12  Dean Jackson  <dino@apple.com>

        Reviewed by Darin Adler.

        Expose WebKitAnimationEvent, WebKitTransitionEvent,
        WebKitCSSTransformValue, WebKitCSSKeyframeRule and
        WebKitCSSKeyframesRule to Window object.
        
        https://bugs.webkit.org/show_bug.cgi?id=20560
        
        * animations/keyframes-rule-expected.txt:
        * animations/keyframes-rule.html:
        * fast/dom/Window/window-properties-expected.txt:
        * fast/events/event-instanceof-expected.txt:
        * fast/events/resources/event-instanceof.js:
        * fast/js/global-constructors-expected.txt:
        * transforms/transform-value-types-expected.txt:
        * transforms/transform-value-types.html:

2008-12-12  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Oliver Hunt.

        Tests for bug 22835: Crash during bytecode generation when comparing to null
        <https://bugs.webkit.org/show_bug.cgi?id=22835>
        <rdar://problem/6286749>

        * fast/js/ignored-result-null-comparison-crash-expected.txt: Added.
        * fast/js/ignored-result-null-comparison-crash.html: Added.
        * fast/js/resources/ignored-result-null-comparison-crash.js: Added.

2008-12-12  Pierre-Olivier Latour  <pol@apple.com>

        Checked-in new results for failing SVG tests so that the bots are green again.

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

        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
        * platform/mac/svg/custom/image-small-width-height-expected.checksum:
        * platform/mac/svg/custom/image-small-width-height-expected.png:
        * platform/mac/svg/custom/image-small-width-height-expected.txt:
        * platform/mac/svg/text/text-tselect-02-f-expected.checksum:
        * platform/mac/svg/text/text-tselect-02-f-expected.png:
        * platform/mac/svg/text/text-tselect-02-f-expected.txt:

2008-12-12  Simon Hausmann  <hausmann@webkit.org>

        Rubber-stamped by Holger Freyther.

        Added all the failing tests in the Qt build that require font metrics
        to the skipped list, as discussed. We cannot maintain the metrics
        currently.

        * platform/qt/Skipped:

2008-12-11  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Mark Rowe.

        Roll out r39212 due to assertion failures during layout tests, multiple
        layout test failures, memory leaks, and obvious incorrectness.

        * security/override-preferences-2-expected.txt: Removed.
        * security/override-preferences-2.html: Removed.
        * security/override-preferences-expected.txt: Removed.
        * security/override-preferences.html: Removed.
        * security/override-zzz-reset-expected.txt: Removed.
        * security/override-zzz-reset.html: Removed.

2008-12-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Holger Freyther.

        Fix WML image layout tests to not rely on external resources.
        Update results after adding <img> support.

        * fast/wml/img-localsrc.wml:
        * fast/wml/img-src-localsrc-alt.wml:
        * fast/wml/img-src.wml:
        * fast/wml/resources: Added.
        * fast/wml/resources/fail.png: Added.
        * fast/wml/resources/pass.png: Added.
        * platform/mac/fast/wml/img-localsrc-expected.checksum:
        * platform/mac/fast/wml/img-localsrc-expected.png:
        * platform/mac/fast/wml/img-localsrc-expected.txt:
        * platform/mac/fast/wml/img-src-expected.checksum:
        * platform/mac/fast/wml/img-src-expected.png:
        * platform/mac/fast/wml/img-src-expected.txt:
        * platform/mac/fast/wml/img-src-localsrc-alt-expected.checksum:
        * platform/mac/fast/wml/img-src-localsrc-alt-expected.png:
        * platform/mac/fast/wml/img-src-localsrc-alt-expected.txt:

2008-12-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Adele Peterson.

        Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG
        <rdar://problem/6302405>
        <https://bugs.webkit.org/show_bug.cgi?id=22804>

        Test to make sure we don't crash, and don't display generated content.

        * svg/css/crash-css-generated-content-expected.txt: Added.
        * svg/css/crash-css-generated-content.xhtml: Added.

2008-12-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by Cameron Zwarich.

        https://bugs.webkit.org/show_bug.cgi?id=22797
        REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html
        
        * http/tests/plugins/get-url-expected.txt: Added.
        * http/tests/plugins/get-url.html: Added.

2008-12-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Eric Seidel.

        Fix typo in doctype (correct wapforum.org URL)

        * fast/wml/p-align.wml:
        * fast/wml/p-mode.wml:

2008-12-08  Dean McNamee  <deanm@chromium.org>

        Reviewed by Darin Adler.

        Always append a trailing slash when using PHP's sys_get_temp_dir().

        This allows these tests to run on Linux, where this API returns the
        directory without a trailing slash.

        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-timeout.php:
        * http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache.php:
        * http/tests/xmlhttprequest/resources/portabilityLayer.php:
        * http/tests/xmlhttprequest/resources/reset-temp-file.php:

2008-12-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Rubber-stamped by George Staikos.

        Update WML pixel test results, after adding <template> support.

        * platform/mac/fast/wml/do-shadow-expected.checksum:
        * platform/mac/fast/wml/do-shadow-expected.png:
        * platform/mac/fast/wml/do-template-expected.checksum:
        * platform/mac/fast/wml/do-template-expected.png:

2008-12-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Eric Seidel.

        Update WML test results after adding <template> support.

        * platform/mac/fast/wml/do-shadow-expected.txt:
        * platform/mac/fast/wml/do-template-expected.txt:

2008-12-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin

        Most of these policy delegate related tests will now pass with accompanying DRT changes.
        
        * platform/win/Skipped:  

2008-12-10  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Darin Adler.

        Replaced outdated reference image for svg/webarchive/svg-cursor-subresources.svg

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

        * platform/mac/svg/webarchive/svg-cursor-subresources-expected.checksum:
        * platform/mac/svg/webarchive/svg-cursor-subresources-expected.png:

2008-12-10  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Darin Adler.

        Rewrote animations/animation-test-helpers.js to take advantage of the pauseAnimationAtTimeOnElementWithId()
        API when available in DRT.

        Updated all animations tests that check for values of animated CSS properties to use these new helper functions.

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

        * animations/animation-test-helpers.js:
        (isCloseEnough):
        (checkExpectedValue):
        (endTest):
        (startTest):
        (runAnimationTest):
        * animations/big-rotation-expected.txt:
        * animations/big-rotation.html:
        * animations/change-keyframes-expected.txt:
        * animations/change-keyframes-name-expected.txt:
        * animations/change-keyframes-name.html:
        * animations/change-keyframes.html:
        * animations/change-one-anim-expected.txt:
        * animations/change-one-anim.html:
        * animations/generic-from-to-expected.txt:
        * animations/generic-from-to.html:
        * animations/import-expected.txt:
        * animations/import.html:
        * animations/keyframe-timing-functions-expected.txt:
        * animations/keyframe-timing-functions.html:
        * animations/keyframes-comma-separated-expected.txt:
        * animations/keyframes-comma-separated.html:
        * animations/keyframes-expected.txt:
        * animations/keyframes-from-missing.html:
        * animations/keyframes-out-of-order-expected.txt:
        * animations/keyframes-out-of-order.html:
        * animations/keyframes-to-missing.html:
        * animations/keyframes.html:
        * animations/lineheight-animation-expected.txt:
        * animations/lineheight-animation.html:
        * animations/matrix-anim-expected.txt:
        * animations/matrix-anim.html:
        * animations/multiple-animations-expected.txt:
        * animations/multiple-animations.html:
        * animations/multiple-keyframes-expected.txt:
        * animations/multiple-keyframes.html:
        * animations/transition-and-animation-1-expected.txt:
        * animations/transition-and-animation-1.html:
        * animations/transition-and-animation-2-expected.txt:
        * animations/transition-and-animation-2.html:
        * animations/width-using-ems-expected.txt:
        * animations/width-using-ems.html:
        * platform/win/Skipped:

2008-12-10  Alice Liu  <alice.liu@apple.com>

        Adding tweak to .conf files needed for 
        WebCore/manual-tests/drag-image-to-desktop.html

        Reviewed by Darin Adler.

        * http/conf/apache2-debian-httpd.conf:
        * http/conf/apache2-httpd.conf:
        * http/conf/cygwin-httpd.conf:
        * http/conf/httpd.conf:
        * http/tests/misc/resources/generatedimage.bat: Added.

2008-12-10  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam :( Weinig.
        
        Added a test for http://trac.webkit.org/changeset/39162.

        * fast/regex/malformed-escapes-expected.txt: Added.
        * fast/regex/malformed-escapes.html: Added.
        * fast/regex/resources/malformed-escapes.js: Added.

2008-12-10  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin

        New layout tests for testing the fix for https://bugs.webkit.org/show_bug.cgi?id=22194:

        * http/tests/navigation/post-goback-repost-policy-expected.txt: Added.
        * http/tests/navigation/post-goback-repost-policy.html: Added.
        * http/tests/navigation/resources/goback-with-policydelegate.html: Added.
        * http/tests/navigation/resources/post-target-policy-test.html: Added.

        Updated layout test results for the new "custom policy delegate" mechanism:

        * fast/encoding/mailto-always-utf-8-expected.txt:
        * fast/forms/mailto/advanced-get-expected.txt:
        * fast/forms/mailto/advanced-put-expected.txt:
        * fast/forms/mailto/get-multiple-items-expected.txt:
        * fast/forms/mailto/get-multiple-items-text-plain-expected.txt:
        * fast/forms/mailto/get-multiple-items-x-www-form-urlencoded-expected.txt:
        * fast/forms/mailto/get-non-ascii-always-utf-8-expected.txt:
        * fast/forms/mailto/get-non-ascii-expected.txt:
        * fast/forms/mailto/get-non-ascii-text-plain-expected.txt:
        * fast/forms/mailto/get-non-ascii-text-plain-latin-1-expected.txt:
        * fast/forms/mailto/get-overwrite-query-expected.txt:
        * fast/forms/mailto/post-append-query-expected.txt:
        * fast/forms/mailto/post-multiple-items-expected.txt:
        * fast/forms/mailto/post-multiple-items-multipart-form-data-expected.txt:
        * fast/forms/mailto/post-multiple-items-text-plain-expected.txt:
        * fast/forms/mailto/post-multiple-items-x-www-form-urlencoded-expected.txt:
        * fast/forms/mailto/post-text-plain-expected.txt:
        * fast/forms/mailto/post-text-plain-with-accept-charset-expected.txt:
        * http/tests/security/feed-urls-from-remote-expected.txt:

        Skip the new test on Windows until the policy delegate can be enhanced there:
        * platform/win/Skipped:
        (It is already implicitly skipped for qt and gtk)

2008-12-10  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Darin Adler.

        Added a test to verify that the DRT API pauseAnimationAtTimeOnElementWithId() does work
        with animations using multiple keyframes.

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

        * animations/animation-drt-api-multiple-keyframes.html: Added.
        * platform/mac/animations/animation-drt-api-multiple-keyframes-expected.checksum: Added.
        * platform/mac/animations/animation-drt-api-multiple-keyframes-expected.png: Added.
        * platform/mac/animations/animation-drt-api-multiple-keyframes-expected.txt: Added.
        * platform/win/Skipped:

2008-12-10  Hironori Bono  <hbono@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME
        https://bugs.webkit.org/show_bug.cgi?id=21820

        <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic)
        <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence

        Added test for verifying if a backspace key deletes only the last character of a ligature which consists of
        multiple Unicode characters.
        Also added a test for verifying an undo operation works after deleting the last character of a ligature.

        * editing/deleting/delete-ligature-001-expected.txt: Added.
        * editing/deleting/delete-ligature-001.html: Added.
        * editing/deleting/delete-ligature-002-expected.txt: Added.
        * editing/deleting/delete-ligature-002.html: Added.
        * editing/deleting/delete-ligature-003-expected.txt: Added.
        * editing/deleting/delete-ligature-003.html: Added.

2008-12-10  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Maciej Stachowiak.

        <rdar://problem/5959165> Crash in a number of iExploder tests in WebCore::CachedImage::notifyObservers

        Add a test for a crash that is no longer reproducible.

        * fast/css/mask-missing-image-crash-expected.txt: Added.
        * fast/css/mask-missing-image-crash.html: Added.

2008-12-09  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=19762
        Crash in svg/webarchive/svg-cursor-subresources.svg

        * svg/webarchive/svg-cursor-subresources.svg: Copied from LayoutTests/svg/webarchive/svg-cursor-subresources.svg-disabled.
        * svg/webarchive/svg-cursor-subresources.svg-disabled: Removed.
        Re-enabling the test.

2008-12-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Added a test for an assertion followed by a quantifier.

        * fast/regex/quantified-assertions-expected.txt: Added.
        * fast/regex/quantified-assertions.html: Added.
        * fast/regex/resources/quantified-assertions.js: Copied from fast/regex/resources/alternative-length-miscalculation.js.

2008-12-09  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.

        Updated regular expression layout tests to be agnostic between WREC
        and PCRE quirks. Also, updated results to match new, more web-compatible
        regular expression parsing.

        * fast/js/regexp-charclass-crash-expected.txt:
        * fast/js/regexp-charclass-crash.html:
        * fast/js/regexp-no-extensions-expected.txt:
        * fast/js/resources/regexp-no-extensions.js:
        * fast/regex/test1-expected.txt:

2008-12-09  David Levin  <levin@chromium.org>

        Reviewed by Eric Seidel.

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

        Add a test to check for crashes when attaching an event to a document created by
        'document.implementation.createDocument'.

        * fast/events/create-document-crash-on-attach-event-expected.txt: Added.
        * fast/events/create-document-crash-on-attach-event.html: Added.
        * fast/events/resources/create-document-crash-on-attach-event.js: Added.
        (doc.onload):

2008-12-09  David Levin  <levin@chromium.org>

        Reviewed by Eric Seidel.

        Add a test to check the event order for context clicks on Windows.

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

        * platform/win/fast/events/context-click-events-expected.txt: Added.
        * platform/win/fast/events/context-click-events.html: Added.
        * platform/win/fast/events/resources: Added.
        * platform/win/fast/events/resources/TEMPLATE.html: Added.
        * platform/win/fast/events/resources/context-click-events.js: Added.
        (clickHandler):
        (traceMouseEvent):


2008-12-09  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22719
        Implement Navigator object in Workers

        * fast/workers/worker-navigator-expected.txt: Added.
        * fast/workers/worker-navigator.html: Added.

2008-12-09  Pamela Greene  <pam@chromium.org>

        Submitted without review.
        Corrected results so the test passes.

        * fast/events/special-key-events-in-input-text-expected.txt:

2008-12-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Alexey Proskuryakov.

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

        Add new tests covering the WMLGoElement's GET method.
        Reactive disabled WML tests, as LayoutTests/wml/ is not run anymore if WebCore has been built without WML support.

        * wml/go-task-get-method-external-deck-expected.txt: Added.
        * wml/go-task-get-method-external-deck-with-href-expected.txt: Added.
        * wml/go-task-get-method-external-deck-with-href.html: Added.
        * wml/go-task-get-method-external-deck.html: Added.
        * wml/go-task-get-method-same-deck-expected.txt: Added.
        * wml/go-task-get-method-same-deck.html: Added.
        * wml/resources/WMLTestCase.js:
        (createWMLTestCase.iframeElement.onload):
        (createWMLTestCase):
        (completeTest.script.onload):
        (completeTest):
        * wml/resources/external-deck.wml: Added.
        * wml/resources/go-task-get-method-external-deck-with-href.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):
        * wml/resources/go-task-get-method-external-deck.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):
        * wml/resources/go-task-get-method-same-deck.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):
        * wml/resources/test-document.wml: Added.
        * wml/variable-reference-invalid-character.html: Copied from LayoutTests/wml/variable-reference-invalid-character.html-disabled.
        * wml/variable-reference-invalid-character.html-disabled: Removed.
        * wml/variable-reference-valid.html: Copied from LayoutTests/wml/variable-reference-valid.html-disabled.
        * wml/variable-reference-valid.html-disabled: Removed.

2008-12-08  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=22710
        Verifies that active timeout does not cause memory leak.

        * fast/dom/Window/resources/long_timeout.html: Added.
        * fast/dom/Window/timeout-released-on-close-expected.txt: Added.
        * fast/dom/Window/timeout-released-on-close.html: Added.

2008-12-08  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Fixed js-test-pre.js to print a meaningful, complete sentence when
        exception tests fail.

        * fast/js/const-expected.txt: Updated test for new results.

        * fast/js/resources/js-test-pre.js:
        (shouldThrow):

2008-12-08  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Increase timeout in video-paint-test.js so that <video> tests pass on the Tiger pixel bot which is slower
        than the Leopard one.

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

        * media/video-paint-test.js:
        (init):

2008-12-08  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Added a test for interesting uses of non-pattern-characters in regular
        expressions.

        * fast/regex/non-pattern-characters-expected.txt: Added.
        * fast/regex/non-pattern-characters.html: Added.
        * fast/regex/resources/non-pattern-characters.js: Added.

2008-12-08  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        - tests for https://bugs.webkit.org/show_bug.cgi?id=22409
          REGRESSION: cmd-shift-left/right don't switch tabs, instead select text

        * editing/execCommand/enabling-and-selection-2-expected.txt: Added.
        * editing/execCommand/enabling-and-selection-2.html: Added.
        * editing/execCommand/enabling-and-selection-expected.txt: Added.
        * editing/execCommand/enabling-and-selection.html: Added.
        * editing/execCommand/resources: Added.
        * editing/execCommand/resources/TEMPLATE.html: Copied from LayoutTests/fast/js/resources/TEMPLATE.html.
        * editing/execCommand/resources/enabling-and-selection-2.js: Added.
        * editing/execCommand/resources/enabling-and-selection.js: Added.

        * fast/canvas/canvas-setTransform.html: Let make-js-test-wrappers update this.
        * fast/canvas/canvas-strokeRect.html: Ditto.

        * platform/qt/Skipped: Added enabling-and-selection-2 to the skipped list.
        * platform/win/Skipped: Ditto.

2008-12-08  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22739
        Test the sequence of keyboard events generated for a keypress.

        * fast/events/special-key-events-in-input-text-expected.txt: Added.
        * fast/events/special-key-events-in-input-text.html: Added.

2008-12-08  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Tests cases for bug 17897: Not Rendering Images Imported from XHTML Document
        <rdar://problem/5827614>

        - xmlhttprequest-image-not-loaded*: test that an image loaded by an XMLHttpRequest and inserted into a XHTML or SVG Document
        is properly rendered.

        - image-blocked-src-change.html and image-blocked-src-no-change.html: test that an image that was in error is responding to src attribute change
          (whether it does really change the url or not).

        * http/tests/misc/image-blocked-src-change-expected.txt: Added.
        * http/tests/misc/image-blocked-src-change.html: Added.
        * http/tests/misc/image-blocked-src-no-change-expected.txt: Added.
        * http/tests/misc/image-blocked-src-no-change.html: Added.
        * http/tests/xmlhttprequest/resources/load-icon.svg: Added.
        * http/tests/xmlhttprequest/resources/load-icon.xhtml: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html: Added.

2008-12-08  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Disable the WML tests since no platforms build with WML enabled by default and the test failures are annoying.

        * wml/variable-reference-invalid-character.html-disabled: Renamed from LayoutTests/wml/variable-reference-invalid-character.html.
        * wml/variable-reference-valid.html-disabled: Renamed from LayoutTests/wml/variable-reference-valid.html.

2008-12-08  Aaron Boodman  <aa@chromium.org>

        Reviewed by Stephanie Lewis.

        https://bugs.webkit.org/show_bug.cgi?id=22301
        Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame().

        * fast/dom/Window/get-set-properties-expected.txt:
        * fast/events/onunload-window-property-expected.txt:
        * http/tests/loading/basic-expected.txt:
        * http/tests/loading/empty-subframe-expected.txt:
        * http/tests/loading/gmail-assert-on-load-expected.txt:
        * http/tests/loading/location-hash-reload-cycle-expected.txt:
        * http/tests/loading/onload-vs-immediate-refresh-expected.txt:
        * http/tests/loading/slow-parsing-subframe-expected.txt:
        * http/tests/xmlhttprequest/frame-load-cancelled-abort-expected.txt:
        * platform/mac/http/tests/loading/simple-subframe-expected.txt:
        * webarchive/loading/test-loading-archive-expected.txt:

2008-12-08  Oliver Hunt  <oliver@apple.com>

        Reviewed by Alexey Proskuryakov.

        Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler
        <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398)

        Add crash test for this regression -- simply clear the transition duration in the transitionEnd handler.

        * transitions/transition-duration-cleared-in-transitionend-crash-expected.txt: Added.
        * transitions/transition-duration-cleared-in-transitionend-crash.html: Added.

2008-12-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=22594
        
        Testcase for fetching inline style for -webkit-transform-origin
        and -webkit-transition.

        * fast/css/transform-inline-style-expected.txt: Added.
        * fast/css/transform-inline-style.html: Added.

2008-12-07  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        Tests strokeRect with patterns and gradients.

        * fast/canvas/canvas-strokeRect-expected.txt: Added.
        * fast/canvas/canvas-strokeRect.html: Added.
        * fast/canvas/resources/canvas-strokeRect.js: Added.

2008-12-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        Added tests for canvas's setTransform() and updated an existing one.

        * fast/canvas/canvas-setTransform-expected.txt: Added.
        * fast/canvas/canvas-setTransform.html: Added.
        * fast/canvas/resources/canvas-setTransform.js: Added.
        * fast/dom/Window/window-properties-expected.txt:

2008-12-06  Antti Koivisto  <antti@apple.com>

        Reusing property slots changed property ordering in this text.

        * editing/pasteboard/5780697-2-expected.txt:

2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto, Dan Bernstein
        
        https://bugs.webkit.org/show_bug.cgi?id=22088
        
        Testcase for repaint issue when transform changes

        * fast/repaint/transform-repaint-descendants.html: Added.
        * platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-repaint-descendants-expected.png: Added.
        * platform/mac/fast/repaint/transform-repaint-descendants-expected.txt: Added.

2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Update expected image now that the caret renders in transformed
        content.

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

        * platform/mac/fast/forms/search-transformed-expected.checksum:
        * platform/mac/fast/forms/search-transformed-expected.png:

2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=15739
        
        Testcase for selection painting on a transformed, replaced element.
        
        * fast/replaced/selection-rect-transform.html: Added.
        * platform/mac/fast/replaced/selection-rect-transform-expected.checksum: Added.
        * platform/mac/fast/replaced/selection-rect-transform-expected.png: Added.
        * platform/mac/fast/replaced/selection-rect-transform-expected.txt: Added.

2008-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=15671
        
        * fast/transforms/transformed-caret.html: Added.
        * platform/mac/fast/transforms/transformed-caret-expected.checksum: Added.
        * platform/mac/fast/transforms/transformed-caret-expected.png: Added.
        * platform/mac/fast/transforms/transformed-caret-expected.txt: Added.
        
          New testcase for caret on transformed element.
          
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.checksum:
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.png:
        
          Fix expected now that caret rendering works properly.

2008-12-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt.

        Testcases for https://bugs.webkit.org/show_bug.cgi?id=22635

        * animations/animation-iteration-event-destroy-renderer-expected.txt: Added.
        * animations/animation-iteration-event-destroy-renderer.html: Added.
        * animations/animation-start-event-destroy-renderer-expected.txt: Added.
        * animations/animation-start-event-destroy-renderer.html: Added.

2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22608
        Add a test for line numbers of uncaught JS exceptions.

        * fast/js/uncaught-exception-line-number-expected.txt: Added.
        * fast/js/uncaught-exception-line-number.html: Added.

2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22604
        Add test for onload handler named 'onload'.

        * fast/events/onload-name-collision-expected.txt: Added.
        * fast/events/onload-name-collision.html: Added.

2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22601
        Add test to verify that calling functions on a Java applet from JS works.

        * fast/dom/java-applet-calls-expected.txt: Added.
        * fast/dom/java-applet-calls.html: Added.
        * fast/dom/resources/TestApplet.class: Added.
        * fast/dom/resources/TestApplet.java: Added.
        (TestApplet): Source of test applet for use by layout test(s).
        (TestApplet.init):
        (TestApplet.setString):
        (TestApplet.getString):

2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22592
        Make sure the onload handler is only called once, even when there are
        multiple <body> nodes in the document.

        * fast/events/onload-fires-twice-expected.txt: Added.
        * fast/events/onload-fires-twice.html: Added.

2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22575
        Add a test for accessing NodeList items by name.

        * fast/dom/NodeList/nodelist-item-with-name-expected.txt: Added.
        * fast/dom/NodeList/nodelist-item-with-name.html: Added.

2008-12-05  Pamela Greene  <pam@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=22632
        Add a test for DOM operations with incompatible receivers or arguments.

        * fast/dom/incompatible-operations-expected.txt: Added.
        * fast/dom/incompatible-operations.html: Added.

2008-12-05  Justin Garcia  <justin.garcia@apple.com>

        Updating these test results.  On Tiger the fragment created from RTFD data 
        contained interchange newlines that we incorrectly handled before r38983.

        * platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.checksum:
        * platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.png:
        * platform/mac-tiger/editing/pasteboard/paste-RTFD-expected.txt:

2008-12-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Added a test for a bug I discovered while working on
        https://bugs.webkit.org/show_bug.cgi?id=22685.

        * fast/regex/non-capturing-backtracking-expected.txt: Added.
        * fast/regex/non-capturing-backtracking.html: Added.
        * fast/regex/resources/non-capturing-backtracking.js: Added.

2008-12-05  Dean Jackson  <dino@apple.com>

        Reviewed by David Hyatt.

        No longer need to add a fake listener on a document
        node in order to get events passed up to Window.
        https://bugs.webkit.org/show_bug.cgi?id=20572

        * transitions/transition-end-event-window.html:

2008-12-05  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        - Fix intermittent profiler test failures.  The problem is that idle
        time only shows up some times, probably dependent on if the system is
        running a little slow or has a network hiccup.  I've removed this.
        - I've also added <rdar://problem/6422004> Profiler tests fail because
        they sometimes don't have (idle) time. This is to investigate whether or
        not idle time should be showing up at all when running these tests.

        * fast/profiler/anonymous-event-handler-expected.txt:
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
        * fast/profiler/anonymous-function-calls-eval-expected.txt:
        * fast/profiler/apply-expected.txt:
        * fast/profiler/built-in-function-calls-anonymous-expected.txt:
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
        * fast/profiler/call-expected.txt:
        * fast/profiler/call-nodelist-as-function-expected.txt:
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
        * fast/profiler/compare-multiple-profiles-expected.txt:
        * fast/profiler/constructor-expected.txt:
        * fast/profiler/dead-time-expected.txt:
        * fast/profiler/document-dot-write-expected.txt:
        * fast/profiler/event-handler-expected.txt:
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
        * fast/profiler/heavy-view-expected.txt:
        * fast/profiler/inline-event-handler-expected.txt:
        * fast/profiler/many-calls-in-the-same-scope-expected.txt:
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
        * fast/profiler/multiple-frames-expected.txt:
        * fast/profiler/nested-anonymous-functon-expected.txt:
        * fast/profiler/nested-start-and-stop-profiler-expected.txt:
        * fast/profiler/one-execution-context-expected.txt:
        * fast/profiler/profile-calls-in-included-file-expected.txt:
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
        * fast/profiler/profiling-from-a-nested-location-expected.txt:
        * fast/profiler/resources/profiler-test-JS-resources.js:
        (printProfileNodeWithoutTime):
        * fast/profiler/simple-event-call-expected.txt:
        * fast/profiler/simple-no-level-change-expected.txt:
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt:
        * fast/profiler/stop-then-function-call-expected.txt:
        * fast/profiler/throw-exception-from-eval-expected.txt:
        * fast/profiler/two-execution-contexts-expected.txt:
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
        * fast/profiler/window-dot-eval-expected.txt:

2008-12-05  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22672
        ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout

        * http/tests/xmlhttprequest/send-on-abort-expected.txt: Added.
        * http/tests/xmlhttprequest/send-on-abort.html: Added.

        * http/tests/xmlhttprequest/abort-on-leaving-page-expected.txt: Removed.
        * http/tests/xmlhttprequest/abort-on-leaving-page.html: Removed.
        * http/tests/xmlhttprequest/frame-load-cancelled-abort-expected.txt:
        * http/tests/xmlhttprequest/resources/slow-response.pl: Removed.
        Stopping an XHR due to navigation no longer dispatches events.

2008-12-05  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        Revises charset alias map for TextCodecICU.
        - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000
        - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name)
        - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn
          mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly
          alias 'dos-874' to 'windows-874'.
        - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name.
          Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by
          directly going to 'GBK'.
        - Puts Mac encodings in a separate test 'char-decoding-mac.html'. Rename 'char-decoding-mac.html'
          in platform/mac to 'xnextstep-decoding.html' to avoid the name collision in the result files.
        - Adds a JS file for common functions used by char-decoding-*.html tests.

        * fast/encoding/char-decoding-expected.txt:
        * fast/encoding/char-decoding-mac-expected.txt: Added.
        * fast/encoding/char-decoding-mac.html: Added.
        * fast/encoding/char-decoding.html:
        * fast/encoding/resources/char-decoding-utils.js
        * platform/mac/fast/encoding/char-decoding-mac-expected.txt: Removed.
        * platform/mac/fast/encoding/char-decoding-mac.html: Removed.
        * platform/mac/fast/encoding/xnextstep-decoding-expected.txt: Copied from LayoutTests/platform/mac/fast/encoding/char-decoding-mac-expected.txt.
        * platform/mac/fast/encoding/xnextstep-decoding.html: Copied from LayoutTests/platform/mac/fast/encoding/char-decoding-mac.html.

2008-12-03  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Added a test for another input length miscalculation.

        * fast/regex/alternative-length-miscalculation-expected.txt:
        * fast/regex/resources/alternative-length-miscalculation.js:

2008-12-03  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Darin Adler.

        Add missing test files (utf-16,32 files) and two php files
        for bug 21635 and enabled utf-7 tests (bug 22492). The patch
        for bug 21635 was landed in http://trac.webkit.org/changeset/38755,
        but binary test files (utf-16/32) were omitted in the changeset.

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

        * http/tests/misc/resources/check-query-param.php: Added.
        * http/tests/misc/resources/echo-query-param.php: Added.
        * http/tests/misc/submit-get-in-utf16be.html: Added.
        * http/tests/misc/submit-get-in-utf16le.html: Added.
        * http/tests/misc/submit-get-in-utf32be.html: Added.
        * http/tests/misc/submit-get-in-utf32le.html: Added.
        * http/tests/misc/submit-get-in-utf7.html: Copied from http/tests/misc/submit-get-in-utf7.html-disabled.
        * http/tests/misc/submit-get-in-utf7.html-disabled: Removed.
        * http/tests/misc/submit-post-in-utf16be.html: Added.
        * http/tests/misc/submit-post-in-utf16le.html: Added.
        * http/tests/misc/submit-post-in-utf32be.html: Added.
        * http/tests/misc/submit-post-in-utf32le.html: Added.
        * http/tests/misc/submit-post-in-utf7.html: Copied from http/tests/misc/submit-post-in-utf7.html-disabled.
        * http/tests/misc/submit-post-in-utf7.html-disabled: Removed.
        * http/tests/misc/url-in-utf16be.html: Added.
        * http/tests/misc/url-in-utf16le.html: Added.
        * http/tests/misc/url-in-utf32be.html: Added.
        * http/tests/misc/url-in-utf32le.html: Added.
        * http/tests/misc/url-in-utf7.html: Copied from http/tests/misc/url-in-utf7.html-disabled.
        * http/tests/misc/url-in-utf7.html-disabled: Removed.

2008-12-03  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text

        * editing/pasteboard/6018653-expected.txt: Added.
        * editing/pasteboard/6018653.html: Added.

2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Forgot to rerun make-js-test-wrappers, and update some fast/wml results.

        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.checksum:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.png:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.txt:
        * wml/resources/variable-reference-invalid-character.js:
        * wml/resources/variable-reference-valid.js:

2008-12-03  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

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

        Add a first set of scriptable WML layout tests.
        Embed WML documents in an <iframe>, contained in a (X)HTML document, and script
        the LayoutTestController through XHTML <script> elements. See WMLTestCase.js,
        which is derived from SVGTestCase.js.

        All wml/*.html files are generated using make-js-test-wrappers.

        Add two tests covering variable substitution.

        * wml: Added.
        * wml/resources: Added.
        * wml/resources/TEMPLATE.html: Added.
        * wml/resources/WMLTestCase.js: Added.
        (createWMLElement):
        (createWMLTestCase.iframeElement.onload):
        (createWMLTestCase):
        (triggerUpdate):
        (startTest):
        (completeTest.script.onload):
        (completeTest):
        * wml/resources/variable-reference-invalid-character.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):
        * wml/resources/variable-reference-valid.js: Added.
        (setupTestDocument):
        (prepareTest):
        (executeTest):
        * wml/variable-reference-invalid-character-expected.txt: Added.
        * wml/variable-reference-invalid-character.html: Added.
        * wml/variable-reference-valid-expected.txt: Added.
        * wml/variable-reference-valid.html: Added.

2008-12-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Clean up and unify transition and animation test cases that destroy
        the renderer in the 'ended' event callback, either through setting display:none,
        or removing the element.
        
        * animations/animation-end-event-destroy-renderer-expected.txt: Added.
        * animations/animation-end-event-destroy-renderer.html: Added.
        * animations/transform-animation-event-destroy-element-expected.txt: Removed.
        * animations/transform-animation-event-destroy-element.html: Removed.
        * transitions/transform-transition-event-destroy-element-expected.txt: Removed.
        * transitions/transform-transition-event-destroy-element.html: Removed.
        * transitions/transition-end-event-destroy-renderer-expected.txt: Added.
        * transitions/transition-end-event-destroy-renderer.html: Added.

2008-12-03  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22630
        Assertion failure in XMLHttpRequest::contextDestroyed

        * http/tests/xmlhttprequest/close-window-expected.txt: Added.
        * http/tests/xmlhttprequest/close-window.html: Added.
        * http/tests/xmlhttprequest/resources/close-window-frame.html: Added.

2008-12-03  Dean Jackson  <dino@apple.com>

        Reviewed by Dan Bernstein.
        
        Tests for CSS 3 <angle> turn unit
        https://bugs.webkit.org/show_bug.cgi?id=22497

        * transforms/2d/transform-2d-expected.txt:
        * transforms/2d/transform-2d.html:
        * transforms/transform-value-types-expected.txt:
        * transforms/transform-value-types.html:

2008-12-03  Dean Jackson  <dino@apple.com>

        Reviewed by Dan Bernstein.

        Clean up some tests for private DRT API.
        https://bugs.webkit.org/show_bug.cgi?id=22498

        * platform/win/Skipped:
        * transitions/transition-drt-api-delay-expected.txt:
        * transitions/transition-drt-api-delay.html:
        * transitions/transition-shorthand-delay-expected.txt:
        * transitions/transition-shorthand-delay.html:

2008-12-03  Dirk Schulze  <krit@webkit.org>

        Updated/Correcte the SVG pixel tests.
        We pass two more SVG tests now.

        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:
        * platform/mac/svg/batik/text/textEffect3-expected.checksum:
        * platform/mac/svg/batik/text/textEffect3-expected.png:

2008-12-03  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add test for https://bugs.webkit.org/show_bug.cgi?id=22600,
        verifying that timeout callback is executed in the right scope.

        * fast/dom/Window/timeout-callback-scope-expected.txt: Added.
        * fast/dom/Window/timeout-callback-scope.html: Added.

2008-12-02  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=22543
        Consolidate ActiveDOMObject page cache interaction

        * http/tests/xmlhttprequest/abort-on-leaving-page-expected.txt: Added.
        * http/tests/xmlhttprequest/abort-on-leaving-page.html: Added.
        * http/tests/xmlhttprequest/resources/slow-response.pl: Added.
        Check that XHR is aborted when navigating to a different page.

        * http/tests/xmlhttprequest/frame-load-cancelled-abort-expected.txt:
        A readystatechange event is now fired when destroying a subframe that made a request.
        This matches Firefox, although test output is somewhat different due to window.parent
        being inaccessible from a detached frame there.

2008-11-28  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Add tests for bug 22504: Crashes during code generation occur due to refing of ignoredResult()
        <https://bugs.webkit.org/show_bug.cgi?id=22504>

        * fast/js/ignored-result-ref-crash-expected.txt: Added.
        * fast/js/ignored-result-ref-crash.html: Added.
        * fast/js/resources/ignored-result-ref-crash.js: Added.

2008-12-02  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.
        
        Test for https://bugs.webkit.org/show_bug.cgi?id=22537
        REGRESSION (r38745): Assertion failure in jsSubstring() at ge.com

        * fast/regex/alternative-length-miscalculation-expected.txt: Added.
        * fast/regex/alternative-length-miscalculation.html: Added.

2008-12-02  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=22472
        
        Test for repainting a selected, replaced element.
        
        * fast/repaint/selected-replaced.html: Added.
        * platform/mac/fast/repaint/selected-replaced-expected.checksum: Added.
        * platform/mac/fast/repaint/selected-replaced-expected.png: Added.
        * platform/mac/fast/repaint/selected-replaced-expected.txt: Added.

2008-12-02  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Added and modified tests for
        Bug 22606: Can <th> serves as the AXTitleUIElement for <td>?

        * accessibility/image-map1-expected.txt:
        * accessibility/image-map2-expected.txt:
        * accessibility/internal-link-anchors2-expected.txt:
        * accessibility/lists-expected.txt:
        * accessibility/plugin-expected.txt:
        * accessibility/table-detection-expected.txt:
        * accessibility/table-one-cell-expected.txt:
        * accessibility/table-with-aria-role-expected.txt:
        * accessibility/table-with-rules-expected.txt:
        * accessibility/th-as-title-ui-expected.txt: Added.
        * accessibility/th-as-title-ui.html: Added.

2008-12-02  Chris Fleizach  <cfleizach@apple.com>

        Update tests for Bug 22596: Some elements don't report AXBlockQuoteLevel

        Reviewed by John Sullivan.

        * accessibility/document-links-expected.txt:
        * accessibility/image-map1-expected.txt:
        * accessibility/image-map2-expected.txt:

2008-12-02  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.
        
        Add Layout test for https://bugs.webkit.org/show_bug.cgi?id=22460,
        testing ASSERT in console.trace() due to incomplete inheritance chain.

        * fast/dom/Window/console-trace-expected.txt: Added.
        * fast/dom/Window/console-trace.html: Added.

2008-12-02  Michael Moss  <mmoss@chromium.org>

        Reviewed by Eric Seidel.

        Enable http/tests/navigation/reload-subframe-*frame.html on Windows.
        https://bugs.webkit.org/show_bug.cgi?id=20926

        * platform/win/Skipped:

2008-12-01  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dan Bernstein.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION 
        (r19811): Using the down arrow in a textarea gets "stuck" at the 
        end of a wrapped line
        And corresponding: <rdar://problem/5347931>

        * editing/selection/wrapped-line-caret-1.html: Added.
        * editing/selection/wrapped-line-caret-2.html: Added.
        * platform/mac/editing/selection/wrapped-line-caret-1-
        expected.checksum: Added.
        * platform/mac/editing/selection/wrapped-line-caret-1-expected.png: 
        Added.
        * platform/mac/editing/selection/wrapped-line-caret-1-expected.txt: 
        Added.
        * platform/mac/editing/selection/wrapped-line-caret-2-
        expected.checksum: Added.
        * platform/mac/editing/selection/wrapped-line-caret-2-expected.png: 
        Added.
        * platform/mac/editing/selection/wrapped-line-caret-2-expected.txt: 
        Added.

2008-12-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Not reviewed. Forgot to include updated layout tests in last commit.

        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.checksum:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.png:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.txt:

2008-12-01  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Mark Rowe.

        Updated the reference images for the <video> layout tests as the ones checked-in previously
        do not pass on the pixel bots.

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

        * platform/mac/media/video-aspect-ratio-expected.checksum:
        * platform/mac/media/video-aspect-ratio-expected.png:
        * platform/mac/media/video-controls-rendering-expected.checksum:
        * platform/mac/media/video-controls-rendering-expected.png:
        * platform/mac/media/video-display-toggle-expected.checksum:
        * platform/mac/media/video-display-toggle-expected.png:
        * platform/mac/media/video-layer-crash-expected.checksum:
        * platform/mac/media/video-layer-crash-expected.png:
        * platform/mac/media/video-transformed-expected.checksum:
        * platform/mac/media/video-transformed-expected.png:

2008-12-01  David Kilzer  <ddkilzer@apple.com>

        Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org

        <https://bugs.webkit.org/show_bug.cgi?id=22466>
        <rdar://problem/6403593>

        Reviewed by Brady Eidson.

        * http/tests/webarchive/resources/test-preload-resources.css: Added.
        * http/tests/webarchive/test-preload-resources-expected.webarchive: Added.
        * http/tests/webarchive/test-preload-resources.html: Added.
        * platform/qt/Skipped: Added http/tests/webarchive and grouped the
        skipped list of other webarchive tests together.
        * platform/win/Skipped: Added http/tests/webarchive.

2008-12-01  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22464
        Add a test for a potential crash when performing a same-origin
        check on a subframe reloaded with about:blank.

        * fast/js/same-origin-subframe-about-blank-expected.txt: Added.
        * fast/js/same-origin-subframe-about-blank.html: Added.

2008-12-01  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Fixed <video> layout tests so that DRT is notified they are done only when the video frames
        are effectively rendered in the page. This requires using a timeout since there is no <video>
        event that fires when the first frame has been drawn (the closest even fires when the element
        is ready to render and will eventually draw at some unknown point in the future).
        Thanks to this change, these tests now pass in --pixel mode as well.

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

        * media/video-aspect-ratio.html:
        * media/video-controls-rendering.html:
        * media/video-display-toggle.html:
        * media/video-layer-crash.html:
        * media/video-paint-test.js:
        (init):
        * media/video-transformed.html:
        * platform/mac/media/video-aspect-ratio-expected.checksum:
        * platform/mac/media/video-aspect-ratio-expected.png:
        * platform/mac/media/video-controls-rendering-expected.checksum:
        * platform/mac/media/video-controls-rendering-expected.png:
        * platform/mac/media/video-display-toggle-expected.checksum:
        * platform/mac/media/video-display-toggle-expected.png:
        * platform/mac/media/video-layer-crash-expected.checksum:
        * platform/mac/media/video-layer-crash-expected.png:
        * platform/mac/media/video-transformed-expected.checksum:
        * platform/mac/media/video-transformed-expected.png:

2008-12-01  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22463
        Add a test for accessing navigator.cookieEnabled after navigation.

        * fast/dom/navigator-cookieEnabled-no-crash-expected.txt: Added.
        * fast/dom/navigator-cookieEnabled-no-crash.html: Added.
        * fast/dom/resources/test-successful-destination.html: Added.

2008-12-01  Pamela Greene  <pam@chromium.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=22365
        Add a test to verify behavior of DOM node constructors.

        * fast/dom/dom-constructors-expected.txt: Added.
        * fast/dom/dom-constructors.html: Added.

2008-12-01  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22358
        Add a test for crash on "Copy" after showing a tooltip.

        * editing/pasteboard/copy-crash-expected.txt: Added.
        * editing/pasteboard/copy-crash.html: Added.

2008-12-01  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=22531
        Stack overflow on PowerPC on fast/workers/use-machine-stack.html

        Disabling the test until the problem can be investigated.

        * fast/workers/use-machine-stack.html: Removed.
        * fast/workers/use-machine-stack.html-disabled: Copied from fast/workers/use-machine-stack.html.

2008-11-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21063
        NULL pointer crash in dispatchEvent(null);

        * fast/events/dispatchEvent-crash-expected.txt: Added.
        * fast/events/dispatchEvent-crash.html: Added.

2008-11-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        - test for https://bugs.webkit.org/show_bug.cgi?id=22454
          <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org

        * http/tests/misc/font-face-in-multiple-segmented-faces-expected.txt: Added.
        * http/tests/misc/font-face-in-multiple-segmented-faces.html: Added.

2008-11-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=14968
        document.open() erroneously returns void instead of the new Document

        * fast/dom/HTMLDocument/document-open-return-value-expected.txt: Added.
        * fast/dom/HTMLDocument/document-open-return-value.html: Added.

2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Cameron Zwarich.

        Update WML layout test results after adding <timer> element support.

        * platform/mac/fast/wml/err-multi-timer-expected.checksum:
        * platform/mac/fast/wml/err-multi-timer-expected.png:
        * platform/mac/fast/wml/err-multi-timer-expected.txt:

2008-11-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Holger Freyther.

        Update WML layout test results after adding <do> element support.

        * platform/mac/fast/wml/do-element-optional-attr-expected.checksum:
        * platform/mac/fast/wml/do-element-optional-attr-expected.png:
        * platform/mac/fast/wml/do-element-optional-attr-expected.txt:
        * platform/mac/fast/wml/do-shadow-expected.txt:
        * platform/mac/fast/wml/do-template-expected.txt:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.checksum:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.png:
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.txt:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.txt:
        * platform/mac/fast/wml/err-samename-do-expected.checksum:
        * platform/mac/fast/wml/err-samename-do-expected.png:
        * platform/mac/fast/wml/err-samename-do-expected.txt:

2008-11-26  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

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

        Catch WML errors (invalid variable name/reference, multiple access elements, etc)
        while parsing the document, and stop parsing immediately and wrap the document
        fragment in a XHTML error document, just like it's done from XML parsing errors.

        Update affected layout tests (all fixed).

        * platform/mac/fast/wml/do-shadow-expected.txt:
        * platform/mac/fast/wml/do-template-expected.txt:
        * platform/mac/fast/wml/err-event-binding-conflict-expected.checksum:
        * platform/mac/fast/wml/err-event-binding-conflict-expected.png:
        * platform/mac/fast/wml/err-event-binding-conflict-expected.txt:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.checksum:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.png:
        * platform/mac/fast/wml/err-invalid-variable-name-expected.txt:
        * platform/mac/fast/wml/err-multi-access-expected.checksum:
        * platform/mac/fast/wml/err-multi-access-expected.png:
        * platform/mac/fast/wml/err-multi-access-expected.txt:
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.checksum:
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.png:
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.txt:

2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Not reviewed. Forgot to include this layout test update in the last commit.

        * platform/mac-tiger/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:

2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Mark Rowe.

        Fix nine failing tests on the build bot. Update mac-tiger results.

        * platform/mac-tiger/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * platform/mac-tiger/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/mac-tiger/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * platform/mac-tiger/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/mac-tiger/svg/hixie/perf/001-expected.txt:
        * platform/mac-tiger/svg/hixie/perf/002-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:
        * platform/mac-tiger/svg/text/text-path-01-b-expected.txt:

2008-11-10  Glenn Wilson  <gwilson@chromium.org>

        Reviewed by Dan Bernstein.

        Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953

        Added layout tests to verify that characters not defined in the default font with the small-caps variant
        won't cause a crash

        * fast/css/small-caps-crash-expected.txt: Added.
        * fast/css/small-caps-crash.html: Added.

2008-11-26  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver Hunt.

        Update layout tests, after fixing the path to string logic.

        * 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-82-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-01-b-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.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.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-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-intro-05-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/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/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textLength-expected.txt:
        * platform/mac/svg/batik/text/textOnPath2-expected.txt:
        * platform/mac/svg/batik/text/textOnPath3-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/batik/text/textProperties2-expected.txt:
        * platform/mac/svg/batik/text/verticalText-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/textbox-expected.txt:
        * platform/mac/svg/carto.net/window-expected.txt:
        * platform/mac/svg/css/css-box-min-width-expected.txt:
        * platform/mac/svg/custom/SVGNumber-interface-expected.txt:
        * platform/mac/svg/custom/SVGPoint-interface-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/altglyph-expected.txt:
        * platform/mac/svg/custom/attribute-namespace-check-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-2-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/coords-relative-units-transforms-expected.txt:
        * platform/mac/svg/custom/create-metadata-element-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.txt:
        * platform/mac/svg/custom/dynamic-viewBox-expected.txt:
        * platform/mac/svg/custom/empty-clip-path-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/filter-source-alpha-expected.txt:
        * platform/mac/svg/custom/focus-ring-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/getsvgdocument-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.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-with-br-expected.txt:
        * platform/mac/svg/custom/hover-default-fill-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/invalid-transforms-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-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-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-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/junk-data-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-overflow-clip-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/missing-xlink-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-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-in-defs-expected.txt:
        * platform/mac/svg/custom/pattern-rotate-expected.txt:
        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
        * platform/mac/svg/custom/percentage-of-html-parent-expected.txt:
        * platform/mac/svg/custom/percentage-rect-expected.txt:
        * platform/mac/svg/custom/percentage-rect2-expected.txt:
        * platform/mac/svg/custom/pointer-events-path-expected.txt:
        * platform/mac/svg/custom/poly-identify-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/repaint-on-image-bounds-change-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/rootmost-svg-xy-attrs-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/simpleCDF-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-absolute-children-expected.txt:
        * platform/mac/svg/custom/svg-float-border-padding-expected.txt:
        * platform/mac/svg/custom/svg-overflow-types-expected.txt:
        * platform/mac/svg/custom/svgpolyparser-extra-space-expected.txt:
        * platform/mac/svg/custom/text-clip-expected.txt:
        * platform/mac/svg/custom/text-dom-01-f-expected.txt:
        * platform/mac/svg/custom/text-gradient-no-content-expected.txt:
        * platform/mac/svg/custom/transform-ignore-after-invalid-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/transform-with-ending-space-expected.txt:
        * 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-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-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-rect-expected.txt:
        * platform/mac/svg/custom/use-on-symbol-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-recursion-1-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/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/003-expected.txt:
        * platform/mac/svg/hixie/dynamic/004-expected.txt:
        * platform/mac/svg/hixie/dynamic/005-expected.txt:
        * platform/mac/svg/hixie/dynamic/006-expected.txt:
        * platform/mac/svg/hixie/error/001-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/012-expected.txt:
        * platform/mac/svg/hixie/error/014-expected.txt:
        * platform/mac/svg/hixie/error/014-test-expected.txt:
        * platform/mac/svg/hixie/error/015-expected.txt:
        * platform/mac/svg/hixie/error/016-expected.txt:
        * platform/mac/svg/hixie/error/017-expected.txt:
        * platform/mac/svg/hixie/links/001-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/008-expected.txt:
        * platform/mac/svg/hixie/mixed/009-expected.txt:
        * platform/mac/svg/hixie/mixed/010-expected.txt:
        * platform/mac/svg/hixie/mixed/011-expected.txt:
        * platform/mac/svg/hixie/painting/001-expected.txt:
        * platform/mac/svg/hixie/perf/001-expected.txt:
        * platform/mac/svg/hixie/perf/002-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/rendering-model/003-expected.txt:
        * platform/mac/svg/hixie/rendering-model/003a-expected.txt:
        * platform/mac/svg/hixie/rendering-model/004-expected.txt:
        * platform/mac/svg/hixie/shapes/path/001-expected.txt:
        * platform/mac/svg/hixie/text/001-broken-expected.txt:
        * platform/mac/svg/hixie/transform/001-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/kerning-expected.txt:
        * platform/mac/svg/text/multichar-glyph-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-intro-05-t-expected.txt:
        * platform/mac/svg/text/text-path-01-b-expected.txt:
        * 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:
        * svg/custom/text-dom-removal-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:

2008-11-26  Jan Michael Alonzo  <jmalonzo@webkit.org>

        Reviewed by Holger Freyther.

        [Gtk] add/remove tests from Skipped and fix netscape plugin test
        https://bugs.webkit.org/show_bug.cgi?id=22484

        Add tests that needs confirmation of new results. Also, remove
        some tests that are already passing.

        * platform/gtk/Skipped:

2008-11-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        Add a test for infinite recursion in workers
        https://bugs.webkit.org/show_bug.cgi?id=22486

        * fast/workers/resources/use-machine-stack.js: Added.
        * fast/workers/use-machine-stack-expected.txt: Added.
        * fast/workers/use-machine-stack.html: Added.

2008-11-25  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dan Bernstein.

        Testcases for https://bugs.webkit.org/show_bug.cgi?id=22487

        * animations/empty-keyframes-expected.txt: Added.
        * animations/empty-keyframes.html: Added.
        * animations/fill-unset-properties-expected.txt: Added.
        * animations/fill-unset-properties.html: Added.

2008-11-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Tests that remove the element upon which a transition/animation end
        event is being fired from within the event handler.

        * animations/transform-animation-event-destroy-element-expected.txt: Added.
        * animations/transform-animation-event-destroy-element.html: Added.
        * transitions/transform-transition-event-destroy-element-expected.txt: Added.
        * transitions/transform-transition-event-destroy-element.html: Added.

2008-11-25  Darin Fisher  <darin@chromium.org>

        Disabling these newly added tests since they fail in some configurations.

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

        * http/tests/misc/submit-get-in-utf7.html: Removed.
        * http/tests/misc/submit-get-in-utf7.html-disabled: Copied from http/tests/misc/submit-get-in-utf7.html.
        * http/tests/misc/submit-post-in-utf7.html: Removed.
        * http/tests/misc/submit-post-in-utf7.html-disabled: Copied from http/tests/misc/submit-post-in-utf7.html.
        * http/tests/misc/url-in-utf7.html: Removed.
        * http/tests/misc/url-in-utf7.html-disabled: Copied from http/tests/misc/url-in-utf7.html.

2008-11-25  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Darin Adler.

        For Unicode encodings other than UTF-8, use UTF-8 for
        form submission and URL query part encoding.

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

        * http/tests/misc/submit-get-in-utf16be-expected.txt: Added.
        * http/tests/misc/submit-get-in-utf16be.html: Added.
        * http/tests/misc/submit-get-in-utf16le-expected.txt: Added.
        * http/tests/misc/submit-get-in-utf16le.html: Added.
        * http/tests/misc/submit-get-in-utf32be-expected.txt: Added.
        * http/tests/misc/submit-get-in-utf32be.html: Added.
        * http/tests/misc/submit-get-in-utf32le-expected.txt: Added.
        * http/tests/misc/submit-get-in-utf32le.html: Added.
        * http/tests/misc/submit-get-in-utf7-expected.txt: Added.
        * http/tests/misc/submit-get-in-utf7.html: Added.
        * http/tests/misc/submit-post-in-utf16be-expected.txt: Added.
        * http/tests/misc/submit-post-in-utf16be.html: Added.
        * http/tests/misc/submit-post-in-utf16le-expected.txt: Added.
        * http/tests/misc/submit-post-in-utf16le.html: Added.
        * http/tests/misc/submit-post-in-utf32be-expected.txt: Added.
        * http/tests/misc/submit-post-in-utf32be.html: Added.
        * http/tests/misc/submit-post-in-utf32le-expected.txt: Added.
        * http/tests/misc/submit-post-in-utf32le.html: Added.
        * http/tests/misc/submit-post-in-utf7-expected.txt: Added.
        * http/tests/misc/submit-post-in-utf7.html: Added.
        * http/tests/misc/url-in-utf16be-expected.txt: Added.
        * http/tests/misc/url-in-utf16be.html: Added.
        * http/tests/misc/url-in-utf16le-expected.txt: Added.
        * http/tests/misc/url-in-utf16le.html: Added.
        * http/tests/misc/url-in-utf32be-expected.txt: Added.
        * http/tests/misc/url-in-utf32be.html: Added.
        * http/tests/misc/url-in-utf32le-expected.txt: Added.
        * http/tests/misc/url-in-utf32le.html: Added.
        * http/tests/misc/url-in-utf7-expected.txt: Added.
        * http/tests/misc/url-in-utf7.html: Added.

2008-11-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=9001
        Javascript stops running before replacement page data arrives

        Adding a test for a bug that is longer reproducible.

        * http/tests/misc/resources/hang-connection.php: Added.
        * http/tests/misc/timer-vs-loading-expected.txt: Added.
        * http/tests/misc/timer-vs-loading.html: Added.

2008-11-24  Dean McNamee  <deanm@chromium.org>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=22350
        Allow layout tests to run in php cgi mode

        * http/tests/misc/refresh-headers.php:
        * http/tests/misc/resources/redirect-result.php:
        * http/tests/misc/resources/referrer-result.php:
        * http/tests/misc/xhtml.php:
        Stop using getallheaders(), which is only implemented by mod_php, so that the tests could
        run through lighttpd.

2008-11-24  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.
        
        Test for https://bugs.webkit.org/show_bug.cgi?id=22073
        REGRESSION(r33544): Palace in the Sky crashes WebKit

        * fast/tokenizer/nested-cached-scripts-and-stylesheet-expected.txt: Added.
        * fast/tokenizer/nested-cached-scripts-and-stylesheet.html: Added.
        * fast/tokenizer/resources/load-stylesheet-and-document-write-script.js: Added.

2008-11-24  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Add tests for bug 13790: Function declarations are not treated as statements (used to affect starcraft2.com)
        <https://bugs.webkit.org/show_bug.cgi?id=13790>

        * fast/js/function-declaration-statement-expected.txt: Added.
        * fast/js/function-declaration-statement.html: Added.
        * fast/js/resources/function-declaration-statement.js: Added.

2008-11-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos & Eric Seidel.

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

        Regenerate WML layout test results after implementing WML specific <card> handling:
        Only the first <card> element should be visible after loading the document, others
        can be shown by using the <go> task element.

        * platform/mac/fast/wml/card-element-expected.checksum:
        * platform/mac/fast/wml/card-element-expected.png:
        * platform/mac/fast/wml/card-element-expected.txt:
        * platform/mac/fast/wml/do-element-optional-attr-expected.checksum:
        * platform/mac/fast/wml/do-element-optional-attr-expected.png:
        * platform/mac/fast/wml/do-element-optional-attr-expected.txt:
        * platform/mac/fast/wml/do-shadow-expected.checksum:
        * platform/mac/fast/wml/do-shadow-expected.png:
        * platform/mac/fast/wml/do-shadow-expected.txt:
        * platform/mac/fast/wml/do-template-expected.checksum:
        * platform/mac/fast/wml/do-template-expected.png:
        * platform/mac/fast/wml/do-template-expected.txt:
        * platform/mac/fast/wml/entity-expected.checksum:
        * platform/mac/fast/wml/entity-expected.png:
        * platform/mac/fast/wml/entity-expected.txt:
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.txt:
        * platform/mac/fast/wml/show-first-card-expected.checksum:
        * platform/mac/fast/wml/show-first-card-expected.png:
        * platform/mac/fast/wml/show-first-card-expected.txt:
        * platform/mac/fast/wml/test-expected.checksum:
        * platform/mac/fast/wml/test-expected.png:
        * platform/mac/fast/wml/test-expected.txt:

2008-11-24  Glenn Wilson  <gwilson@chromium.org>

        Reviewed by Alexey Proskuryakov.

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

        New test added to verify that LayoutTestController and other clients
        can disable smart insert/delete and enable selection of trailing whitespace
        as a workaround for smart insert/delete.

        * editing/selection/doubleclick-whitespace-expected.txt: Added.
        * editing/selection/doubleclick-whitespace.html: Added.

2008-11-24  Glenn Wilson  <gwilson@chromium.org>

        Reviewed by Darin Adler.

        http://bugs.webkit.org/show_bug.cgi?id=18703
        "Changing the 'size' property on a text input does not affect its length"

        Added a new test to verify that the width of text input 
        fields can be modified by javascript using the "size" attribute.

        * fast/js/text-field-resize-expected.txt: Added.
        * fast/js/text-field-resize.html: Added.

2008-11-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22455
        Add support for Worker.terminate()

        * fast/workers/worker-terminate-expected.txt: Added.
        * fast/workers/worker-terminate.html: Added.

2008-11-24  Zan Dobersek  <zandobersek@gmail.com>

        Reviewed by Holger Freyther.

        Some tests in plugins/ directory now pass.

        * platform/gtk/Skipped:

2008-11-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=22428
        xmlhttprequest-onProgress-open-should-zero-length.html fails intermittently

        * http/tests/xmlhttprequest/resources/big-response.php: Reduce the size of big response
        to make the test faster, but practically guarantee that the response will be delivered in
        many chunks.

        * http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length-expected.txt:
        * http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html:
        Made the test more reliable by comparing final response position with known resource size.

2008-11-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Mark Rowe.

        https://bugs.webkit.org/show_bug.cgi?id=22439
        Won't load stylesheets with filenames less than 2 characters long in xhtml.

        * http/tests/misc/.htaccess:
        * http/tests/misc/a: Added.
        * http/tests/misc/single-character-pi-stylesheet-expected.txt: Added.
        * http/tests/misc/single-character-pi-stylesheet.xhtml: Added.

2008-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

        [Gtk+] We are passing all but one worker test. Enable them.

        We fail on fast/workers/worker-location.html due some weird
        issue with the bidi resolver "skipping" whitespace at the end
        of the line.

        * platform/gtk/Skipped:

2008-11-24  Gavin Barraclough  <barraclough@apple.com>

        Rubber stamped by Mark Rowe.

        Add test cases to ensure the PIC trampolines for prototype and prototype chain
        accesses properly check for JSImmediate values, rather than segfaulting.

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

        * fast/js/pic/cached-prototype-then-immediate-expected.txt: Added.
        * fast/js/pic/cached-prototype-then-immediate.html: Added.

2008-11-21  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=22400
        Add a stress test for concurrent JS execution

        * fast/workers/resources/stress-js-execution.js: Added.
        * fast/workers/stress-js-execution-expected.txt: Added.
        * fast/workers/stress-js-execution.html: Added.
        Tests that the basics don't cause a crash.

2008-11-21  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text
        
        Removed tests for behaviors that we're no longer interested in:
        * editing/deleting/delete-link-1.html: Removed.
        * platform/mac/editing/deleting/delete-link-1-expected.checksum: Removed.
        * platform/mac/editing/deleting/delete-link-1-expected.png: Removed.
        * platform/mac/editing/deleting/delete-link-1-expected.txt: Removed.
        * editing/execCommand/19653-4-expected.txt: Removed.
        * editing/execCommand/19653-4.html: Removed.
        
        Reflects new behavior (don't remember removed anchors):
        * platform/mac/editing/deleting/5168598-expected.txt:
        
        Reflects new behavior.  Also made this test cross-platform:
        * editing/inserting/insert-before-link-1-expected.txt: Added.
        * editing/inserting/insert-before-link-1.html:
        * platform/mac/editing/inserting/insert-before-link-1-expected.checksum: Removed.
        * platform/mac/editing/inserting/insert-before-link-1-expected.png: Removed.
        * platform/mac/editing/inserting/insert-before-link-1-expected.txt: Removed.

2008-11-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Add testcase for repaint issue with outlines on child objects,
        and redo bases affected by this change.
        
        * fast/repaint/outline-child-repaint.html: Added.
        * platform/mac/fast/repaint/4776765-expected.checksum:
        * platform/mac/fast/repaint/4776765-expected.png:
        * platform/mac/fast/repaint/delete-into-nested-block-expected.checksum:
        * platform/mac/fast/repaint/delete-into-nested-block-expected.png:
        * platform/mac/fast/repaint/outline-child-repaint-expected.checksum: Added.
        * platform/mac/fast/repaint/outline-child-repaint-expected.png: Added.
        * platform/mac/fast/repaint/outline-child-repaint-expected.txt: Added.
        * platform/mac/fast/repaint/outline-repaint-glitch-expected.checksum:
        * platform/mac/fast/repaint/outline-repaint-glitch-expected.png:

2008-11-21  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Sam Weinig.

        Add a test for <rdar://problem/4268912>, which was fixed in r13294 (!!).

        * fast/js/resources/string-sort.js:
        * fast/js/string-sort-expected.txt:

2008-11-21  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        WebKit should be using Device RGB colorspace everywhere for
        consistency.

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

        * platform/mac/fast/text/attributed-substring-from-range-001-expected.txt:

2008-11-21  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Add missing reference images for tests added as part of
        https://bugs.webkit.org/show_bug.cgi?id=21261

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

        * platform/mac/animations/animation-drt-api-expected.checksum: Added.
        * platform/mac/animations/animation-drt-api-expected.png: Added.
        * platform/mac/transitions/transition-drt-api-expected.checksum: Added.
        * platform/mac/transitions/transition-drt-api-expected.png: Added.

2008-11-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=19623
        
        Test for correct repaint when an object gains
        a layer with a transform that is smaller than the
        old bounds of the object.

        * fast/repaint/change-transform.html: Added.
        * platform/mac/fast/repaint/change-transform-expected.checksum: Added.
        * platform/mac/fast/repaint/change-transform-expected.png: Added.
        * platform/mac/fast/repaint/change-transform-expected.txt: Added.

2008-11-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Darin Adler.
        
        <rdar://problem/2610675> Blank line that is quoted can't be deleted

        * editing/deleting/2610675-1-expected.txt: Added.
        * editing/deleting/2610675-1.html: Added.
        * editing/deleting/2610675-2-expected.txt: Added.
        * editing/deleting/2610675-2.html: Added.
        * editing/deleting/2610675-3-expected.txt: Added.
        * editing/deleting/2610675-3.html: Added.

2008-11-20  Dean Jackson  <dino@apple.com>

        Reviewed by Antti Koivisto

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

        Make transition shorthand property accept transition-delay.

        * transitions/transition-shorthand-delay-expected.txt: Added.
        * transitions/transition-shorthand-delay.html: Added.

2008-11-20  Dean Jackson  <dino@apple.com>

        Reviewed by Antti Koivisto

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

        Make sure pauseTransition API takes transition delay into account.

        * transitions/transition-drt-api-delay-expected.txt: Added.
        * transitions/transition-drt-api-delay.html: Added.

2008-11-20  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Sam Weinig.

        Add some tests for issues found while developing reparsing of function
        bodies. Also modify existing tests to be more robust in the face of
        possible changes to parsing.

        * fast/js/arguments-expected.txt:
        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/arguments.js:
        * fast/js/resources/function-dot-arguments.js:

2008-11-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Tests for computed values of animation properties, and
        change to computed value of transform-origin. Updated tests
        that dump all computed values, to include animation and changed
        transform-origin properties.

        * animations/computed-style-expected.txt: Added.
        * animations/computed-style.html: Added.
        * fast/css/computed-style-expected.txt:
        * fast/css/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:
        * transforms/computed-style-origin-expected.txt: Added.
        * transforms/computed-style-origin.html: Added.

2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22371
        Add a test for accessing form element items by index.

        * fast/dom/HTMLFormElement/htmlformelement-indexed-getter-expected.txt: Added.
        * fast/dom/HTMLFormElement/htmlformelement-indexed-getter.html: Added.

2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?22370
        Add a test to check detectability of HTMLCollections.

        * fast/dom/htmlcollection-detectability-expected.txt: Added.
        * fast/dom/htmlcollection-detectability.html: Added.

2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22369
        Add test cases covering more basic operations.

        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/function-dot-arguments.js:
        (basicTest): Added
        (lengthTest): Added

2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22363
        Add a test for DOM1 and DOM2 versions of add() on a select control.

        * fast/dom/dom-add-optionelement-expected.txt: Added.
        * fast/dom/dom-add-optionelement.html: Added.

2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22359
        Add test for document.write() with multiple parameters.

        * fast/dom/document_write_params-expected.txt: Added.
        * fast/dom/document_write_params.html: Added.

2008-11-20  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22387
        Add a test for HTMLOptionsCollection indexed getter and setter.

        * fast/dom/HTMLOptionElement/collection-setter-getter-expected.txt: Added.
        * fast/dom/HTMLOptionElement/collection-setter-getter.html: Added.

2008-11-20  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.
        
        <rdar://problem/2610675> Blank line that is quoted can't be deleted
        
        The old selection modification code for caret case deletions set the selection
        about to be deleted on the frame, instead of just setting the endingSelection.

        * platform/mac/editing/deleting/delete-by-word-001-expected.txt:
        * platform/mac/editing/deleting/delete-by-word-002-expected.txt:
        * platform/mac/editing/deleting/delete-to-end-of-paragraph-expected.txt:
        * platform/mac/editing/pasteboard/emacs-ctrl-a-k-y-expected.txt:
        * platform/mac/editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:


2008-11-20  Darin Adler  <darin@apple.com>

        - update test result for <rdar://problem/4108572> REGRESSION: Can't extend
          selection with shift-arrow in read only mode

        * editing/selection/selection-actions.html: Removed the actions that are
        supposed to modify selections now.

2008-11-20  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Add tests for bug 22148: nytime.com page crashes browser during load
        <https://bugs.webkit.org/show_bug.cgi?id=22148>

        This bug was unknowingly fixed in r38322 by a rewrite of the recursion
        limit code.

        * fast/js/deep-recursion-test-expected.txt:
        * fast/js/deep-recursion-test.html:

2008-11-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.
        
        https://bugs.webkit.org/show_bug.cgi?id=22190
        
        Test for the drawing and event handling of search field parts in a transformed
        search field.

        * fast/forms/search-transformed.html: Added.
        * platform/mac/fast/forms/search-transformed-expected.checksum: Added.
        * platform/mac/fast/forms/search-transformed-expected.png: Added.
        * platform/mac/fast/forms/search-transformed-expected.txt: Added.

2008-11-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto

        https://bugs.webkit.org/show_bug.cgi?id=22111
        
        Testcase for hit testing in video controls on transformed video.

        * media/video-controls-transformed-expected.txt: Added.
        * media/video-controls-transformed.html: Added.

2008-11-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Dan Bernstein.

        Add NPP_SetWindow test.
        
        * plugins/netscape-plugin-setwindow-size-2-expected.txt: Added.
        * plugins/netscape-plugin-setwindow-size-2.html: Copied from plugins/netscape-plugin-setwindow-size.html.

2008-11-19  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.
        
        Test for https://bugs.webkit.org/show_bug.cgi?id=22361
        A little more RegExp refactoring

        * fast/js/regexp-test-null-string.html: Added.
        * fast/js/regexp-test-null-expected.txt: Added.

2008-11-19  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22355
        Systematize code for replacing global constructors

        * fast/workers/worker-replace-global-constructor-expected.txt: Added.
        * fast/workers/worker-replace-global-constructor.html: Added.

2008-11-18  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Maciej Stachowiak and Geoff Garen.

        Add tests for bug 22287: ASSERTION FAILED: Not enough jumps linked in slow case codegen in CTI::privateCompileSlowCases())
        <https://bugs.webkit.org/show_bug.cgi?id=22287>

        * fast/js/number-cell-reuse-expected.txt: Added.
        * fast/js/number-cell-reuse.html: Added.
        * fast/js/resources/number-cell-reuse.js: Added.

2008-11-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Rubber-stamped by Mark Rowe.

        Skip some more tests to make the Gtk+ build bot pass. We will
        have to investigate why some tests only fail on the build bot.

        * platform/gtk/Skipped:

2008-11-18  Sam Weinig  <sam@webkit.org>

        Fix incorrect result.

        * fast/dom/Window/window-properties-expected.txt:

2008-11-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Not reviewed. Checked in wrong result in last commit.

        * platform/mac/fast/wml/entity-expected.txt:

2008-11-18  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by Sam Weinig.

        Add results for all WML tests, including pixel results.

        * fast/wml/p-mode.wml:
        * fast/wml/validate-dtd.wml:
        * platform/mac/fast/wml: Added.
        * platform/mac/fast/wml/br-element-in-table-expected.checksum: Added.
        * platform/mac/fast/wml/br-element-in-table-expected.png: Added.
        * platform/mac/fast/wml/br-element-in-table-expected.txt: Added.
        * platform/mac/fast/wml/br-element-in-text-expected.checksum: Added.
        * platform/mac/fast/wml/br-element-in-text-expected.png: Added.
        * platform/mac/fast/wml/br-element-in-text-expected.txt: Added.
        * platform/mac/fast/wml/card-element-expected.checksum: Added.
        * platform/mac/fast/wml/card-element-expected.png: Added.
        * platform/mac/fast/wml/card-element-expected.txt: Added.
        * platform/mac/fast/wml/case-sensitivity-expected.checksum: Added.
        * platform/mac/fast/wml/case-sensitivity-expected.png: Added.
        * platform/mac/fast/wml/case-sensitivity-expected.txt: Added.
        * platform/mac/fast/wml/cdata-section-expected.checksum: Added.
        * platform/mac/fast/wml/cdata-section-expected.png: Added.
        * platform/mac/fast/wml/cdata-section-expected.txt: Added.
        * platform/mac/fast/wml/comment-expected.checksum: Added.
        * platform/mac/fast/wml/comment-expected.png: Added.
        * platform/mac/fast/wml/comment-expected.txt: Added.
        * platform/mac/fast/wml/do-element-optional-attr-expected.checksum: Added.
        * platform/mac/fast/wml/do-element-optional-attr-expected.png: Added.
        * platform/mac/fast/wml/do-element-optional-attr-expected.txt: Added.
        * platform/mac/fast/wml/do-shadow-expected.checksum: Added.
        * platform/mac/fast/wml/do-shadow-expected.png: Added.
        * platform/mac/fast/wml/do-shadow-expected.txt: Added.
        * platform/mac/fast/wml/do-template-expected.checksum: Added.
        * platform/mac/fast/wml/do-template-expected.png: Added.
        * platform/mac/fast/wml/do-template-expected.txt: Added.
        * platform/mac/fast/wml/entity-expected.checksum: Added.
        * platform/mac/fast/wml/entity-expected.png: Added.
        * platform/mac/fast/wml/entity-expected.txt: Added.
        * platform/mac/fast/wml/err-event-binding-conflict-expected.checksum: Added.
        * platform/mac/fast/wml/err-event-binding-conflict-expected.png: Added.
        * platform/mac/fast/wml/err-event-binding-conflict-expected.txt: Added.
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.checksum: Added.
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.png: Added.
        * platform/mac/fast/wml/err-invalid-location-for-varref-expected.txt: Added.
        * platform/mac/fast/wml/err-invalid-tablecolumn-number-expected.checksum: Added.
        * platform/mac/fast/wml/err-invalid-tablecolumn-number-expected.png: Added.
        * platform/mac/fast/wml/err-invalid-tablecolumn-number-expected.txt: Added.
        * platform/mac/fast/wml/err-invalid-variable-name-expected.checksum: Added.
        * platform/mac/fast/wml/err-invalid-variable-name-expected.png: Added.
        * platform/mac/fast/wml/err-invalid-variable-name-expected.txt: Added.
        * platform/mac/fast/wml/err-multi-access-expected.checksum: Added.
        * platform/mac/fast/wml/err-multi-access-expected.png: Added.
        * platform/mac/fast/wml/err-multi-access-expected.txt: Added.
        * platform/mac/fast/wml/err-multi-http-equiv-in-meta-expected.checksum: Added.
        * platform/mac/fast/wml/err-multi-http-equiv-in-meta-expected.png: Added.
        * platform/mac/fast/wml/err-multi-http-equiv-in-meta-expected.txt: Added.
        * platform/mac/fast/wml/err-multi-name-in-meta-expected.checksum: Added.
        * platform/mac/fast/wml/err-multi-name-in-meta-expected.png: Added.
        * platform/mac/fast/wml/err-multi-name-in-meta-expected.txt: Added.
        * platform/mac/fast/wml/err-multi-timer-expected.checksum: Added.
        * platform/mac/fast/wml/err-multi-timer-expected.png: Added.
        * platform/mac/fast/wml/err-multi-timer-expected.txt: Added.
        * platform/mac/fast/wml/err-samename-do-expected.checksum: Added.
        * platform/mac/fast/wml/err-samename-do-expected.png: Added.
        * platform/mac/fast/wml/err-samename-do-expected.txt: Added.
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.checksum: Added.
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.png: Added.
        * platform/mac/fast/wml/err-unallowed-task-in-anchor-expected.txt: Added.
        * platform/mac/fast/wml/img-localsrc-expected.checksum: Added.
        * platform/mac/fast/wml/img-localsrc-expected.png: Added.
        * platform/mac/fast/wml/img-localsrc-expected.txt: Added.
        * platform/mac/fast/wml/img-src-expected.checksum: Added.
        * platform/mac/fast/wml/img-src-expected.png: Added.
        * platform/mac/fast/wml/img-src-expected.txt: Added.
        * platform/mac/fast/wml/img-src-localsrc-alt-expected.checksum: Added.
        * platform/mac/fast/wml/img-src-localsrc-alt-expected.png: Added.
        * platform/mac/fast/wml/img-src-localsrc-alt-expected.txt: Added.
        * platform/mac/fast/wml/p-align-expected.checksum: Added.
        * platform/mac/fast/wml/p-align-expected.png: Added.
        * platform/mac/fast/wml/p-align-expected.txt: Added.
        * platform/mac/fast/wml/p-mode-expected.checksum: Added.
        * platform/mac/fast/wml/p-mode-expected.png: Added.
        * platform/mac/fast/wml/p-mode-expected.txt: Added.
        * platform/mac/fast/wml/show-first-card-expected.checksum: Added.
        * platform/mac/fast/wml/show-first-card-expected.png: Added.
        * platform/mac/fast/wml/show-first-card-expected.txt: Added.
        * platform/mac/fast/wml/table-element-expected.checksum: Added.
        * platform/mac/fast/wml/table-element-expected.png: Added.
        * platform/mac/fast/wml/table-element-expected.txt: Added.
        * platform/mac/fast/wml/test-expected.checksum: Added.
        * platform/mac/fast/wml/test-expected.png: Added.
        * platform/mac/fast/wml/test-expected.txt: Added.
        * platform/mac/fast/wml/text-emphasis-expected.checksum: Added.
        * platform/mac/fast/wml/text-emphasis-expected.png: Added.
        * platform/mac/fast/wml/text-emphasis-expected.txt: Added.
        * platform/mac/fast/wml/validate-dtd-expected.checksum: Added.
        * platform/mac/fast/wml/validate-dtd-expected.png: Added.
        * platform/mac/fast/wml/validate-dtd-expected.txt: Added.

2008-11-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Alexey Proskuryakov.
        
        Updated layout test result for addition of window.Worker.

        * fast/js/global-constructors-expected.txt:

2008-11-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22337
        Enable workers by default

        Adding some tests.

        * fast/workers: Added.
        * fast/workers/resources: Added.
        * fast/workers/resources/worker-common.js: Added.
        * fast/workers/resources/worker-event-listener.js: Added.
        * fast/workers/worker-constructor-expected.txt: Added.
        * fast/workers/worker-constructor.html: Added.
        * fast/workers/worker-event-listener-expected.txt: Added.
        * fast/workers/worker-event-listener.html: Added.
        * fast/workers/worker-gc-expected.txt: Added.
        * fast/workers/worker-gc.html: Added.
        * fast/workers/worker-location-expected.txt: Added.
        * fast/workers/worker-location.html: Added.

2008-11-18  Darin Adler  <darin@apple.com>

        Reviewed by Alexey Proskuryakov.

        - add a test for XMLHttpRequest Set-Cookie blocking

        * http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt:
        Updated since we now log attempts to get headers that are not allowed cross-domain to the console.
        * http/tests/xmlhttprequest/get-dangerous-headers-expected.txt: Added.
        * http/tests/xmlhttprequest/get-dangerous-headers.html: Added.
        * http/tests/xmlhttprequest/resources/get-set-cookie.cgi: Tweak script a bit.

2008-11-18  Alexey Proskuryakov  <ap@webkit.org>

        Rubber-stamped by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22306
        Disable channel messaging support

        * fast/events/message-port-no-wrapper.html-disabled: Added a test that I had in my tree.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/constructors-cached-expected.txt:
        * fast/dom/constructors-cached-navigate-expected.txt:
        * fast/js/global-constructors-expected.txt:
        Updated results.

        * fast/events/destroyed-atomic-string.html: Removed.
        * fast/events/destroyed-atomic-string.html-disabled: Copied from LayoutTests/fast/events/destroyed-atomic-string.html.
        * fast/events/message-channel-gc-2.html: Removed.
        * fast/events/message-channel-gc-2.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc-2.html.
        * fast/events/message-channel-gc-3.html: Removed.
        * fast/events/message-channel-gc-3.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc-3.html.
        * fast/events/message-channel-gc.html: Removed.
        * fast/events/message-channel-gc.html-disabled: Copied from LayoutTests/fast/events/message-channel-gc.html.
        * fast/events/message-channel-listener-circular-ownership.html: Removed.
        * fast/events/message-channel-listener-circular-ownership.html-disabled: Copied from LayoutTests/fast/events/message-channel-listener-circular-ownership.html.
        * fast/events/message-port-constructor-for-deleted-document.html: Removed.
        * fast/events/message-port-constructor-for-deleted-document.html-disabled: Copied from LayoutTests/fast/events/message-port-constructor-for-deleted-document.html.
        * fast/events/message-port-deleted-document.html: Removed.
        * fast/events/message-port-deleted-document.html-disabled: Copied from LayoutTests/fast/events/message-port-deleted-document.html.
        * fast/events/message-port-deleted-frame.html: Removed.
        * fast/events/message-port-deleted-frame.html-disabled: Copied from LayoutTests/fast/events/message-port-deleted-frame.html.
        * fast/events/message-port-inactive-document.html: Removed.
        * fast/events/message-port-inactive-document.html-disabled: Copied from LayoutTests/fast/events/message-port-inactive-document.html.
        * fast/events/message-port-onclose.html: Removed.
        * fast/events/message-port-onclose.html-disabled: Copied from LayoutTests/fast/events/message-port-onclose.html.
        * fast/events/message-port.html: Removed.
        * fast/events/message-port.html-disabled: Copied from LayoutTests/fast/events/message-port.html.
        * http/tests/security/MessagePort/event-listener-context.html: Removed.
        * http/tests/security/MessagePort/event-listener-context.html-disabled: Copied from LayoutTests/http/tests/security/MessagePort/event-listener-context.html.
        Disabled MessagePort tests.

2008-11-17  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        Add initial set of WML layout tests, excluding results. These tests
        will become useful once the whole WML support patch has landed.

        * fast/wml: Added.
        * fast/wml/br-element-in-table.wml: Added.
        * fast/wml/br-element-in-text.wml: Added.
        * fast/wml/card-element.wml: Added.
        * fast/wml/case-sensitivity.wml: Added.
        * fast/wml/cdata-section.wml: Added.
        * fast/wml/comment.wml: Added.
        * fast/wml/do-element-optional-attr.wml: Added.
        * fast/wml/do-shadow.wml: Added.
        * fast/wml/do-template.wml: Added.
        * fast/wml/entity.wml: Added.
        * fast/wml/err-event-binding-conflict.wml: Added.
        * fast/wml/err-invalid-location-for-varref.wml: Added.
        * fast/wml/err-invalid-tablecolumn-number.wml: Added.
        * fast/wml/err-invalid-variable-name.wml: Added.
        * fast/wml/err-multi-access.wml: Added.
        * fast/wml/err-multi-http-equiv-in-meta.wml: Added.
        * fast/wml/err-multi-name-in-meta.wml: Added.
        * fast/wml/err-multi-timer.wml: Added.
        * fast/wml/err-samename-do.wml: Added.
        * fast/wml/err-unallowed-task-in-anchor.wml: Added.
        * fast/wml/img-localsrc.wml: Added.
        * fast/wml/img-src-localsrc-alt.wml: Added.
        * fast/wml/img-src.wml: Added.
        * fast/wml/p-align.wml: Added.
        * fast/wml/p-mode.wml: Added.
        * fast/wml/show-first-card.wml: Added.
        * fast/wml/table-element.wml: Added.
        * fast/wml/test.wml: Added.
        * fast/wml/text-emphasis.wml: Added.
        * fast/wml/validate-dtd.wml: Added.

2008-11-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        - https://bugs.webkit.org/show_bug.cgi?id=22320 SVG svg/text/text-text-08-b.svg fails

        Updated the expected results to the correct ones.

        * platform/mac/svg/text/text-text-08-b-expected.checksum:
        * platform/mac/svg/text/text-text-08-b-expected.png:

2008-11-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.
        
        <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level

        * editing/pasteboard/4922709-expected.txt: Added.
        * editing/pasteboard/4922709.html: Added.
        * editing/pasteboard/5006779.html:

2008-11-17  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Sam Weinig.

        Added tests to cover the new LayoutController JavaScript API available
        in DRT (Mac only).

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

        * animations/animation-drt-api.html: Added.
        * platform/mac/animations/animation-drt-api-expected.txt: Added.
        * platform/mac/transitions/transition-drt-api-expected.txt: Added.
        * platform/win/Skipped:
        * transitions/transition-drt-api.html: Added.

2008-11-16  Geoffrey Garen  <ggaren@apple.com>

        Not reviewed.
        
        Changed "window." to "this." to unbreak these test I just broke in
        non-browser builds.

        * fast/js/resources/duplicate-param-gc-crash.js:
        (gc):
        * fast/js/resources/var-shadows-arg-gc-crash.js:
        (gc):

2008-11-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Sped up two of the slowest JS layout tests by replacing some hand-rolled
        "force GC" code with something orders of magnitude faster.

        * fast/js/resources/duplicate-param-gc-crash.js:
        (gc):
        * fast/js/resources/var-shadows-arg-gc-crash.js:
        (gc):

2008-11-16  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.
        
        Removed ascii-regexp-subject.html because it was the slowest JS test (20s
        on my iMac) and it didn't actually verify anything.
        
        Filed https://bugs.webkit.org/show_bug.cgi?id=22303 to cover fixing
        the bug that ascii-regexp-subject.html purported to test for, and
        then relanding a faster version of ascii-regexp-subject.html once it
        would pass (currently, it would fail).

        * fast/js/ascii-regexp-subject-expected.txt: Removed.
        * fast/js/ascii-regexp-subject.html: Removed.
        * fast/js/resources/ascii-regexp-subject.js: Removed.

2008-11-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=22118
        
        Test for resize corner tracking in transformed elements.
        
        * fast/css/resize-corner-tracking-transformed.html: Added.
        * platform/mac/fast/css/resize-corner-tracking-transformed-expected.checksum: Added.
        * platform/mac/fast/css/resize-corner-tracking-transformed-expected.png: Added.
        * platform/mac/fast/css/resize-corner-tracking-transformed-expected.txt: Added.

2008-11-16  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Disable XHR upload progress event tests on Tiger due to race condition causing
        intermittent failure reported in https://bugs.webkit.org/show_bug.cgi?id=22298

        * platform/mac-tiger/Skipped:

2008-11-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Justin Garcia.

        Tests for <rdar://problem/5089327> Too much indentation when 
        pasting quoted paragraphs

        New test:
        * editing/pasteboard/paste-blockquote-into-blockquote-4.html: 
        Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-4-expected.checksum: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-4-expected.png: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-4-expected.txt: Added.

        Changes results for existing tests:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.checksum:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.png:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-2-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-3-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-
        expected.txt:

2008-11-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages

        * editing/style/4230923-expected.txt: Added.
        * editing/style/4230923.html: Added.

2008-11-12  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22200
        Crash when close event is dispatched to MessagePort due to document destruction

        * fast/events/message-port-onclose-expected.txt: Added.
        * fast/events/message-port-onclose.html: Added.
        * fast/events/resources/message-port-iframe.html:
        Added more tests for close event dispatch.

2008-11-12  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Darin Adler.

        Check behavior of canvas.stroke() on transparent fillStyle()

        * fast/canvas/canvas-stroke-empty-fill-expected.txt: Added.
        * fast/canvas/canvas-stroke-empty-fill.html: Added.
        * fast/canvas/canvas-stroke-empty-fill.js: Added.

2008-11-12  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Updated reference images so that all pixel tests now "pass" on 10.4.11 PowerPC + r38347.
        https://bugs.webkit.org/show_bug.cgi?id=21821

        Checked-in specific reference images for pixel tests that are valid on Tiger but fail
        because difference with reference image due to text rendering is greater than 1.0%

        * platform/mac-tiger/svg/carto.net: Added.
        * platform/mac-tiger/svg/carto.net/selectionlist-expected.checksum: Added.
        * platform/mac-tiger/svg/carto.net/selectionlist-expected.png: Added.
        * platform/mac-tiger/svg/custom/feComponentTransfer-Gamma-expected.checksum: Added.
        * platform/mac-tiger/svg/custom/feComponentTransfer-Gamma-expected.png: Added.
        * platform/mac-tiger/svg/text/text-align-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-align-01-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-align-02-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-align-02-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-align-04-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-align-04-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-fonts-01-t-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-fonts-01-t-expected.png: Added.
        * platform/mac-tiger/svg/text/text-text-03-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-text-03-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-tselect-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-tselect-01-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-tspan-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-tspan-01-b-expected.png: Added.
        * platform/mac-tiger/svg/text/text-ws-01-t-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-ws-01-t-expected.png: Added.
        * platform/mac-tiger/svg/text/text-ws-02-t-expected.checksum: Added.
        * platform/mac-tiger/svg/text/text-ws-02-t-expected.png: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-color-01-b-expected.png: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum: Added.
        * platform/mac-tiger/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png: Added.

        svg/batik/paints/gradientLimit.svg is rendering different on Tiger and Leopard
        https://bugs.webkit.org/show_bug.cgi?id=22219

        * platform/mac-tiger/svg/batik: Added.
        * platform/mac-tiger/svg/batik/paints: Added.
        * platform/mac-tiger/svg/batik/paints/gradientLimit-expected.checksum: Added.
        * platform/mac-tiger/svg/batik/paints/gradientLimit-expected.png: Added.

        svg/custom/mask-excessive-malloc.svg is failing on Tiger
        https://bugs.webkit.org/show_bug.cgi?id=22218

        * platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.checksum: Added.
        * platform/mac-tiger/svg/custom/mask-excessive-malloc-expected.png: Added.

        svg/W3C-SVG-1.1/pservers-grad-17-b.svg is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=22220

        * platform/mac-leopard/svg: Added.
        * platform/mac-leopard/svg/W3C-SVG-1.1: Added.
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum: Added.
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png: Added.
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:

        svg/custom/foreign-object-skew.svg is failing on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=22221

        * platform/mac-leopard/svg/custom: Added.
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum: Added.
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.png: Added.
        * platform/mac/svg/custom/foreign-object-skew-expected.checksum:
        * platform/mac/svg/custom/foreign-object-skew-expected.png:

2008-11-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=22212
        
        Repaint test for a transform change on an element with a positioned child.
        
        * fast/repaint/transform-absolute-child.html: Added.
        * platform/mac/fast/repaint/transform-absolute-child-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-absolute-child-expected.png: Added.
        * platform/mac/fast/repaint/transform-absolute-child-expected.txt: Added.

2008-11-12  Geoffrey Garen  <ggaren@apple.com>

        Roll in r38322, now that test failures have been fixed.
        
        * fast/js/global-recursion-on-full-stack-expected.txt:

2008-11-12  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Skip fast/repaint/body-background-image.html test as it is not reliable.

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

        * platform/mac/Skipped:

2008-11-12  Dan Bernstein  <mitz@apple.com>

        - remove an empty directory

        * platform/mac-leopard/http: Removed.
        * platform/mac-leopard/http/tests: Removed.
        * platform/mac-leopard/http/tests/security: Removed.
        * platform/mac-leopard/http/tests/security/dataURL: Removed.

2008-11-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        https://bugs.webkit.org/show_bug.cgi?id=17840
        
        Tests for repainting when the transform of a positioned element changes.

        * fast/repaint/transform-absolute-in-positioned-container.html: Added.
        * fast/repaint/transform-relative-position.html: Added.
        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.png: Added.
        * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt: Added.
        * platform/mac/fast/repaint/transform-relative-position-expected.checksum: Added.
        * platform/mac/fast/repaint/transform-relative-position-expected.png: Added.
        * platform/mac/fast/repaint/transform-relative-position-expected.txt: Added.

2008-11-12  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.
        
        <rdar://problem/5495723> Selecting and deleting quoted text quotes other text
        <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted

        * editing/deleting/5495723-expected.txt: Added.
        * editing/deleting/5495723.html: Added.
        * platform/mac/editing/deleting/delete-4038408-fix-expected.txt: Change demonstrates that we
        now behave correctly when pressing delete when the caret is just after empty quoted paragraphs.

2008-11-12  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        Updated reference images so that all pixel tests now "pass" on 10.5.5 Intel + r38318.
        https://bugs.webkit.org/show_bug.cgi?id=21821

        Test doesn't repaint entire view so result is corrupted by previous test
        https://bugs.webkit.org/show_bug.cgi?id=21916

        * platform/mac/Skipped:

        Test is passing but original reference image was invalid.

        * platform/mac/fast/backgrounds/size/backgroundSize05-expected.checksum:
        * platform/mac/fast/backgrounds/size/backgroundSize05-expected.png:

        Invalid image tiling
        https://bugs.webkit.org/show_bug.cgi?id=21915

        * platform/mac/fast/backgrounds/size/backgroundSize19-expected.checksum:
        * platform/mac/fast/backgrounds/size/backgroundSize19-expected.png:

        SVG not rendering
        https://bugs.webkit.org/show_bug.cgi?id=21910

        * platform/mac/fast/backgrounds/svg-as-background-1-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-1-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-2-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-2-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-3-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-3-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-4-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-4-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-5-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-5-expected.png:
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.png:
        * platform/mac/fast/backgrounds/svg-as-mask-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-mask-expected.png:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.png:
        * platform/mac/fast/borders/svg-as-border-image-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-expected.png:
        * platform/mac/fast/images/svg-as-background-expected.checksum:
        * platform/mac/fast/images/svg-as-background-expected.png:
        * platform/mac/fast/images/svg-as-image-expected.checksum:
        * platform/mac/fast/images/svg-as-image-expected.png:
        * platform/mac/fast/images/svg-as-relative-image-expected.checksum:
        * platform/mac/fast/images/svg-as-relative-image-expected.png:
        * platform/mac/fast/images/svg-as-tiled-background-expected.checksum:
        * platform/mac/fast/images/svg-as-tiled-background-expected.png:

        Possible Flash failure
        https://bugs.webkit.org/show_bug.cgi?id=21912

        * platform/mac/fast/dynamic/flash-replacement-test-expected.checksum:
        * platform/mac/fast/dynamic/flash-replacement-test-expected.png:

        Repaint failure
        https://bugs.webkit.org/show_bug.cgi?id=21913

        * platform/mac/fast/repaint/body-background-image-expected.checksum:
        * platform/mac/fast/repaint/body-background-image-expected.png:

        Excessive repainting
        https://bugs.webkit.org/show_bug.cgi?id=21914

        * platform/mac/fast/repaint/float-overflow-expected.checksum:
        * platform/mac/fast/repaint/float-overflow-expected.png:
        * platform/mac/fast/repaint/float-overflow-right-expected.checksum:
        * platform/mac/fast/repaint/float-overflow-right-expected.png:

        No video images
        https://bugs.webkit.org/show_bug.cgi?id=21911

        * platform/mac/media/video-aspect-ratio-expected.checksum:
        * platform/mac/media/video-aspect-ratio-expected.png:
        * platform/mac/media/video-controls-rendering-expected.checksum:
        * platform/mac/media/video-controls-rendering-expected.png:
        * platform/mac/media/video-display-toggle-expected.checksum:
        * platform/mac/media/video-display-toggle-expected.png:
        * platform/mac/media/video-layer-crash-expected.checksum:
        * platform/mac/media/video-layer-crash-expected.png:
        * platform/mac/media/video-transformed-expected.checksum:
        * platform/mac/media/video-transformed-expected.png:

2008-11-12  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Cameron Zwarich.

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

        * fast/js/pic/cached-array-length-access-expected.txt: Added.
        * fast/js/pic/cached-array-length-access.html: Added.

2008-11-12  Cameron Zwarich  <zwarich@apple.com>

        Rubber-stamped by Mark Rowe.

        Roll out r38322 due to test failures on the bots.

        * fast/js/global-recursion-on-full-stack-expected.txt:

2008-11-11  Stephanie  <slewis@apple.com>

        Reviewed by Dan Bernstein.

        Test loading an image with no data.

        * fast/images/image-empty-data-expected.txt: Added.
        * fast/images/image-empty-data.html: Added.

2008-11-10  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.
        
        Updated a test after fixing https://bugs.webkit.org/show_bug.cgi?id=22174
        Simplified op_call by nixing its responsibility for moving the value of
        "this" into the first argument slot.

        * fast/js/global-recursion-on-full-stack-expected.txt: This test passes
        a little differently now, because the register layout has changed.
        Specifically, the stack overflow now happens in the call to f() instead
        of the initiation of the <script> tag, so it is caught, and it does not
        log an exception to the console.

2008-11-11  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Mark Rowe.

        Removed invalid bases incorrectly checked-in in r38305. 

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

        * platform/mac-tiger/fast/text/international/complex-character-based-fallback-expected.checksum: Removed.
        * platform/mac-tiger/fast/text/international/complex-character-based-fallback-expected.png: Removed.
        * platform/mac-tiger/fast/text/international/complex-character-based-fallback-expected.txt: Removed.
        * platform/mac-tiger/fast/text/international/hindi-spacing-expected.checksum: Removed.
        * platform/mac-tiger/fast/text/international/hindi-spacing-expected.png: Removed.
        * platform/mac-tiger/fast/text/international/hindi-spacing-expected.txt: Removed.

2008-11-11  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Tests for <rdar://problem/5089327> Too much indentation when 
        pasting quoted paragraphs

        This is a new test:
        * editing/pasteboard/paste-blockquote-into-blockquote-3.html: 
        Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-3-expected.checksum: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-3-expected.png: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-3-expected.txt: Added.

        The results for these tests previously reflected the behavior 
        implemented in revision 38273. We have since decided that that 
        behavior is wrong and we changed it with this patch.
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.checksum:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.png:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-2-expected.txt:
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-
        expected.txt:

2008-11-11  Dirk Schulze  <krit@webkit.org>

        Reviewed by Dave Hyatt.

        Pattern transform check was too strict for Cg. Scaling can cause a wrong
        color on the borders of the scaled object.

        Correct expected result of the tests.

        * fast/canvas/canvas-pattern-transform-expected.txt:
        * fast/canvas/canvas-pattern-transform.html:
        * fast/canvas/canvas-pattern-transform.js:
        * fast/canvas/canvas-radial-gradient-spreadMethod-expected.txt:

2008-11-11  Pierre-Olivier Latour  <pol@apple.com>

        Rubber-stamped by Dan Bernstein.

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

        Removed pixel results in platform/mac-tiger that were only slightly different
        (within 1% tolerance) from the platform/mac results.
        Removed results in platform/mac-tiger where the results in platform/mac were
        also correct for Tiger.
        Also updated results in platform/mac-tiger that were out of date.

        Made sure every test that has a specific mac-tiger render tree output also has matching images.

        (file listing elided)

2008-11-11  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Darin Adler.

        Check behavior of default spreadMethod on radial gradients.

        * fast/canvas/canvas-radial-gradient-spreadMethod-expected.txt: Added.
        * fast/canvas/canvas-radial-gradient-spreadMethod.html: Added.
        * fast/canvas/canvas-radial-gradient-spreadMethod.js: Added.

2008-11-11  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Oliver Hunter.

        Added test to check behavior on transformations of patterns in canvas.

        * fast/canvas/canvas-pattern-transform-expected.txt: Added.
        * fast/canvas/canvas-pattern-transform.html: Added.
        * fast/canvas/canvas-pattern-transform.js: Added.

2008-11-11  Pierre-Olivier Latour  <pol@apple.com>

        Rubber-stamped by Dan Bernstein.

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

        Remaining set of updated expected pixel results. This includes http/,
        media/, plugins/, scrollbars/, tables/, transforms/, transitions/ and
        webarchive/.

        (file listing elided)

2008-11-10  Adam Roben  <aroben@apple.com>

        Test for Bug 22161: Assertion failure in RenderThemeWin::systemColor
        when loading microsoftpdc.com

        <https://bugs.webkit.org/show_bug.cgi?id=22161>

        Note that this test would only fail if DumpRenderTree used
        RenderThemeWin, which it doesn't. I did test that locally, though.

        Reviewed by Dan Bernstein.

        * fast/css/outline-invert-assertion-expected.txt: Added.
        * fast/css/outline-invert-assertion.html: Added.

2008-11-10  Beth Dakin  <bdakin@apple.com>

        Rubber stamped by Justin Garcia.

        New tests for <rdar://problem/4037481> REGRESSION (Mail): pasting 
        quoted text into quoted text yields double-quoting
        * editing/pasteboard/paste-blockquote-into-blockquote-2.html: 
        Added.
        * editing/pasteboard/paste-blockquote-into-blockquote.html: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-2-expected.checksum: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-2-expected.png: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-
        blockquote-2-expected.txt: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-
        expected.checksum: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-
        expected.png: Added.
        * platform/mac/editing/pasteboard/paste-blockquote-into-blockquote-
        expected.txt: Added.
        
        Test with new results because of this patch:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.checksum:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.png:
        * platform/mac/editing/pasteboard/merge-end-blockquote-
        expected.txt:


2008-11-09  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

        Add a test for bug 19541: Null pointer in showModalDialog()
        <https://bugs.webkit.org/show_bug.cgi?id=19541>

        * fast/dom/null-page-show-modal-dialog-crash-expected.txt: Added.
        * fast/dom/null-page-show-modal-dialog-crash.html: Added.

2008-11-09  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22104
        Javascript URL percent encoding/decoding broken by some characters

        * fast/loader/javascript-url-encoding-2-expected.txt:
        * fast/loader/javascript-url-encoding-2.html:

2008-11-09  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig and Maciej Stachowiak.

        - test for https://bugs.webkit.org/show_bug.cgi?id=14886
          Stack overflow due to deeply nested parse tree doing repeated string concatentation

        * fast/js/large-expressions-expected.txt: Added.
        * fast/js/large-expressions.html: Added.
        * fast/js/resources/large-expressions.js: Added.

2008-11-09  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=22142
          a few fast/canvas tests use non-standard HTML wrappers but don't need to

        * fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt:
        Fixed spelling error: "gradieints".

        * fast/canvas/gradient-addColorStop-with-invalid-color.html: Regenerated with
        make-js-test-wrappers script; removes the canvas element that was in here.
        * fast/canvas/linearGradient-infinite-values.html: Ditto.
        * fast/canvas/radialGradient-infinite-values.html: Ditto.

        * fast/canvas/resources/gradient-addColorStop-with-invalid-color.js:
        Fixed spelling error and changed code to use createElement to make a canvas
        element rather than using getElementById to find an existing canvas element.
        * fast/canvas/resources/linearGradient-infinite-values.js: Ditto.
        * fast/canvas/resources/radialGradient-infinite-values.js: Ditto.

2008-11-08  Antti Koivisto  <antti@apple.com>

        Reviewed by Sam Weinig.
        
        Test for https://bugs.webkit.org/show_bug.cgi?id=22141
        REGRESSION: Safari error page is not fully styled when loaded from cache

        * fast/encoding/css-cached-bom.html: Added.
        * fast/encoding/css-cached-bom-expected.txt: Added.
        * fast/encoding/resources/css-cached-bom-frame.html: Added.
        * fast/encoding/resources/utf-16-little-endian.css: Added.

2008-11-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein

        https://bugs.webkit.org/show_bug.cgi?id=21906
        
        Test focus ring drawing on a transformed text input (and fix the HTML in
        an unrelated test case).

        * fast/repaint/focus-layers.html: Quoted id attribute and removed extra
            closing div tag.
        * fast/transforms/transformed-focused-text-input.html: Added.
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.checksum: Added.
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.png: Added.
        * platform/mac/fast/transforms/transformed-focused-text-input-expected.txt: Added.

2008-11-07  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        * fast/js/resources/typeof-constant-string.js: Added.
        * fast/js/typeof-constant-string-expected.txt: Added.
        * fast/js/typeof-constant-string.html: Added.

2008-11-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Darin Adler.

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

        Enable text only and succeeding fast tests for the gtk port

        Enable the tests from the fast directory that succeed. Classify the
        remaining tests from the fast directory.

        * platform/gtk/Skipped:

2008-11-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Darin Adler.

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

        Skip every test on the Gtk+ platform

        Add every test directory to the Skipped list in order to create
        a baseline for the Gtk+ port.

        * platform/gtk/Skipped:

2008-11-06  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Fix test that would fail if it had the wrong set of plugins.

        * plugins/plugin-javascript-access.html:

2008-11-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Test for Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue
        https://bugs.webkit.org/show_bug.cgi?id=22112

        * accessibility/content-editable-expected.txt: Added.
        * accessibility/content-editable.html: Added.

2008-11-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Antti Koivisto

        https://bugs.webkit.org/show_bug.cgi?id=22109
        Make <input type="range"> work correctly with transforms
        
        * fast/forms/slider-transformed-expected.txt: Added.
        * fast/forms/slider-transformed.html: Added.

2008-11-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=21870
        
        Test event.offsetX/offsetY for various types of elements, which
        exercises absoluteToLocal() code.

        * fast/events/offsetX-offsetY-expected.txt: Added.
        * fast/events/offsetX-offsetY.html: Added.

2008-11-05  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Maciej Stachowiak.

        Previosly the test 'cross-site-this' checked that the second level deep method called
        across frames recieved the correct this pointer, when no base object is provided.
        
        Test updated so that it check that the code in the child frame, and both the first
        and second functions called in the parent frame recieve the correct this values.

        * fast/frames/cross-site-this.html:
        * fast/frames/resources/cross-site-this-helper.html:

2008-11-05  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.
        
        <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break

        * editing/pasteboard/5480736-expected.txt: Added.
        * editing/pasteboard/5480736.html: Added.

2008-11-05  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Update tests for https://bugs.webkit.org/show_bug.cgi?id=22085
        The Plugin JS object should expose item() and namedItem() methods to match Firefox

        * fast/dom/Window/window-properties-expected.txt:
        * plugins/plugin-javascript-access-expected.txt:
        * plugins/plugin-javascript-access.html:

2008-11-05  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=21060
        Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR

        * fast/dom/Range/surroundContents-check-boundary-points-expected.txt: Added.
        * fast/dom/Range/surroundContents-check-boundary-points.html: Added.

        * fast/dom/Range/range-exceptions-expected.txt: Updated incorrect result - there was no
        reason to raise BAD_BOUNDARYPOINTS_ERR.

2008-11-04  Sam Weinig  <sam@webkit.org>

        Reviewed by Simon Hausmann.

        Update tests for https://bugs.webkit.org/show_bug.cgi?id=21648
        navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS

        * fast/dom/Window/window-properties-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * plugins/plugin-javascript-access-expected.txt:
        * plugins/plugin-javascript-access.html:

2008-11-05  Pierre-Olivier Latour  <pol@apple.com>

        Rubber-stamped by Dan Bernstein.

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

        Another set of updated expected pixel results generated with the same
        setup. Includes accessiblity/, animations/, css1/, css2.1/, css3/,
        dom/ and editing/.

        (file listing elided)

2008-11-05  Pierre-Olivier Latour  <pol@apple.com>

        Rubber-stamped by Dan Bernstein.

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

        Imported more image bases for fast/ and svg/ in order to
        fully validate latest DRT and test script changes. These results were generated
        by a release build of r38003 on an Intel iMac running Mac OS X 10.5.5 with
        QuickTime 7.5.5.

        (file listing elided)

2008-11-04  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

        Added test for crash resulting from nested stylesheets using certain
        builds of libxml2.  See https://bugs.webkit.org/show_bug.cgi?id=15715 .

        * fast/xsl/resources/xslt-nested-stylesheets0.xsl: Added.
        * fast/xsl/resources/xslt-nested-stylesheets1.xsl: Added.
        * fast/xsl/xslt-nested-stylesheets-expected.txt: Added.
        * fast/xsl/xslt-nested-stylesheets.xml: Added.

2008-11-04  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

        - part of https://bugs.webkit.org/show_bug.cgi?id=21821
          Removed pixel results in platform/mac-tiger that were only slightly different
          (within 1% tolerance) from the platform/mac results.
          Removed results in platform/mac-tiger where the results in platform/mac were
          also correct for Tiger.

        (file listing elided)

2008-11-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=22026
        Fix bounds of transparency layer for a div with a transform
        inside an opacity layer.

        * fast/layers/opacity-transforms.html: Added.
        * platform/mac/fast/layers/opacity-transforms-expected.checksum: Added.
        * platform/mac/fast/layers/opacity-transforms-expected.png: Added.
        * platform/mac/fast/layers/opacity-transforms-expected.txt: Added.

2008-11-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Test that we properly block non-same-origin redirects for these
        esoteric loads.

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

        * http/tests/security/resources/xsl-using-document-redirect.xsl: Added.
        * http/tests/security/resources/xsl-using-external-entity-redirect.xsl: Added.
        * http/tests/security/xss-DENIED-xsl-document-redirect-expected.txt: Copied from LayoutTests/http/tests/security/xss-DENIED-xsl-document-expected.txt.
        * http/tests/security/xss-DENIED-xsl-document-redirect.xml: Added.
        * http/tests/security/xss-DENIED-xsl-external-entity-redirect-expected.txt: Copied from LayoutTests/http/tests/security/xss-DENIED-xsl-external-entity-expected.txt.
        * http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml: Added.

2008-11-01  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=22001
        AtomicStringImpl* keys of event listener maps can outlive their strings

        * fast/events/destroyed-atomic-string-expected.txt: Added.
        * fast/events/destroyed-atomic-string.html: Added.

2008-10-30  Justin Garcia  <justin.garcia@apple.com>

        Added another layout test for previous check-in.

        * editing/inserting/6104369-2-expected.txt: Added.
        * editing/inserting/6104369-2.html: Added.

2008-10-30  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Beth Dakin.
        
        <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line

        * editing/inserting/6104369-expected.txt: Added.
        * editing/inserting/6104369.html: Added.

2008-10-30  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

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

        Imported new image bases for a representative set of pixel tests in order to
        fully validate latest DRT and test script changes. These results were generated
        by a release build of r38003 on an Intel iMac running Mac OS X 10.5.5 with
        QuickTime 7.5.5.

        (file listing elided)

2008-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21921
        MessagePort messages are dispatched to documents that are not fully active

        * fast/events/message-port-inactive-document.html: Protect the document from being
        destructed in a working way (a global variable named "document" didn't do the trick due
        to its name).

2008-10-29  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21922
        Expose MessagePort global constructor

        * fast/dom/Window/window-properties-expected.txt:
        * fast/js/global-constructors-expected.txt:

2008-10-28  Timothy Hatcher  <timothy@apple.com>

        Remove fast/profiler from the skipped list for Tiger since the fix
        for <rdar://problem/6211578> should make things work.

        <rdar://problem/6316530> Profiler tests fail on Tiger

        Reviewed by Kevin McCullough.

        * platform/mac-tiger/Skipped:

2008-10-28  Timothy Hatcher  <timothy@apple.com>

        Update profiler tests to opt-in to profiling and clean up the output.

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

        <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it
        does not slow down JavaScript all the time

        Reviewed by Darin Adler and Kevin McCullough.

        * fast/profiler/anonymous-event-handler-expected.txt:
        * fast/profiler/anonymous-event-handler.html:
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt:
        * fast/profiler/anonymous-function-called-from-different-contexts.html:
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt:
        * fast/profiler/anonymous-function-calls-built-in-functions.html:
        * fast/profiler/anonymous-function-calls-eval-expected.txt:
        * fast/profiler/anonymous-function-calls-eval.html:
        * fast/profiler/apply-expected.txt:
        * fast/profiler/apply.html:
        * fast/profiler/built-in-function-calls-anonymous-expected.txt:
        * fast/profiler/built-in-function-calls-anonymous.html:
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
        * fast/profiler/built-in-function-calls-user-defined-function.html:
        * fast/profiler/call-expected.txt:
        * fast/profiler/call-nodelist-as-function-expected.txt:
        * fast/profiler/call-nodelist-as-function.html:
        * fast/profiler/call.html:
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt:
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html:
        * fast/profiler/compare-multiple-profiles-expected.txt:
        * fast/profiler/compare-multiple-profiles.html:
        * fast/profiler/constructor-expected.txt:
        * fast/profiler/constructor.html:
        * fast/profiler/dead-time-expected.txt:
        * fast/profiler/dead-time.html:
        * fast/profiler/document-dot-write-expected.txt:
        * fast/profiler/document-dot-write.html:
        * fast/profiler/event-handler-expected.txt:
        * fast/profiler/event-handler.html:
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt:
        * fast/profiler/execution-context-and-eval-on-same-line.html:
        * fast/profiler/heavy-view-expected.txt:
        * fast/profiler/heavy-view.html:
        * fast/profiler/inline-event-handler-expected.txt:
        * fast/profiler/inline-event-handler.html:
        * fast/profiler/many-calls-in-the-same-scope-expected.txt:
        * fast/profiler/many-calls-in-the-same-scope.html:
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt:
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html:
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt:
        * fast/profiler/multiple-and-different-scoped-function-calls.html:
        * fast/profiler/multiple-frames-expected.txt:
        * fast/profiler/multiple-frames.html:
        * fast/profiler/nested-anonymous-functon-expected.txt:
        * fast/profiler/nested-anonymous-functon.html:
        * fast/profiler/nested-start-and-stop-profiler-expected.txt:
        * fast/profiler/nested-start-and-stop-profiler.html:
        * fast/profiler/no-execution-context-expected.txt:
        * fast/profiler/no-execution-context.html:
        * fast/profiler/one-execution-context-expected.txt:
        * fast/profiler/one-execution-context.html:
        * fast/profiler/profile-calls-in-included-file-expected.txt:
        * fast/profiler/profile-calls-in-included-file.html:
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt:
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html:
        * fast/profiler/profiling-from-a-nested-location-expected.txt:
        * fast/profiler/profiling-from-a-nested-location.html:
        * fast/profiler/resources/profiler-test-JS-resources.js:
        (endTest): Remove some whitespace.
        (insertGivenText): Hide the output of this method, sicne it is not important to the test.
        (insertNewText): Ditto.
        (printHeavyProfilesDataWithoutTime): Output plain text an not console.log.
        (printProfilesDataWithoutTime): Ditto.
        (printProfileNodeWithoutTime): Ditto.
        * fast/profiler/simple-event-call-expected.txt:
        * fast/profiler/simple-event-call.html:
        * fast/profiler/simple-no-level-change-expected.txt:
        * fast/profiler/simple-no-level-change.html:
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt:
        * fast/profiler/start-and-stop-profiler-multiple-times.html:
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt:
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html:
        * fast/profiler/start-but-dont-stop-profiling-expected.txt:
        * fast/profiler/start-but-dont-stop-profiling.html:
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt:
        * fast/profiler/stop-profiling-after-setTimeout.html:
        * fast/profiler/stop-then-function-call-expected.txt:
        * fast/profiler/stop-then-function-call.html:
        * fast/profiler/throw-exception-from-eval-expected.txt:
        * fast/profiler/throw-exception-from-eval.html:
        * fast/profiler/two-execution-contexts-expected.txt:
        * fast/profiler/two-execution-contexts.html:
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt:
        * fast/profiler/user-defined-function-calls-built-in-functions.html:
        * fast/profiler/window-dot-eval-expected.txt:
        * fast/profiler/window-dot-eval.html:

2008-10-28  Pierre-Olivier Latour  <pol@apple.com>

        Reviewed by Dan Bernstein.

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

        Ensure all baseline images are in the right location and delete the ones that aren't needed.

        * editing/inserting/5607069-1-expected.checksum: Removed.
        * editing/inserting/5607069-1-expected.png: Removed.
        * editing/pasteboard/paste-text-013-expected.png: Removed.
        * fast/css/invalid-percentage-property-expected.checksum: Removed.
        * fast/css/invalid-percentage-property-expected.png: Removed.
        * fast/css/text-align-expected.checksum: Removed.
        * fast/css/text-align-expected.png: Removed.
        * fast/selectors/lang-inheritance-expected.checksum: Removed.
        * fast/selectors/lang-inheritance-expected.png: Removed.
        * fast/selectors/lang-inheritance2-expected.checksum: Removed.
        * fast/selectors/lang-inheritance2-expected.png: Removed.
        * fast/selectors/lang-vs-xml-lang-expected.checksum: Removed.
        * fast/selectors/lang-vs-xml-lang-expected.png: Removed.
        * fast/selectors/lang-vs-xml-lang-xhtml-expected.checksum: Removed.
        * fast/selectors/lang-vs-xml-lang-xhtml-expected.png: Removed.
        * platform/mac/fast/css/invalid-percentage-property-expected.checksum: Copied from LayoutTests/fast/css/invalid-percentage-property-expected.checksum.
        * platform/mac/fast/css/invalid-percentage-property-expected.png: Copied from LayoutTests/fast/css/invalid-percentage-property-expected.png.
        * platform/mac/fast/css/text-align-expected.checksum: Copied from LayoutTests/fast/css/text-align-expected.checksum.
        * platform/mac/fast/css/text-align-expected.png: Copied from LayoutTests/fast/css/text-align-expected.png.
        * platform/mac/fast/selectors/lang-inheritance-expected.checksum: Copied from LayoutTests/fast/selectors/lang-inheritance-expected.checksum.
        * platform/mac/fast/selectors/lang-inheritance-expected.png: Copied from LayoutTests/fast/selectors/lang-inheritance-expected.png.
        * platform/mac/fast/selectors/lang-inheritance2-expected.checksum: Copied from LayoutTests/fast/selectors/lang-inheritance2-expected.checksum.
        * platform/mac/fast/selectors/lang-inheritance2-expected.png: Copied from LayoutTests/fast/selectors/lang-inheritance2-expected.png.
        * platform/mac/fast/selectors/lang-vs-xml-lang-expected.checksum: Copied from LayoutTests/fast/selectors/lang-vs-xml-lang-expected.checksum.
        * platform/mac/fast/selectors/lang-vs-xml-lang-expected.png: Copied from LayoutTests/fast/selectors/lang-vs-xml-lang-expected.png.
        * platform/mac/fast/selectors/lang-vs-xml-lang-xhtml-expected.checksum: Copied from LayoutTests/fast/selectors/lang-vs-xml-lang-xhtml-expected.checksum.
        * platform/mac/fast/selectors/lang-vs-xml-lang-xhtml-expected.png: Copied from LayoutTests/fast/selectors/lang-vs-xml-lang-xhtml-expected.png.

2008-10-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21893
        Character set is incorrect for external scripts in XHTML pages

        <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/

        * fast/encoding/external-script-charset-expected.txt: Added.
        * fast/encoding/external-script-charset.js: Added.
        * fast/encoding/external-script-charset.xhtml: Added.
        
        * platform/mac/svg/carto.net/combobox-expected.checksum:
        * platform/mac/svg/carto.net/combobox-expected.png:
        * platform/mac/svg/carto.net/combobox-expected.txt:
        Updated incorrect results.

2008-10-21  Eric Seidel  <eric@webkit.org>

        Reviewed by Dave Hyatt.

        Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block
        https://bugs.webkit.org/show_bug.cgi?id=20400

        * svg/custom/stop-crash-expected.txt: Added.
        * svg/custom/stop-crash.svg: Added.

2008-10-26  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.
        
        https://bugs.webkit.org/show_bug.cgi?id=21886
        window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor

        * fast/dom/HTMLOptionElement/option-prototype.html:
        * fast/dom/HTMLOptionElement/option-prototype-expected.txt:
        Added a test to verify that extending HTMLOptionElement via its prototype doesn't affect
        HTMLElement.

        * fast/dom/wrapper-classes.html:
        * fast/dom/Window/element-constructors-on-window.html:
        * fast/dom/Window/window-properties.html:
        * fast/js/global-constructors.html:
        Updated results. Don't we have a little too many of these tests?

2008-10-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Weinig.
        
        Add missing results.

        * fast/js/global-constructors-expected.txt: Added.

2008-10-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam Weinig.

        Generate missing constructors and add test to prevent missing ones in the future
        https://bugs.webkit.org/show_bug.cgi?id=21846
        
        fast/dom/wrapper-classes-expected.txt results were incorrectly platform-specific
        that test used to be platform-dependent, but isn't anymore

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/wrapper-classes-expected.txt:
        * fast/js/global-constructors.html: Added.
        * fast/js/resources/global-constructors.js: Added.
        * platform/mac/fast/dom/wrapper-classes-expected.txt: Removed.

2008-10-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21836
        REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly

        * http/tests/xmlhttprequest/detaching-frame-expected.txt: Added.
        * http/tests/xmlhttprequest/detaching-frame.html: Added.
        * http/tests/xmlhttprequest/resources/detached-frame.html: Added.

2008-10-24  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/5440917> Support NPN_Construct
        
        Add testcase.
        
        * plugins/netscape-construct-expected.txt: Added.
        * plugins/netscape-construct.html: Added.

2008-10-24  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21475
        
        Provide support for the Geolocation API
        
        http://dev.w3.org/geo/api/spec-source.html

        Tests to verify Geolocation isn't implemented (so that it didn't leak into 
        WebCore for platforms that do not support it).

        * geolocation: Added.
        * geolocation/geolocation-not-implemented-expected.txt: Added.
        * geolocation/geolocation-not-implemented.html: Added.
        * geolocation/geolocation-test.js: Copied from LayoutTests/media/video-test.js.
        (reset):
        (hanged):
        (watchPositionAndEnd):
        (watchPosition._positionCallback):
        (watchPosition):
        (watchPositionTestAndEnd):
        (watchPositionAndFail):
        (watchPositionAndTest._positionCallback):
        (watchPositionAndTest):
        (getCurrentPositionAndEnd):
        (getCurrentPosition._positionCallback):
        (getCurrentPosition):
        (getCurrentPositionTestAndEnd):
        (getCurrentPositionAndFail):
        (getCurrentPositionAndTest._positionCallback):
        (getCurrentPositionAndTest):
        (endTest):
        (relativeURL):

2008-10-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig

        Add to the comment some new CSSRule types that are not yet tested.
        
        * fast/dom/wrapper-classes.html:

2008-10-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        https://bugs.webkit.org/show_bug.cgi?id=21858
        
        Add additional CSSRule types to the DOM-wrapper tests.
        
        * fast/dom/resources/wrapper-identity-base.js:
        * fast/dom/wrapper-identity-expected.txt:
        * platform/mac/fast/dom/objc-wrapper-identity-expected.txt:

2008-10-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - test for https://bugs.webkit.org/show_bug.cgi?id=21851
          <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height

        * fast/replaced/percent-height-in-anonymous-block-widget.html: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-widget-expected.checksum: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-widget-expected.png: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-widget-expected.txt: Added.

2008-10-24  David Kilzer  <ddkilzer@apple.com>

        Rolled out r37840.

        * geolocation/geolocation-not-implemented-expected.txt: Removed.
        * geolocation/geolocation-not-implemented.html: Removed.
        * geolocation/geolocation-test.js: Removed.

2008-10-23  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21475
        
        Provide support for the Geolocation API
        
        http://dev.w3.org/geo/api/spec-source.html

        Tests to verify Geolocation isn't implemented (so that it didn't leak into 
        WebCore for platforms that do not support it).

        * geolocation: Added.
        * geolocation/geolocation-not-implemented-expected.txt: Added.
        * geolocation/geolocation-not-implemented.html: Added.
        * geolocation/geolocation-test.js: Added.
        (reset):
        (hanged):
        (watchPositionAndEnd):
        (watchPosition._positionCallback):
        (watchPosition):
        (watchPositionTestAndEnd):
        (watchPositionAndFail):
        (watchPositionAndTest._positionCallback):
        (watchPositionAndTest):
        (getCurrentPositionAndEnd):
        (getCurrentPosition._positionCallback):
        (getCurrentPosition):
        (getCurrentPositionTestAndEnd):
        (getCurrentPositionAndFail):
        (getCurrentPositionAndTest._positionCallback):
        (getCurrentPositionAndTest):
        (endTest):
        (relativeURL):

2008-10-23  Kevin McCullough  <kmccullough@apple.com>

        Rubber stamped by Mark Rowe.

        -Skipping the profiler tests until we know why they fail on tiger:
        <rdar://problem/6316530> Profiler tests fail on tiger

        * platform/mac-tiger/Skipped:

2008-10-23  Kevin McCullough  <kmccullough@apple.com>

        Forgot to remove the tests from the skipped lists, this should have been
        apart of the last checkin.

        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2008-10-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=21817
        Bug 21817: Manual profiler tests should be made into layout tests

        - Added the expected results for the profiler tests and removed the
        tests from the skipped list.
        - Also removed two tests that were accidentally checked in previously.
        - Also changed the text on the tests to be more apparent how to run them
        manually.

        * fast/profiler/anonymous-event-handler-expected.txt: Added.
        * fast/profiler/anonymous-event-handler.html:
        * fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Added.
        * fast/profiler/anonymous-function-called-from-different-contexts.html:
        * fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Added.
        * fast/profiler/anonymous-function-calls-built-in-functions.html:
        * fast/profiler/anonymous-function-calls-eval-expected.txt: Added.
        * fast/profiler/anonymous-function-calls-eval.html:
        * fast/profiler/apply-expected.txt: Added.
        * fast/profiler/apply.html:
        * fast/profiler/built-in-function-calls-anonymous-expected.txt: Added.
        * fast/profiler/built-in-function-calls-anonymous.html:
        * fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Added.
        * fast/profiler/built-in-function-calls-user-defined-function.html:
        * fast/profiler/call-expected.txt: Added.
        * fast/profiler/call-nodelist-as-function-expected.txt: Added.
        * fast/profiler/call-nodelist-as-function.html:
        * fast/profiler/call.html: Added.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Added.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html:
        * fast/profiler/compare-multiple-profiles-expected.txt: Added.
        * fast/profiler/compare-multiple-profiles.html:
        * fast/profiler/constructor-expected.txt: Added.
        * fast/profiler/constructor.html:
        * fast/profiler/dead-time-expected.txt: Added.
        * fast/profiler/dead-time.html:
        * fast/profiler/deep-recursion.html: Removed.
        * fast/profiler/document-dot-write-expected.txt: Added.
        * fast/profiler/document-dot-write.html:
        * fast/profiler/event-handler-expected.txt: Added.
        * fast/profiler/event-handler.html:
        * fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Added.
        * fast/profiler/execution-context-and-eval-on-same-line.html:
        * fast/profiler/heavy-view-expected.txt: Added.
        * fast/profiler/heavy-view.html:
        * fast/profiler/inline-event-handler-expected.txt: Added.
        * fast/profiler/inline-event-handler.html:
        * fast/profiler/many-calls-in-the-same-scope-expected.txt: Added.
        * fast/profiler/many-calls-in-the-same-scope.html: Added.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Added.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html:
        * fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Added.
        * fast/profiler/multiple-and-different-scoped-function-calls.html:
        * fast/profiler/multiple-frames-expected.txt: Added.
        * fast/profiler/multiple-frames.html:
        * fast/profiler/multiple-windows.html: Removed.
        * fast/profiler/nested-anonymous-functon-expected.txt: Added.
        * fast/profiler/nested-anonymous-functon.html:
        * fast/profiler/nested-start-and-stop-profiler-expected.txt: Added.
        * fast/profiler/nested-start-and-stop-profiler.html:
        * fast/profiler/no-execution-context-expected.txt: Added.
        * fast/profiler/no-execution-context.html:
        * fast/profiler/one-execution-context-expected.txt: Added.
        * fast/profiler/one-execution-context.html:
        * fast/profiler/profile-calls-in-included-file-expected.txt: Added.
        * fast/profiler/profile-calls-in-included-file.html:
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Added.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html:
        * fast/profiler/profiling-from-a-nested-location-expected.txt: Added.
        * fast/profiler/profiling-from-a-nested-location.html:
        * fast/profiler/simple-event-call-expected.txt: Added.
        * fast/profiler/simple-event-call.html:
        * fast/profiler/simple-no-level-change-expected.txt: Added.
        * fast/profiler/simple-no-level-change.html:
        * fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Added.
        * fast/profiler/start-and-stop-profiler-multiple-times.html:
        * fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Added.
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html:
        * fast/profiler/start-but-dont-stop-profiling-expected.txt: Added.
        * fast/profiler/start-but-dont-stop-profiling.html:
        * fast/profiler/stop-profiling-after-setTimeout-expected.txt: Added.
        * fast/profiler/stop-profiling-after-setTimeout.html:
        * fast/profiler/stop-then-function-call-expected.txt: Added.
        * fast/profiler/stop-then-function-call.html:
        * fast/profiler/throw-exception-from-eval-expected.txt: Added.
        * fast/profiler/throw-exception-from-eval.html:
        * fast/profiler/two-execution-contexts-expected.txt: Added.
        * fast/profiler/two-execution-contexts.html:
        * fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Added.
        * fast/profiler/user-defined-function-calls-built-in-functions.html:
        * fast/profiler/window-dot-eval-expected.txt: Added.
        * fast/profiler/window-dot-eval.html:

2008-10-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig with no hesitation.

        - test for the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839
          <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering

        * fast/text/bidi-embedding-pop-and-push-same.html: Added.
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.checksum: Added.
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.png: Added.
        * platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Added.

2008-10-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=21817
        Bug 21817: Manual profiler tests should be made into layout tests

        - Here are the changes to the tests.  The most significant part is the
        change to profiler-test-JS-resources.js where endTest will now notify
        the layout test controller if it was waiting and call the print function
        to iterate over all of the profiles and log their structure.
        - Most of these tests changed to include the layoutTestController, use
        endTest() or call the print function directly if there was some reason
        that they could not use endTest().

        * fast/profiler/resources/profiler-test-JS-resources.js:
        (endTest): Stop any waits and print the profile information.
        (printHeavyProfilesDataWithoutTime): Print all profile information in 
        heavy view, without time.
        (printProfilesDataWithoutTime): Print all profile information in tree
        view, without time.
        (printProfileNodeWithoutTime): Print a profile node's informmation and
        all of it's children's information.
        * fast/profiler/anonymous-event-handler.html:
        * fast/profiler/anonymous-function-called-from-different-contexts.html:
        * fast/profiler/anonymous-function-calls-built-in-functions.html:
        * fast/profiler/anonymous-function-calls-eval.html:
        * fast/profiler/apply.html:
        * fast/profiler/built-in-function-calls-anonymous.html:
        * fast/profiler/built-in-function-calls-user-defined-function.html:
        * fast/profiler/call-nodelist-as-function.html:
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html:
        * fast/profiler/compare-multiple-profiles.html:
        * fast/profiler/constructor.html:
        * fast/profiler/dead-time.html:
        * fast/profiler/deep-recursion.html:
        * fast/profiler/document-dot-write.html:
        * fast/profiler/event-handler.html:
        * fast/profiler/execution-context-and-eval-on-same-line.html:
        * fast/profiler/heavy-view.html:
        * fast/profiler/inline-event-handler.html:
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html:
        * fast/profiler/multiple-and-different-scoped-function-calls.html:
        * fast/profiler/multiple-frames.html:
        * fast/profiler/nested-anonymous-functon.html:
        * fast/profiler/nested-start-and-stop-profiler.html:
        * fast/profiler/no-execution-context.html:
        * fast/profiler/one-execution-context.html:
        * fast/profiler/profile-calls-in-included-file.html:
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html:
        * fast/profiler/profiling-from-a-nested-location.html:
        * fast/profiler/simple-event-call.html:
        * fast/profiler/simple-no-level-change.html:
        * fast/profiler/start-and-stop-profiler-multiple-times.html:
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html:
        * fast/profiler/start-but-dont-stop-profiling.html:
        * fast/profiler/stop-profiling-after-setTimeout.html:
        * fast/profiler/stop-then-function-call.html:
        * fast/profiler/throw-exception-from-eval.html:
        * fast/profiler/two-execution-contexts.html:
        * fast/profiler/user-defined-function-calls-built-in-functions.html:
        * fast/profiler/window-dot-eval.html:

2008-10-23  Darin Adler  <darin@apple.com>

        - try to get buildbot green again

        * platform/gtk/Skipped: Added fast/profiler.
        * platform/mac/Skipped: Fixed typo: fast/profiler, not fast/profile.
        * platform/qt/Skipped: Added fast/profiler.
        * platform/win/Skipped: Fixed typo: fast/profiler, not fast/profile.

2008-10-23  Kevin McCullough  <kmccullough@apple.com>

        Forgot to actually check these files in from last time :(

        * fast/profiler: Added.
        * fast/profiler/anonymous-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-event-handler.html.
        * fast/profiler/anonymous-function-called-from-different-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html.
        * fast/profiler/anonymous-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html.
        * fast/profiler/anonymous-function-calls-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html.
        * fast/profiler/apply.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-apply.html.
        * fast/profiler/built-in-function-calls-anonymous.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html.
        * fast/profiler/built-in-function-calls-user-defined-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html.
        * fast/profiler/call-nodelist-as-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-call-nodelist-as-function.html.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html.
        * fast/profiler/compare-multiple-profiles.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-compare-multiple-profiles.html.
        * fast/profiler/constructor.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-constructor.html.
        * fast/profiler/dead-time.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-dead-time.html.
        * fast/profiler/deep-recursion.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-deep-recursion.html.
        * fast/profiler/document-dot-write.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-document-dot-write.html.
        * fast/profiler/event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-event-handler.html.
        * fast/profiler/execution-context-and-eval-on-same-line.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html.
        * fast/profiler/heavy-view.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-heavy-view.html.
        * fast/profiler/inline-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-inline-event-handler.html.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html.
        * fast/profiler/multiple-and-different-scoped-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html.
        * fast/profiler/multiple-frames.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-frames.html.
        * fast/profiler/multiple-windows.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-windows.html.
        * fast/profiler/nested-anonymous-functon.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-anonymous-functon.html.
        * fast/profiler/nested-start-and-stop-profiler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html.
        * fast/profiler/no-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-no-execution-context.html.
        * fast/profiler/one-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-one-execution-context.html.
        * fast/profiler/profile-calls-in-included-file.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profile-calls-in-included-file.html.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html.
        * fast/profiler/profiling-from-a-nested-location.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html.
        * fast/profiler/resources: Added.
        * fast/profiler/resources/other-frame.html: Copied from ../WebCore/manual-tests/inspector/resources/other-frame.html.
        * fast/profiler/resources/other-window.html: Copied from ../WebCore/manual-tests/inspector/resources/other-window.html.
        * fast/profiler/resources/profiler-test-JS-resources.js: Copied from ../WebCore/manual-tests/inspector/resources/profiler-test-JS-resources.js.
        * fast/profiler/simple-event-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-event-call.html.
        * fast/profiler/simple-no-level-change.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-no-level-change.html.
        * fast/profiler/start-and-stop-profiler-multiple-times.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html.
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html.
        * fast/profiler/start-but-dont-stop-profiling.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html.
        * fast/profiler/stop-profiling-after-setTimeout.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html.
        * fast/profiler/stop-then-function-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-then-function-call.html.
        * fast/profiler/throw-exception-from-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-throw-exception-from-eval.html.
        * fast/profiler/two-execution-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-two-execution-contexts.html.
        * fast/profiler/user-defined-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html.
        * fast/profiler/window-dot-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-window-dot-eval.html.

2008-10-23  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim Hatcher.

        https://bugs.webkit.org/show_bug.cgi?id=21817
        Bug 21817: Manual profiler tests should be made into layout tests

        -Moving the tests before diffing so that it's clear what changed.

        * platform/mac/Skipped: Skipping until the new files are in place.
        * platform/win/Skipped:
        * fast/profiler: Added.
        * fast/profiler/anonymous-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-event-handler.html.
        * fast/profiler/anonymous-function-called-from-different-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html.
        * fast/profiler/anonymous-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html.
        * fast/profiler/anonymous-function-calls-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html.
        * fast/profiler/apply.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-apply.html.
        * fast/profiler/built-in-function-calls-anonymous.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html.
        * fast/profiler/built-in-function-calls-user-defined-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html.
        * fast/profiler/call-nodelist-as-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-call-nodelist-as-function.html.
        * fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html.
        * fast/profiler/compare-multiple-profiles.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-compare-multiple-profiles.html.
        * fast/profiler/constructor.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-constructor.html.
        * fast/profiler/dead-time.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-dead-time.html.
        * fast/profiler/deep-recursion.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-deep-recursion.html.
        * fast/profiler/document-dot-write.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-document-dot-write.html.
        * fast/profiler/event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-event-handler.html.
        * fast/profiler/execution-context-and-eval-on-same-line.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html.
        * fast/profiler/heavy-view.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-heavy-view.html.
        * fast/profiler/inline-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-inline-event-handler.html.
        * fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html.
        * fast/profiler/multiple-and-different-scoped-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html.
        * fast/profiler/multiple-frames.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-frames.html.
        * fast/profiler/multiple-windows.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-windows.html.
        * fast/profiler/nested-anonymous-functon.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-anonymous-functon.html.
        * fast/profiler/nested-start-and-stop-profiler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html.
        * fast/profiler/no-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-no-execution-context.html.
        * fast/profiler/one-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-one-execution-context.html.
        * fast/profiler/profile-calls-in-included-file.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profile-calls-in-included-file.html.
        * fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html.
        * fast/profiler/profiling-from-a-nested-location.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html.
        * fast/profiler/resources: Added.
        * fast/profiler/resources/other-frame.html: Copied from ../WebCore/manual-tests/inspector/resources/other-frame.html.
        * fast/profiler/resources/other-window.html: Copied from ../WebCore/manual-tests/inspector/resources/other-window.html.
        * fast/profiler/resources/profiler-test-JS-resources.js: Copied from ../WebCore/manual-tests/inspector/resources/profiler-test-JS-resources.js.
        * fast/profiler/simple-event-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-event-call.html.
        * fast/profiler/simple-no-level-change.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-no-level-change.html.
        * fast/profiler/start-and-stop-profiler-multiple-times.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html.
        * fast/profiler/start-and-stop-profiling-in-the-same-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html.
        * fast/profiler/start-but-dont-stop-profiling.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html.
        * fast/profiler/stop-profiling-after-setTimeout.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html.
        * fast/profiler/stop-then-function-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-then-function-call.html.
        * fast/profiler/throw-exception-from-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-throw-exception-from-eval.html.
        * fast/profiler/two-execution-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-two-execution-contexts.html.
        * fast/profiler/user-defined-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html.
        * fast/profiler/window-dot-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-window-dot-eval.html.

2008-10-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        Fix fast/events/message-port.html to not be timing-dependent (it was failing on some bots).

        * fast/events/message-port.html:
        * fast/events/message-port-expected.txt:

2008-10-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

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

        Add test coverage for postMessaging from a data URL.

        * http/tests/security/postMessage/data-url-sends-null-origin-expected.txt: Added.
        * http/tests/security/postMessage/data-url-sends-null-origin.html: Added.

2008-10-22  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Kevin McCullough.

        Check in changed test results for r37792.

        * fast/dom/Window/window-properties-expected.txt:

2008-10-22  David Smith  <catfish.man@gmail.com>

        Reviewed by andersca.
        
        https://bugs.webkit.org/show_bug.cgi?id=19974
        getElementsByClassName not live enough

        * fast/dom/getElementsByClassName/015-expected.txt: Added.
        * fast/dom/getElementsByClassName/015.html: Added.

2008-10-22  Brady Eidson  <beidson@apple.com>

        Reviewed by Adam Roben

        <rdar://6261773> - autocomplete="off" doesn't work on Windows

        Remove a skipped test that can now pass with proper DRT support
        
        * platform/win/Skipped: Remove security/autocomplete-cleared-on-back.html

2008-10-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        Moved tests from css3 to animations/transforms directories.

        * animations/change-keyframes-expected.txt: Renamed from LayoutTests/css3/change-keyframes-expected.txt.
        * animations/change-keyframes.html: Renamed from LayoutTests/css3/change-keyframes.html.
        * animations/keyframes-rule-expected.txt: Renamed from LayoutTests/css3/keyframes-rule-expected.txt.
        * animations/keyframes-rule.html: Renamed from LayoutTests/css3/keyframes-rule.html.
        * transforms/transform-value-types-expected.txt: Renamed from LayoutTests/css3/transform-value-types-expected.txt.
        * transforms/transform-value-types.html: Renamed from LayoutTests/css3/transform-value-types.html.

2008-10-22  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt
        
        Testcase for https://bugs.webkit.org/show_bug.cgi?id=21580

        * animations/change-keyframes-name-expected.txt: Added.
        * animations/change-keyframes-name.html: Added.

2008-10-22  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Alexey Proskuryakov.
        Landed by Adam Barth.

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

        Replace x-mac-cyrillic by windows-1256. 

        * http/tests/misc/frame-default-enc-same-domain-expected.txt:
        * http/tests/misc/frame-default-enc-same-domain.html:

2008-10-21  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21769
        MessagePort should be GC protected if there are messages to be delivered

        * fast/events/message-channel-gc-3-expected.txt: Added.
        * fast/events/message-channel-gc-3.html: Added.

2008-10-20  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Jon Honeycutt.

        Add a test for table support in accessibilty
        See https://bugs.webkit.org/show_bug.cgi?id=21721

        * accessibility/table-nofirstbody-expected.txt: Added.
        * accessibility/table-nofirstbody.html: Added.

2008-10-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Test for bugs fixed while working on https://bugs.webkit.org/show_bug.cgi?id=21735
        Emit profiling instrumentation only if the Web Inspector's profiling
        feature is enabled

        * fast/js/exception-thrown-from-new-expected.txt: Added.
        * fast/js/exception-thrown-from-new.html: Added.

2008-10-20  Alexey Proskuryakov  <ap@webkit.org>

        Add Worker to the results - although it is just a stub right now, it is present in the list
        of window properties.

        * fast/dom/Window/window-properties-expected.txt:

2008-10-17  Pamela Greene  <pam@chromium.org>

        Add a number of new tests.
        See https://bugs.webkit.org/show_bug.cgi?id=21407

        Reviewed by Alexey Proskuryakov.

        * fast/css/border-height.html: Added.
        * fast/dom/Window/orphaned-frame-access-expected.txt: Added.
        * fast/dom/Window/orphaned-frame-access.html: Added.
        * fast/forms/image-border.html: Added.
        * fast/forms/input-field-text-truncated.html: Added.
        * fast/forms/input-type-text-min-width.html: Added.
        * fast/forms/textarea-scrollbar-height-expected.txt: Added.
        * fast/forms/textarea-scrollbar-height.html: Added.
        * fast/forms/textarea-width.html: Added.
        * fast/overflow/overflow_hidden.html: Added.
        * fast/parser/resources/xml-declaration-missing-ending-mark.xml: Added.
        * fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
        * fast/parser/xml-declaration-missing-ending-mark.html: Added.
        * fast/text/international/hindi-spacing.html: Added.
        * http/tests/misc/crash-multiple-family-fontface-expected.txt: Added.
        * http/tests/misc/crash-multiple-family-fontface.html: Added.
        * platform/mac/fast/css/border-height-expected.checksum: Added.
        * platform/mac/fast/css/border-height-expected.png: Added.
        * platform/mac/fast/css/border-height-expected.txt: Added.
        * platform/mac/fast/forms/image-border-expected.checksum: Added.
        * platform/mac/fast/forms/image-border-expected.png: Added.
        * platform/mac/fast/forms/image-border-expected.txt: Added.
        * platform/mac/fast/forms/input-field-text-truncated-expected.checksum: Added.
        * platform/mac/fast/forms/input-field-text-truncated-expected.png: Added.
        * platform/mac/fast/forms/input-field-text-truncated-expected.txt: Added.
        * platform/mac/fast/forms/input-type-text-min-width-expected.checksum: Added.
        * platform/mac/fast/forms/input-type-text-min-width-expected.png: Added.
        * platform/mac/fast/forms/input-type-text-min-width-expected.txt: Added.
        * platform/mac/fast/forms/textarea-width-expected.checksum: Added.
        * platform/mac/fast/forms/textarea-width-expected.png: Added.
        * platform/mac/fast/forms/textarea-width-expected.txt: Added.
        * platform/mac/fast/overflow/overflow_hidden-expected.checksum: Added.
        * platform/mac/fast/overflow/overflow_hidden-expected.png: Added.
        * platform/mac/fast/overflow/overflow_hidden-expected.txt: Added.
        * platform/mac/fast/text/international/hindi-spacing-expected.checksum: Added.
        * platform/mac/fast/text/international/hindi-spacing-expected.png: Added.
        * platform/mac/fast/text/international/hindi-spacing-expected.txt: Added.

2008-10-17  Pamela Greene  <pam@chromium.org>

        Fix potential race by running two passes of test to defer notifyDone.
        See https://bugs.webkit.org/show_bug.cgi?id=21576

        Reviewed by Timothy Hatcher.

        * fast/history/resources/history_reload_window.html:

2008-10-16  Julien Chaffraix  <jchaffraix@pleyo.com>

        Rubber-stamped by Alexey Proskuryakov.

        Remove duplicated code in this test.

        * http/tests/xmlhttprequest/xmlhttprequest-post-crash.html:

2008-10-15  Glenn Wilson  <gwilson@google.com>

        Added tests to verify that smart editing can be disabled for some tests.

        Reviewed by Tim Hatcher.

        * editing/deleting/smart-editing-disabled-expected.txt: Added.
        * editing/deleting/smart-editing-disabled.html: Added.

2008-10-14  Pamela Greene  <pam@chromium.org>

        Add test to verify popup properties while they're opening.
        The expected result is currently not the desired result.
        See https://bugs.webkit.org/show_bug.cgi?id=21419 and
        https://bugs.webkit.org/show_bug.cgi?id=21597 .

        Reviewed by Eric Seidel.

        * fast/dom/Window/window-open-pending-url-expected.txt: Added.
        * fast/dom/Window/window-open-pending-url.html: Added.

2008-10-14  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        Testcase for https://bugs.webkit.org/show_bug.cgi?id=21490
        Optimize keyframe style sheet changes by avoiding styleSheetChanged()

        * css3/change-keyframes-expected.txt: Added.
        * css3/change-keyframes.html: Added.

2008-10-14  David Hyatt  <hyatt@apple.com>

        Add layout tests for body propagation of overflow and background to the viewport.

        Reviewed by Adam Roben

        * fast/body-propagation: Added.
        * fast/body-propagation/background-color: Added.
        * fast/body-propagation/background-color/001-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/001.html: Added.
        * fast/body-propagation/background-color/002-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/002.html: Added.
        * fast/body-propagation/background-color/003-declarative.xhtml: Added.
        * fast/body-propagation/background-color/003-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/003.html: Added.
        * fast/body-propagation/background-color/004-declarative.xhtml: Added.
        * fast/body-propagation/background-color/004-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/004.html: Added.
        * fast/body-propagation/background-color/005-declarative.xhtml: Added.
        * fast/body-propagation/background-color/005-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/005.html: Added.
        * fast/body-propagation/background-color/006-declarative.xhtml: Added.
        * fast/body-propagation/background-color/006-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/006.html: Added.
        * fast/body-propagation/background-color/007-declarative.xhtml: Added.
        * fast/body-propagation/background-color/007-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/007.html: Added.
        * fast/body-propagation/background-color/008-xhtml.xhtml: Added.
        * fast/body-propagation/background-color/008.html: Added.
        * fast/body-propagation/background-image: Added.
        * fast/body-propagation/background-image/001-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/001.html: Added.
        * fast/body-propagation/background-image/002-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/002.html: Added.
        * fast/body-propagation/background-image/003-declarative.xhtml: Added.
        * fast/body-propagation/background-image/003-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/003.html: Added.
        * fast/body-propagation/background-image/004-declarative.xhtml: Added.
        * fast/body-propagation/background-image/004-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/004.html: Added.
        * fast/body-propagation/background-image/005-declarative.xhtml: Added.
        * fast/body-propagation/background-image/005-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/005.html: Added.
        * fast/body-propagation/background-image/006-declarative.xhtml: Added.
        * fast/body-propagation/background-image/006-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/006.html: Added.
        * fast/body-propagation/background-image/007-declarative.xhtml: Added.
        * fast/body-propagation/background-image/007-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/007.html: Added.
        * fast/body-propagation/background-image/008-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/008.html: Added.
        * fast/body-propagation/background-image/009-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/009.html: Added.
        * fast/body-propagation/background-image/010-xhtml.xhtml: Added.
        * fast/body-propagation/background-image/010.html: Added.
        * fast/body-propagation/background-image/resources: Added.
        * fast/body-propagation/background-image/resources/lime.png: Added.
        * fast/body-propagation/background-image/resources/red.png: Added.
        * fast/body-propagation/background-image/resources/white.png: Added.
        * fast/body-propagation/background-image/resources/yellow.png: Added.
        * fast/body-propagation/overflow: Added.
        * fast/body-propagation/overflow/001-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/001.html: Added.
        * fast/body-propagation/overflow/002-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/002.html: Added.
        * fast/body-propagation/overflow/003-declarative.xhtml: Added.
        * fast/body-propagation/overflow/003-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/003.html: Added.
        * fast/body-propagation/overflow/004-declarative.xhtml: Added.
        * fast/body-propagation/overflow/004-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/004.html: Added.
        * fast/body-propagation/overflow/005-declarative.xhtml: Added.
        * fast/body-propagation/overflow/005-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/005.html: Added.
        * fast/body-propagation/overflow/006-declarative.xhtml: Added.
        * fast/body-propagation/overflow/006-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/006.html: Added.
        * fast/body-propagation/overflow/007-declarative.xhtml: Added.
        * fast/body-propagation/overflow/007-xhtml.xhtml: Added.
        * fast/body-propagation/overflow/007.html: Added.
        * platform/mac/fast/body-propagation: Added.
        * platform/mac/fast/body-propagation/background-color: Added.
        * platform/mac/fast/body-propagation/background-color/001-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/001-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/001-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/001-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/001-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/001-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/002-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/002-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/002-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/002-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/002-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/002-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/003-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/003-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/003-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/003-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/003-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/003-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/003-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/003-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/003-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/004-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/004-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/004-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/004-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/004-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/004-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/004-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/004-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/004-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/005-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/005-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/005-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/005-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/005-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/005-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/005-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/005-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/005-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/006-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/006-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/006-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/006-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/006-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/006-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/006-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/006-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/006-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/007-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/007-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/007-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/007-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/007-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/007-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/007-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/007-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/007-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/008-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/008-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/008-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-color/008-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-color/008-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-color/008-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image: Added.
        * platform/mac/fast/body-propagation/background-image/001-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/001-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/001-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/001-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/001-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/001-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/002-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/002-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/002-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/002-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/002-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/002-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/003-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/003-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/003-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/003-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/003-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/003-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/003-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/003-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/003-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/004-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/004-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/004-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/004-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/004-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/004-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/004-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/004-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/004-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/005-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/005-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/005-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/005-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/005-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/005-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/005-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/005-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/005-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/006-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/006-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/006-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/006-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/006-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/006-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/006-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/006-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/006-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/007-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/007-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/007-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/007-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/007-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/007-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/007-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/007-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/007-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/008-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/008-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/008-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/008-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/008-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/008-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/009-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/009-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/009-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/009-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/009-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/009-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/010-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/010-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/010-expected.txt: Added.
        * platform/mac/fast/body-propagation/background-image/010-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/background-image/010-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/background-image/010-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow: Added.
        * platform/mac/fast/body-propagation/overflow/001-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/001-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/001-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/001-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/001-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/001-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/002-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/002-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/002-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/002-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/002-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/002-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/003-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/003-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/003-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/003-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/003-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/003-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/003-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/003-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/003-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/004-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/004-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/004-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/004-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/004-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/004-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/004-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/004-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/004-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/005-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/005-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/005-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/005-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/005-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/005-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/005-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/005-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/005-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/006-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/006-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/006-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/006-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/006-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/006-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/006-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/006-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/006-xhtml-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/007-declarative-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/007-declarative-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/007-declarative-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/007-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/007-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/007-expected.txt: Added.
        * platform/mac/fast/body-propagation/overflow/007-xhtml-expected.checksum: Added.
        * platform/mac/fast/body-propagation/overflow/007-xhtml-expected.png: Added.
        * platform/mac/fast/body-propagation/overflow/007-xhtml-expected.txt: Added.

2008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed and landed by Sam Weinig.

        Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
        remove no longer relevant NSResolver tests.

        * fast/dom/SelectorAPI/NSResolver-basic-expected.txt: Removed.
        * fast/dom/SelectorAPI/NSResolver-basic.xhtml: Removed.
        * fast/dom/SelectorAPI/NSResolver-exceptions-expected.txt: Removed.
        * fast/dom/SelectorAPI/NSResolver-exceptions.xhtml: Removed.
        * fast/dom/SelectorAPI/resources/NSResolver-exceptions.js: Removed.

2008-10-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Added a test to make sure AXLinkUIElements return links in image maps

        * accessibility/document-links-expected.txt: Added.
        * accessibility/document-links.html: Added.

2008-10-13  David Hyatt  <hyatt@apple.com>

        Add test case for custom CSS listbox scrollbars.

        Reviewed by Tim Hatcher

        * platform/mac/scrollbars/listbox-scrollbar-combinations-expected.checksum: Added.
        * platform/mac/scrollbars/listbox-scrollbar-combinations-expected.png: Added.
        * platform/mac/scrollbars/listbox-scrollbar-combinations-expected.txt: Added.
        * scrollbars/listbox-scrollbar-combinations.html: Added.

2008-10-13  Timothy Hatcher  <timothy@apple.com>

        Adds an complex styled scrollbar test that exercises all pseudo-elements and pseudo-classes.
        Also uses positive and negative margins on the scrollbar track and track pieces.
        Tests all the combinations of scrollbars for overflow elements, with and without resizers.

        Rubber-stamped by Dave Hyatt.

        * platform/mac/scrollbars/overflow-scrollbar-combinations-expected.checksum: Added.
        * platform/mac/scrollbars/overflow-scrollbar-combinations-expected.png: Added.
        * platform/mac/scrollbars/overflow-scrollbar-combinations-expected.txt: Added.
        * scrollbars/overflow-scrollbar-combinations.html: Added.
        * scrollbars/resources: Added.
        * scrollbars/resources/corner-inactive.png: Added.
        * scrollbars/resources/corner.png: Added.
        * scrollbars/resources/horizontal-button-active.png: Added.
        * scrollbars/resources/horizontal-button-background-active.png: Added.
        * scrollbars/resources/horizontal-button-background-hover.png: Added.
        * scrollbars/resources/horizontal-button-background-inactive.png: Added.
        * scrollbars/resources/horizontal-button-background.png: Added.
        * scrollbars/resources/horizontal-button-hover.png: Added.
        * scrollbars/resources/horizontal-button-inactive.png: Added.
        * scrollbars/resources/horizontal-button.png: Added.
        * scrollbars/resources/horizontal-decrement-arrow.png: Added.
        * scrollbars/resources/horizontal-increment-arrow.png: Added.
        * scrollbars/resources/horizontal-thumb-active.png: Added.
        * scrollbars/resources/horizontal-thumb-hover.png: Added.
        * scrollbars/resources/horizontal-thumb-inactive.png: Added.
        * scrollbars/resources/horizontal-thumb.png: Added.
        * scrollbars/resources/horizontal-track-active.png: Added.
        * scrollbars/resources/horizontal-track-disabled.png: Added.
        * scrollbars/resources/horizontal-track-hover.png: Added.
        * scrollbars/resources/horizontal-track.png: Added.
        * scrollbars/resources/resizer-inactive.png: Added.
        * scrollbars/resources/resizer.png: Added.
        * scrollbars/resources/vertical-button-active.png: Added.
        * scrollbars/resources/vertical-button-background-active.png: Added.
        * scrollbars/resources/vertical-button-background-hover.png: Added.
        * scrollbars/resources/vertical-button-background-inactive.png: Added.
        * scrollbars/resources/vertical-button-background.png: Added.
        * scrollbars/resources/vertical-button-hover.png: Added.
        * scrollbars/resources/vertical-button-inactive.png: Added.
        * scrollbars/resources/vertical-button.png: Added.
        * scrollbars/resources/vertical-decrement-arrow.png: Added.
        * scrollbars/resources/vertical-increment-arrow.png: Added.
        * scrollbars/resources/vertical-thumb-active.png: Added.
        * scrollbars/resources/vertical-thumb-hover.png: Added.
        * scrollbars/resources/vertical-thumb-inactive.png: Added.
        * scrollbars/resources/vertical-thumb.png: Added.
        * scrollbars/resources/vertical-track-active.png: Added.
        * scrollbars/resources/vertical-track-disabled.png: Added.
        * scrollbars/resources/vertical-track-hover.png: Added.
        * scrollbars/resources/vertical-track.png: Added.

2008-10-12  Pamela Greene  <pam@chromium.org>

        Reviewed by Darin Adler.

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

        Add tests to cover more gradient edge cases: missing endpoints, only
        endpoints, only one stop.

        * fast/canvas/fillrect_gradient.html:
        * platform/mac/fast/canvas/fillrect_gradient-expected.checksum:
        * platform/mac/fast/canvas/fillrect_gradient-expected.png:
        * platform/mac/fast/canvas/fillrect_gradient-expected.txt:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Fixed 'completed' variable name to match 'running' one.
        See https://bugs.webkit.org/show_bug.cgi?id=21506

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * dom/html/level2/html/HTMLFrameElement09.js:
        * dom/html/level2/html/HTMLIFrameElement11.js:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Remove a race condition in a test by promoting layoutTestController
        calls outside document.write().  Add document.close().
        See https://bugs.webkit.org/show_bug.cgi?id=21524

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * fast/encoding/script-in-head.html:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Remove data: URLs to avoid cross-domain security restrictions.
        See https://bugs.webkit.org/show_bug.cgi?id=21528

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * fast/events/resources/tabindex-focus-blur-all-frame1.html:
        * fast/events/resources/tabindex-focus-blur-all-frame2.html:
        * fast/events/resources/tabindex-focus-blur-all-frame3.html: Added.
        * fast/events/tabindex-focus-blur-all.html:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Fix test when removesExtraParentheses == false.
        See https://bugs.webkit.org/show_bug.cgi?id=21529

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * fast/js/resources/function-toString-parentheses.js:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Fix a race condition by waiting for all create functions to be called
        before terminating.
        See https://bugs.webkit.org/show_bug.cgi?id=21531

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * platform/mac/svg/carto.net/window-expected.checksum:
        * platform/mac/svg/carto.net/window-expected.png:
        * platform/mac/svg/carto.net/window-expected.txt:
        * svg/carto.net/window.svg:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Remove inadvertent const redefinition, and add specific test for it.
        See https://bugs.webkit.org/show_bug.cgi?id=21532

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * fast/js/const-expected.txt:
        * fast/js/resources/const.js:

2008-10-12  Pamela Greene  <pam@chromium.org>

        Add a test for null character data.
        See https://bugs.webkit.org/show_bug.cgi?id=21535

        Reviewed by Darin Adler.
        Landed by Adam Barth.

        * fast/dom/null-chardata-crash-expected.txt: Added.
        * fast/dom/null-chardata-crash.html: Added.

2008-10-12  Glenn Wilson  <gwilson@google.com>

        Reviewed by Darin Adler.

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

        Added new test to verify that the user can cut and paste multiple lines of text
        into a single line text field.

        * fast/forms/paste-multiline-text-input-expected.txt: Added.
        * fast/forms/paste-multiline-text-input.html: Added.
        * fast/forms/input-truncate-newline-expected.txt: Removed.
        * fast/forms/input-truncate-newline.html: Removed.

        * fast/forms/8250-expected.txt: Added.
        * fast/forms/8250.html: Updated test to be text-only and expect new results.
        * platform/mac/fast/forms/8250-expected.checksum: Removed.
        * platform/mac/fast/forms/8250-expected.png: Removed.
        * platform/mac/fast/forms/8250-expected.txt: Removed.
        * platform/qt/fast/forms/8250-expected.txt: Removed.

2008-10-12  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Eric Seidel.

        - test for https://bugs.webkit.org/show_bug.cgi?id=20435

        Added new tests to check behavior of canvas gradients to infinite values
        or invalid colors.

        * fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt: Added.
        * fast/canvas/gradient-addColorStop-with-invalid-color.html: Added.
        * fast/canvas/linearGradient-infinite-values-expected.txt: Added.
        * fast/canvas/linearGradient-infinite-values.html: Added.
        * fast/canvas/radialGradient-infinite-values-expected.txt: Added.
        * fast/canvas/radialGradient-infinite-values.html: Added.
        * fast/canvas/resources/gradient-addColorStop-with-invalid-color.js: Added.
        * fast/canvas/resources/linearGradient-infinite-values.js: Added.
        * fast/canvas/resources/radialGradient-infinite-values.js: Added.

2008-10-12  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - tests for https://bugs.webkit.org/show_bug.cgi?id=21556
          Bug 21556: non-ASCII digits are allowed in places where only ASCII should be

        The fix was in a function used all over the place. I set a breakpoint in the
        function and made some regression tests for the first few places it was used.

        * fast/dom/HTMLFontElement: Added.
        * fast/dom/HTMLFontElement/resources: Added.
        * fast/dom/HTMLFontElement/resources/TEMPLATE.html: Added.
        * fast/dom/HTMLFontElement/resources/size-attribute.js: Added.
        * fast/dom/HTMLFontElement/size-attribute-expected.txt: Added.
        * fast/dom/HTMLFontElement/size-attribute.html: Added.
        * fast/dom/HTMLInputElement/resources/size-attribute.js: Added.
        * fast/dom/HTMLInputElement/size-attribute-expected.txt: Added.
        * fast/dom/HTMLInputElement/size-attribute.html: Added.
        * fast/dom/HTMLTableElement/cellpadding-attribute-expected.txt: Added.
        * fast/dom/HTMLTableElement/cellpadding-attribute.html: Added.
        * fast/dom/HTMLTableElement/resources/cellpadding-attribute.js: Added.

2008-10-12  Jungshik Shin  <jshin@chromium.org>

        Reviewed by Darin Adler.

        Treat x-user-defined as windows-1252 for html files with meta charset
        declaration to be compatible with Indian web sites.
        ( https://bugs.webkit.org/show_bug.cgi?id=18270 )

        * fast/encoding/charset-xuser-defined-expected.txt: Added.
        * fast/encoding/charset-xuser-defined.html: Added.

2008-10-12  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - https://bugs.webkit.org/show_bug.cgi?id=21559
          Bug 21559: many SVG tests are slightly different from what make-js-test-wrappers would make

        * svg/custom/immutable-properties.html: Updated path to test resources so it
        does not go up out of and back into LayoutTests.
        * svg/custom/svg-modify-currentTranslate.html: Ditto.
        * svg/custom/svg-xml-dom-sync.html: Ditto.
        * svg/custom/tearoffs-with-tearoffs.html: Ditto.

        * svg/dynamic-updates/resources/*.js: Allow the make-js-test-wrappers script to
        add var successfullyParsed = true; to these files. It's not helpful for the tests,
        but it's not harmful either.

2008-10-12  Brad Garcia  <bgarcia@google.com>

        Reviewed by Darin Adler.

        Testcases for fractional frame lengths.
        https://bugs.webkit.org/show_bug.cgi?id=3591

        * fast/frames/frame-length-fractional.html: Added.
        * fast/frames/frame-length-fractional-expected.txt: Added.

2008-10-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        - Update tests after fixing ceil(-0.1) behavior on darwin.

        * fast/js/math-expected.txt:
        * fast/js/resources/math.js: Remove code to detect sign of 0 now that the harness can handle it.
        * fast/xpath/4XPath/Core/test_core_functions-expected.txt:
        * fast/xpath/4XPath/Core/test_core_functions.html: Update test expect correct result of -0.

2008-10-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

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

        Testcase that has a rotate(0) in the list of transform operations,
        to test bug 21538.

        * transitions/matched-transform-functions-expected.txt: Added.
        * transitions/matched-transform-functions.html: Added.

2008-10-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler
        
        https://bugs.webkit.org/show_bug.cgi?id=21537

        Fix re-targetting a running transition; if the target property
        changes, we do need to make a new ImplicitAnimation.

        * transitions/retargetted-transition-expected.txt: Added.
        * transitions/retargetted-transition.html: Added.

2008-10-10  Timothy Hatcher  <timothy@apple.com>

        Layout test for placeholder attribute changed.

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

        Reviewed by Adele Peterson.

        * fast/forms/search-placeholder-value-changed.html: Added.
        * platform/mac/fast/forms/search-placeholder-value-changed-expected.txt: Added.

2008-10-10  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dan Bernstein.

        Testcase for https://bugs.webkit.org/show_bug.cgi?id=21025
        CSS transition with duration=0 and delay=0 doesn't override ongoing transition

        * transitions/interrupt-zero-duration-expected.txt: Added.
        * transitions/interrupt-zero-duration.html: Added.

2008-10-10  David Hyatt  <hyatt@apple.com>

        Add test for scrollbar buttons and track supporting increment/decrement/start/end.

        Reviewed by Adam Roben

        * platform/mac/scrollbars/scrollbar-buttons-expected.checksum: Added.
        * platform/mac/scrollbars/scrollbar-buttons-expected.png: Added.
        * platform/mac/scrollbars/scrollbar-buttons-expected.txt: Added.
        * scrollbars/scrollbar-buttons.html: Added.

2008-10-09  David Hyatt  <hyatt@apple.com>

        Add layout test for scrollbars honoring orientation and window active state.

        Reviewed by Tim Hatcher

        * platform/mac/scrollbars/scrollbar-orientation-expected.checksum: Added.
        * platform/mac/scrollbars/scrollbar-orientation-expected.png: Added.
        * platform/mac/scrollbars/scrollbar-orientation-expected.txt: Added.
        * scrollbars/scrollbar-orientation.html: Added.

2008-10-09  David Hyatt  <hyatt@apple.com>

        Add test case for disabled scrollbars.

        Reviewed by Tim Hatcher

        * platform/mac/scrollbars/disabled-scrollbar-expected.checksum: Added.
        * platform/mac/scrollbars/disabled-scrollbar-expected.png: Added.
        * platform/mac/scrollbars/disabled-scrollbar-expected.txt: Added.
        * scrollbars/disabled-scrollbar.html: Added.

2008-10-09  David Hyatt  <hyatt@apple.com>

        Land layout test for CSS scrollbars.

        Reviewed by Oliver Hunt

        * platform/mac/scrollbars: Added.
        * platform/mac/scrollbars/basic-scrollbar-expected.checksum: Added.
        * platform/mac/scrollbars/basic-scrollbar-expected.png: Added.
        * platform/mac/scrollbars/basic-scrollbar-expected.txt: Added.
        * scrollbars: Added.
        * scrollbars/basic-scrollbar.html: Added.

2008-10-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.

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

        * fast/canvas/gradient-with-clip-expected.txt: Added.
        * fast/canvas/gradient-with-clip.html: Added.
        * fast/canvas/pattern-with-transform-expected.txt: Added.
        * fast/canvas/pattern-with-transform.html: Added.
        * fast/canvas/resources/TEMPLATE.html: Copied from LayoutTests/fast/dom/resources/TEMPLATE.html.
        * fast/canvas/resources/gradient-with-clip.js: Added.
        * fast/canvas/resources/pattern-with-transform.js: Added.

2008-10-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Oliver Hunt.
        
        Update fast/canvas results to match leopard text drawing
        https://bugs.webkit.org/show_bug.cgi?id=21498
        
        platform/mac/fast/canvas/patternfill-repeat-expected.*
        also updated to match new expected results
        As far as I can tell the old results were off by a few pixels
        in the lower two quadrants.

        * fast/canvas/canvas-transform-identity-expected.png:
        * fast/canvas/canvas-transform-infinity-expected.png:
        * fast/canvas/canvas-transform-multiply-expected.png:
        * fast/canvas/canvas-transform-nan-expected.png:
        * fast/canvas/canvas-transform-non-invertible-expected.png:
        * fast/canvas/canvas-transform-skewed-expected.png:
        * platform/mac/fast/canvas/canvas-before-css-expected.checksum:
        * platform/mac/fast/canvas/canvas-before-css-expected.png:
        * platform/mac/fast/canvas/canvas-bg-expected.png:
        * platform/mac/fast/canvas/canvas-composite-expected.checksum:
        * platform/mac/fast/canvas/canvas-composite-expected.png:
        * platform/mac/fast/canvas/canvas-draw-xbm-image-expected.checksum:
        * platform/mac/fast/canvas/canvas-draw-xbm-image-expected.png:
        * platform/mac/fast/canvas/canvas-resize-reset-expected.checksum:
        * platform/mac/fast/canvas/canvas-resize-reset-expected.png:
        * platform/mac/fast/canvas/canvas-size-change-after-layout-expected.checksum:
        * platform/mac/fast/canvas/canvas-size-change-after-layout-expected.png:
        * platform/mac/fast/canvas/canvas-text-alignment-expected.png:
        * platform/mac/fast/canvas/canvas-text-baseline-expected.png:
        * platform/mac/fast/canvas/canvas-transforms-during-path-expected.checksum:
        * platform/mac/fast/canvas/canvas-transforms-during-path-expected.png:
        * platform/mac/fast/canvas/canvasDrawingIntoSelf-expected.png:
        * platform/mac/fast/canvas/drawImage-expected.png:
        * platform/mac/fast/canvas/fillrect-gradient-zero-stops-expected.checksum:
        * platform/mac/fast/canvas/fillrect-gradient-zero-stops-expected.png:
        * platform/mac/fast/canvas/fillrect_gradient-expected.checksum:
        * platform/mac/fast/canvas/fillrect_gradient-expected.png:
        * platform/mac/fast/canvas/gradient-add-second-start-end-stop-expected.checksum:
        * platform/mac/fast/canvas/gradient-add-second-start-end-stop-expected.png:
        * platform/mac/fast/canvas/gradient-empty-path-expected.checksum:
        * platform/mac/fast/canvas/gradient-empty-path-expected.png:
        * platform/mac/fast/canvas/image-object-in-canvas-expected.checksum:
        * platform/mac/fast/canvas/image-object-in-canvas-expected.png:
        * platform/mac/fast/canvas/patternfill-repeat-expected.checksum:
        * platform/mac/fast/canvas/patternfill-repeat-expected.png:
        * platform/mac/fast/canvas/quadraticCurveTo-expected.checksum:
        * platform/mac/fast/canvas/quadraticCurveTo-expected.png:
        * platform/mac/fast/canvas/shadow-offset-1-expected.png:
        * platform/mac/fast/canvas/shadow-offset-2-expected.png:
        * platform/mac/fast/canvas/shadow-offset-3-expected.png:
        * platform/mac/fast/canvas/shadow-offset-4-expected.png:
        * platform/mac/fast/canvas/shadow-offset-5-expected.png:
        * platform/mac/fast/canvas/shadow-offset-6-expected.png:
        * platform/mac/fast/canvas/shadow-offset-7-expected.png:
        * platform/mac/fast/canvas/zero-size-fill-rect-expected.checksum:
        * platform/mac/fast/canvas/zero-size-fill-rect-expected.png:

2008-10-09  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler.

        More testcases for animation using font metrics
        https://bugs.webkit.org/show_bug.cgi?id=21246

        * animations/font-size-using-ems-expected.txt: Added.
        * animations/font-size-using-ems.html: Added.
        * animations/width-using-ems-expected.txt: Added.
        * animations/width-using-ems.html: Added.

2008-10-09  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Cameron Zwarich.

        Correct results for -0 cases.

        * fast/js/math-transforms-expected.txt:

2008-10-09  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dan Bernstein.

        Testcase for > 180 degree rotation bug fix
        https://bugs.webkit.org/show_bug.cgi?id=21420

        * animations/big-rotation-expected.txt: Added.
        * animations/big-rotation.html: Added.

2008-10-09  Darin Adler  <darin@apple.com>

        - checked in a missing expected result

        * fast/dom/css-RGBValue-expected.txt: Added.

2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver Hunt & Sam Weinig.

        The SVGElementInstance tree should be rebuild lazily.
        Allow SVGElementInstance to be used as EventTarget, as described in SVG 1.1 spec.

        Reenable temporarily disabled tests.

        * platform/mac/svg/custom/use-elementInstance-event-target-expected.txt: Removed.
        * platform/mac/svg/custom/use-elementInstance-methods-expected.txt: Removed.
        * platform/mac/svg/custom/use-instanceRoot-as-event-target-expected.checksum: Added.
        * platform/mac/svg/custom/use-instanceRoot-as-event-target-expected.png: Added.
        * platform/mac/svg/custom/use-instanceRoot-event-bubbling-expected.checksum: Added.
        * platform/mac/svg/custom/use-instanceRoot-event-bubbling-expected.png: Added.
        * platform/mac/svg/custom/use-instanceRoot-event-listeners-expected.checksum: Added.
        * platform/mac/svg/custom/use-instanceRoot-event-listeners-expected.png: Added.
        * platform/mac/svg/custom/use-setAttribute-crash-expected.checksum: Added.
        * platform/mac/svg/custom/use-setAttribute-crash-expected.png: Added.
        * svg/custom/resources/use-instanceRoot-event-bubbling.js: Added.
        * svg/custom/resources/use-instanceRoot-event-listeners.js: Added.
        * svg/custom/use-elementInstance-event-target-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/use-elementInstance-event-target-expected.txt.
        * svg/custom/use-elementInstance-event-target.svg: Copied from LayoutTests/svg/custom/use-elementInstance-event-target.svg-disabled.
        * svg/custom/use-elementInstance-event-target.svg-disabled: Removed.
        * svg/custom/use-elementInstance-methods-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/use-elementInstance-methods-expected.txt.
        * svg/custom/use-elementInstance-methods.svg: Copied from LayoutTests/svg/custom/use-elementInstance-methods.svg-disabled.
        * svg/custom/use-elementInstance-methods.svg-disabled: Removed.
        * svg/custom/use-instanceRoot-as-event-target-expected.txt: Added.
        * svg/custom/use-instanceRoot-as-event-target.xhtml: Added.
        * svg/custom/use-instanceRoot-event-bubbling-expected.txt: Added.
        * svg/custom/use-instanceRoot-event-bubbling.xhtml: Added.
        * svg/custom/use-instanceRoot-event-listeners-expected.txt: Added.
        * svg/custom/use-instanceRoot-event-listeners.xhtml: Added.
        * svg/custom/use-setAttribute-crash-expected.txt: Added.
        * svg/custom/use-setAttribute-crash.svg: Added.

2008-10-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Cameron Zwarich.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21241
        REGRESSION (r36977): getRGBColorValue().red returning incorrect value

        * fast/dom/css-RGBValue.html: Added.
        * fast/dom/resources/css-RGBValue.js: Added.

2008-10-08  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
        
        svgElement.className.baseValue = "foo" doesn't work
        https://bugs.webkit.org/show_bug.cgi?id=20651

        * svg/custom/class-baseValue.svg: Added.

2008-10-08  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, trying to fix bot.
        
        Update -0 expectations better.

        * fast/xpath/4XPath/Core/test_numeric_expr-expected.txt:
        * fast/xpath/4XPath/Core/test_numeric_expr.html:

2008-10-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.
        
        - update for new -0 handling in shouldBe
        
        (I confirmed the correctness of this change against other browsers, too.)

        * fast/xpath/4XPath/Core/test_numeric_expr.html:

2008-10-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.
        
        - update regression testing system to be able to tell 0 from -0
        
        * fast/js/resources/js-test-pre.js:

        Update tests and results appropriately.

        * fast/js/resources/constant-folding.js:
        * fast/js/constant-folding-expected.txt:
        * fast/js/math-transforms-expected.txt:
        * fast/js/resources/math-transforms.js:

2008-10-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver Hunt.

        - added test case for: correctly handle appending -0 to a string, it should stringify as just 0
        (added to existing test)
        
        * fast/js/number-toString-expected.txt:
        * fast/js/resources/number-toString.js:

        - updated results in light of above fix
        
        * fast/js/math-transforms-expected.txt:

2008-10-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Mark Rowe.
        
        - test cases that will check some possible edge cases for math optimizations

        * fast/js/math-transforms-expected.txt: Added.
        * fast/js/math-transforms.html: Added.
        * fast/js/resources/math-transforms.js: Added.

2008-10-04  Eric Seidel  <eric@webkit.org>

        Reviewed by Darin Adler.
        
        Update SVG layout test results after fixing ascent/descent support
        https://bugs.webkit.org/show_bug.cgi?id=21365

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-05-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-09-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-10-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-11-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-12-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-13-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-14-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-15-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-16-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-17-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-18-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-19-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-20-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-21-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-22-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-23-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-26-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-27-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-28-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-29-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-31-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-32-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-34-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-44-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-52-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-64-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-84-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-85-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/color-prof-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-02-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-coord-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-coord-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-05-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/interact-dom-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/interact-events-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-07-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-render-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-08-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-10-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-13-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-14-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-line-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-defs-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-06-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-05-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-04-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-05-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-06-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-07-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-08-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-09-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-10-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-04-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-06-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/styling-pres-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-align-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-align-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-align-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-align-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-align-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-align-06-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-text-03-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.png:
        * 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.png:
        * 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.png:
        * 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.png:
        * platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-tref-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-tspan-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-ws-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/text-ws-02-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.png:
        * platform/mac/svg/batik/filters/filterRegions-expected.png:
        * platform/mac/svg/batik/masking/maskRegions-expected.png:
        * platform/mac/svg/batik/paints/gradientLimit-expected.png:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.png:
        * platform/mac/svg/batik/paints/patternRegionA-expected.png:
        * platform/mac/svg/batik/paints/patternRegions-expected.png:
        * platform/mac/svg/batik/text/longTextOnPath-expected.png:
        * platform/mac/svg/batik/text/textAnchor-expected.png:
        * platform/mac/svg/batik/text/textAnchor2-expected.png:
        * platform/mac/svg/batik/text/textAnchor3-expected.png:
        * platform/mac/svg/batik/text/textDecoration2-expected.png:
        * 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.png:
        * 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.png:
        * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.png:
        * platform/mac/svg/batik/text/textLayout-expected.png:
        * platform/mac/svg/batik/text/textLayout2-expected.png:
        * platform/mac/svg/batik/text/textLength-expected.png:
        * platform/mac/svg/batik/text/textOnPath-expected.png:
        * platform/mac/svg/batik/text/textOnPath2-expected.png:
        * platform/mac/svg/batik/text/textOnPath3-expected.png:
        * platform/mac/svg/batik/text/textOnPathSpaces-expected.png:
        * platform/mac/svg/batik/text/textPCDATA-expected.png:
        * platform/mac/svg/batik/text/textPosition-expected.png:
        * platform/mac/svg/batik/text/textPosition2-expected.png:
        * platform/mac/svg/batik/text/textPosition2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.png:
        * platform/mac/svg/batik/text/textProperties2-expected.png:
        * platform/mac/svg/batik/text/textStyles-expected.png:
        * platform/mac/svg/batik/text/verticalText-expected.png:
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.png:
        * platform/mac/svg/batik/text/xmlSpace-expected.png:
        * platform/mac/svg/carto.net/button-expected.png:
        * platform/mac/svg/carto.net/colourpicker-expected.png:
        * platform/mac/svg/carto.net/combobox-expected.png:
        * platform/mac/svg/carto.net/frameless-svg-parse-error-expected.png:
        * platform/mac/svg/carto.net/scrollbar-expected.png:
        * platform/mac/svg/carto.net/selectionlist-expected.png:
        * platform/mac/svg/carto.net/slider-expected.png:
        * platform/mac/svg/carto.net/tabgroup-expected.png:
        * platform/mac/svg/carto.net/textbox-expected.png:
        * platform/mac/svg/carto.net/window-expected.png:
        * platform/mac/svg/css/css-box-min-width-expected.png:
        * platform/mac/svg/css/getComputedStyle-basic-expected.png:
        * platform/mac/svg/custom/SVGException-expected.png:
        * platform/mac/svg/custom/SVGMatrix-interface-expected.png:
        * platform/mac/svg/custom/SVGNumber-interface-expected.png:
        * platform/mac/svg/custom/SVGPoint-interface-expected.png:
        * platform/mac/svg/custom/SVGPoint-matrixTransform-expected.png:
        * platform/mac/svg/custom/SVGRect-interface-expected.png:
        * platform/mac/svg/custom/absolute-sized-svg-in-xhtml-expected.png:
        * platform/mac/svg/custom/acid3-test-77-expected.png:
        * platform/mac/svg/custom/alignment-baseline-modes-expected.png:
        * platform/mac/svg/custom/altglyph-expected.png:
        * platform/mac/svg/custom/altglyph-expected.txt:
        * platform/mac/svg/custom/animate-path-discrete-expected.png:
        * platform/mac/svg/custom/animate-path-morphing-expected.png:
        * platform/mac/svg/custom/attribute-namespace-check-expected.png:
        * platform/mac/svg/custom/baseval-animval-equality-expected.png:
        * platform/mac/svg/custom/circular-marker-reference-1-expected.png:
        * platform/mac/svg/custom/circular-marker-reference-2-expected.png:
        * platform/mac/svg/custom/circular-marker-reference-3-expected.png:
        * platform/mac/svg/custom/circular-marker-reference-4-expected.png:
        * platform/mac/svg/custom/class-selector-expected.png:
        * platform/mac/svg/custom/clip-path-child-changes-expected.png:
        * platform/mac/svg/custom/clip-path-display-none-child-expected.png:
        * platform/mac/svg/custom/clip-path-href-changes-expected.png:
        * platform/mac/svg/custom/clip-path-referencing-use-expected.png:
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.png:
        * platform/mac/svg/custom/clip-path-units-changes-expected.png:
        * platform/mac/svg/custom/clip-path-with-transform-expected.png:
        * platform/mac/svg/custom/conditional-processing-outside-switch-expected.png:
        * platform/mac/svg/custom/container-opacity-clip-viewBox-expected.checksum:
        * platform/mac/svg/custom/container-opacity-clip-viewBox-expected.png:
        * platform/mac/svg/custom/control-points-for-S-and-T-expected.png:
        * platform/mac/svg/custom/coords-relative-units-transforms-expected.png:
        * platform/mac/svg/custom/create-metadata-element-expected.png:
        * platform/mac/svg/custom/createelement-expected.png:
        * platform/mac/svg/custom/css-pixels-dpi-expected.png:
        * platform/mac/svg/custom/dasharrayOrigin-expected.png:
        * platform/mac/svg/custom/deep-dynamic-updates-expected.png:
        * platform/mac/svg/custom/display-none-expected.png:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/mac/svg/custom/dominant-baseline-modes-expected.png:
        * platform/mac/svg/custom/dynamic-empty-path-expected.png:
        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.png:
        * platform/mac/svg/custom/dynamic-viewBox-expected.png:
        * platform/mac/svg/custom/embedded-svg-disallowed-in-dashboard-expected.png:
        * platform/mac/svg/custom/empty-clip-path-expected.png:
        * platform/mac/svg/custom/empty-merge-expected.png:
        * platform/mac/svg/custom/evt-onload-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.png:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.png:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.png:
        * platform/mac/svg/custom/fill-SVGPaint-interface-expected.png:
        * platform/mac/svg/custom/fill-fallback-expected.png:
        * platform/mac/svg/custom/fill-update-expected.png:
        * platform/mac/svg/custom/filter-source-alpha-expected.png:
        * platform/mac/svg/custom/focus-ring-expected.checksum:
        * platform/mac/svg/custom/focus-ring-expected.png:
        * platform/mac/svg/custom/font-face-cascade-order-expected.png:
        * platform/mac/svg/custom/font-face-simple-expected.png:
        * platform/mac/svg/custom/font-platformDestroy-crash-expected.png:
        * platform/mac/svg/custom/foreign-object-skew-expected.png:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.png:
        * platform/mac/svg/custom/fractional-rects-expected.png:
        * platform/mac/svg/custom/frame-getSVGDocument-expected.png:
        * platform/mac/svg/custom/getBBox-js-expected.png:
        * platform/mac/svg/custom/getPresentationAttribute-expected.png:
        * platform/mac/svg/custom/getPresentationAttribute-modify-expected.png:
        * platform/mac/svg/custom/getSubStringLength-expected.png:
        * platform/mac/svg/custom/getTransformToElement-expected.png:
        * platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.png:
        * platform/mac/svg/custom/getsvgdocument-expected.png:
        * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.png:
        * platform/mac/svg/custom/gradient-add-stops-expected.png:
        * platform/mac/svg/custom/gradient-attr-update-expected.png:
        * platform/mac/svg/custom/gradient-cycle-detection-expected.png:
        * platform/mac/svg/custom/gradient-deep-referencing-expected.png:
        * platform/mac/svg/custom/gradient-rotated-bbox-expected.png:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.png:
        * platform/mac/svg/custom/gradient-stop-style-change-expected.png:
        * platform/mac/svg/custom/gradient-stroke-width-expected.png:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.png:
        * platform/mac/svg/custom/group-opacity-expected.png:
        * platform/mac/svg/custom/hit-test-path-expected.png:
        * platform/mac/svg/custom/hit-test-path-stroke-expected.png:
        * platform/mac/svg/custom/hit-test-unclosed-subpaths-expected.png:
        * platform/mac/svg/custom/hit-test-with-br-expected.png:
        * platform/mac/svg/custom/hover-default-fill-expected.png:
        * platform/mac/svg/custom/image-clipped-hit-expected.png:
        * platform/mac/svg/custom/image-parent-translation-expected.png:
        * platform/mac/svg/custom/image-small-width-height-expected.png:
        * platform/mac/svg/custom/image-with-aspect-ratio-stretch-expected.png:
        * platform/mac/svg/custom/image-with-prefix-in-webarchive-expected.png:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.png:
        * platform/mac/svg/custom/immutable-properties-expected.png:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.png:
        * platform/mac/svg/custom/inner-percent-expected.png:
        * platform/mac/svg/custom/inner-svg-hit-test-expected.png:
        * platform/mac/svg/custom/invalid-css-expected.png:
        * platform/mac/svg/custom/invalid-fill-expected.png:
        * platform/mac/svg/custom/invalid-fill-hex-expected.png:
        * platform/mac/svg/custom/invalid-lengthlist-expected.png:
        * platform/mac/svg/custom/invalid-transforms-expected.png:
        * platform/mac/svg/custom/invisible-text-after-scrolling-expected.checksum:
        * platform/mac/svg/custom/invisible-text-after-scrolling-expected.png:
        * platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-clipPath-creation-expected.png:
        * 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-creation-expected.checksum:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.png:
        * platform/mac/svg/custom/js-late-marker-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-marker-creation-expected.png:
        * platform/mac/svg/custom/js-late-mask-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-mask-creation-expected.png:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-pattern-creation-expected.png:
        * platform/mac/svg/custom/js-svg-constructors-expected.png:
        * platform/mac/svg/custom/js-update-bounce-expected.checksum:
        * platform/mac/svg/custom/js-update-bounce-expected.png:
        * platform/mac/svg/custom/js-update-container-expected.png:
        * platform/mac/svg/custom/js-update-container2-expected.png:
        * platform/mac/svg/custom/js-update-gradient-expected.png:
        * platform/mac/svg/custom/js-update-image-expected.png:
        * platform/mac/svg/custom/js-update-path-changes-expected.png:
        * platform/mac/svg/custom/js-update-path-removal-expected.png:
        * platform/mac/svg/custom/js-update-pattern-child-expected.png:
        * platform/mac/svg/custom/js-update-pattern-expected.png:
        * platform/mac/svg/custom/js-update-polygon-changes-expected.png:
        * platform/mac/svg/custom/js-update-polygon-removal-expected.png:
        * platform/mac/svg/custom/js-update-stop-expected.png:
        * platform/mac/svg/custom/js-update-style-expected.png:
        * platform/mac/svg/custom/js-update-transform-addition-expected.png:
        * platform/mac/svg/custom/js-update-transform-changes-expected.png:
        * platform/mac/svg/custom/junk-data-expected.png:
        * platform/mac/svg/custom/large-bounding-box-percents-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-all-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-preserveAspectRatio-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-transform-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-viewBox-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-viewBox-transform-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-viewTarget-expected.png:
        * platform/mac/svg/custom/linking-a-03-b-zoomAndPan-expected.png:
        * platform/mac/svg/custom/loadevents-capturing-expected.png:
        * platform/mac/svg/custom/loadevents-externalresourcesrequired-displaynone-expected.png:
        * platform/mac/svg/custom/loadevents-externalresourcesrequired-expected.png:
        * platform/mac/svg/custom/loadevents-normal-displaynone-expected.png:
        * platform/mac/svg/custom/loadevents-normal-expected.png:
        * platform/mac/svg/custom/manually-parsed-embedded-svg-disallowed-in-dashboard-expected.png:
        * platform/mac/svg/custom/manually-parsed-svg-disallowed-in-dashboard-expected.png:
        * platform/mac/svg/custom/marker-changes-expected.png:
        * platform/mac/svg/custom/marker-child-changes-expected.png:
        * platform/mac/svg/custom/marker-default-width-height-expected.png:
        * platform/mac/svg/custom/marker-getPropertyValue-expected.png:
        * platform/mac/svg/custom/marker-overflow-clip-expected.png:
        * platform/mac/svg/custom/marker-viewBox-changes-expected.png:
        * platform/mac/svg/custom/mask-changes-expected.png:
        * platform/mac/svg/custom/mask-child-changes-expected.png:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.png:
        * platform/mac/svg/custom/mask-inside-defs-expected.png:
        * platform/mac/svg/custom/missing-xlink-expected.png:
        * platform/mac/svg/custom/multiple-title-elements-expected.png:
        * platform/mac/svg/custom/non-circular-marker-reference-expected.png:
        * platform/mac/svg/custom/non-opaque-filters-expected.png:
        * platform/mac/svg/custom/path-bad-data-expected.png:
        * platform/mac/svg/custom/path-getTotalLength-expected.png:
        * platform/mac/svg/custom/path-textPath-simulation-expected.png:
        * platform/mac/svg/custom/path-update-expected.png:
        * platform/mac/svg/custom/pattern-cycle-detection-expected.png:
        * platform/mac/svg/custom/pattern-deep-referencing-expected.png:
        * platform/mac/svg/custom/pattern-in-defs-expected.png:
        * platform/mac/svg/custom/pattern-rotate-expected.png:
        * platform/mac/svg/custom/pattern-y-offset-expected.png:
        * platform/mac/svg/custom/percentage-of-html-parent-expected.png:
        * platform/mac/svg/custom/percentage-rect-expected.png:
        * platform/mac/svg/custom/percentage-rect2-expected.png:
        * platform/mac/svg/custom/pointer-events-image-expected.png:
        * platform/mac/svg/custom/pointer-events-path-expected.png:
        * platform/mac/svg/custom/pointer-events-text-expected.png:
        * platform/mac/svg/custom/poly-identify-expected.png:
        * platform/mac/svg/custom/poly-points-attribute-changes-expected.png:
        * platform/mac/svg/custom/polyline-hittest-expected.png:
        * platform/mac/svg/custom/polyline-invalid-points-expected.png:
        * platform/mac/svg/custom/polyline-setattribute-points-null-expected.png:
        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.png:
        * platform/mac/svg/custom/prevent-default-expected.png:
        * platform/mac/svg/custom/recursive-clippath-expected.png:
        * platform/mac/svg/custom/repaint-on-image-bounds-change-expected.png:
        * platform/mac/svg/custom/resource-client-removal-expected.png:
        * platform/mac/svg/custom/rgbcolor-syntax-expected.png:
        * platform/mac/svg/custom/root-container-opacity-clip-viewBox-expected.png:
        * platform/mac/svg/custom/rootelement-expected.png:
        * platform/mac/svg/custom/rootmost-svg-xy-attrs-expected.png:
        * platform/mac/svg/custom/rounded-rects-expected.png:
        * platform/mac/svg/custom/scroll-hit-test-expected.png:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/custom/second-inline-text-expected.png:
        * platform/mac/svg/custom/selectSubString-expected.png:
        * platform/mac/svg/custom/shape-rendering-expected.png:
        * platform/mac/svg/custom/shapes-supporting-markers-expected.png:
        * platform/mac/svg/custom/sheet-title-expected.png:
        * platform/mac/svg/custom/simpleCDF-expected.png:
        * platform/mac/svg/custom/stroke-fallback-expected.png:
        * platform/mac/svg/custom/stroked-pattern-expected.png:
        * platform/mac/svg/custom/struct-use-09-b-expected.png:
        * platform/mac/svg/custom/style-attribute-font-size-expected.png:
        * platform/mac/svg/custom/svg-absolute-children-expected.png:
        * platform/mac/svg/custom/svg-disallowed-in-dashboard-object-expected.png:
        * platform/mac/svg/custom/svg-features-expected.png:
        * platform/mac/svg/custom/svg-float-border-padding-expected.png:
        * platform/mac/svg/custom/svg-fonts-in-html-expected.checksum:
        * platform/mac/svg/custom/svg-fonts-in-html-expected.png:
        * platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
        * platform/mac/svg/custom/svg-modify-currentTranslate-expected.png:
        * platform/mac/svg/custom/svg-overflow-types-expected.png:
        * platform/mac/svg/custom/svg-xml-dom-sync-expected.png:
        * platform/mac/svg/custom/svgpolyparser-extra-space-expected.png:
        * platform/mac/svg/custom/svgsvgelement-ctm-expected.png:
        * platform/mac/svg/custom/tearoffs-with-tearoffs-expected.png:
        * platform/mac/svg/custom/text-clip-expected.png:
        * platform/mac/svg/custom/text-ctm-expected.png:
        * platform/mac/svg/custom/text-decoration-visibility-expected.png:
        * platform/mac/svg/custom/text-dom-01-f-expected.png:
        * platform/mac/svg/custom/text-dom-removal-expected.png:
        * platform/mac/svg/custom/text-filter-expected.png:
        * platform/mac/svg/custom/text-gradient-no-content-expected.png:
        * platform/mac/svg/custom/text-hit-test-expected.png:
        * platform/mac/svg/custom/text-image-opacity-expected.png:
        * platform/mac/svg/custom/text-letter-spacing-expected.png:
        * platform/mac/svg/custom/text-linking-expected.png:
        * platform/mac/svg/custom/text-repaint-including-stroke-expected.png:
        * platform/mac/svg/custom/text-whitespace-handling-expected.png:
        * platform/mac/svg/custom/text-x-dx-lists-expected.png:
        * platform/mac/svg/custom/text-x-override-in-tspan-child-expected.png:
        * platform/mac/svg/custom/text-xy-updates-expected.png:
        * platform/mac/svg/custom/textPath-assert-expected.png:
        * platform/mac/svg/custom/transform-ignore-after-invalid-expected.png:
        * platform/mac/svg/custom/transform-invalid-expected.png:
        * platform/mac/svg/custom/transform-removeAttributeNS-expected.png:
        * platform/mac/svg/custom/transform-scale-parse-expected.png:
        * platform/mac/svg/custom/transform-with-ending-space-expected.png:
        * platform/mac/svg/custom/tref-update-expected.png:
        * platform/mac/svg/custom/use-clipped-hit-expected.png:
        * platform/mac/svg/custom/use-css-events-expected.png:
        * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.checksum:
        * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.png:
        * platform/mac/svg/custom/use-detach-expected.png:
        * platform/mac/svg/custom/use-dynamic-append-expected.png:
        * platform/mac/svg/custom/use-empty-reference-expected.png:
        * platform/mac/svg/custom/use-event-handler-on-referenced-element-expected.png:
        * platform/mac/svg/custom/use-event-handler-on-use-element-expected.png:
        * platform/mac/svg/custom/use-events-crash-expected.png:
        * platform/mac/svg/custom/use-forward-refs-expected.png:
        * platform/mac/svg/custom/use-infinite-recursion-expected.png:
        * platform/mac/svg/custom/use-instanceRoot-modifications-expected.png:
        * platform/mac/svg/custom/use-modify-container-in-target-expected.png:
        * platform/mac/svg/custom/use-modify-target-container-expected.png:
        * platform/mac/svg/custom/use-modify-target-symbol-expected.png:
        * platform/mac/svg/custom/use-nested-transform-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.png:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.png:
        * platform/mac/svg/custom/use-on-g-containing-symbol-expected.png:
        * platform/mac/svg/custom/use-on-g-containing-use-expected.png:
        * platform/mac/svg/custom/use-on-g-expected.png:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.png:
        * platform/mac/svg/custom/use-on-rect-expected.png:
        * platform/mac/svg/custom/use-on-symbol-expected.png:
        * platform/mac/svg/custom/use-on-text-expected.png:
        * platform/mac/svg/custom/use-on-use-expected.png:
        * platform/mac/svg/custom/use-property-changes-through-dom-expected.png:
        * platform/mac/svg/custom/use-property-changes-through-svg-dom-expected.png:
        * platform/mac/svg/custom/use-recalcStyle-crash-expected.png:
        * platform/mac/svg/custom/use-recursion-1-expected.png:
        * platform/mac/svg/custom/use-recursion-2-expected.png:
        * platform/mac/svg/custom/use-recursion-3-expected.png:
        * platform/mac/svg/custom/use-recursion-4-expected.png:
        * platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.png:
        * platform/mac/svg/custom/use-symbol-overflow-expected.png:
        * platform/mac/svg/custom/use-transform-expected.png:
        * platform/mac/svg/custom/viewBox-hit-expected.png:
        * platform/mac/svg/custom/viewbox-syntax-expected.png:
        * platform/mac/svg/custom/viewport-clip-expected.png:
        * platform/mac/svg/custom/viewport-em-expected.png:
        * platform/mac/svg/custom/viewport-no-width-height-expected.png:
        * platform/mac/svg/custom/viewport-update-expected.png:
        * platform/mac/svg/custom/viewport-update2-expected.png:
        * platform/mac/svg/custom/visibility-override-clip-expected.png:
        * platform/mac/svg/custom/visibility-override-expected.png:
        * platform/mac/svg/custom/visibility-override-filter-expected.png:
        * platform/mac/svg/custom/visibility-override-mask-expected.png:
        * platform/mac/svg/custom/width-full-percentage-expected.png:
        * platform/mac/svg/custom/xhtml-no-svg-renderer-expected.png:
        * platform/mac/svg/custom/xml-stylesheet-expected.png:
        * platform/mac/svg/dom/SVGRectElement/rect-modify-rx-expected.png:
        * platform/mac/svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.png:
        * platform/mac/svg/dom/SVGScriptElement/script-load-and-error-events-expected.png:
        * platform/mac/svg/dom/SVGScriptElement/script-reexecution-expected.png:
        * platform/mac/svg/dom/SVGScriptElement/script-set-href-expected.png:
        * platform/mac/svg/dom/altGlyph-dom-expected.png:
        * platform/mac/svg/dom/animated-tearoff-equality-expected.png:
        * platform/mac/svg/dom/animated-tearoff-lifespan-expected.png:
        * platform/mac/svg/dom/font-face-elements-expected.png:
        * platform/mac/svg/dom/length-list-parser-expected.png:
        * platform/mac/svg/dom/path-parser-expected.png:
        * platform/mac/svg/dom/points-parser-expected.png:
        * platform/mac/svg/dom/preserve-aspect-ratio-parser-expected.png:
        * platform/mac/svg/dom/rgb-color-parser-expected.png:
        * platform/mac/svg/dom/string-list-parser-expected.png:
        * platform/mac/svg/dom/svg-element-attribute-js-null-expected.png:
        * platform/mac/svg/dom/transform-parser-expected.png:
        * platform/mac/svg/dynamic-updates/SVGAElement-dom-href-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGAElement-dom-target-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGAElement-svgdom-href-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGAElement-svgdom-target-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCircleElement-dom-cx-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCircleElement-dom-cy-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCircleElement-dom-r-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCircleElement-svgdom-cx-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCircleElement-svgdom-cy-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCircleElement-svgdom-r-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGClipPathElement-svgdom-clipPathUnits-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGClipPathElement-svgdom-clipPathUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-dom-cx-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-dom-cy-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-dom-rx-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-dom-ry-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-svgdom-cx-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-svgdom-cy-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-svgdom-rx-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGEllipseElement-svgdom-ry-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-x1-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-x2-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-y1-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-y2-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-x1-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-x2-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-y1-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-y2-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-dom-gradientTransform-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-dom-gradientUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-dom-x1-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-dom-x2-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-dom-y1-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-dom-y2-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-x1-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-x2-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-y1-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-y2-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-height-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-width-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-height-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-width-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-height-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-width-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-x-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-y-attr-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-height-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-width-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-x-prop-expected.png:
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-y-prop-expected.png:
        * platform/mac/svg/hixie/cascade/001-broken-expected.png:
        * platform/mac/svg/hixie/cascade/002-expected.png:
        * platform/mac/svg/hixie/data-types/001-expected.png:
        * platform/mac/svg/hixie/data-types/002-expected.png:
        * platform/mac/svg/hixie/dynamic/001-expected.png:
        * platform/mac/svg/hixie/dynamic/002-expected.png:
        * platform/mac/svg/hixie/dynamic/003-expected.png:
        * platform/mac/svg/hixie/dynamic/004-expected.png:
        * platform/mac/svg/hixie/dynamic/005-expected.png:
        * platform/mac/svg/hixie/dynamic/006-expected.png:
        * platform/mac/svg/hixie/error/001-expected.png:
        * platform/mac/svg/hixie/error/002-expected.png:
        * platform/mac/svg/hixie/error/003-expected.png:
        * platform/mac/svg/hixie/error/004-expected.png:
        * platform/mac/svg/hixie/error/005-expected.png:
        * platform/mac/svg/hixie/error/006-expected.png:
        * platform/mac/svg/hixie/error/007-expected.png:
        * platform/mac/svg/hixie/error/008-expected.png:
        * platform/mac/svg/hixie/error/009-expected.png:
        * platform/mac/svg/hixie/error/010-expected.png:
        * platform/mac/svg/hixie/error/011-expected.png:
        * platform/mac/svg/hixie/error/012-expected.png:
        * platform/mac/svg/hixie/error/013-expected.png:
        * platform/mac/svg/hixie/error/014-expected.png:
        * platform/mac/svg/hixie/error/014-test-expected.png:
        * platform/mac/svg/hixie/error/015-expected.png:
        * platform/mac/svg/hixie/error/016-expected.png:
        * platform/mac/svg/hixie/error/017-expected.png:
        * platform/mac/svg/hixie/links/001-expected.png:
        * platform/mac/svg/hixie/links/002-expected.png:
        * platform/mac/svg/hixie/links/003-broken-expected.png:
        * platform/mac/svg/hixie/mixed/003-expected.png:
        * platform/mac/svg/hixie/mixed/004-expected.png:
        * platform/mac/svg/hixie/mixed/005-expected.png:
        * platform/mac/svg/hixie/mixed/006-expected.png:
        * platform/mac/svg/hixie/mixed/007-expected.png:
        * platform/mac/svg/hixie/mixed/008-expected.png:
        * platform/mac/svg/hixie/mixed/009-expected.png:
        * platform/mac/svg/hixie/mixed/010-expected.png:
        * platform/mac/svg/hixie/mixed/011-expected.png:
        * platform/mac/svg/hixie/painting/001-expected.png:
        * platform/mac/svg/hixie/perf/001-expected.png:
        * platform/mac/svg/hixie/perf/002-expected.png:
        * platform/mac/svg/hixie/perf/003-expected.png:
        * platform/mac/svg/hixie/perf/004-expected.png:
        * platform/mac/svg/hixie/perf/005-expected.png:
        * platform/mac/svg/hixie/perf/006-expected.png:
        * platform/mac/svg/hixie/perf/007-expected.png:
        * platform/mac/svg/hixie/processing-model/003-expected.png:
        * platform/mac/svg/hixie/processing-model/004-expected.png:
        * platform/mac/svg/hixie/processing-model/005-expected.png:
        * platform/mac/svg/hixie/rendering-model/001-expected.png:
        * platform/mac/svg/hixie/rendering-model/002-expected.png:
        * platform/mac/svg/hixie/rendering-model/003-expected.png:
        * platform/mac/svg/hixie/rendering-model/003a-expected.png:
        * platform/mac/svg/hixie/rendering-model/004-expected.png:
        * platform/mac/svg/hixie/shapes/path/001-expected.png:
        * platform/mac/svg/hixie/text/001-broken-expected.png:
        * platform/mac/svg/hixie/text/002-expected.png:
        * platform/mac/svg/hixie/text/003-expected.png:
        * platform/mac/svg/hixie/text/003a-expected.png:
        * platform/mac/svg/hixie/text/003b-expected.png:
        * platform/mac/svg/hixie/transform/001-expected.png:
        * platform/mac/svg/hixie/use/001-expected.png:
        * platform/mac/svg/hixie/use/002-expected.png:
        * platform/mac/svg/hixie/use/002-test-expected.png:
        * platform/mac/svg/hixie/viewbox/001-expected.png:
        * platform/mac/svg/hixie/viewbox/002-expected.png:
        * platform/mac/svg/hixie/viewbox/003-expected.png:
        * platform/mac/svg/hixie/viewbox/004-expected.png:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.png:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/002-expected.png:
        * platform/mac/svg/text/kerning-expected.png:
        * platform/mac/svg/text/kerning-expected.txt:
        * platform/mac/svg/text/multichar-glyph-expected.png:
        * platform/mac/svg/text/multichar-glyph-expected.txt:
        * platform/mac/svg/text/text-align-01-b-expected.checksum:
        * platform/mac/svg/text/text-align-01-b-expected.png:
        * platform/mac/svg/text/text-align-02-b-expected.checksum:
        * platform/mac/svg/text/text-align-02-b-expected.png:
        * platform/mac/svg/text/text-align-03-b-expected.checksum:
        * platform/mac/svg/text/text-align-03-b-expected.png:
        * platform/mac/svg/text/text-align-04-b-expected.checksum:
        * platform/mac/svg/text/text-align-04-b-expected.png:
        * platform/mac/svg/text/text-align-05-b-expected.checksum:
        * platform/mac/svg/text/text-align-05-b-expected.png:
        * platform/mac/svg/text/text-align-06-b-expected.png:
        * platform/mac/svg/text/text-altglyph-01-b-expected.checksum:
        * platform/mac/svg/text/text-altglyph-01-b-expected.png:
        * platform/mac/svg/text/text-altglyph-01-b-expected.txt:
        * platform/mac/svg/text/text-deco-01-b-expected.checksum:
        * platform/mac/svg/text/text-deco-01-b-expected.png:
        * platform/mac/svg/text/text-fonts-01-t-expected.checksum:
        * platform/mac/svg/text/text-fonts-01-t-expected.png:
        * platform/mac/svg/text/text-fonts-02-t-expected.checksum:
        * platform/mac/svg/text/text-fonts-02-t-expected.png:
        * platform/mac/svg/text/text-intro-05-t-expected.checksum:
        * platform/mac/svg/text/text-intro-05-t-expected.png:
        * platform/mac/svg/text/text-path-01-b-expected.checksum:
        * platform/mac/svg/text/text-path-01-b-expected.png:
        * platform/mac/svg/text/text-property-with-display-none-expected.png:
        * platform/mac/svg/text/text-spacing-01-b-expected.png:
        * platform/mac/svg/text/text-text-01-b-expected.png:
        * platform/mac/svg/text/text-text-03-b-expected.checksum:
        * platform/mac/svg/text/text-text-03-b-expected.png:
        * platform/mac/svg/text/text-text-04-t-expected.checksum:
        * platform/mac/svg/text/text-text-04-t-expected.png:
        * platform/mac/svg/text/text-text-04-t-expected.txt:
        * platform/mac/svg/text/text-text-05-t-expected.checksum:
        * platform/mac/svg/text/text-text-05-t-expected.png:
        * platform/mac/svg/text/text-text-05-t-expected.txt:
        * platform/mac/svg/text/text-text-06-t-expected.checksum:
        * platform/mac/svg/text/text-text-06-t-expected.png:
        * platform/mac/svg/text/text-text-06-t-expected.txt:
        * platform/mac/svg/text/text-text-07-t-expected.checksum:
        * platform/mac/svg/text/text-text-07-t-expected.png:
        * platform/mac/svg/text/text-text-08-b-expected.checksum:
        * platform/mac/svg/text/text-text-08-b-expected.png:
        * platform/mac/svg/text/text-tref-01-b-expected.checksum:
        * platform/mac/svg/text/text-tref-01-b-expected.png:
        * platform/mac/svg/text/text-tselect-01-b-expected.checksum:
        * platform/mac/svg/text/text-tselect-01-b-expected.png:
        * platform/mac/svg/text/text-tselect-02-f-expected.checksum:
        * platform/mac/svg/text/text-tselect-02-f-expected.png:
        * platform/mac/svg/text/text-tspan-01-b-expected.checksum:
        * platform/mac/svg/text/text-tspan-01-b-expected.png:
        * platform/mac/svg/text/text-ws-01-t-expected.checksum:
        * platform/mac/svg/text/text-ws-01-t-expected.png:
        * platform/mac/svg/text/text-ws-02-t-expected.checksum:
        * platform/mac/svg/text/text-ws-02-t-expected.png:
        * platform/mac/svg/text/textPathBoundsBug-expected.png:
        * platform/mac/svg/webarchive/svg-feimage-subresources-expected.png:
        * platform/mac/svg/webarchive/svg-script-subresouces-expected.png:
        * svg/custom/glyph-setting-d-attribute-expected.png:
        * svg/custom/glyph-setting-d-attribute-expected.txt:
        * svg/custom/use-clipped-transform-expected.png:

2008-10-05  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Oliver Hunt.

        Tests for bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
        <https://bugs.webkit.org/show_bug.cgi?id=21364>

        Add tests for changes to the liveness of 'f.arguments'.

        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/function-dot-arguments.js:

2008-10-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Tests for the new Origin header.

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

        Collin Jackson <collinj@webkit.org> also contributed to this patch.

        * http/tests/security/originHeader: Added.
        * http/tests/security/originHeader/origin-header-for-data-expected.txt: Added.
        * http/tests/security/originHeader/origin-header-for-data.html: Added.
        * http/tests/security/originHeader/origin-header-for-empty-expected.txt: Added.
        * http/tests/security/originHeader/origin-header-for-empty.html: Added.
        * http/tests/security/originHeader/origin-header-for-get-expected.txt: Added.
        * http/tests/security/originHeader/origin-header-for-get.html: Added.
        * http/tests/security/originHeader/origin-header-for-https-expected.txt: Added.
        * http/tests/security/originHeader/origin-header-for-https.html: Added.
        * http/tests/security/originHeader/origin-header-for-post-expected.txt: Added.
        * http/tests/security/originHeader/origin-header-for-post.html: Added.
        * http/tests/security/originHeader/origin-header-for-xmlhttprequest-expected.txt: Added.
        * http/tests/security/originHeader/origin-header-for-xmlhttprequest.html: Added.
        * http/tests/security/originHeader/resources: Added.
        * http/tests/security/originHeader/resources/origin-header-post-to-http.html: Added.
        * http/tests/security/originHeader/resources/print-origin.cgi: Added.

2008-10-05  Oliver Hunt  <oliver@apple.com>

        Reviewed by Reviewed by Tim Hatcher.

        Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
        <https://bugs.webkit.org/show_bug.cgi?id=21381>

        Test case for incremental parsing being interrupted midway through a script element.

        * http/tests/incremental/pause-in-script-element-expected.txt: Added.
        * http/tests/incremental/pause-in-script-element.pl: Added.

2008-10-03  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Cameron Zwarich.
        
        - test case for: "this" object in methods called on primitives should be wrapper object

        * fast/js/primitive-method-this-expected.txt: Added.
        * fast/js/primitive-method-this.html: Added.
        * fast/js/resources/primitive-method-this.js: Added.

2008-10-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        Testcase for "white-space: -webkit-nowrap" only being converted to
        "white-space: nowrap" on <td> and <th> now, not any element with a table-cell
        dispay type.
        
        See https://bugs.webkit.org/show_bug.cgi?id=21287#c3

        * fast/table/td-display-nowrap-expected.txt: Added.
        * fast/table/td-display-nowrap.html: Added.

2008-10-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyat
        
        Clean up code that changes the RenderStyle passed in to
        table renderer setStyle() methods.

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

        * fast/table/floating-th.html: Added.
        * fast/table/table-display-types-strict.html: Added.
        * fast/table/table-display-types.html: Added.
        * platform/mac/fast/table/floating-th-expected.txt: Added.
        * platform/mac/fast/table/table-display-types-expected.txt: Added.
        * platform/mac/fast/table/table-display-types-strict-expected.txt: Added.

2008-10-03  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        Test for:
        https://bugs.webkit.org/show_bug.cgi?id=20134
        REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min)

        * fast/forms/range-default-value-expected.txt: Added.
        * fast/forms/range-default-value.html: Added.

2008-10-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Geoffrey Garen and Sam Weinig.

        * svg/custom/font-face-not-in-document-expected.txt: Added.
        * svg/custom/font-face-not-in-document.svg: Added.

2008-10-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        New tests for display types and float on table elements.
        
        https://bugs.webkit.org/show_bug.cgi?id=21287
        
        * fast/table/floating-th.html: Added.
        * fast/table/table-display-types-strict.html: Added.
        * fast/table/table-display-types.html: Added.
        * platform/mac/fast/table/floating-th-expected.txt: Added.
        * platform/mac/fast/table/table-display-types-expected.txt: Added.
        * platform/mac/fast/table/table-display-types-strict-expected.txt: Added.

2008-10-02  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Update tests for https://bugs.webkit.org/show_bug.cgi?id=21299
        REGRESSION: <input> color specified in inline style applies to placeholder

        * fast/forms/placeholder-pseudo-style.html:
        * platform/mac/fast/forms/password-placeholder-expected.txt:
        * platform/mac/fast/forms/password-placeholder-text-security-expected.txt:
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.txt:

2008-10-01  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Update table detection tests by adding two more tables

        * accessibility/table-detection.html:
        * accessibility/table-detection-expected.txt:
        * platform/mac-snowleopard/accessibility/table-detection-expected.txt:

2008-10-02  Adele Peterson  <adele@apple.com>

        Update results for mac-tiger.

        * platform/mac-tiger/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/mac-tiger/svg/hixie/perf/001-expected.txt:
        * platform/mac-tiger/svg/hixie/perf/002-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/002-expected.txt:
        * platform/mac-tiger/svg/text/text-path-01-b-expected.txt:

2008-10-02  Brett Wilson  <brettw@chromium.org>

        Reviewed by Sam Weinig.

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

        Revert the changes to enclosingIntRect made in r12530 since the new code
        doesn't round correctly.

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-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-33-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-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-70-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-82-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-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/fonts-kern-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-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-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-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/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/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-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-path-01-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-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-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/text/textAnchor2-expected.txt:
        * platform/mac/svg/batik/text/textAnchor3-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-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/textPosition2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-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/scrollbar-expected.txt:
        * platform/mac/svg/custom/alignment-baseline-modes-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-modes-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/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/custom/text-xy-updates-expected.txt:
        * platform/mac/svg/hixie/perf/001-expected.txt:
        * platform/mac/svg/hixie/perf/002-expected.txt:
        * platform/mac/svg/hixie/text/003-expected.txt:
        * platform/mac/svg/hixie/text/003a-expected.txt:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/002-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-05-b-expected.txt:
        * platform/mac/svg/text/text-align-06-b-expected.txt:
        * platform/mac/svg/text/text-path-01-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-07-t-expected.txt:
        * platform/mac/svg/text/text-tspan-01-b-expected.txt:

2008-10-02  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Darin Adler.

        Layout tests for for bug #21232 - plus a range of tests for, um, ranges.

        * fast/js/regexp-ranges-and-escaped-hyphens-expected.txt: Added.
        * fast/js/regexp-ranges-and-escaped-hyphens.html: Added.
        * fast/js/resources/regexp-ranges-and-escaped-hyphens.js: Added.

2008-10-01  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Darin Adler.

        Add some tests for the 'arguments' object. The included failures are
        intentional. They are for regressions introduced in r37050, and they
        will hopefully be fixed in the near future.

        * fast/js/arguments-expected.txt:
        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/resources/arguments.js:
        * fast/js/resources/function-dot-arguments.js:

2008-10-01  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=21284
        Bug 21284: Max height affects max width
        - Looks like a cut and paste bug

        * fast/css/max-height-and-max-width-expected.txt: Added.
        * fast/css/max-height-and-max-width.html: Added.

2008-10-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*)

        * fast/parser/residual-style-close-across-removed-block-expected.txt: Added.
        * fast/parser/residual-style-close-across-removed-block.html: Added.

2008-09-30  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti

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

        Test default loopstart and loopend values.

        * media/loopend-limits-expected.txt: Added.
        * media/loopend-limits.html: Added.
        * media/loopstart-limits-expected.txt: Added.
        * media/loopstart-limits.html: Added.
        * media/video-test.js:

2008-09-30  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        Remove console output that can cause test to fail on slow
        machines.

        * animations/transition-and-animation-2-expected.txt:
        * animations/transition-and-animation-2.html:

2008-09-30  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=21227
        <rdar://problem/6222134> add a way to set color for input placeholder text

        * fast/forms/password-placeholder-text-security.html: Added.
        * fast/forms/placeholder-pseudo-style.html: Added.
        * platform/mac/fast/forms/password-placeholder-text-security-expected.checksum: Added.
        * platform/mac/fast/forms/password-placeholder-text-security-expected.png: Added.
        * platform/mac/fast/forms/password-placeholder-text-security-expected.txt: Added.
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.checksum: Added.
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.png: Added.
        * platform/mac/fast/forms/placeholder-pseudo-style-expected.txt: Added.

        Updated results. The placeholder color is now reflected on the RenderTextControl, not just on an inner element.

        * platform/mac/fast/forms/input-disabled-color-expected.checksum:
        * platform/mac/fast/forms/input-disabled-color-expected.png:
        * platform/mac/fast/forms/input-disabled-color-expected.txt:
        * platform/mac/fast/forms/password-placeholder-expected.checksum:
        * platform/mac/fast/forms/password-placeholder-expected.png:
        * platform/mac/fast/forms/password-placeholder-expected.txt:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.checksum:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.png:
        * platform/mac/fast/forms/placeholder-set-attribute-expected.txt:

2008-09-30  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused 
        by failed allocation due to invalid counter/attr
        and corresponding: <rdar://problem/6152371>

        * fast/css/counters/counter-number-input-expected.txt: Added.
        * fast/css/counters/counter-number-input.html: Added.

2008-09-30  Cameron Zwarich  <zwarich@apple.com>

        Reviewed by Geoff Garen.

        Add some tests for the arguments object, on the way to fixing

        Bug 21123: using "arguments" in a function should not force creation of an activation object
        <https://bugs.webkit.org/show_bug.cgi?id=21123>

        The function-dot-arguments test includes a case that now fails after
        r37050, but it should be fixed with bug 21123.

        * fast/js/arguments-expected.txt:
        * fast/js/function-dot-arguments-expected.txt: Added.
        * fast/js/function-dot-arguments.html: Added.
        * fast/js/resources/arguments.js:
        * fast/js/resources/function-dot-arguments.js: Added.

2008-09-29  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by John Sullivan.

        Tests for <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed

        * accessibility/nochildren-elements-expected.txt: Added.
        * accessibility/nochildren-elements.html: Added.

2008-09-30  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21213
        MessagePort crash when GC collects an object with a pending close event

        * fast/events/message-channel-gc-2-expected.txt: Added.
        * fast/events/message-channel-gc-2.html: Added.

        * fast/events/message-channel-listener-circular-ownership-expected.txt: Added
        * fast/events/message-channel-listener-circular-ownership.html: Added
        Demonstrate why turning the listeners into JSEventListeners wouldn't be right.

2008-09-29  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.
        
        Test case for which prototype is used when calling "new" across windows.

        * fast/js/construct-global-object-expected.txt: Added.
        * fast/js/construct-global-object.html: Added.

2008-09-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt

        * animations/lineheight-animation-expected.txt: Added.
        * animations/lineheight-animation.html: Added.

2008-09-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Eric Seidel

        Clean up fix in PropertyWrapperGetter::equals
        https://bugs.webkit.org/show_bug.cgi?id=21011
        
        * transitions/override-transition-crash-expected.txt: Added.
        * transitions/override-transition-crash.html: Added.

2008-09-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Eric Seidel

        https://bugs.webkit.org/show_bug.cgi?id=21001
        Starting transition after animation, when animation
        is finished, transition is wrong.

        * animations/transition-and-animation-2-expected.txt: Added.
        * animations/transition-and-animation-2.html: Added.

2008-09-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig

        Test for
        https://bugs.webkit.org/show_bug.cgi?id=20921
        -webkit-animation-timing-function: inside of keyframes is ignored
        
        * animations/keyframe-timing-functions-expected.txt: Added.
        * animations/keyframe-timing-functions.html: Added.

2008-09-29  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Darin Adler

        Testcase for crash when parsing keyframes from an @imported
        CSS file
        https://bugs.webkit.org/show_bug.cgi?id=20855
        
         * animations/import-crash-expected.txt: Added.
         * animations/import-crash.html: Added.
         * animations/import-expected.txt: Added.
         * animations/import.html: Added.
         * animations/resources/keyframes.css: Added.

2008-09-28  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=20366
        Reproducible test failure for editing/undo/undo-iframe-location-change.html

        This does not fix the problem, but makes the test more predictable by using iframe onload.
        Also, makes the test runnable in browser. Turns out that the test reliably fails there too,
        even without any special steps needed in DRT.

        * editing/undo/undo-iframe-location-change-expected.txt:
        * editing/undo/undo-iframe-location-change.html:

        * ChangeLog-2007-10-14: Added bug URLs for a patch that included this test.

2008-09-27  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Sam Weinig.

        - fix typo in test name

        * media/video-click-dblckick-standalone-expected.txt: Copied from media/video-click-dlbclick-standalone-expected.txt.
        * media/video-click-dblckick-standalone.html: Copied from media/video-click-dlbclick-standalone.html.
        * media/video-click-dlbclick-standalone-expected.txt: Removed.
        * media/video-click-dlbclick-standalone.html: Removed.

2008-09-27  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=21178
        <rdar://problem/6248651>
        
        Add tests.
        
        * http/tests/plugins/local-geturl-from-remote-expected.txt: Added.
        * http/tests/plugins/local-geturl-from-remote.html: Added.

2008-09-26  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Bug 21054: Construction of certain DOM objects is heavily regressed by r36675
        <https://bugs.webkit.org/show_bug.cgi?id=21054>

        Tests to ensure that we correctly only have single instances of the
        special cased Image, MessageChannel, Option, XMLHttpRequest, and Audio
        constructors.  We also test that we don't expose the cached objects
        to subsequent documents as navigation occurs.

        * fast/dom/constructors-cached-expected.txt: Added.
        * fast/dom/constructors-cached-navigate-expected.txt: Added.
        * fast/dom/constructors-cached-navigate.html: Added.
        * fast/dom/constructors-cached.html: Added.
        * fast/dom/resources/constructors-cached-navigate.js: Added.
        * fast/dom/resources/constructors-cached.js: Added.

2008-09-25  Feng Qian <feng@chromium.org>

        Test for: https://bugs.webkit.org/show_bug.cgi?id=21032
        <rdar://problem/6243032>

        Reviewed by Dave Hyatt.

        The test crashes webkit if using Windows heap allocator.

        * fast/dom/attribute-downcast-right-expected.txt: Added.
        * fast/dom/attribute-downcast-right.html: Added.

2008-09-25  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Mark Rowe

        Roll out 36771 as it caused <rdar://problem/6246554>
        "nytimes.com doesn't display after returning to it with back/forward"

        * fast/css/nested-rule-parent-sheet-expected.txt: Removed.
        * fast/css/nested-rule-parent-sheet.html: Removed.

2008-09-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Eric Seidel.
        
        <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart"
        https://bugs.webkit.org/show_bug.cgi?id=21003

        Update media layout test results for progress event name change from "begin" to "loadstart"

        * media/audio-constructor-expected.txt:
        * media/audio-constructor-src-expected.txt:
        * media/audio-constructor-src.html:
        * media/audio-constructor.html:
        * media/progress-event-expected.txt:
        * media/progress-event-total-expected.txt:
        * media/progress-event-total.html:
        * media/progress-event.html:
        * media/video-error-abort-expected.txt:
        * media/video-error-abort.html:
        * media/video-load-networkState-expected.txt:
        * media/video-load-networkState.html:
        * media/video-load-readyState-expected.txt:
        * media/video-load-readyState.html:
        * media/video-pause-empty-events-expected.txt:
        * media/video-pause-empty-events.html:
        * media/video-play-empty-events-expected.txt:
        * media/video-play-empty-events.html:
        * media/video-source-expected.txt:
        * media/video-source-media-expected.txt:
        * media/video-source-media.html:
        * media/video-source-type-expected.txt:
        * media/video-source-type-params-expected.txt:
        * media/video-source-type-params.html:
        * media/video-source-type.html:
        * media/video-source.html:
        * media/video-src-change-expected.txt:
        * media/video-src-change.html:
        * media/video-src-expected.txt:
        * media/video-src-remove-expected.txt:
        * media/video-src-remove.html:
        * media/video-src-set-expected.txt:
        * media/video-src-set.html:
        * media/video-src-source-expected.txt:
        * media/video-src-source.html:
        * media/video-src.html:

2008-09-25  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=21097
        Calling a MessageChannel constructor from a destroyed document results in a crash

        * fast/events/message-port-constructor-for-deleted-document-expected.txt: Added.
        * fast/events/message-port-constructor-for-deleted-document.html: Added.

2008-09-24  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=20879
        Implement HTML5 channel messaging

        * fast/dom/Window/window-properties-expected.txt:
        * fast/events/message-channel-gc-expected.txt: Added.
        * fast/events/message-channel-gc.html: Added.
        * fast/events/message-port-deleted-document-expected.txt: Added.
        * fast/events/message-port-deleted-document.html: Added.
        * fast/events/message-port-deleted-frame-expected.txt: Added.
        * fast/events/message-port-deleted-frame.html: Added.
        * fast/events/message-port-expected.txt: Added.
        * fast/events/message-port-inactive-document-expected.txt: Added.
        * fast/events/message-port-inactive-document.html: Added.
        * fast/events/message-port.html: Added.
        * fast/events/resources/message-port-iframe.html: Added.
        * http/tests/security/MessagePort: Added.
        * http/tests/security/MessagePort/event-listener-context-expected.txt: Added.
        * http/tests/security/MessagePort/event-listener-context.html: Added.
        * http/tests/security/MessagePort/resources: Added.
        * http/tests/security/MessagePort/resources/attacker-frame.html: Added.
        * http/tests/security/MessagePort/resources/banking-site.html: Added.

2008-09-25  David Smith  <catfish.man@gmail.com>

        Reviewed by Eric Seidel
        
        Tests for https://bugs.webkit.org/show_bug.cgi?id=21091
        Regression: querySelector matches tag names case sensitively

        * ChangeLog:
        * fast/dom/SelectorAPI/caseTag-expected.txt: Added.
        * fast/dom/SelectorAPI/caseTag.html: Added.
        * fast/dom/SelectorAPI/caseTagX-expected.txt: Added.
        * fast/dom/SelectorAPI/caseTagX.xhtml: Added.

2008-09-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21080
        <rdar://problem/6243534>
        Crash below Function.apply when using a runtime array as the argument list

        * platform/mac/plugins/bindings-array-apply-crash-expected.txt: Added.
        * platform/mac/plugins/bindings-array-apply-crash.html: Added.

2008-09-24  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Dan Bernstein.
        
        - https://bugs.webkit.org/show_bug.cgi?id=20092
        Spelling markers positioned incorrectly in RTL text

        * editing/spelling/inline_spelling_markers.html: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.checksum: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.png: Added.
        * platform/mac/editing/spelling/inline_spelling_markers-expected.txt: Added.

2008-09-24  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        Test for:
        https://bugs.webkit.org/show_bug.cgi?id=20557
        getScreenCTM() returns wrong values

        * svg/custom/getscreenctm-in-mixed-content2-expected.txt: Added.
        * svg/custom/getscreenctm-in-mixed-content2.xhtml: Added.

2008-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Test for https://bugs.webkit.org/show_bug.cgi?id=21038
        Uncaught exceptions in regex replace callbacks crash webkit

        * fast/js/string-replace-exception-crash-expected.txt: Added.
        * fast/js/string-replace-exception-crash.html: Added.

2008-09-23  Beth Dakin  <bdakin@apple.com>

        Reviewed by Sam Weinig.

        Test for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add 
        Contact" link at gmail does not support AXPress action
        and corresponding: <rdar://problem/6216178>

        * accessibility/aria-link-supports-press-expected.txt: Added.
        * accessibility/aria-link-supports-press.html: Added.

2008-09-23  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Temporarily disable SVGElementInstance tests, until EventTargetSVGElementInstance transition is finished.

        * svg/custom/use-elementInstance-event-target.svg-disabled: Copied from svg/custom/use-elementInstance-event-target.svg.
        * svg/custom/use-elementInstance-methods.svg-disabled: Copied from LayoutTests/svg/custom/use-elementInstance-methods.svg.

2008-09-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Beth Dakin.

        - test for <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]

        * fast/events/keydown-remove-frame-expected.txt: Added.
        * fast/events/keydown-remove-frame.html: Added.
        * fast/events/resources/keydown-remove-frame-iframe.html: Added.

2008-09-23  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=21023
        Don't use TEC for encodings supported by ICU

        * fast/encoding/char-decoding-expected.txt:
        * fast/encoding/char-decoding.html:
        * fast/encoding/char-encoding-expected.txt:
        * fast/encoding/char-encoding.html:
        Added tests for these encodings. At least MacCyrillic is widely used on the Web, and I think
        that the other three were picked by ICU because they are used, too.

2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=21013

        * fast/forms/selection-functions.html: Update test to match new
        behavior that we now share with Firefox.

2008-09-22  David Hyatt  <hyatt@apple.com>

        Layout test for double click scrollbar bug.

        Reviewed by Sam Weinig

        * fast/events/scrollbar-double-click-expected.txt: Added.
        * fast/events/scrollbar-double-click.html: Added.

2008-09-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - tests and updated results for <rdar://problem/5158514> Switch the complex text code path to Core Text

        * platform/mac-snowleopard/fast: Added.
        * platform/mac-snowleopard/fast/text: Added.
        * platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.checksum: Added.
        * platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.png: Added.
        * platform/mac-snowleopard/fast/text/atsui-multiple-renderers-expected.txt: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping-expected.checksum: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping-expected.png: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping-expected.txt: Added.
        * platform/mac-snowleopard/fast/text/myanmar-shaping.html: Added.
        * platform/mac-snowleopard/fast/text/resources: Added.
        * platform/mac-snowleopard/fast/text/resources/Garuda.ttf: Added from http://www.w3.org/International/tests/test-webfonts/test-thai-tibetan-myanmar.html.
        * platform/mac-snowleopard/fast/text/resources/mm3.ttf: Added from http://www.w3.org/International/tests/test-webfonts/test-thai-tibetan-myanmar.html.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.checksum: Added.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.png: Added.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning-expected.txt: Added.
        * platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html: Added.

2008-09-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

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

        * fast/js/function-apply-expected.txt: Added.
        * fast/js/function-apply.html: Added.
        * fast/js/resources/function-apply.js: Added.

2008-09-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig

        transition end event when -webkit-transition-property: all puts wrong
        propertyName in event
        https://bugs.webkit.org/show_bug.cgi?id=20903
        

        * transitions/transition-end-event-all-properties-expected.txt:
        * transitions/transition-end-event-all-properties.html:

2008-09-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Tests for <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell

        * accessibility/table-one-cell-expected.txt: Added.
        * accessibility/table-one-cell.html: Added.

2008-09-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Tests for setting/getting selected text ranges through AX

        * accessibility/textarea-selected-text-range-expected.txt: Added.
        * accessibility/textarea-selected-text-range.html: Added.

2008-09-22  David Hyatt  <hyatt@apple.com>

        Add new test for .parentStyleSheet.

        Reviewed by Sam Weinig

        * fast/css/nested-rule-parent-sheet.html: Added.
        
2008-09-21  Gabor Loki  <loki@inf.u-szeged.hu>

        Reviewed and tweaked by Darin Adler.

        - https://bugs.webkit.org/show_bug.cgi?id=19408
          Add test case for constant folding.

        * fast/js/constant-folding-expected.txt: Added.
        * fast/js/constant-folding.html: Added.
        * fast/js/resources/constant-folding.js: Added.

2008-09-21  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Tests for the 'arguments' object.

        * fast/js/arguments-expected.txt: Added.
        * fast/js/arguments.html: Added.
        * fast/js/resources/arguments.js: Added.

2008-09-19  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Oliver Hunt.

        Use correct mime-type for javascript

        * svg/webarchive/svg-script-subresouces-expected.webarchive:
        * webarchive/test-duplicate-resources-expected.webarchive:
        * webarchive/test-script-src-expected.webarchive:

2008-09-19  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Antti & Eric.

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

        Add new test fast/dom/HTMLScriptElement/script-reexecution.html, verifying that
        appending a <script>, removing and reappending doesn't reexecute the script.

        Fix obvious errors in tests contained in fast/dom/HTMLScriptElement/.
        Use these tests as skeleton for a series of SVGScriptElement tests.
        Especially tests SVG's SVGLoad/SVGError event support, as well as the
        influence of externalResourcesRequired attribute.

        * fast/dom/HTMLScriptElement/resources/script-reexecution-pass.js: Added.
        * fast/dom/HTMLScriptElement/script-load-events.html:
        * fast/dom/HTMLScriptElement/script-reexecution-expected.txt: Added.
        * fast/dom/HTMLScriptElement/script-reexecution.html: Added.
        * fast/dom/HTMLScriptElement/script-set-src.html:
        * platform/mac/svg/dom/SVGScriptElement: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.checksum: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.png: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-load-and-error-events-expected.checksum: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-load-and-error-events-expected.png: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-reexecution-expected.checksum: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-reexecution-expected.png: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-set-href-expected.checksum: Added.
        * platform/mac/svg/dom/SVGScriptElement/script-set-href-expected.png: Added.
        * svg/dom/SVGScriptElement: Added.
        * svg/dom/SVGScriptElement/resources: Added.
        * svg/dom/SVGScriptElement/resources/script-load.js: Added.
        * svg/dom/SVGScriptElement/resources/script-load2.js: Added.
        * svg/dom/SVGScriptElement/resources/script-load3.js: Added.
        * svg/dom/SVGScriptElement/resources/script-load4.js: Added.
        * svg/dom/SVGScriptElement/resources/script-reexecution.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p1fail.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p2fail.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p3pass.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p4pass.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p5fail.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p5pass.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p6pass.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p7pass.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p8pass.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p9failAfter.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p9failBefore.js: Added.
        * svg/dom/SVGScriptElement/resources/script-set-href-p9pass.js: Added.
        * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading-expected.txt: Added.
        * svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg: Added.
        * svg/dom/SVGScriptElement/script-load-and-error-events-expected.txt: Added.
        * svg/dom/SVGScriptElement/script-load-and-error-events.svg: Added.
        * svg/dom/SVGScriptElement/script-reexecution-expected.txt: Added.
        * svg/dom/SVGScriptElement/script-reexecution.svg: Added.
        * svg/dom/SVGScriptElement/script-set-href-expected.txt: Added.
        * svg/dom/SVGScriptElement/script-set-href.svg: Added.

2008-09-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt.

        Transition starts running when it shouldn't
        https://bugs.webkit.org/show_bug.cgi?id=20892

        When there is a transition and an animation on the
        same element, make sure the animation wins.

        * animations/transition-and-animation-1-expected.txt: Added.
        * animations/transition-and-animation-1.html: Added.

2008-09-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for <rdar://problem/6231308> crash in AutoTableLayout

        * fast/table/empty-row-crash.html: Added.
        * platform/mac/fast/table/empty-row-crash-expected.checksum: Added.
        * platform/mac/fast/table/empty-row-crash-expected.png: Added.
        * platform/mac/fast/table/empty-row-crash-expected.txt: Added.

2008-09-19  David Hyatt  <hyatt@apple.com>

        Fix for bug 20941.

        Reviewed by Sam Weinig

        * fast/block/positioning/replaced-inside-fixed-top-bottom.html: Added.
        * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.checksum: Added.
        * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.png: Added.
        * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt: Added.

2008-09-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Tests for <rdar://problem/6211041> Expose legend tag in accessibility

        * accessibility/legend-expected.txt: Added.
        * accessibility/legend.html: Added.

2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        * platform/mac/fast/dom/wrapper-classes-expected.txt: Update results to
        reflect correct prototype for CSSStyleRule.

2008-09-18  Collin Jackson  <collinj@webkit.org>

        Reviewed by Antti Koivisto and Mark Rowe.

        This is correct expected output for the DNS prefetch control
        layout test I just checked in.

        * http/tests/misc/dns-prefetch-control-expected.txt:

2008-09-18  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Update test results now that frame tree names are cleared between tests.

        * fast/events/onunload-clears-onbeforeunload-expected.txt:
        * fast/events/onunload-expected.txt:
        * fast/events/onunload-not-on-body-expected.txt:
        * fast/events/onunload-window-property-expected.txt:
        * fast/forms/button-state-restore-expected.txt:
        * fast/forms/form-and-frame-interaction-retains-values-expected.txt:

2008-09-18  Collin Jackson  <collinj@webkit.org>

        Reviewed by Antti Koivisto and Mark Rowe.

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

        Add test for DNS prefetch control.

        * http/tests/misc/dns-prefetch-control-expected.txt: Added.
        * http/tests/misc/dns-prefetch-control.html: Added.
        * http/tests/misc/resources/dns-prefetch-control.php: Added.

2008-09-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        Tests for <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if 
        ARIA role specifies otherwise
        
        Updated other tests so that rows and cells default to AccessibilityRenderObject
        when not part of an AXTable

        * accessibility/table-detection-expected.txt:
        * accessibility/table-with-aria-role-expected.txt: Added.
        * accessibility/table-with-aria-role.html: Added.
        * accessibility/table-with-rules-expected.txt:
        * platform/mac-snowleopard/accessibility/table-detection-expected.txt:
        * platform/mac-snowleopard/accessibility/table-with-aria-role-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-with-rules-expected.txt:

2008-09-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 
        parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
        dashboard-region=
        and corresponding: <rdar://problem/6174100>

        * fast/css/variables/invalid-identifier-expected.txt: Added.
        * fast/css/variables/invalid-identifier.html: Added.

2008-09-18  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Change test to not attempt to access a remote host.  This stops
        DRT from printing a warning to stderr while running this test.

        * fast/loader/cancel-load-during-port-block-timer.html:

2008-09-17  Simon Fraser  <simon.fraser@apple.com>

        Add pixel test expected values for transform tests.

        * platform/mac/transforms/2d/compound-transforms-vs-containers-expected.checksum: Added.
        * platform/mac/transforms/2d/compound-transforms-vs-containers-expected.png: Added.
        * platform/mac/transforms/2d/transform-borderbox-expected.checksum: Added.
        * platform/mac/transforms/2d/transform-borderbox-expected.png: Added.
        * platform/mac/transforms/2d/transform-origin-borderbox-expected.checksum: Added.
        * platform/mac/transforms/2d/transform-origin-borderbox-expected.png: Added.

2008-09-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Adele Peterson.

        Test for <rdar://problem/6133884> 
        Calling window.resizeTo() on a subframe shouldn't change the window size

        * fast/dom/Window/resources/blank.html: Added.
        * fast/dom/Window/window-resize-and-move-sub-frame-expected.txt: Added.
        * fast/dom/Window/window-resize-and-move-sub-frame.html: Added.

2008-09-17  Beth Dakin  <bdakin@apple.com>

        Reviewed by Adam Roben.

        Test for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 
        code crashes Safari 
        and corresponding: <rdar://problem/6173832>

        * fast/css/counters/counter-function-input-2-expected.txt: Added.
        * fast/css/counters/counter-function-input-2.html: Added.
        * fast/css/counters/counter-function-input-expected.txt: Added.
        * fast/css/counters/counter-function-input.html: Added.

2008-09-16  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Add a test for bug 20857: REGRESSION (r36427): ASSERTION FAILED: m_refCount >= 0 in RegisterID::deref()
        <https://bugs.webkit.org/show_bug.cgi?id=20857>

        * fast/js/codegen-temporaries-expected.txt:
        * fast/js/resources/codegen-temporaries.js:

2008-09-16  Mark Rowe  <mrowe@apple.com>

        Disable fast/js/garbage-collect-after-string-appends.html.

        It is failing on the build bots, and intermittently on local systems, for no apparent reason.  The test itself is
        flawed in that its attempts to trigger and detect garbage collection are very dependent on implementation details
        of JavaScriptCore.  Fixing the test is tracked by <https://bugs.webkit.org/show_bug.cgi?id=20871>.

        * fast/js/garbage-collect-after-string-appends.html: Removed.
        * fast/js/garbage-collect-after-string-appends.html-disabled: Copied from fast/js/garbage-collect-after-string-appends.html.
        * fast/js/resources/garbage-collect-after-string-appends.js: Removed.
        * fast/js/resources/garbage-collect-after-string-appends.js-disabled: Copied from fast/js/resources/garbage-collect-after-string-appends.js.

2008-09-16  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Tweak garbage-collect-after-string-appends.js to not fail when run twice or more in a row.
        This will hopefully address the intermittent failures seen on the build bot.

        * fast/js/resources/garbage-collect-after-string-appends.js:

2008-09-16  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dan Bernstein.

        New tests for keyframe animations
        https://bugs.webkit.org/show_bug.cgi?id=20891

        * animations/keyframes-expected.txt: Added.
        * animations/keyframes-out-of-order-expected.txt: Added.
        * animations/keyframes-out-of-order.html: Added.
        * animations/keyframes.html: Added.

2008-09-16  Brady Eidson  <beidson@apple.com>

        Reviewed by Sam Weinig

        Update layout test results for tests changed by http://trac.webkit.org/changeset/35799
       
        * platform/mac-leopard/security/block-test-expected.txt:
        * platform/mac/webarchive/loading/cache-expired-subresource-expected.txt:
        * security/block-test-expected.txt:

2008-09-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Mark Rowe

        Fix test cases that call notifyDone() twice
        https://bugs.webkit.org/show_bug.cgi?id=20884
        
        * animations/change-one-anim.html:
            Only respond to one of the two running animations, to avoid
            doing things twice.
            https://bugs.webkit.org/show_bug.cgi?id=20881
            
        * svg/custom/gradient-attr-update.svg:
            Fix the test to not run code both on an onload handler,
            and on the synthetic click handler.
            https://bugs.webkit.org/show_bug.cgi?id=20884

2008-09-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - updated results for https://bugs.webkit.org/show_bug.cgi?id=15129
          <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint

        * platform/mac/fast/repaint/4776765-expected.checksum:
        * platform/mac/fast/repaint/4776765-expected.png:

2008-09-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test for https://bugs.webkit.org/show_bug.cgi?id=15384
          Div does not notice when grandparent changes height

        - test for https://bugs.webkit.org/show_bug.cgi?id=20714
          Resizing Gmail inbox vertically results in whitespace at the bottom of the window

        * fast/block/basic/quirk-percent-height-grandchild.html: Added.
        * fast/replaced/percent-height-in-anonymous-block.html: Added.
        * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.checksum: Added.
        * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.png: Added.
        * platform/mac/fast/block/basic/quirk-percent-height-grandchild-expected.txt: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.checksum: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.png: Added.
        * platform/mac/fast/replaced/percent-height-in-anonymous-block-expected.txt: Added.

2008-09-15  Rob Buis  <buis@kde.org>

        Reviewed by Eric.

        Test for:
        https://bugs.webkit.org/show_bug.cgi?id=20634
        SVG transform attribute is ignored by <use> in <clipPath>

        * svg/custom/use-clipped-transform-expected.checksum: Added.
        * svg/custom/use-clipped-transform-expected.png: Added.
        * svg/custom/use-clipped-transform-expected.txt: Added.
        * svg/custom/use-clipped-transform.svg: Added.

2008-09-15  Sam Weinig  <sam@webkit.org>

        Roll out r36478.  It did little to help the issue either.

        * fast/js/resources/garbage-collect-after-string-appends.js:

2008-09-15  Sam Weinig  <sam@webkit.org>

        Avoid the single character optimization.

        * fast/js/resources/garbage-collect-after-string-appends.js:

2008-09-15  Sam Weinig  <sam@webkit.org>

        Roll out r36476.  It did little to help the issue.

        * fast/js/resources/garbage-collect-after-string-appends.js:

2008-09-15  Sam Weinig  <sam@webkit.org>

        Make this test a little more forgiving.

        * fast/js/resources/garbage-collect-after-string-appends.js:

2008-09-15  Sam Weinig  <sam@webkit.org>

        http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase.html
        now passes on Leopard in 10.5.5.

        * platform/mac-leopard/http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt: Removed.

2008-09-15  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt.

        Make transform animation behavior match spec
        https://bugs.webkit.org/show_bug.cgi?id=20770

        * transitions/transform-op-list-match-expected.txt: Added.
        * transitions/transform-op-list-match.html: Added.
        * transitions/transform-op-list-no-match-expected.txt: Added.
        * transitions/transform-op-list-no-match.html: Added.

2008-09-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler, Beth Dakin

        Test for <rdar://problem/4003789> Expose lists as AXList

        * accessibility/lists-expected.txt: Added.
        * accessibility/lists.html: Added.
        * platform/mac-snowleopard/accessibility/lists-expected.txt: Added.

2008-09-15  Dean Jackson  <dino@apple.com>

        Reviewed by Tim Hatcher.

        Test default constructor for ShadowData with transitions.
        https://bugs.webkit.org/show_bug.cgi?id=20757

        * transitions/shadow-expected.txt: Added.
        * transitions/shadow.html: Added.

2008-09-15  Dean Jackson  <dino@apple.com>

        Reviewed by Tim Hatcher.

        Tests for -webkit-transform
        https://bugs.webkit.org/show_bug.cgi?id=20771

        * transforms/2d/compound-2d-transforms-expected.txt: Added.
        * transforms/2d/compound-2d-transforms.html: Added.
        * transforms/2d/compound-transforms-vs-containers.html: Added.
        * transforms/2d/transform-2d-expected.txt: Added.
        * transforms/2d/transform-2d.html: Added.
        * transforms/2d/transform-accuracy-expected.txt: Added.
        * transforms/2d/transform-accuracy.html: Added.
        * transforms/2d/transform-borderbox.html: Added.
        * transforms/2d/transform-origin-borderbox.html: Added.
        * transforms/2d/resources/transform-test-utils.js: Added.
        * platform/mac/transforms/2d/compound-transforms-vs-containers-expected.txt: Added.
        * platform/mac/transforms/2d/transform-borderbox-expected.txt: Added.
        * platform/mac/transforms/2d/transform-origin-borderbox-expected.txt: Added.

2008-09-15  Dean Jackson  <dino@apple.com>

        Reviewed by Tim Hatcher

        Tests for animations.
        https://bugs.webkit.org/show_bug.cgi?id=20789

        * animations/animation-test-helpers.js: Added.
        * animations/generic-from-to-expected.txt: Added.
        * animations/generic-from-to.html: Added.
        * animations/multiple-animations-expected.txt: Added.
        * animations/multiple-animations.html: Added.
        * animations/multiple-keyframes-expected.txt: Added.
        * animations/multiple-keyframes.html: Added.

2008-09-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Maciej.
        
        <rdar://problem/6163988> 
        https://bugs.webkit.org/show_bug.cgi?id=20457
        Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern
        
        Add test for createPattern where the canvas passed in has a zero height/width.
        
        * fast/canvas/canvas-with-incorrect-args-expected.txt:
        * fast/canvas/canvas-with-incorrect-args.html:

2008-09-15  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Add some tests for boundary cases of parseInt().

        * fast/js/numeric-conversion-expected.txt:
        * fast/js/resources/numeric-conversion.js:

2008-09-14  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=20738
        compareBoundaryPoints gives incorrect results

        * fast/dom/Range/compareBoundaryPoints-2-expected.txt: Added.
        * fast/dom/Range/compareBoundaryPoints-2.html: Added.

2008-09-14  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Sam Weinig.

        - revert <http://trac.webkit.org/changeset/36382> because it exposed
          <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes
          on Tiger.

        * platform/mac/fast/text/last-resort-font-expected.checksum: Removed.
        * platform/mac/fast/text/last-resort-font-expected.png: Removed.
        * platform/mac/fast/text/last-resort-font-expected.txt: Removed.
        * platform/mac/fast/text/last-resort-font.html: Removed.

2008-09-14  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Test for a bug in a preliminary version of the patch for
        Bug 20827: the 'typeof' operator is slow
        <https://bugs.webkit.org/show_bug.cgi?id=20827>

        * fast/js/resources/typeof-codegen-crash.js: Added.
        * fast/js/typeof-codegen-crash-expected.txt: Added.
        * fast/js/typeof-codegen-crash.html: Added.

2008-09-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - test that the LastResort font is used for missing glyphs rather than
          the primary font's missing glyph

        * platform/mac/fast/text/last-resort-font-expected.checksum: Added.
        * platform/mac/fast/text/last-resort-font-expected.png: Added.
        * platform/mac/fast/text/last-resort-font-expected.txt: Added.
        * platform/mac/fast/text/last-resort-font.html: Added.

2008-09-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Timothy Hatcher.

        Changes to accomodate <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement

        * accessibility/bounds-for-range-expected.txt:
        * accessibility/document-attributes-expected.txt:
        * accessibility/frame-with-title-expected.txt:
        * accessibility/image-map1-expected.txt:
        * accessibility/image-map2-expected.txt:
        * accessibility/internal-link-anchors-expected.txt:
        * accessibility/internal-link-anchors2-expected.txt:
        * accessibility/plugin-expected.txt:
        * accessibility/radio-button-group-members-expected.txt:
        * accessibility/table-detection-expected.txt:
        * accessibility/table-with-rules-expected.txt:
        * platform/mac-snowleopard/accessibility/table-attributes-expected.txt:
        * platform/mac-snowleopard/accessibility/table-cell-spans-expected.txt:
        * platform/mac-snowleopard/accessibility/table-cells-expected.txt:
        * platform/mac-snowleopard/accessibility/table-detection-expected.txt:
        * platform/mac-snowleopard/accessibility/table-sections-expected.txt:
        * platform/mac-snowleopard/accessibility/table-with-rules-expected.txt:

2008-09-12  Kevin McCullough  <kmccullough@apple.com>

        RS by Tim.

        Re-introducing the code since it was not the cause of the crash.
        See r36343.

        * fast/events/autoscroll-with-non-scrollable-parent.html:

2008-09-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt.

        When changing one animation in a list, don't reset other animations
        https://bugs.webkit.org/show_bug.cgi?id=20675

        * animations/change-one-anim-expected.txt: Added.
        * animations/change-one-anim.html: Added.

2008-09-11  Dean Jackson  <dino@apple.com>

        Unfortunately the fix for 
        https://bugs.webkit.org/show_bug.cgi?id=20680
        didn't update the relevant test

        * css3/keyframes-rule-expected.txt:
        * css3/keyframes-rule.html:

2008-09-08  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt

        Need to support comma separated list of key times in keyframes selectors
        https://bugs.webkit.org/show_bug.cgi?id=20680

        * animations/keyframes-comma-separated-expected.txt: Added.
        * animations/keyframes-comma-separated.html: Added.

2008-09-11  Kevin McCullough  <kmccullough@apple.com>

        RS = Tim.

        Reverted because this caused a crash.

        * fast/events/autoscroll-with-non-scrollable-parent.html:

2008-09-11  Dean Jackson  <dino@apple.com>

        Reviewed by Dan Bernstein.

        Test for assertion of transition property "none"
        https://bugs.webkit.org/show_bug.cgi?id=20751

        * transitions/transition-end-event-set-none-expected.txt: Added.
        * transitions/transition-end-event-set-none.html: Added.

2008-09-11  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Adele and Tim.

        <rdar://problem/6100597> REGRESSION: clicking on search results in Web
        Inspector does not scroll to the line of the results (20167)
        - This was put in by Max to fix some auto scroll behavior but is not
        correct for the whole web: rdar://problem/6213098

        * fast/events/autoscroll-with-non-scrollable-parent.html:

2008-09-11  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        Add tests for
        <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title

        * accessibility/frame-with-title-expected.txt: Added.
        * accessibility/frame-with-title.html: Added.

2008-09-10  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by David Hyatt.

        Add additional test by Feng Qian.

        * fast/dom/StyleSheet/ownerNode-lifetime-2-expected.txt: Added.
        * fast/dom/StyleSheet/ownerNode-lifetime-2.html: Added.

2008-09-10  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=20741
        REGRESSION: ISO-8859-8-I encoding is registered incorrectly

        * fast/encoding/hebrew: Added.
        * fast/encoding/hebrew/8859-8-e-expected.txt: Added.
        * fast/encoding/hebrew/8859-8-e.html: Added.
        * fast/encoding/hebrew/8859-8-expected.txt: Added.
        * fast/encoding/hebrew/8859-8-i-expected.txt: Added.
        * fast/encoding/hebrew/8859-8-i.html: Added.
        * fast/encoding/hebrew/8859-8.html: Added.
        * fast/encoding/hebrew/csISO88598I-expected.txt: Added.
        * fast/encoding/hebrew/csISO88598I.html: Added.
        * fast/encoding/hebrew/hebrew-expected.txt: Added.
        * fast/encoding/hebrew/hebrew.html: Added.
        * fast/encoding/hebrew/iso-ir-138-expected.txt: Added.
        * fast/encoding/hebrew/iso-ir-138.html: Added.
        * fast/encoding/hebrew/logical-expected.txt: Added.
        * fast/encoding/hebrew/logical.html: Added.

2008-09-05  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig.

        Need to handle the case when 0% or 100% keyframe is omitted
        https://bugs.webkit.org/show_bug.cgi?id=20679

        * animations/keyframes-from-missing-expected.txt: Added.
        * animations/keyframes-from-missing.html: Added.
        * animations/keyframes-to-missing-expected.txt: Added.
        * animations/keyframes-to-missing.html: Added.

2008-09-09  Dean Jackson  <dino@apple.com>

        Reviewed by Sam Weinig.

        Test Document::createEvent for Animation and Transition events
        https://bugs.webkit.org/show_bug.cgi?id=20734

        * animations/animation-events-create.html: Added.
        * animations/animation-events-create-expected.txt: Added.
        * transitions/transition-end-event-create-expected.txt: Added.
        * transitions/transition-end-event-create.html: Added.

2008-09-09  Jungshik Shin  <jungshik.shin@gmail.com>

        Reviewed by Alexey Proskuryakov.

        Try MIME charset names before trying IANA names
        ( https://bugs.webkit.org/show_bug.cgi?id=17537 )

        * fast/encoding/hanarei-blog32-fc2-com-expected.txt:
        * fast/encoding/hanarei-blog32-fc2-com.html:
        Changed expected result from Extended_UNIX_Code_Packed_Format_for_Japanese to EUC-JP
        (which is the same in ICU, but definitely a better name which matches other browsers).

2008-09-09  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Mark Rowe.

        Tests for bug 20719: REGRESSION (r36135-36244): Hangs, then crashes after several seconds
        <https://bugs.webkit.org/show_bug.cgi?id=20719>
        <rdar://problem/6205787>

        * fast/js/regexp-char-insensitive-expected.txt: Added.
        * fast/js/regexp-char-insensitive.html: Added.
        * fast/js/resources/regexp-char-insensitive.js: Added.

2008-09-09  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Maciej Stachowiak.

        - update results for the addition of console.dirxml

        * fast/dom/Window/window-properties-expected.txt:

2008-09-08  Dean Jackson  <dino@apple.com>

        Reviewed by Dan Bernstein.

        Update test to insert more keyframes.
        https://bugs.webkit.org/show_bug.cgi?id=20613

        * css3/keyframes-rule-expected.txt:
        * css3/keyframes-rule.html:

2008-09-08  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig.

        - Animation of -webkit-transform matrix() function should not do linear interpolation
          https://bugs.webkit.org/show_bug.cgi?id=20667

        * animations/matrix-anim-expected.txt: Added.
        * animations/matrix-anim.html: Added.

2008-09-08  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Anders Carlsson.

        - Test for potential bug found while fixing "Cache the code generated for eval to speed up SunSpider and web sites"
        https://bugs.webkit.org/show_bug.cgi?id=20718

        * fast/js/eval-cache-crash-expected.txt: Added.
        * fast/js/eval-cache-crash.html: Added.
        * fast/js/resources/eval-cache-crash.js: Added.

2008-09-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Tests that opener restriction is working properly.
          https://bugs.webkit.org/show_bug.cgi?id=20642

        * http/tests/security/frameNavigation/not-opener-expected.txt: Added.
        * http/tests/security/frameNavigation/not-opener.html: Added.
        * http/tests/security/frameNavigation/opener-expected.txt: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.
        * http/tests/security/frameNavigation/opener.html: Added.
        * http/tests/security/frameNavigation/resources/not-opener-helper.html: Added.
        * http/tests/security/frameNavigation/resources/pass.html: Added.
        * http/tests/security/frameNavigation/resources/ready.html: Added.

=== End merge of squirrelfish-extreme ===

2008-09-04  Geoffrey Garen  <ggaren@apple.com>

        Checking in some tests that got forgotten in a previous merge.

        * fast/js/pic/cached-deleted-properties-expected.txt: Added.
        * fast/js/pic/cached-deleted-properties.html: Added.
        * fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
        * fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
        * fast/js/pic/cached-getter-setter-expected.txt: Added.
        * fast/js/pic/cached-getter-setter.html: Added.
        * fast/js/pic/cached-prototype-setter-expected.txt: Added.
        * fast/js/pic/cached-prototype-setter.html: Added.
        * fast/js/pic/cached-single-entry-transition-expected.txt: Added.
        * fast/js/pic/cached-single-entry-transition.html: Added.
        * fast/js/pic/get-empty-string-expected.txt: Added.
        * fast/js/pic/get-empty-string.html: Added.
        * fast/js/pic/get-set-proxy-object-expected.txt: Added.
        * fast/js/pic/get-set-proxy-object.html: Added.
        * fast/js/pic/rehash-poisons-structure-expected.txt: Added.
        * fast/js/pic/rehash-poisons-structure.html: Added.

2008-09-03  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        A few array indexing tests.

        * fast/js/array-indexing-expected.txt: Added.
        * fast/js/array-indexing.html: Added.
        * fast/js/resources/array-indexing.js: Added.

2008-09-02  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by Geoff Garen.

        Change recursion limit to account for a fatter stack frame.

        * fast/js/deep-recursion-test.html:

=== Start merge of squirrelfish-extreme ===

2008-09-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Beth Dakin.

        - pixel test for <rdar://problem/6198514> Changing a button's opacity triggers relayout

        * fast/repaint/button-spurious-layout-hint.html: Added.
        * platform/mac/fast/repaint/button-spurious-layout-hint-expected.checksum: Added.
        * platform/mac/fast/repaint/button-spurious-layout-hint-expected.png: Added.
        * platform/mac/fast/repaint/button-spurious-layout-hint-expected.txt: Added.

2008-09-04  Dan Bernstein  <mitz@apple.com>

        - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
          and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
          require a different approach

        * css1/color_and_background/invalid_color-expected.txt: Removed.
        * css1/color_and_background/invalid_color.html: Removed.

2008-09-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test for https://bugs.webkit.org/show_bug.cgi?id=19717
          <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist

        * fast/block/positioning/move-with-auto-width.html: Added.
        * platform/mac/fast/block/positioning/move-with-auto-width-expected.checksum: Added.
        * platform/mac/fast/block/positioning/move-with-auto-width-expected.png: Added.
        * platform/mac/fast/block/positioning/move-with-auto-width-expected.txt: Added.

2008-09-04  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Cameron Zwarich.
        
        Test for <rdar://problem/6193925> REGRESSION: Crash occurs at
        KJS::Machine::privateExecute() when attempting to load my Mobile Gallery
        (http://www.me.com/gallery/#home)
        
        also
        
        https://bugs.webkit.org/show_bug.cgi?id=20633 Crash in privateExecute
        @ cs.byu.edu

        * fast/js/pic/dictionary-prototype-expected.txt: Added.
        * fast/js/pic/dictionary-prototype.html: Added.

2008-09-03  Mark Rowe  <mrowe@apple.com>

        Update layout test results after recent canvas changes.

        * fast/canvas/canvas-invalid-fillstyle-expected.txt:
        * fast/canvas/canvas-invalid-strokestyle-expected.txt:
        * fast/canvas/drawImage-with-negative-source-destination-expected.txt:
        * fast/dom/Window/window-properties-expected.txt:

2008-09-03  Dean Jackson  <dino@apple.com>

        Reviewed by Dave Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=20594
        Tests the WebKitCSSKeyframeRule and WebKitCSSKeyframesRule
        interfaces.

        * css3/keyframes-rule.html: Added.

2008-09-03  David Hyatt  <hyatt@apple.com>

        Fix for bug 18203.

        Reviewed by Darin (ages ago).

        * fast/block/float/clamped-right-float.html: Added.
        * platform/mac/fast/block/float/clamped-right-float-expected.checksum: Added.
        * platform/mac/fast/block/float/clamped-right-float-expected.png: Added.
        * platform/mac/fast/block/float/clamped-right-float-expected.txt: Added.

2008-09-02  David Hyatt  <hyatt@apple.com>

        Add support for the canvas text APIs.

        Reviewed by olliej

        * fast/canvas/canvas-text-alignment.html: Added.
        * fast/canvas/canvas-text-baseline.html: Added.
        * platform/mac/fast/canvas/canvas-text-alignment-expected.checksum: Added.
        * platform/mac/fast/canvas/canvas-text-alignment-expected.png: Added.
        * platform/mac/fast/canvas/canvas-text-alignment-expected.txt: Added.
        * platform/mac/fast/canvas/canvas-text-baseline-expected.checksum: Added.
        * platform/mac/fast/canvas/canvas-text-baseline-expected.png: Added.
        * platform/mac/fast/canvas/canvas-text-baseline-expected.txt: Added.

2008-09-03  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Test that display:none works on a search field's cancel button.

        * fast/forms/search-display-none-cancel-button.html: Added.
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.checksum: Added.
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.png: Added.
        * platform/mac/fast/forms/search-display-none-cancel-button-expected.txt: Added.

2008-09-02  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Geoff Garen.

        Test for <https://bugs.webkit.org/show_bug.cgi?id=16913>
        Misplaced elements should not close DL lists.

        * fast/invalid/test-case-tr-th-td-should-not-close-dl-list-expected.txt: Added.
        * fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html: Added.
        * platform/mac/fast/invalid/missing-dl-end-tag-expected.checksum:
        * platform/mac/fast/invalid/missing-dl-end-tag-expected.png:
        * platform/mac/fast/invalid/missing-dl-end-tag-expected.txt:
        * platform/mac/fast/invalid/missing-dt-end-tag-expected.checksum:
        * platform/mac/fast/invalid/missing-dt-end-tag-expected.png:
        * platform/mac/fast/invalid/missing-dt-end-tag-expected.txt:

2008-09-02  Glenn Wilson  <wilsong@gmail.com>

        Reviewed by Darin Adler.

        Test for <https://bugs.webkit.org/show_bug.cgi?id=15360>
        Bug 15360: color:#{predefined colorName} is treated as colorName in Safari

        Added new test to verify that CSS "color" attributes with '#'-preceeded predefined color names
        are not rendered in those colors.

        * css1/color_and_background/invalid_color.html: Added.
        * css1/color_and_background/invalid_color-expected.txt: Added.

2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=19964
        Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image

        * css3/khtml-background-size-0x0-bmp-expected.txt: Added.
        * css3/khtml-background-size-0x0-bmp.html: Added.
        * css3/support/0x0.bmp: Added.

2008-09-02  Glenn Wilson  <wilsong@gmail.com>

        Reviewed by Eric Seidel.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=20397
        Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash

        Added new tests to check whether an orphaned unit identifier in particular
        CSS attributes will crash the browser.

        * fast/css/orphaned_units_crash-expected.txt: Added.
        * fast/css/orphaned_units_crash.html: Added.

2008-09-02  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Darin Adler.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=20474
        Tests behaviour on invalid fillStyle() or strokeStyle() in canvas.

        * fast/canvas/canvas-invalid-fillstyle-expected.txt: Added.
        * fast/canvas/canvas-invalid-fillstyle.html: Added.
        * fast/canvas/canvas-invalid-fillstyle.js: Added.
        * fast/canvas/canvas-invalid-strokestyle-expected.txt: Added.
        * fast/canvas/canvas-invalid-strokestyle.html: Added.
        * fast/canvas/canvas-invalid-strokestyle.js: Added.

2008-09-02  Dirk Schulze  <vbs85@gmx.de>

        Reviewed by Darin Adler.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=20468
        Test negative source and destination rect in drawImage()

        * fast/canvas/drawImage-with-invalid-args-expected.txt:
        * fast/canvas/drawImage-with-invalid-args.html:
        * fast/canvas/drawImage-with-negative-source-destination-expected.txt: Added.
        * fast/canvas/drawImage-with-negative-source-destination.html: Added.
        * fast/canvas/drawImage-with-negative-source-destination.js: Added.

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

        - update expected results now that log() et al. report line numbers

        * fast/dom/Window/console-functions-expected.txt:

2008-09-02  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Oliver Hunt.

        Tests for bug 17936: "ASSERTION FAILED: false" (GetterSetterImp::toObject is called)
        <https://bugs.webkit.org/show_bug.cgi?id=17936>

        This bug was fixed by the rewrite of much of the code handling getters
        and setters in r36016, the revision that introduced the polymorphic
        inline cache.

        * fast/js/delete-getters-setters-expected.txt: Added.
        * fast/js/delete-getters-setters.html: Added.
        * fast/js/resources/delete-getters-setters.js: Added.

2008-08-29  Dean Jackson  <dino@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=20571
        Add a bunch of tests for WebKitTransitionEndEvents.

        * transitions/end-event-helpers.js: Added.
        * transitions/interrupted-all-transition-expected.txt:
        * transitions/interrupted-all-transition.html:
        * transitions/opacity-transition-zindex-expected.txt:
        * transitions/transition-end-event-all-properties-expected.txt: Added.
        * transitions/transition-end-event-all-properties.html: Added.
        * transitions/transition-end-event-attributes-expected.txt: Added.
        * transitions/transition-end-event-attributes.html: Added.
        * transitions/transition-end-event-container-expected.txt: Added.
        * transitions/transition-end-event-container.html: Added.
        * transitions/transition-end-event-left-expected.txt: Added.
        * transitions/transition-end-event-left.html: Added.
        * transitions/transition-end-event-multiple-01-expected.txt: Added.
        * transitions/transition-end-event-multiple-01.html: Added.
        * transitions/transition-end-event-multiple-02-expected.txt: Added.
        * transitions/transition-end-event-multiple-02.html: Added.
        * transitions/transition-end-event-multiple-03-expected.txt: Added.
        * transitions/transition-end-event-multiple-03.html: Added.
        * transitions/transition-end-event-multiple-04-expected.txt: Added.
        * transitions/transition-end-event-multiple-04.html: Added.
        * transitions/transition-end-event-nested-expected.txt: Added.
        * transitions/transition-end-event-nested.html: Added.
        * transitions/transition-end-event-transform-expected.txt: Added.
        * transitions/transition-end-event-transform.html: Added.
        * transitions/transition-end-event-window-expected.txt: Added.
        * transitions/transition-end-event-window.html: Added.

2008-09-01  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        First cut at inline caching for access to vanilla JavaScript properties.
        
        Tests for things I broke along the way.
        
        * fast/dom/getter-on-window-object2-expected.txt:
        * fast/js/pic: Added.
        * fast/js/pic/cached-deleted-properties-expected.txt: Added.
        * fast/js/pic/cached-deleted-properties.html: Added.
        * fast/js/pic/cached-getter-dictionary-and-proto-expected.txt: Added.
        * fast/js/pic/cached-getter-dictionary-and-proto.html: Added.
        * fast/js/pic/cached-getter-setter-expected.txt: Added.
        * fast/js/pic/cached-getter-setter.html: Added.
        * fast/js/pic/cached-prototype-setter-expected.txt: Added.
        * fast/js/pic/cached-prototype-setter.html: Added.
        * fast/js/pic/cached-single-entry-transition-expected.txt: Added.
        * fast/js/pic/cached-single-entry-transition.html: Added.
        * fast/js/pic/get-empty-string-expected.txt: Added.
        * fast/js/pic/get-empty-string.html: Added.
        * fast/js/pic/get-set-proxy-object-expected.txt: Added.
        * fast/js/pic/get-set-proxy-object.html: Added.
        * fast/js/pic/rehash-poisons-structure-expected.txt: Added.
        * fast/js/pic/rehash-poisons-structure.html: Added.

2008-08-31  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Tests for bug 20577: REGRESSION (r35006): Gmail is broken
        <https://bugs.webkit.org/show_bug.cgi?id=20577>

        * fast/js/resources/string-substr.js: Added.
        * fast/js/string-substr-expected.txt: Added.
        * fast/js/string-substr.html: Added.

2008-08-30  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - updated incorrect results that reflected a bug in the RegExp object

        * fast/js/regexp-caching-expected.txt: Updated results to
        correctly show that $1 through $9, lastMatch, lastParen,
        leftContext, and rightContext are left alone both when
        a program changes the value of RegExp.input and when it
        performs an unsuccessful match. The new results match
        Gecko behavior (I tested both Firefox 2 and 3).

2008-08-29  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
        <rdar://problem/6169301>
        
        Return the size of the movie data instead of 1000. The value is used for the progress
        event "total" attribute.

       * media/progress-event-total-expected.txt: Added.
       * media/progress-event-total.html: Added.

2008-08-28  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

        Update test results now that test actually works.

        * fast/js/kde/exception_propagation-expected.txt:
        * fast/js/kde/resources/exception_propagation.js:

2008-08-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        Various WebKitCSSTransformValue-related fixes
        https://bugs.webkit.org/show_bug.cgi?id=20562

        * css3/transform-value-types.html: Added.

2008-08-28  Simon Fraser  <simon.fraser@apple.com>

        Fix window properties now that CSSRule includes
        keyframe-related constants.
        Also add window.console.count [function]
        https://bugs.webkit.org/show_bug.cgi?id=20552

        * fast/dom/Window/window-properties-expected.txt:

2008-08-28  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel

        Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
        https://bugs.webkit.org/show_bug.cgi?id=20552

        * animations/animation-css-rule-types-expected.txt: Added.
        * animations/animation-css-rule-types.html: Added.
        * animations/resources/TEMPLATE.html: Added.
        * animations/resources/animation-css-rule-types.js: Added.

2008-08-27  Robert Kroeger  <rjkroege@liqui.org>

        Reviewed by Eric Seidel.

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

        * fast/events/mouseup-from-button2-expected.txt: Added.
        * fast/events/mouseup-from-button2.html: Added.

2008-08-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel

        Linear timing functions should have control points 0, 0, 1, 1.
        https://bugs.webkit.org/show_bug.cgi?id=20535

        * transitions/inherit-other-props-expected.txt:
        * transitions/inherit-other-props.html:

2008-08-26  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        * http/tests/security/object-literals-expected.txt: Added.
        * http/tests/security/object-literals.html: Added.
        * http/tests/security/resources/object-literals-cross-origin.html: Added.
        * http/tests/security/resources/object-literals-same-origin.html: Added.

2008-08-26  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Geoff and Cameron.

        <rdar://problem/6174603> Hitting assertion in Register::codeBlock when
        loading facebook (20516).

        - This was a result of my line numbers change.  After a host function is
        called the stack does not get reset correctly.
        - Oddly this also appears to be a slight speedup on SunSpider.

        * fast/js/resources/stack-unwinding.js: Added.
        * fast/js/stack-unwinding-expected.txt: Added.
        * fast/js/stack-unwinding.html: Added.

2008-08-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        Tests to make sure inaccessible plugins do not appear

        * accessibility/plugin-expected.txt: Added.
        * accessibility/plugin.html: Added.
        * accessibility/resources/test.swf: Added.

2008-08-26  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Test for <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns

        * accessibility/table-notbody.html: Added.

2008-08-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

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

        * http/tests/security/canvas-remote-read-redirect-to-remote-image-expected.txt: Added.
        * http/tests/security/canvas-remote-read-redirect-to-remote-image.html: Added.
        * http/tests/security/canvas-remote-read-svg-image-expected.txt:
        * http/tests/security/canvas-remote-read-svg-image.html: Fix incorrect log message.
        * http/tests/security/resources/redir.php: Added.

2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Test case for Bug 20247: setAttributeNode() does not work when attribute name
        has a capital letter in it
        https://bugs.webkit.org/show_bug.cgi?id=20247

        <rdar://problem/6118218>

        Most of this test case was done by Eric Roman <minatoar@gmail.com>, the rest by ap and was
        tweaked by me.

        * fast/dom/Element/getAttribute-check-case-sensitivity-expected.txt: Added.
        * fast/dom/Element/getAttribute-check-case-sensitivity.html: Added.
        * fast/dom/Element/resources/getAttribute-check-case-sensitivity.js: Added.

2008-08-25  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver Hunt.

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

        * http/tests/security/canvas-remote-read-svg-image-expected.txt: Added.
        * http/tests/security/canvas-remote-read-svg-image.html: Added.
        * http/tests/security/resources/image-wrapper.svg: Added.

2008-08-25  Dean Jackson  <dino@apple.com>

        Reviewed by Dave Hyatt.

        Tests for 'inherit' keyword in transition property.
        https://bugs.webkit.org/show_bug.cgi?id=20513

        * transitions/inherit-expected.txt: Added.
        * transitions/inherit.html: Added.
        * transitions/inherit-other-props-expected.txt: Added.
        * transitions/inherit-other-props.html: Added.

2008-08-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold

        * fast/css/font-property-priority-expected.txt: Added.
        * fast/css/font-property-priority.html: Added.

2008-08-24  Rob Buis  <buis@kde.org>

        Reviewed by Sam Weinig.

        Test for:
        https://bugs.webkit.org/show_bug.cgi?id=20324
        A change in SVG Glyph wont show up

        * svg/custom/glyph-setting-d-attribute-expected.checksum: Added.
        * svg/custom/glyph-setting-d-attribute-expected.png: Added.
        * svg/custom/glyph-setting-d-attribute-expected.txt: Added.
        * svg/custom/glyph-setting-d-attribute.svg: Added.

2008-08-23  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test and updated results for <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline

        * fast/table/vertical-align-baseline.html: Added.
        * platform/mac/fast/table/form-with-table-style-expected.checksum:
        * platform/mac/fast/table/form-with-table-style-expected.png:
        * platform/mac/fast/table/form-with-table-style-expected.txt:
        * platform/mac/fast/table/vertical-align-baseline-expected.checksum: Added.
        * platform/mac/fast/table/vertical-align-baseline-expected.png: Added.
        * platform/mac/fast/table/vertical-align-baseline-expected.txt: Added.
        * platform/mac/tables/mozilla/bugs/bug3037-1-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.checksum:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:

2008-08-22  Timothy Hatcher  <timothy@apple.com>

        Test for the tests the parsing and retrieval of the overflow,
        overflow-x and overflow-y properties

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

        Reviewed by Dan Bernstein.

        * fast/css/overflow-property-expected.txt: Added.
        * fast/css/overflow-property.html: Added.

2008-08-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler

        css3/transform-computed-style-001.html is better tested
        by fast/css/getComputedStyle-transform.html, so removed.
        https://bugs.webkit.org/show_bug.cgi?id=20477

        * css3/transform-computed-style-001-expected.txt: Removed.
        * css3/transform-computed-style-001.fhtml: Removed.

2008-08-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Jon Honeycutt and Alexey Proskuryakov.

        - test for <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics

        * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.checksum: Added.
        * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.png: Added.
        * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment-expected.txt: Added.
        * platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html: Added.

2008-08-21  Maxime Britto  <britto@apple.com>

        Reviewed by Kevin McCullough.

        rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
        https://bugs.webkit.org/show_bug.cgi?id=20451

        This test can be run automatically or manually as well.

        * fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div-expected.txt: Added.
        * fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html: Added.
        * fast/events/resources/big-page-with-overflow-hidden.html: Added.

2008-08-21  Chris Marrin  <cmarrin@apple.com>

        Allow 0 (without units) for Time eg. duration
        Fix for https://bugs.webkit.org/show_bug.cgi?id=20467

        Reviewed by Dave Hyatt.

        * css1/units/zero-duration-without-units-expected.txt: Added.
        * css1/units/zero-duration-without-units.html: Added.

2008-08-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        getComputedStyle() for webkitTransform should return a transform
        that does not have the transform origin baked into it.
        https://bugs.webkit.org/show_bug.cgi?id=20464

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

2008-08-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin

        Tests for Tables through accessibility. Testing covers:
          Attributes of tables
          When cells have various cell spans
          Retrieving cells
          Detecting tables
          When tables have multiple sections
          When tables use the rules attribute

        Tables only work on SnowLeopard, so a snow leopard folder was created

        * accessibility/table-attributes-expected.txt: Added.
        * accessibility/table-attributes.html: Added.
        * accessibility/table-cell-spans-expected.txt: Added.
        * accessibility/table-cell-spans.html: Added.
        * accessibility/table-cells-expected.txt: Added.
        * accessibility/table-cells.html: Added.
        * accessibility/table-detection-expected.txt: Added.
        * accessibility/table-detection.html: Added.
        * accessibility/table-sections-expected.txt: Added.
        * accessibility/table-sections.html: Added.
        * accessibility/table-with-rules-expected.txt: Added.
        * accessibility/table-with-rules.html: Added.
        * platform/mac-snowleopard: Added.
        * platform/mac-snowleopard/accessibility: Added.
        * platform/mac-snowleopard/accessibility/table-attributes-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-cell-spans-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-cells-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-detection-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-sections-expected.txt: Added.
        * platform/mac-snowleopard/accessibility/table-with-rules-expected.txt: Added.

2008-08-19  Alexey Proskuryakov  <ap@webkit.org>

        https://bugs.webkit.org/show_bug.cgi?id=19762
        Crash in svg/webarchive/svg-cursor-subresources.svg

        Disabling the test while the crash is being investigated.

        * svg/webarchive/svg-cursor-subresources.svg: Removed.
        * svg/webarchive/svg-cursor-subresources.svg-disabled: Copied from LayoutTests/svg/webarchive/svg-cursor-subresources.svg.

2008-08-18  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=19347
        <rdar://problem/5977562> Input methods do not work after switching to a password field
        and back.

        * platform/mac/editing/input/secure-input-expected.txt: Added.
        * platform/mac/editing/input/secure-input.html: Added.

2008-08-12  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - added a test since I had to rewrite the == and === operators

        * fast/js/equality-expected.txt: Added.
        * fast/js/equality.html: Added.
        * fast/js/resources/equality.js: Added.

2008-08-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test for <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received

        * fast/replaced/max-width-percent.html: Added.
        * platform/mac/fast/replaced/max-width-percent-expected.checksum: Added.
        * platform/mac/fast/replaced/max-width-percent-expected.png: Added.
        * platform/mac/fast/replaced/max-width-percent-expected.txt: Added.

2008-08-18  Simon Fraser  <simon.fraser@apple.com>

        Make transition_shorthand_parsing.html a text-only test.

        * fast/css/transition_shorthand_parsing-expected.txt: Added.
        * fast/css/transition_shorthand_parsing.html:
        * platform/mac/fast/css/transition_shorthand_parsing-expected.txt: Removed.

2008-08-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt
        
        Testcase for crash when parsing transition properties:
        https://bugs.webkit.org/show_bug.cgi?id=20408

        * fast/css/transition_shorthand_parsing.html: Added.
        * platform/mac/fast/css/transition_shorthand_parsing-expected.txt: Added.

2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej.

        Change the limit in the deep recursion test to match changes in
        the counting of constants.

        * fast/js/deep-recursion-test.html:

2008-08-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Cameron Zwarich.

        <rdar://problem/6150322> In Gmail, a crash occurs at KJS::Machine::privateExecute() when applying list styling to text after a quote had been removed
        <https://bugs.webkit.org/show_bug.cgi?id=20386>

        Testcases for determining scope chain depth in a function with out a full scope chain.

        * fast/js/exception-try-finally-scope-error-expected.txt: Added.
        * fast/js/exception-try-finally-scope-error.html: Added.
        * fast/js/resources/exception-try-finally-scope-error.js: Added.

2008-08-15  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Tim Hatcher.

        - update results for console.dir

        * fast/dom/Window/window-properties-expected.txt:

2008-08-14  Simon Fraser  <simon.fraser@apple.com>

        Fix testcase and add pixel results for testcase in
        https://bugs.webkit.org/show_bug.cgi?id=20367

        * platform/mac/fast/css/font-face-in-media-rule-expected.checksum: Added.
        * platform/mac/fast/css/font-face-in-media-rule-expected.png: Added.
        * platform/mac/fast/css/font-face-in-media-rule-expected.txt:

2008-08-13  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel

        Fix @font-face inside @media rule crash.
        https://bugs.webkit.org/show_bug.cgi?id=20367
        
        * fast/css/font-face-in-media-rule.html: Added.
        * platform/mac/fast/css/font-face-in-media-rule-expected.txt: Added.

2008-08-13  Eric Seidel  <eric@webkit.org>

        Reviewed by Sam.

        Match HTML5 spec by throwing INVALID_STATE_ERR when
        createPattern is called and the HTMLImageElement is not
        yet done loading the image (!isComplete)
        https://bugs.webkit.org/show_bug.cgi?id=20351

        * http/tests/misc/canvas-pattern-from-incremental-image.html: Added.
        * http/tests/misc/resources/image-slow.pl: Copied from LayoutTests/http/tests/misc/resources/script-slow1.pl.

2008-08-13  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/6137931>
        https://bugs.webkit.org/show_bug.cgi?id=20360
        Add test case for parameters on a <source> element 'type' attribute.

        * media/video-source-type-params-expected.txt: Added.
        * media/video-source-type-params.html: Added.

2008-08-13  Alexey Proskuryakov  <ap@webkit.org>

        Removing http/tests/xmlhttprequest/readystatechange.html from Windows skipped list -
        this test hasn't been failing locally for a long time.

        * platform/win/Skipped:

2008-08-13  Simon Hausmann  <hausmann@webkit.org>

        Reviewed by Holger.

        Adjusted the length-list-parser layout test to compensate for the subtle difference of
        dropping a sign for a "negative zero" as a result of the QString::vsprintf use.

        * platform/qt/svg/dom/length-list-parser-expected.txt: Added.

2008-08-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        * platform/mac/Skipped: Add fast/dom/cssTarget-crash.html to the skipped list.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Not reviewed.

        Revert the last SVGLineElement commit. It's not needed, the first run on buildbot showed them as failures
        the next build doesn't complain anymore (this was before adjusting the offsets.) No idea what's going on,
        but if it's fixed I'm happy.

        While I'm at it, regenerate struct-image-02-b.svg (invisible differences) to have a clean baseline.
        All SVG pixel test results are accurate on Leopard now.

        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.png:
        * svg/dynamic-updates/resources/SVGLineElement-dom-x1-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x1-prop.js:

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Not reviewed. The last SVGLineElement* fix attempt, fixed 4/8 failing tests.
        Trying two variations in two tests to find out the right offset to make the other four tests work on Tiger.

        * svg/dynamic-updates/resources/SVGLineElement-dom-x1-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x1-prop.js:

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Eric.

        Add new dynamic-update layout tests covering SVGRectElement.

        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-height-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-height-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-width-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-width-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-x-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-x-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-y-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-dom-y-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-height-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-height-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-width-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-width-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-x-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-x-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-y-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRectElement-svgdom-y-prop-expected.png: Added.
        * svg/dynamic-updates/SVGRectElement-dom-height-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-dom-height-attr.html: Added.
        * svg/dynamic-updates/SVGRectElement-dom-width-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-dom-width-attr.html: Added.
        * svg/dynamic-updates/SVGRectElement-dom-x-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-dom-x-attr.html: Added.
        * svg/dynamic-updates/SVGRectElement-dom-y-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-dom-y-attr.html: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-height-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-height-prop.html: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-width-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-width-prop.html: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-x-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-x-prop.html: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-y-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRectElement-svgdom-y-prop.html: Added.
        * svg/dynamic-updates/resources/SVGRectElement-dom-height-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-dom-width-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-dom-x-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-dom-y-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-svgdom-height-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-svgdom-width-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-svgdom-x-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRectElement-svgdom-y-prop.js: Added.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Not reviewed. Trying to modify mouseevent target location, to work around known CG/Tiger hit test problem.

        * svg/dynamic-updates/resources/SVGLineElement-dom-x1-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-x2-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-y1-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-y2-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x1-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x2-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-y1-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-y2-prop.js:

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Sam.

        Forgot to include these in my last commit.

        * svg/dynamic-updates/resources/SVGAElement-dom-href-attr.js:
        * svg/dynamic-updates/resources/SVGAElement-dom-target-attr.js:
        * svg/dynamic-updates/resources/SVGAElement-svgdom-href-prop.js:
        * svg/dynamic-updates/resources/SVGAElement-svgdom-target-prop.js:

2008-08-12  Mihnea Ovidenie  <mihnea@adobe.com>

        Test for https://bugs.webkit.org/show_bug.cgi?id=19891
        Broken HTML object elements cause de-reference of pointer to freed memory.

        Reviewed by Dave Hyatt and Alexey Proskuryakov.

        * http/tests/misc/object-image-error-with-onload-expected.txt: Added.
        * http/tests/misc/object-image-error-with-onload.html: Added.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Eric.

        Fix typo in most files: "mesage" -> "message".
        Remove unused code in SVGTestCase.js

        * svg/dynamic-updates/resources/SVGCircleElement-dom-cx-attr.js:
        * svg/dynamic-updates/resources/SVGCircleElement-dom-cy-attr.js:
        * svg/dynamic-updates/resources/SVGCircleElement-dom-r-attr.js:
        * svg/dynamic-updates/resources/SVGCircleElement-svgdom-cx-prop.js:
        * svg/dynamic-updates/resources/SVGCircleElement-svgdom-cy-prop.js:
        * svg/dynamic-updates/resources/SVGCircleElement-svgdom-r-prop.js:
        * svg/dynamic-updates/resources/SVGClipPathElement-dom-clipPathUnits-attr.js:
        * svg/dynamic-updates/resources/SVGClipPathElement-svgdom-clipPathUnits-prop.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-dom-cx-attr.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-dom-cy-attr.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-dom-rx-attr.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-dom-ry-attr.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-svgdom-cx-prop.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-svgdom-cy-prop.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-svgdom-rx-prop.js:
        * svg/dynamic-updates/resources/SVGEllipseElement-svgdom-ry-prop.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-dom-height-attr.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-dom-width-attr.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-dom-x-attr.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-dom-y-attr.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-height-prop.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-width-prop.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-x-prop.js:
        * svg/dynamic-updates/resources/SVGForeignObjectElement-svgdom-y-prop.js:
        * svg/dynamic-updates/resources/SVGImageElement-dom-height-attr.js:
        * svg/dynamic-updates/resources/SVGImageElement-dom-preserveAspectRatio-attr.js:
        * svg/dynamic-updates/resources/SVGImageElement-dom-width-attr.js:
        * svg/dynamic-updates/resources/SVGImageElement-dom-x-attr.js:
        * svg/dynamic-updates/resources/SVGImageElement-dom-y-attr.js:
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-height-prop.js:
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-preserveAspectRatio-prop.js:
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-width-prop.js:
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-x-prop.js:
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-y-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-x1-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-x2-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-y1-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-dom-y2-attr.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x1-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x2-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-y1-prop.js:
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-y2-prop.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-dom-gradientTransform-attr.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-dom-gradientUnits-attr.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-dom-x1-attr.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-dom-x2-attr.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-dom-y1-attr.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-dom-y2-attr.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-gradientTransform-prop.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-gradientUnits-prop.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-x1-prop.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-x2-prop.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-y1-prop.js:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-y2-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-height-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-patternContentUnits-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-patternTransform-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-patternUnits-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-width-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-x-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-dom-y-attr.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-height-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-patternContentUnits-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-patternTransform-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-patternUnits-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-width-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-x-prop.js:
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-y-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-cx-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-cy-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-fx-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-fy-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-gradientTransform-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-gradientUnits-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-r-attr.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-cx-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-cy-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-fx-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-fy-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-gradientTransform-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-gradientUnits-prop.js:
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-r-prop.js:
        * svg/dynamic-updates/resources/SVGTestCase.js:

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Eric.

        Add new dynamic-update layout tests covering SVGPatternElement.

        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-height-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-height-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-width-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-width-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-x-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-x-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-y-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-dom-y-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-height-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-height-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-width-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-width-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-x-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-x-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-y-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGPatternElement-svgdom-y-prop-expected.png: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-height-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-height-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-width-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-width-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-x-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-x-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-y-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-dom-y-attr.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-height-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-height-prop.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-width-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-width-prop.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-x-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-x-prop.html: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-y-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGPatternElement-svgdom-y-prop.html: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-height-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-patternContentUnits-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-patternTransform-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-patternUnits-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-width-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-x-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-dom-y-attr.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-height-prop.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-patternContentUnits-prop.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-patternTransform-prop.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-patternUnits-prop.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-width-prop.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-x-prop.js: Added.
        * svg/dynamic-updates/resources/SVGPatternElement-svgdom-y-prop.js: Added.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Dave.

        Fix mask regressions.

        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/mac/svg/batik/masking/maskRegions-expected.checksum:
        * platform/mac/svg/batik/masking/maskRegions-expected.png:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.checksum:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.png:

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Sam.

        Speculative fix for hit testing problems in dynamic-updates/SVGLineElement* on Tiger.
        Supposed to fix the hanging tests on the buildbot.

        * svg/dynamic-updates/resources/SVGTestCase.js:

2008-08-12  Sam Weinig  <sam@webkit.org>

        * fast/dom/Window/window-properties-expected.txt: Update results.

2008-08-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for https://bugs.webkit.org/show_bug.cgi?id=19348
          <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works

        * fast/frames/frameset-style-recalc.html: Added.
        * platform/mac/fast/frames/frameset-style-recalc-expected.checksum: Added.
        * platform/mac/fast/frames/frameset-style-recalc-expected.png: Added.
        * platform/mac/fast/frames/frameset-style-recalc-expected.txt: Added.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Anders.

        Add new dynamic-update layout tests covering SVGCursorElement.

        Scale svg/webarchive/resources/green-checker.png to a value < 128x128,
        as this is the maximum hardcoded cursor size (fixes manual testing of svg-cursor-subresources.svg).

        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.png: Added.
        * svg/dynamic-updates/SVGCursorElement-dom-x-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGCursorElement-dom-x-attr.html: Added.
        * svg/dynamic-updates/SVGCursorElement-dom-y-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGCursorElement-dom-y-attr.html: Added.
        * svg/dynamic-updates/SVGCursorElement-svgdom-x-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGCursorElement-svgdom-x-prop.html: Added.
        * svg/dynamic-updates/SVGCursorElement-svgdom-y-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGCursorElement-svgdom-y-prop.html: Added.
        * svg/dynamic-updates/resources/SVGCursorElement-dom-x-attr.js: Added.
        * svg/dynamic-updates/resources/SVGCursorElement-dom-y-attr.js: Added.
        * svg/dynamic-updates/resources/SVGCursorElement-svgdom-x-prop.js: Added.
        * svg/dynamic-updates/resources/SVGCursorElement-svgdom-y-prop.js: Added.
        * svg/webarchive/resources/green-checker.png:
        * svg/webarchive/svg-cursor-subresources-expected.webarchive:

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Oliver.

        Add new dynamic-update layout tests covering SVGMaskElement.
        Move pixel tests results of SVGMarkerElement* to the right positions, while I'm at it.

        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum: Copied from svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png: Copied from svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum: Copied from svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png: Copied from svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.png: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum: Removed.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png: Removed.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum: Removed.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png: Removed.
        * svg/dynamic-updates/SVGMaskElement-dom-height-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-height-attr.html: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr.html: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr.html: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-width-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-width-attr.html: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-x-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-x-attr.html: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-y-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-dom-y-attr.html: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-height-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-height-prop.html: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop.html: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop.html: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-width-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-width-prop.html: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-x-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-x-prop.html: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-y-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMaskElement-svgdom-y-prop.html: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-dom-height-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-dom-maskContentUnits-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-dom-maskUnits-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-dom-width-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-dom-x-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-dom-y-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-svgdom-height-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-svgdom-maskContentUnits-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-svgdom-maskUnits-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-svgdom-width-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-svgdom-x-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMaskElement-svgdom-y-prop.js: Added.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Add new dynamic-update layout tests covering SVGMarkerElement.
 
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.png: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-orient-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-refX-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-refY-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.checksum: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.png: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.checksum: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.png: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call-expected.txt: Added.
        * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-dom-markerHeight-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-dom-markerUnits-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-dom-markerWidth-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-dom-orient-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-dom-refX-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-dom-refY-attr.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerHeight-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerUnits-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-markerWidth-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientAngle-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-orientType-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refX-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-refY-prop.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAngle-call.js: Added.
        * svg/dynamic-updates/resources/SVGMarkerElement-svgdom-setOrientToAuto-call.js: Added.

2008-08-12  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Oliver.

        Add new dynamic-update layout tests covering SVGImageElement.
        Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes.

        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png: Added.
        * svg/dynamic-updates/SVGImageElement-dom-height-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-dom-height-attr.html: Added.
        * svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html: Added.
        * svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-dom-width-attr.html: Added.
        * svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-dom-x-attr.html: Added.
        * svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-dom-y-attr.html: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html: Added.
        * svg/dynamic-updates/resources/SVGImageElement-dom-height-attr.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-dom-preserveAspectRatio-attr.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-dom-width-attr.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-dom-x-attr.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-dom-y-attr.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-height-prop.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-preserveAspectRatio-prop.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-width-prop.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-x-prop.js: Added.
        * svg/dynamic-updates/resources/SVGImageElement-svgdom-y-prop.js: Added.

2008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Rubber stamped by Oliver.

        Add a bunch of new dynamic-updates tests covering SVGLineElement & SVGRadialGradientElement.
        No functional changes needed, all work out of the box.

        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-x1-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-x1-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-x2-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-x2-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-y1-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-y1-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-y2-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-dom-y2-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-x1-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-x1-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-x2-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-x2-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-y1-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-y1-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-y2-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGLineElement-svgdom-y2-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop-expected.checksum: Added.
        * platform/mac/svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop-expected.png: Added.
        * svg/dynamic-updates/SVGLineElement-dom-x1-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-dom-x1-attr.html: Added.
        * svg/dynamic-updates/SVGLineElement-dom-x2-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-dom-x2-attr.html: Added.
        * svg/dynamic-updates/SVGLineElement-dom-y1-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-dom-y1-attr.html: Added.
        * svg/dynamic-updates/SVGLineElement-dom-y2-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-dom-y2-attr.html: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-x1-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-x1-prop.html: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-x2-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-x2-prop.html: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-y1-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-y1-prop.html: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-y2-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGLineElement-svgdom-y2-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop.html: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop-expected.txt: Added.
        * svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop.html: Added.
        * svg/dynamic-updates/resources/SVGLineElement-dom-x1-attr.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-dom-x2-attr.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-dom-y1-attr.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-dom-y2-attr.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x1-prop.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-x2-prop.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-y1-prop.js: Added.
        * svg/dynamic-updates/resources/SVGLineElement-svgdom-y2-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-cx-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-cy-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-fx-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-fy-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-gradientTransform-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-gradientUnits-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-dom-r-attr.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-cx-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-cy-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-fx-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-fy-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-gradientTransform-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-gradientUnits-prop.js: Added.
        * svg/dynamic-updates/resources/SVGRadialGradientElement-svgdom-r-prop.js: Added.

2008-08-11  Nikolas Zimmermann  <zimmermann@kde.org>

        Reviewed by Antti.

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

        JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties
        failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect)

        * platform/mac/svg/custom/immutable-properties-expected.checksum: Added.
        * platform/mac/svg/custom/immutable-properties-expected.png: Added.        
        * platform/mac/svg/custom/svg-modify-currentTranslate-expected.checksum: Added.
        * platform/mac/svg/custom/svg-modify-currentTranslate-expected.png: Added.
        * platform/mac/svg/custom/tearoffs-with-tearoffs-expected.checksum: Added.
        * platform/mac/svg/custom/tearoffs-with-tearoffs-expected.png: Added.
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop-expected.checksum:
        * platform/mac/svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop-expected.png:
        * svg/custom/immutable-properties-expected.txt: Added.
        * svg/custom/immutable-properties.html: Added.
        * svg/custom/resources/immutable-properties.js: Added.
        * svg/custom/resources/svg-modify-currentTranslate.js: Added.
        * svg/custom/resources/tearoffs-with-tearoffs.js: Added.
        * svg/custom/svg-modify-currentTranslate-expected.txt: Added.
        * svg/custom/svg-modify-currentTranslate.html: Added.
        * svg/custom/tearoffs-with-tearoffs-expected.txt: Added.
        * svg/custom/tearoffs-with-tearoffs.html: Added.
        * svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop-expected.txt:
        * svg/dynamic-updates/resources/SVGLinearGradientElement-svgdom-gradientTransform-prop.js:

2008-08-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

        https://bugs.webkit.org/show_bug.cgi?id=20328
        Add testcase for interrupted 'all' transition with more than
        one property changing.
        
        * transitions/interrupted-all-transition-expected.txt: Added.
        * transitions/interrupted-all-transition.html: Added.

2008-08-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - test for <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc

        * fast/css/counters/invalidate-cached-counter-node.html: Added.
        * platform/mac/fast/css/counters/invalidate-cached-counter-node-expected.checksum: Added.
        * platform/mac/fast/css/counters/invalidate-cached-counter-node-expected.png: Added.
        * platform/mac/fast/css/counters/invalidate-cached-counter-node-expected.txt: Added.

== Rolled over to ChangeLog-2008-08-10 ==
