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 ==
