2010-05-18  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Pavel Feldman.

        Test expectations changed due to new stackTrace field on timeline
        records.
        https://bugs.webkit.org/show_bug.cgi?id=37502

        * inspector/timeline-test.js:
        * platform/chromium-win/inspector/timeline-event-dispatch-expected.txt:
        * platform/chromium-win/inspector/timeline-mark-timeline-expected.txt:
        * platform/chromium-win/inspector/timeline-network-resource-expected.txt:
        * platform/chromium-win/inspector/timeline-paint-expected.txt:
        * platform/chromium-win/inspector/timeline-parse-html-expected.txt:

2010-05-24  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Add a temporary script for testing the html5 parser until it can run more layout tests
        https://bugs.webkit.org/show_bug.cgi?id=39611

        * html5lib/webkit-runner-expected-html5.txt: Added.

2010-05-24  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed broken Qt test fix.

        0x5C of EUC-JP is not Yen Sign but U+005C
        https://bugs.webkit.org/show_bug.cgi?id=24906

        * platform/qt/fast/text/backslash-to-yen-sign-dynamic-expected.txt:
        * platform/qt/fast/text/backslash-to-yen-sign-expected.txt:

2010-05-24  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r60068.
        http://trac.webkit.org/changeset/60068
        https://bugs.webkit.org/show_bug.cgi?id=39600

        "Causes fast/repaint/search-field-cancel to fail." (Requested
        by jparent on #webkit).

        * fast/forms/script-tests/textarea-percentage-dimensions.js: Removed.
        * fast/forms/textarea-percentage-dimensions-expected.txt: Removed.
        * fast/forms/textarea-percentage-dimensions.html: Removed.

2010-05-24  Chang Shu  <chang.shu@nokia.com>

        Unreviewed.

        Move Philip's canvas tests from fast/canvas to canvas, as suggested 
        by James Robinson.
        https://bugs.webkit.org/show_bug.cgi?id=20553

        * canvas: Added.
        * canvas/philip: Copied from LayoutTests/fast/canvas/philip.
        * fast/canvas/philip: Removed.
        * fast/canvas/philip/fonts: Removed.
        * fast/canvas/philip/fonts/CanvasTest.sfd: Removed.
        * fast/canvas/philip/fonts/CanvasTest.ttf: Removed.
        * fast/canvas/philip/images: Removed.
        * fast/canvas/philip/images/anim-gr.gif: Removed.
        * fast/canvas/philip/images/anim-gr.png: Removed.
        * fast/canvas/philip/images/anim-poster-gr.png: Removed.
        * fast/canvas/philip/images/background.png: Removed.
        * fast/canvas/philip/images/broken.png: Removed.
        * fast/canvas/philip/images/ggrr-256x256.png: Removed.
        * fast/canvas/philip/images/green-16x16.png: Removed.
        * fast/canvas/philip/images/green-1x1.png: Removed.
        * fast/canvas/philip/images/green-256x256.png: Removed.
        * fast/canvas/philip/images/green-2x2.png: Removed.
        * fast/canvas/philip/images/green.png: Removed.
        * fast/canvas/philip/images/grgr-256x256.png: Removed.
        * fast/canvas/philip/images/red-16x16.png: Removed.
        * fast/canvas/philip/images/red.png: Removed.
        * fast/canvas/philip/images/redtransparent.png: Removed.
        * fast/canvas/philip/images/rgrg-256x256.png: Removed.
        * fast/canvas/philip/images/rrgg-256x256.png: Removed.
        * fast/canvas/philip/images/transparent.png: Removed.
        * fast/canvas/philip/images/transparent50.png: Removed.
        * fast/canvas/philip/images/yellow.png: Removed.
        * fast/canvas/philip/images/yellow75.png: Removed.
        * fast/canvas/philip/tests: Removed.
        * fast/canvas/philip/tests.css: Removed.
        * fast/canvas/philip/tests.js: Removed.
        * fast/canvas/philip/tests/.reportgen.html.swp: Removed.
        * fast/canvas/philip/tests/.reportgen.js.swp: Removed.
        * fast/canvas/philip/tests/2d.canvas.readonly.html: Removed.
        * fast/canvas/philip/tests/2d.canvas.reference.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.basic.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.clip.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.globalalpha.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.globalcomposite.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.negative.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.path.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.shadow.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.transform.html: Removed.
        * fast/canvas/philip/tests/2d.clearRect.zero.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.lighter.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.lighter.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.source-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.xor.html: Removed.
        * fast/canvas/philip/tests/2d.composite.canvas.xor.png: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.destination-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.destination-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.lighter.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.source-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.source-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.clip.xor.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.canvas.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.canvaspattern.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.default.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.fill.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.image.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.imagepattern.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.range.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.destination-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.lighter.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.lighter.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.source-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.image.xor.html: Removed.
        * fast/canvas/philip/tests/2d.composite.image.xor.png: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.casesensitive.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.clear.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.darker.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.default.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.get.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.highlight.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.nullsuffix.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.operation.unrecognised.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.destination-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.lighter.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.lighter.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.source-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.xor.html: Removed.
        * fast/canvas/philip/tests/2d.composite.solid.xor.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.lighter.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.lighter.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-over.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.source-over.png: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.xor.html: Removed.
        * fast/canvas/philip/tests/2d.composite.transparent.xor.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.copy.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.copy.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.png: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.html: Removed.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.png: Removed.
        * fast/canvas/philip/tests/2d.coordinatespace.html: Removed.
        * fast/canvas/philip/tests/2d.coordinatespace.png: Removed.
        * fast/canvas/philip/tests/2d.drawImage.3arg.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.5arg.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.9arg.basic.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.9arg.destpos.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.9arg.destsize.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.9arg.sourcepos.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.9arg.sourcesize.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.animated.apng.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.animated.gif.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.animated.poster.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.broken.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.canvas.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.clip.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.composite.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.floatsource.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.incomplete.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.negativedest.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.negativedir.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.negativesource.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.nowrap.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.null.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.outsidesource.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.path.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.self.1.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.self.2.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.transform.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.wrongtype.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.zerocanvas.html: Removed.
        * fast/canvas/philip/tests/2d.drawImage.zerosource.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.basic.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.clip.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.negative.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.path.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.shadow.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.transform.html: Removed.
        * fast/canvas/philip/tests/2d.fillRect.zero.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.default.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.get.semitransparent.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.get.solid.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.get.transparent.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.invalidstring.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.invalidtype.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.basic.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.changed.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.removed.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.removed.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex3.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex6.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex6.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-3.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-4.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-5.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-3.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-4.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-3.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-4.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-5.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-6.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-6.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.html4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.html4.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex6.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex7.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex8.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsla-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsla-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.name-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.name-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.name-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-6.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-7.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-3.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-3.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-4.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-4.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-5.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-5.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-num.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-num.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-percent.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-percent.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-percent.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-percent.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-2.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.system.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-1.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-1.png: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-2.html: Removed.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-2.png: Removed.
        * fast/canvas/philip/tests/2d.getcontext.exists.html: Removed.
        * fast/canvas/philip/tests/2d.getcontext.shared.html: Removed.
        * fast/canvas/philip/tests/2d.getcontext.unique.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.empty.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.alpha.png: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colour.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colour.png: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colouralpha.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colouralpha.png: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.multiple.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.multiple.png: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.outside.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.overlap.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.overlap.png: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.overlap2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.solid.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.vertical.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.vertical.png: Removed.
        * fast/canvas/philip/tests/2d.gradient.interpolate.zerosize.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.linear.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.linear.transform.1.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.linear.transform.2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.linear.transform.3.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.object.compare.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.object.crosscanvas.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.object.invalidcolour.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.object.invalidoffset.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.object.return.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.object.update.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.behind.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.beside.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.bottom.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.cylinder.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.front.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.shape1.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.shape2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.top.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.equal.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.inside1.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.inside2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.inside3.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.negative.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.outside1.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.outside2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.outside3.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.touch1.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.touch2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.touch3.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.transform.1.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.transform.2.html: Removed.
        * fast/canvas/philip/tests/2d.gradient.radial.transform.3.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create1.basic.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create1.initial.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create1.type.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create1.zero.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.basic.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.initial.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.large.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.negative.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.round.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.tiny.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.type.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.create2.zero.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.basic.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.clamp.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.length.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.nonpremul.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.order.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.order.cols.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.order.rgb.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.order.rows.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.range.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.source.negative.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.source.outside.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.source.size.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.tiny.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.type.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.get.zero.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.ctor.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.nan.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.properties.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.readonly.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.round.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.set.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.string.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.undefined.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.object.wrap.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.alpha.png: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.basic.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.clip.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.created.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.cross.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.negative.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.outside.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.rect1.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.rect2.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.zero.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.modified.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.null.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.path.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.unchanged.html: Removed.
        * fast/canvas/philip/tests/2d.imageData.put.wrongtype.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.butt.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.closed.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.open.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.round.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.square.html: Removed.
        * fast/canvas/philip/tests/2d.line.cap.valid.html: Removed.
        * fast/canvas/philip/tests/2d.line.cross.html: Removed.
        * fast/canvas/philip/tests/2d.line.defaults.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.bevel.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.closed.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.miter.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.open.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.parallel.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.round.html: Removed.
        * fast/canvas/philip/tests/2d.line.join.valid.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.acute.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.exceeded.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.lineedge.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.obtuse.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.rightangle.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.valid.html: Removed.
        * fast/canvas/philip/tests/2d.line.miter.within.html: Removed.
        * fast/canvas/philip/tests/2d.line.union.html: Removed.
        * fast/canvas/philip/tests/2d.line.width.basic.html: Removed.
        * fast/canvas/philip/tests/2d.line.width.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.line.width.scaledefault.html: Removed.
        * fast/canvas/philip/tests/2d.line.width.transformed.html: Removed.
        * fast/canvas/philip/tests/2d.line.width.valid.html: Removed.
        * fast/canvas/philip/tests/2d.missingargs.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.angle.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.angle.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.angle.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.angle.4.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.angle.5.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.angle.6.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.empty.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.end.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.negative.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.nonempty.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.scale.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.scale.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.selfintersect.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.selfintersect.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.shape.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.shape.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.shape.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.shape.4.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.shape.5.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.twopie.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.twopie.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.twopie.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.twopie.4.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.zero.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.zero.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arc.zeroradius.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.coincide.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.coincide.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.collinear.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.collinear.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.collinear.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.ensuresubpath.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.ensuresubpath.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.negative.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.scale.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.curve1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.curve2.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.end.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.start.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.transformation.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.zero.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.arcTo.zero.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.beginPath.html: Removed.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.ensuresubpath.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.ensuresubpath.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.scaled.html: Removed.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.shape.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.basic.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.basic.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.empty.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.intersect.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.winding.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.clip.winding.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.closePath.empty.html: Removed.
        * fast/canvas/philip/tests/2d.path.closePath.newline.html: Removed.
        * fast/canvas/philip/tests/2d.path.closePath.nextpoint.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.closed.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.closed.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.overlap.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.overlap.png: Removed.
        * fast/canvas/philip/tests/2d.path.fill.winding.add.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.winding.subtract.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.winding.subtract.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.fill.winding.subtract.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.initial.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.arc.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.basic.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.basic.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.bezier.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.bigarc.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.edge.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.empty.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.outside.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.subpath.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.transform.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.transform.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.transform.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.unclosed.html: Removed.
        * fast/canvas/philip/tests/2d.path.isPointInPath.winding.html: Removed.
        * fast/canvas/philip/tests/2d.path.lineTo.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.lineTo.ensuresubpath.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.lineTo.ensuresubpath.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.lineTo.nextpoint.html: Removed.
        * fast/canvas/philip/tests/2d.path.lineTo.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.moveTo.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.moveTo.multiple.html: Removed.
        * fast/canvas/philip/tests/2d.path.moveTo.newsubpath.html: Removed.
        * fast/canvas/philip/tests/2d.path.moveTo.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.ensuresubpath.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.ensuresubpath.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.scaled.html: Removed.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.shape.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.closed.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.end.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.end.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.negative.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.newsubpath.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.selfintersect.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.winding.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.zero.1.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.zero.2.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.zero.3.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.zero.4.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.zero.5.html: Removed.
        * fast/canvas/philip/tests/2d.path.rect.zero.6.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.empty.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.overlap.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.overlap.png: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.prune.arc.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.prune.closed.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.prune.corner.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.prune.curve.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.prune.line.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.prune.rect.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.scale1.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.scale2.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.skew.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.path.stroke.union.html: Removed.
        * fast/canvas/philip/tests/2d.path.transformation.basic.html: Removed.
        * fast/canvas/philip/tests/2d.path.transformation.changing.html: Removed.
        * fast/canvas/philip/tests/2d.path.transformation.multiple.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.animated.gif.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.basic.canvas.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.basic.image.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.basic.nocontext.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.basic.type.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.basic.zerocanvas.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.crosscanvas.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.image.broken.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.image.incomplete.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.image.null.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.image.string.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.image.undefined.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.modify.canvas1.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.modify.canvas2.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.modify.image1.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.modify.image2.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.basic.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.coord1.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.coord2.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.coord3.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.outside.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.orientation.canvas.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.orientation.image.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.basic.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.coord1.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.coord2.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.coord3.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.outside.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeatx.basic.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeatx.coord1.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeatx.outside.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeaty.basic.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeaty.coord1.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.paint.repeaty.outside.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.repeat.case.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.repeat.empty.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.repeat.null.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.repeat.nullsuffix.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.repeat.undefined.html: Removed.
        * fast/canvas/philip/tests/2d.pattern.repeat.unrecognised.html: Removed.
        * fast/canvas/philip/tests/2d.scaled.html: Removed.
        * fast/canvas/philip/tests/2d.scaled.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.2.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.3.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.3.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.4.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.4.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.5.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.alpha.5.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowBlur.initial.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowBlur.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowBlur.valid.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowColor.initial.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowColor.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowColor.valid.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowOffset.initial.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowOffset.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowOffset.valid.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.blur.high.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.blur.high.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.blur.low.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.blur.low.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.canvas.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.canvas.alpha.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.canvas.basic.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.canvas.transparent.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.canvas.transparent.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.clip.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.clip.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.clip.3.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.composite.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.composite.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.composite.3.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.enable.blur.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.enable.off.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.enable.off.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.enable.x.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.enable.y.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.gradient.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.gradient.alpha.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.gradient.basic.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.gradient.transparent.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.gradient.transparent.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.alpha.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.basic.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.scale.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.section.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.transparent.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.image.transparent.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.offset.negativeX.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.offset.negativeY.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.offset.positiveX.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.offset.positiveY.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.outside.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.pattern.alpha.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.pattern.alpha.png: Removed.
        * fast/canvas/philip/tests/2d.shadow.pattern.basic.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.pattern.transparent.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.pattern.transparent.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.stroke.basic.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.stroke.cap.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.stroke.cap.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.stroke.join.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.stroke.join.2.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.stroke.join.3.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.transform.1.html: Removed.
        * fast/canvas/philip/tests/2d.shadow.transform.2.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.bitmap.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.clip.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.fillStyle.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.font.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.globalAlpha.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.globalCompositeOperation.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.lineCap.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.lineJoin.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.lineWidth.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.miterLimit.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.path.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowBlur.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowColor.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowOffsetX.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowOffsetY.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.stack.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.stackdepth.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.strokeStyle.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.textAlign.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.textBaseline.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.transformation.html: Removed.
        * fast/canvas/philip/tests/2d.state.saverestore.underflow.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.basic.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.clip.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.globalalpha.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.globalcomposite.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.negative.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.path.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.shadow.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.transform.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.zero.1.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.zero.2.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.zero.3.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.zero.4.html: Removed.
        * fast/canvas/philip/tests/2d.strokeRect.zero.5.html: Removed.
        * fast/canvas/philip/tests/2d.strokeStyle.default.html: Removed.
        * fast/canvas/philip/tests/2d.text.align.default.html: Removed.
        * fast/canvas/philip/tests/2d.text.align.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.text.align.valid.html: Removed.
        * fast/canvas/philip/tests/2d.text.baseline.default.html: Removed.
        * fast/canvas/philip/tests/2d.text.baseline.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.text.baseline.valid.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.center.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.end.ltr.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.end.rtl.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.left.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.right.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.start.ltr.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.align.start.rtl.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.baseline.alphabetic.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.baseline.bottom.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.baseline.hanging.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.baseline.ideographic.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.baseline.middle.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.baseline.top.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.basic.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.basic.png: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.bound.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.large.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.large.png: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.small.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.zero.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.rtl.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.rtl.png: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fill.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fontface.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fontface.notinpage.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.fontface.repeat.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.kern.consistent.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.space.basic.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.end.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.other.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.space.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.start.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.stroke.basic.html: Removed.
        * fast/canvas/philip/tests/2d.text.draw.stroke.basic.png: Removed.
        * fast/canvas/philip/tests/2d.text.draw.stroke.unaffected.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.default.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.parse.basic.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.parse.complex.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.parse.invalid.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.parse.size.percentage.default.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.parse.size.percentage.html: Removed.
        * fast/canvas/philip/tests/2d.text.font.parse.system.html: Removed.
        * fast/canvas/philip/tests/2d.text.measure.width.basic.html: Removed.
        * fast/canvas/philip/tests/2d.text.measure.width.empty.html: Removed.
        * fast/canvas/philip/tests/2d.text.measure.width.space.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.order.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.rotate.direction.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.rotate.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.rotate.radians.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.rotate.wrap.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.rotate.wrapnegative.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.rotate.zero.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.scale.basic.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.scale.large.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.scale.multiple.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.scale.negative.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.scale.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.scale.zero.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.setTransform.multiple.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.setTransform.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.setTransform.skewed.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.transform.identity.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.transform.multiply.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.transform.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.transform.skewed.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.translate.basic.html: Removed.
        * fast/canvas/philip/tests/2d.transformation.translate.nonfinite.html: Removed.
        * fast/canvas/philip/tests/2d.voidreturn.html: Removed.
        * fast/canvas/philip/tests/clear-100x50.png: Removed.
        * fast/canvas/philip/tests/context.casesensitive.html: Removed.
        * fast/canvas/philip/tests/context.emptystring.html: Removed.
        * fast/canvas/philip/tests/context.unrecognised.badname.html: Removed.
        * fast/canvas/philip/tests/context.unrecognised.badsuffix.html: Removed.
        * fast/canvas/philip/tests/context.unrecognised.nullsuffix.html: Removed.
        * fast/canvas/philip/tests/context.unrecognised.unicode.html: Removed.
        * fast/canvas/philip/tests/fallback.basic.html: Removed.
        * fast/canvas/philip/tests/fallback.multiple.html: Removed.
        * fast/canvas/philip/tests/fallback.nested.html: Removed.
        * fast/canvas/philip/tests/green-100x50.png: Removed.
        * fast/canvas/philip/tests/initial.colour.html: Removed.
        * fast/canvas/philip/tests/initial.colour.png: Removed.
        * fast/canvas/philip/tests/initial.reset.2dstate.html: Removed.
        * fast/canvas/philip/tests/initial.reset.clip.html: Removed.
        * fast/canvas/philip/tests/initial.reset.different.html: Removed.
        * fast/canvas/philip/tests/initial.reset.different.png: Removed.
        * fast/canvas/philip/tests/initial.reset.gradient.html: Removed.
        * fast/canvas/philip/tests/initial.reset.path.html: Removed.
        * fast/canvas/philip/tests/initial.reset.path.png: Removed.
        * fast/canvas/philip/tests/initial.reset.pattern.html: Removed.
        * fast/canvas/philip/tests/initial.reset.same.html: Removed.
        * fast/canvas/philip/tests/initial.reset.same.png: Removed.
        * fast/canvas/philip/tests/initial.reset.transform.html: Removed.
        * fast/canvas/philip/tests/security.dataURI.html: Removed.
        * fast/canvas/philip/tests/security.drawImage.canvas.html: Removed.
        * fast/canvas/philip/tests/security.drawImage.image.html: Removed.
        * fast/canvas/philip/tests/security.pattern.canvas.fillStyle.html: Removed.
        * fast/canvas/philip/tests/security.pattern.canvas.strokeStyle.html: Removed.
        * fast/canvas/philip/tests/security.pattern.canvas.timing.html: Removed.
        * fast/canvas/philip/tests/security.pattern.create.html: Removed.
        * fast/canvas/philip/tests/security.pattern.cross.html: Removed.
        * fast/canvas/philip/tests/security.pattern.image.fillStyle.html: Removed.
        * fast/canvas/philip/tests/security.pattern.image.strokeStyle.html: Removed.
        * fast/canvas/philip/tests/security.reset.html: Removed.
        * fast/canvas/philip/tests/size.attributes.default.html: Removed.
        * fast/canvas/philip/tests/size.attributes.default.png: Removed.
        * fast/canvas/philip/tests/size.attributes.get.html: Removed.
        * fast/canvas/philip/tests/size.attributes.get.png: Removed.
        * fast/canvas/philip/tests/size.attributes.idl.html: Removed.
        * fast/canvas/philip/tests/size.attributes.idl.set.zero.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.decimal.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.decimal.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.em.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.em.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.empty.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.empty.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.exp.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.exp.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.hex.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.junk.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.junk.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.minus.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.minus.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.octal.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.octal.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.onlyspace.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.onlyspace.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.percent.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.percent.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.plus.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.plus.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.space.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.space.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.trailingjunk.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.trailingjunk.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.whitespace.html: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.whitespace.png: Removed.
        * fast/canvas/philip/tests/size.attributes.parse.zero.html: Removed.
        * fast/canvas/philip/tests/size.attributes.reflect.setcontent.html: Removed.
        * fast/canvas/philip/tests/size.attributes.reflect.setcontent.png: Removed.
        * fast/canvas/philip/tests/size.attributes.reflect.setidl.html: Removed.
        * fast/canvas/philip/tests/size.attributes.reflect.setidl.png: Removed.
        * fast/canvas/philip/tests/size.attributes.reflect.setidlzero.html: Removed.
        * fast/canvas/philip/tests/size.attributes.removed.html: Removed.
        * fast/canvas/philip/tests/size.attributes.removed.png: Removed.
        * fast/canvas/philip/tests/size.attributes.set.html: Removed.
        * fast/canvas/philip/tests/size.attributes.set.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.decimal.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.decimal.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.em.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.em.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.empty.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.empty.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.exp.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.exp.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.hex.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.junk.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.junk.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.minus.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.minus.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.octal.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.octal.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.onlyspace.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.onlyspace.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.percent.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.percent.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.plus.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.plus.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.space.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.space.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.trailingjunk.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.trailingjunk.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.whitespace.html: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.whitespace.png: Removed.
        * fast/canvas/philip/tests/size.attributes.setAttribute.zero.html: Removed.
        * fast/canvas/philip/tests/size.attributes.style.html: Removed.
        * fast/canvas/philip/tests/size.attributes.style.png: Removed.
        * fast/canvas/philip/tests/toDataURL.arguments.1.html: Removed.
        * fast/canvas/philip/tests/toDataURL.arguments.2.html: Removed.
        * fast/canvas/philip/tests/toDataURL.arguments.3.html: Removed.
        * fast/canvas/philip/tests/toDataURL.bogustype.html: Removed.
        * fast/canvas/philip/tests/toDataURL.default.html: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.alpha.html: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.alpha.png: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.primarycolours.html: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.primarycolours.png: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.basic.html: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.basic.png: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.notnumber.html: Removed.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.outsiderange.html: Removed.
        * fast/canvas/philip/tests/toDataURL.lowercase.ascii.html: Removed.
        * fast/canvas/philip/tests/toDataURL.lowercase.unicode.html: Removed.
        * fast/canvas/philip/tests/toDataURL.nocontext.html: Removed.
        * fast/canvas/philip/tests/toDataURL.png.complexcolours.html: Removed.
        * fast/canvas/philip/tests/toDataURL.png.complexcolours.png: Removed.
        * fast/canvas/philip/tests/toDataURL.png.html: Removed.
        * fast/canvas/philip/tests/toDataURL.png.primarycolours.html: Removed.
        * fast/canvas/philip/tests/toDataURL.png.primarycolours.png: Removed.
        * fast/canvas/philip/tests/toDataURL.unrecognised.html: Removed.
        * fast/canvas/philip/tests/toDataURL.zerosize.html: Removed.
        * fast/canvas/philip/tests/type.delete.html: Removed.
        * fast/canvas/philip/tests/type.exists.html: Removed.
        * fast/canvas/philip/tests/type.extend.html: Removed.
        * fast/canvas/philip/tests/type.name.html: Removed.
        * fast/canvas/philip/tests/type.prototype.html: Removed.
        * fast/canvas/philip/tests/type.replace.html: Removed.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed.  Forgot to redo the expectation after adding the contains
        method.

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

2010-05-24  Jeremy Orlow  <jorlow@chromium.org>

        Not reviewed.

        I forgot to update platform specific expectations in
        http://trac.webkit.org/changeset/44943

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

2010-05-24  Steve Block  <steveblock@google.com>

        Reviewed by Darin Adler.

        Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away
        https://bugs.webkit.org/show_bug.cgi?id=39288

        * fast/dom/Geolocation/ongoing-request-leak-expected.txt: Added.
        * fast/dom/Geolocation/ongoing-request-leak.html: Added.
        * fast/dom/Geolocation/script-tests/ongoing-request-leak.js: Added.
        * platform/gtk/Skipped:

2010-05-24  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Textarea shouldn't grow when you type.
        https://bugs.webkit.org/show_bug.cgi?id=32077

        Add test for the case with various type of properties for vertical box size.
        including height, min-height, max-height, padding-top/bottom, margin-top/bottom.
        
        * fast/forms/script-tests/textarea-percentage-dimensions.js: Added.
        (heightChanged):
        * fast/forms/textarea-percentage-dimensions-expected.txt: Added.
        * fast/forms/textarea-percentage-dimensions.html: Added.

2010-05-21  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Add DOMStringList idl, needed for IndexedDB and for HTML5 drag & drop
        https://bugs.webkit.org/show_bug.cgi?id=39429

        Added new constructor for DOMStringsList, so updating the existing
        expected results.

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

2010-05-24  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed. Fixed a typo in test_expecations.txt.

        * platform/chromium/test_expectations.txt:

2010-05-24  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed. Fixed the expectations for Windows.
        It seems my win environment was unhealthy.

        0x5C of EUC-JP is not Yen Sign but U+005C
        https://bugs.webkit.org/show_bug.cgi?id=24906

        * platform/win/fast/text/backslash-to-yen-sign-dynamic-expected.txt:
        * platform/win/fast/text/backslash-to-yen-sign-expected.txt:

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

        Reviewed by Alexey Proskuryakov.

        0x5C of EUC-JP is not Yen Sign but U+005C
        https://bugs.webkit.org/show_bug.cgi?id=24906

        * editing/selection/find-yensign-and-backslash-with-japanese-fonts-expected.txt: Added.
        * editing/selection/find-yensign-and-backslash-with-japanese-fonts.html: Added.
        * fast/text/backslash-to-yen-sign-dynamic.html: Added.
        * fast/text/backslash-to-yen-sign.html: Added.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/fast/text/backslash-to-yen-sign-dynamic-expected.txt: Added.
        * platform/gtk/fast/text/backslash-to-yen-sign-expected.txt: Added.
        * platform/mac/fast/text/backslash-to-yen-sign-dynamic-expected.checksum: Added.
        * platform/mac/fast/text/backslash-to-yen-sign-dynamic-expected.png: Added.
        * platform/mac/fast/text/backslash-to-yen-sign-dynamic-expected.txt: Added.
        * platform/mac/fast/text/backslash-to-yen-sign-expected.checksum: Added.
        * platform/mac/fast/text/backslash-to-yen-sign-expected.png: Added.
        * platform/mac/fast/text/backslash-to-yen-sign-expected.txt: Added.
        * platform/qt/fast/text/backslash-to-yen-sign-dynamic-expected.txt: Added.
        * platform/qt/fast/text/backslash-to-yen-sign-expected.txt: Added.
        * platform/win/fast/text/backslash-to-yen-sign-dynamic-expected.txt: Added.
        * platform/win/fast/text/backslash-to-yen-sign-expected.txt: Added.

2010-05-23  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r60060.
        http://trac.webkit.org/changeset/60060
        https://bugs.webkit.org/show_bug.cgi?id=32077

        Rollout, beucause it breaks pixel tests under repaint/.

        * fast/forms/script-tests/textarea-percentage-dimensions.js: Removed.
        * fast/forms/textarea-percentage-dimensions-expected.txt: Removed.
        * fast/forms/textarea-percentage-dimensions.html: Removed.

2010-05-23  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.

        Textarea shouldn't grow when you type.
        https://bugs.webkit.org/show_bug.cgi?id=32077

        Add test for the case with various type of properties for vertical box size.
        including height, min-height, max-height, padding-top/bottom, margin-top/bottom.
        
        * fast/forms/script-tests/textarea-percentage-dimensions.js: Added.
        (heightChanged):
        * fast/forms/textarea-percentage-dimensions-expected.txt: Added.
        * fast/forms/textarea-percentage-dimensions.html: Added.

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

        Not reviewed, updating test_expectations.txt

        [chromium] remove editing/pasteboard/drop-link.html from test_expectations.txt
        https://bugs.webkit.org/show_bug.cgi?id=39580

        * platform/chromium/test_expectations.txt:

2010-05-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Teach HTML5 parser how to lex comments correctly
        https://bugs.webkit.org/show_bug.cgi?id=39537

        Added a new data file for testing comment parsing.  There are some more
        things we can test here once we implement the bogus comment state.

        * html5lib/resources/comments01.dat: Added.
        * html5lib/webkit-runner-expected.txt:
            - Some of these tests fail in our current parser because our
              current parser doesn't comply with HTML5.  I've set these
              expectations to failing so the tests will "pass" in the current
              parser.  I've double-checked the results in comments01.dat with a
              nightly build of Firefox to make sure we agree on our
              implementation of the spec.
        * html5lib/webkit-runner.html:

2010-05-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add tests for previous HTML5 parser patches
        https://bugs.webkit.org/show_bug.cgi?id=39534

        Now that we have the test harness working, I've added tests for the
        previous HTML5 parser patches.  To run these tests, you need to pass
        the --html5-parser flag to DumpRenderTree (of course, you can run them
        with the old parser in the usual way).

        * html5lib/resources/webkit01.dat:
        * html5lib/webkit-runner-expected.txt:
        * html5lib/webkit-runner.html:

2010-05-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Make the html5lib parser tests run using the HTML5 parser
        https://bugs.webkit.org/show_bug.cgi?id=39533

        This patch adds a version of runner.html that's easier to parse (e.g.,
        no doctype or HTML comments) as well as a new test data file.  The
        exciting thing is that this test passes in the new HTML5 parser using
        this runner.

        Once the HTML5 parser is strong enough, we'll remove webkit-runner.html
        and have runner.html run the new webkit*.dat files.

        * html5lib/resources/webkit01.dat: Added.
        * html5lib/webkit-runner-expected.txt: Added.
        * html5lib/webkit-runner.html: Added.

2010-05-23  Julie Parent  <jparent@chromium.org>

        Unreviewed.

        Adds Chromium expectations for new test added in http://trac.webkit.org/changeset/60026/.
        Difference is in the line number printed for the exception.

        * platform/chromium-mac/fast/dom/nested-script-exceptions-expected.txt: Added.
        * platform/chromium-win/fast/dom/nested-script-exceptions-expected.txt: Added.

2010-05-23  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        Remove custom binding for Attr.value
        https://bugs.webkit.org/show_bug.cgi?id=39499

        Test now throws a JavaScript security exception instead of not 
        implemented.

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:

2010-05-23  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Consider implementing addOriginAccessWhitelistEntry method
        https://bugs.webkit.org/show_bug.cgi?id=37578

        * platform/chromium/test_expectations.txt: remove now unnecessary skips

2010-05-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Mark Rowe.

        Fix fast/js/global-recursion-on-full-stack.html to no longer depend on where exactly the stack overflow occurs.
        https://bugs.webkit.org/show_bug.cgi?id=39558

        * fast/js/global-recursion-on-full-stack-expected.txt:
        * fast/js/global-recursion-on-full-stack.html:

2010-05-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        Remove recently added test "arobens-test" because it is invalid
        https://bugs.webkit.org/show_bug.cgi?id=39555
        
        The test below was based on a false assuption (that document.write propagates exceptions)
        and was testing for incorrect behavior. The newly added fast/dom/nested-script-exceptions.html
        tests for the correct behavior.

        * inspector/arobens-test-expected.txt: Removed.
        * inspector/arobens-test.html: Removed.

2010-05-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Mark Rowe.

        REGRESSION(r59977): platform/mac/fast/AppleScript/001.html failure
        https://bugs.webkit.org/show_bug.cgi?id=39531

        Revert r59977 and r59943. These changes caused some exceptions to no longer be
        reported in the inspector; I can't tell what they were originally trying to fix
        so I am not sure how to fix them other than by reverting.

        Unskipped the test that was broken, and also added a new test.
        
        * fast/dom/nested-script-exceptions-expected.txt: Added.
        * fast/dom/nested-script-exceptions.html: Added. Shows that inspector functionality
        would break in a meaningful way if the reverted change was allowed to stand.
        * platform/mac/Skipped:

2010-05-22  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nate Chapin.

        Remove and simplify custom bindings for Node
        https://bugs.webkit.org/show_bug.cgi?id=39467

        Child manipulation methods now throw security exception instead of
        not implemented exception.

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:

2010-05-22  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

        REGRESSION (r56295): Can't create a new wave on Google Wave
        https://bugs.webkit.org/show_bug.cgi?id=39249

        Added a test to ensure that we don't raise an alarm when the source code
        portion of a JavaScript URL matches some substring of the page URL or
        post data.

        Our existing test coverage ensures that we raise an alarm when the entire
        JavaScript URL matches some substring of the page URL or post data.

        * http/tests/security/xssAuditor/javascript-link-safe-expected.txt: Added.
        * http/tests/security/xssAuditor/javascript-link-safe.html: Added.
        * http/tests/security/xssAuditor/resources/javascript-link-safe.html: Added.

2010-05-22  Simon Fraser  <simon.fraser@apple.com>

        Add test results for Mac; no review.

        Add platform-independent test results for new tiling tests, and move them into their own directory.

        * compositing/tiling/huge-layer-add-remove-child-expected.txt: Renamed from LayoutTests/platform/win/compositing/huge-layer-add-remove-child-expected.txt.
        * compositing/tiling/huge-layer-add-remove-child.html: Renamed from LayoutTests/compositing/huge-layer-add-remove-child.html.
        * compositing/tiling/huge-layer-expected.txt: Renamed from LayoutTests/platform/win/compositing/huge-layer-expected.txt.
        * compositing/tiling/huge-layer-resize-expected.txt: Renamed from LayoutTests/platform/win/compositing/huge-layer-resize-expected.txt.
        * compositing/tiling/huge-layer-resize.html: Renamed from LayoutTests/compositing/huge-layer-resize.html.
        * compositing/tiling/huge-layer-with-layer-children-expected.txt: Renamed from LayoutTests/platform/win/compositing/huge-layer-with-layer-children-expected.txt.
        * compositing/tiling/huge-layer-with-layer-children-resize-expected.txt: Renamed from LayoutTests/platform/win/compositing/huge-layer-with-layer-children-resize-expected.txt.
        * compositing/tiling/huge-layer-with-layer-children-resize.html: Renamed from LayoutTests/compositing/huge-layer-with-layer-children-resize.html.
        * compositing/tiling/huge-layer-with-layer-children.html: Renamed from LayoutTests/compositing/huge-layer-with-layer-children.html.
        * compositing/tiling/huge-layer.html: Renamed from LayoutTests/compositing/huge-layer.html.

2010-05-22  Kent Tamura  <tkent@chromium.org>

        Unreviewed.

        Skip platform/mac/fast/AppleScript/001.html
        https://bugs.webkit.org/show_bug.cgi?id=39531

        * platform/mac/Skipped:

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

        Unreviewed. Update GTK specific expected file after r59968.

        * platform/gtk/svg/css/getComputedStyle-basic-expected.txt: updated.

2010-05-21  James Robinson  <jamesr@chromium.org>

        Unreviewed pixel rebaseline

        Update pixel test expectations for LayoutTests/svg to account for Leopard-SnowLeopard differences
        https://bugs.webkit.org/show_bug.cgi?id=39317

        This patch fixes the pixel test expecations for svg/ tests to work on Snow Leopard.
        Specifically, for each test that currently passes on Leopard with -p --tolerance=0,
        but fails with small diffs on Snow Leopard, the old expectation is moved from
        platform/mac to platform/mac-leopard and a new expecation is added in
        platform/mac.

        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-36-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-37-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-37-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-39-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-40-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-60-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-61-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-61-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-62-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-63-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-63-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-65-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-65-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-66-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-66-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-67-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-67-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-68-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-68-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-69-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-69-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-70-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-70-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-77-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-77-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-78-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-78-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-80-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-80-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-81-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-83-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-units-01-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-units-02-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-units-03-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-image-01-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-a-05-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-a-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/script-handle-01-b-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/struct-frag-06-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/struct-frag-06-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-text-04-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-text-04-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-text-05-t-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-text-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.png.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum.
        * platform/mac-leopard/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png.
        * platform/mac-leopard/svg/batik: Added.
        * platform/mac-leopard/svg/batik/filters: Added.
        * platform/mac-leopard/svg/batik/filters/feTile-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/filters/feTile-expected.checksum.
        * platform/mac-leopard/svg/batik/filters/feTile-expected.png: Copied from LayoutTests/platform/mac/svg/batik/filters/feTile-expected.png.
        * platform/mac-leopard/svg/batik/paints: Added.
        * platform/mac-leopard/svg/batik/paints/patternRegions-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.checksum.
        * platform/mac-leopard/svg/batik/paints/patternRegions-expected.png: Copied from LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.png.
        * platform/mac-leopard/svg/batik/text: Added.
        * platform/mac-leopard/svg/batik/text/textAnchor3-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textAnchor3-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textAnchor3-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textAnchor3-expected.png.
        * platform/mac-leopard/svg/batik/text/textLayout-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textLayout-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textLayout-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textLayout-expected.png.
        * platform/mac-leopard/svg/batik/text/textLength-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textLength-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textLength-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textLength-expected.png.
        * platform/mac-leopard/svg/batik/text/textOnPath-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textOnPath-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textOnPath-expected.png.
        * platform/mac-leopard/svg/batik/text/textOnPath2-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textOnPath2-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textOnPath2-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textOnPath2-expected.png.
        * platform/mac-leopard/svg/batik/text/textOnPathSpaces-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textOnPathSpaces-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.png.
        * platform/mac-leopard/svg/batik/text/textPCDATA-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textPCDATA-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textPCDATA-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textPCDATA-expected.png.
        * platform/mac-leopard/svg/batik/text/textProperties-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/textProperties-expected.checksum.
        * platform/mac-leopard/svg/batik/text/textProperties-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/textProperties-expected.png.
        * platform/mac-leopard/svg/batik/text/verticalTextOnPath-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.checksum.
        * platform/mac-leopard/svg/batik/text/verticalTextOnPath-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/verticalTextOnPath-expected.png.
        * platform/mac-leopard/svg/batik/text/xmlSpace-expected.checksum: Copied from LayoutTests/platform/mac/svg/batik/text/xmlSpace-expected.checksum.
        * platform/mac-leopard/svg/batik/text/xmlSpace-expected.png: Copied from LayoutTests/platform/mac/svg/batik/text/xmlSpace-expected.png.
        * platform/mac-leopard/svg/custom/altglyph-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/altglyph-expected.checksum.
        * platform/mac-leopard/svg/custom/altglyph-expected.png: Copied from LayoutTests/platform/mac/svg/custom/altglyph-expected.png.
        * platform/mac-leopard/svg/custom/baseval-animval-equality-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/baseval-animval-equality-expected.checksum.
        * platform/mac-leopard/svg/custom/baseval-animval-equality-expected.png: Copied from LayoutTests/platform/mac/svg/custom/baseval-animval-equality-expected.png.
        * platform/mac-leopard/svg/custom/clip-path-referencing-use-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/clip-path-referencing-use-expected.checksum.
        * platform/mac-leopard/svg/custom/clip-path-referencing-use-expected.png: Copied from LayoutTests/platform/mac/svg/custom/clip-path-referencing-use-expected.png.
        * platform/mac-leopard/svg/custom/clip-path-referencing-use2-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/clip-path-referencing-use2-expected.checksum.
        * platform/mac-leopard/svg/custom/clip-path-referencing-use2-expected.png: Copied from LayoutTests/platform/mac/svg/custom/clip-path-referencing-use2-expected.png.
        * platform/mac-leopard/svg/custom/dominant-baseline-hanging-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum.
        * platform/mac-leopard/svg/custom/dominant-baseline-hanging-expected.png: Copied from LayoutTests/platform/mac/svg/custom/dominant-baseline-hanging-expected.png.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Discrete-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Discrete-expected.checksum.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Discrete-expected.png: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Discrete-expected.png.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Gamma-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Gamma-expected.checksum.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Gamma-expected.png: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Gamma-expected.png.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Linear-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Linear-expected.checksum.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Linear-expected.png: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Linear-expected.png.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Table-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Table-expected.checksum.
        * platform/mac-leopard/svg/custom/feComponentTransfer-Table-expected.png: Copied from LayoutTests/platform/mac/svg/custom/feComponentTransfer-Table-expected.png.
        * platform/mac-leopard/svg/custom/fill-fallback-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/fill-fallback-expected.checksum.
        * platform/mac-leopard/svg/custom/fill-fallback-expected.png: Copied from LayoutTests/platform/mac/svg/custom/fill-fallback-expected.png.
        * platform/mac-leopard/svg/custom/getPresentationAttribute-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/getPresentationAttribute-expected.checksum.
        * platform/mac-leopard/svg/custom/getPresentationAttribute-expected.png: Copied from LayoutTests/platform/mac/svg/custom/getPresentationAttribute-expected.png.
        * platform/mac-leopard/svg/custom/getsvgdocument-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/getsvgdocument-expected.checksum.
        * platform/mac-leopard/svg/custom/getsvgdocument-expected.png: Copied from LayoutTests/platform/mac/svg/custom/getsvgdocument-expected.png.
        * platform/mac-leopard/svg/custom/image-parent-translation-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/image-parent-translation-expected.checksum.
        * platform/mac-leopard/svg/custom/image-parent-translation-expected.png: Copied from LayoutTests/platform/mac/svg/custom/image-parent-translation-expected.png.
        * platform/mac-leopard/svg/custom/invalid-fill-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/invalid-fill-expected.checksum.
        * platform/mac-leopard/svg/custom/invalid-fill-expected.png: Copied from LayoutTests/platform/mac/svg/custom/invalid-fill-expected.png.
        * platform/mac-leopard/svg/custom/invalid-fill-hex-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/invalid-fill-hex-expected.checksum.
        * platform/mac-leopard/svg/custom/invalid-fill-hex-expected.png: Copied from LayoutTests/platform/mac/svg/custom/invalid-fill-hex-expected.png.
        * platform/mac-leopard/svg/custom/invisible-text-after-scrolling-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/invisible-text-after-scrolling-expected.checksum.
        * platform/mac-leopard/svg/custom/invisible-text-after-scrolling-expected.png: Copied from LayoutTests/platform/mac/svg/custom/invisible-text-after-scrolling-expected.png.
        * platform/mac-leopard/svg/custom/percentage-of-html-parent-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/percentage-of-html-parent-expected.checksum.
        * platform/mac-leopard/svg/custom/percentage-of-html-parent-expected.png: Copied from LayoutTests/platform/mac/svg/custom/percentage-of-html-parent-expected.png.
        * platform/mac-leopard/svg/custom/pointer-events-image-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/pointer-events-image-expected.checksum.
        * platform/mac-leopard/svg/custom/pointer-events-image-expected.png: Copied from LayoutTests/platform/mac/svg/custom/pointer-events-image-expected.png.
        * platform/mac-leopard/svg/custom/pointer-events-text-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/pointer-events-text-expected.checksum.
        * platform/mac-leopard/svg/custom/pointer-events-text-expected.png: Copied from LayoutTests/platform/mac/svg/custom/pointer-events-text-expected.png.
        * platform/mac-leopard/svg/custom/relative-sized-content-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-content-expected.checksum.
        * platform/mac-leopard/svg/custom/relative-sized-content-expected.png: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-content-expected.png.
        * platform/mac-leopard/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum.
        * platform/mac-leopard/svg/custom/relative-sized-deep-shadow-tree-content-expected.png: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.png.
        * platform/mac-leopard/svg/custom/relative-sized-shadow-tree-content-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.checksum.
        * platform/mac-leopard/svg/custom/relative-sized-shadow-tree-content-expected.png: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.png.
        * platform/mac-leopard/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.checksum.
        * platform/mac-leopard/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Copied from LayoutTests/platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png.
        * platform/mac-leopard/svg/custom/rootmost-svg-xy-attrs-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/rootmost-svg-xy-attrs-expected.checksum.
        * platform/mac-leopard/svg/custom/rootmost-svg-xy-attrs-expected.png: Copied from LayoutTests/platform/mac/svg/custom/rootmost-svg-xy-attrs-expected.png.
        * platform/mac-leopard/svg/custom/shape-rendering-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/shape-rendering-expected.checksum.
        * platform/mac-leopard/svg/custom/shape-rendering-expected.png: Copied from LayoutTests/platform/mac/svg/custom/shape-rendering-expected.png.
        * platform/mac-leopard/svg/custom/stroke-fallback-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/stroke-fallback-expected.checksum.
        * platform/mac-leopard/svg/custom/stroke-fallback-expected.png: Copied from LayoutTests/platform/mac/svg/custom/stroke-fallback-expected.png.
        * platform/mac-leopard/svg/custom/svg-float-border-padding-expected.checksum: Copied from LayoutTests/platform/mac/svg/custom/svg-float-border-padding-expected.checksum.
        * platform/mac-leopard/svg/custom/svg-float-border-padding-expected.png: Copied from LayoutTests/platform/mac/svg/custom/svg-float-border-padding-expected.png.
        * platform/mac-leopard/svg/filters/feGaussianBlur-expected.checksum: Copied from LayoutTests/platform/mac/svg/filters/feGaussianBlur-expected.checksum.
        * platform/mac-leopard/svg/filters/feGaussianBlur-expected.png: Copied from LayoutTests/platform/mac/svg/filters/feGaussianBlur-expected.png.
        * platform/mac-leopard/svg/filters/shadow-on-filter-expected.checksum: Copied from LayoutTests/platform/mac/svg/filters/shadow-on-filter-expected.checksum.
        * platform/mac-leopard/svg/filters/shadow-on-filter-expected.png: Copied from LayoutTests/platform/mac/svg/filters/shadow-on-filter-expected.png.
        * platform/mac-leopard/svg/hixie/links: Added.
        * platform/mac-leopard/svg/text/kerning-expected.checksum: Copied from LayoutTests/platform/mac/svg/text/kerning-expected.checksum.
        * platform/mac-leopard/svg/text/kerning-expected.png: Copied from LayoutTests/platform/mac/svg/text/kerning-expected.png.
        * platform/mac-leopard/svg/text/multichar-glyph-expected.checksum: Copied from LayoutTests/platform/mac/svg/text/multichar-glyph-expected.checksum.
        * platform/mac-leopard/svg/text/multichar-glyph-expected.png: Copied from LayoutTests/platform/mac/svg/text/multichar-glyph-expected.png.
        * platform/mac-leopard/svg/text/text-repaint-rects-expected.checksum: Copied from LayoutTests/platform/mac/svg/text/text-repaint-rects-expected.checksum.
        * platform/mac-leopard/svg/text/text-repaint-rects-expected.png: Copied from LayoutTests/platform/mac/svg/text/text-repaint-rects-expected.png.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.png: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.checksum: Replaced.
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.png: Replaced.
        * platform/mac/svg/batik/filters/feTile-expected.checksum: Replaced.
        * platform/mac/svg/batik/filters/feTile-expected.png: Replaced.
        * platform/mac/svg/batik/paints/patternRegions-expected.checksum: Replaced.
        * platform/mac/svg/batik/paints/patternRegions-expected.png: Replaced.
        * platform/mac/svg/batik/text/textAnchor3-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textAnchor3-expected.png: Replaced.
        * platform/mac/svg/batik/text/textLayout-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textLayout-expected.png: Replaced.
        * platform/mac/svg/batik/text/textLength-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textLength-expected.png: Replaced.
        * platform/mac/svg/batik/text/textOnPath-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textOnPath-expected.png: Replaced.
        * platform/mac/svg/batik/text/textOnPath2-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textOnPath2-expected.png: Replaced.
        * platform/mac/svg/batik/text/textOnPathSpaces-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textOnPathSpaces-expected.png: Replaced.
        * platform/mac/svg/batik/text/textPCDATA-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textPCDATA-expected.png: Replaced.
        * platform/mac/svg/batik/text/textProperties-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/textProperties-expected.png: Replaced.
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.png: Replaced.
        * platform/mac/svg/batik/text/xmlSpace-expected.checksum: Replaced.
        * platform/mac/svg/batik/text/xmlSpace-expected.png: Replaced.
        * platform/mac/svg/custom/altglyph-expected.checksum: Replaced.
        * platform/mac/svg/custom/altglyph-expected.png: Replaced.
        * platform/mac/svg/custom/baseval-animval-equality-expected.checksum: Replaced.
        * platform/mac/svg/custom/baseval-animval-equality-expected.png: Replaced.
        * platform/mac/svg/custom/clip-path-referencing-use-expected.checksum: Replaced.
        * platform/mac/svg/custom/clip-path-referencing-use-expected.png: Replaced.
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.checksum: Replaced.
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.png: Replaced.
        * platform/mac/svg/custom/container-opacity-clip-viewBox-expected.checksum:
        * platform/mac/svg/custom/container-opacity-clip-viewBox-expected.png:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum: Replaced.
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.png: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.checksum: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.png: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.checksum: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.png: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.checksum: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.png: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.checksum: Replaced.
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.png: Replaced.
        * platform/mac/svg/custom/fill-fallback-expected.checksum: Replaced.
        * platform/mac/svg/custom/fill-fallback-expected.png: Replaced.
        * platform/mac/svg/custom/getPresentationAttribute-expected.checksum: Replaced.
        * platform/mac/svg/custom/getPresentationAttribute-expected.png: Replaced.
        * platform/mac/svg/custom/getsvgdocument-expected.checksum: Replaced.
        * platform/mac/svg/custom/getsvgdocument-expected.png: Replaced.
        * platform/mac/svg/custom/image-parent-translation-expected.checksum: Replaced.
        * platform/mac/svg/custom/image-parent-translation-expected.png: Replaced.
        * platform/mac/svg/custom/invalid-fill-expected.checksum: Replaced.
        * platform/mac/svg/custom/invalid-fill-expected.png: Replaced.
        * platform/mac/svg/custom/invalid-fill-hex-expected.checksum: Replaced.
        * platform/mac/svg/custom/invalid-fill-hex-expected.png: Replaced.
        * platform/mac/svg/custom/invisible-text-after-scrolling-expected.checksum: Replaced.
        * platform/mac/svg/custom/invisible-text-after-scrolling-expected.png: Replaced.
        * platform/mac/svg/custom/percentage-of-html-parent-expected.checksum: Replaced.
        * platform/mac/svg/custom/percentage-of-html-parent-expected.png: Replaced.
        * platform/mac/svg/custom/pointer-events-image-expected.checksum: Replaced.
        * platform/mac/svg/custom/pointer-events-image-expected.png: Replaced.
        * platform/mac/svg/custom/pointer-events-text-expected.checksum: Replaced.
        * platform/mac/svg/custom/pointer-events-text-expected.png: Replaced.
        * platform/mac/svg/custom/relative-sized-content-expected.checksum: Replaced.
        * platform/mac/svg/custom/relative-sized-content-expected.png: Replaced.
        * platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum: Replaced.
        * platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.png: Replaced.
        * platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.checksum: Replaced.
        * platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.png: Replaced.
        * platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.checksum: Replaced.
        * platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Replaced.
        * platform/mac/svg/custom/rootmost-svg-xy-attrs-expected.checksum: Replaced.
        * platform/mac/svg/custom/rootmost-svg-xy-attrs-expected.png: Replaced.
        * platform/mac/svg/custom/shape-rendering-expected.checksum: Replaced.
        * platform/mac/svg/custom/shape-rendering-expected.png: Replaced.
        * platform/mac/svg/custom/stroke-fallback-expected.checksum: Replaced.
        * platform/mac/svg/custom/stroke-fallback-expected.png: Replaced.
        * platform/mac/svg/custom/svg-float-border-padding-expected.checksum: Replaced.
        * platform/mac/svg/custom/svg-float-border-padding-expected.png: Replaced.
        * platform/mac/svg/filters/feGaussianBlur-expected.checksum: Replaced.
        * platform/mac/svg/filters/feGaussianBlur-expected.png: Replaced.
        * platform/mac/svg/filters/shadow-on-filter-expected.checksum: Replaced.
        * platform/mac/svg/filters/shadow-on-filter-expected.png: Replaced.
        * platform/mac/svg/hixie/links/003-broken-expected.checksum:
        * platform/mac/svg/hixie/links/003-broken-expected.png:
        * platform/mac/svg/text/kerning-expected.checksum: Replaced.
        * platform/mac/svg/text/kerning-expected.png: Replaced.
        * platform/mac/svg/text/multichar-glyph-expected.checksum: Replaced.
        * platform/mac/svg/text/multichar-glyph-expected.png: Replaced.
        * platform/mac/svg/text/text-repaint-rects-expected.checksum: Replaced.
        * platform/mac/svg/text/text-repaint-rects-expected.png: Replaced.

2010-05-21  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Implement tiled compositing layers on Windows
        https://bugs.webkit.org/show_bug.cgi?id=39461
        
        These tests show several capabilities, including simple huge layers,
        resizing from small to huge and back again, huge layers with
        layer children, resizing huge layers with layer children and 
        adding and removing children from huge layers.
        
        Expected results are of the resulting compositing layer tree so
        they are Windows specific. General results will be needed for Mac.

        * compositing/huge-layer-add-remove-child.html: Added.
        * compositing/huge-layer-resize.html: Added.
        * compositing/huge-layer-with-layer-children-resize.html: Added.
        * compositing/huge-layer-with-layer-children.html: Added.
        * compositing/huge-layer.html: Added.
        * platform/win/compositing/huge-layer-add-remove-child-expected.txt: Added.
        * platform/win/compositing/huge-layer-expected.txt: Added.
        * platform/win/compositing/huge-layer-resize-expected.txt: Added.
        * platform/win/compositing/huge-layer-with-layer-children-expected.txt: Added.
        * platform/win/compositing/huge-layer-with-layer-children-resize-expected.txt: Added.

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

        Reviewed by Darin Adler.

        Added a test for a typo in my last commit.
        https://bugs.webkit.org/show_bug.cgi?id=39518

        * inspector/arobens-test-expected.txt: Added.
        * inspector/arobens-test.html: Added. Verify that the first script
        evaluation doesn't stomp over the bit of state saying that we're
        a nested script evaluation.

2010-05-21  Julie Parent  <jparent@chromium.org>

        Unreviewed.  Updating test expectations for chromium due to http://trac.webkit.org/changeset/59968.

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

2010-05-21  Julie Parent  <jparent@chromium.org>

        Unreviewed.

        Updating Chromium test_expectations to mark drop-link test as failing in win debug.

        * platform/chromium/test_expectations.txt:

2010-05-21  Victor Wang  <victorw@chromium.org>

        Unreviewed. Update test expectations for chromium.

        * platform/chromium-linux/fast/lists/alpha-boundary-values-expected.checksum: Added.
        * platform/chromium-linux/fast/lists/alpha-boundary-values-expected.png: Added.
        * platform/chromium-mac/fast/lists/alpha-boundary-values-expected.checksum: Added.
        * platform/chromium-mac/fast/lists/alpha-boundary-values-expected.png: Added.
        * platform/chromium-win/fast/lists/alpha-boundary-values-expected.checksum: Added.
        * platform/chromium-win/fast/lists/alpha-boundary-values-expected.png: Added.
        * platform/chromium-win/fast/lists/alpha-boundary-values-expected.txt: Added.

2010-05-21  Julie Parent  <jparent@chromium.org>

        Unreviewed.

        Updating Chromium test_expectations to mark two websockets tests as failing in debug mode.

        * platform/chromium/test_expectations.txt:

2010-05-21  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Skip failing test until fix.

        [Qt] need an implementation of LayoutTestController::computedStyleIncludingVisitedInfo
        https://bugs.webkit.org/show_bug.cgi?id=37759

        The implementation of LayoutTestController::computedStyleIncludingVisitedInfo
        is incorrect now, this bug was revealed by r59956.

        * platform/qt/Skipped: fast/history/self-is-visited.html skipped.

2010-05-21  Jer Noble  <jer.noble@apple.com>

        Reviewed by Anders Carlsson.

        Disable full-screen video on Windows
        https://bugs.webkit.org/show_bug.cgi?id=39506
        rdar://problem/8012516

        Disable full-screen video through MediaPlayerPrivateVisualContext since
        we no longer use GWorlds and QuickTime's built in full-screen support.
        
        Media layout tests updated with new expected results.        

        * platform/win/media/controls-after-reload-expected.txt:
        * platform/win/media/controls-drag-timebar-expected.txt:
        * platform/win/media/controls-strict-expected.txt:
        * platform/win/media/controls-styling-expected.txt:
        * platform/win/media/video-controls-rendering-expected.txt:
        * platform/win/media/video-display-toggle-expected.txt:
        * platform/win/media/video-no-audio-expected.txt:

2010-05-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Avoid creating huge tiled layers with accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=39515
        
        New test with two large composited layers.

        * compositing/geometry/huge-layer-expected.txt: Added.
        * compositing/geometry/huge-layer.html: Added.

2010-05-21  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Updated test results, added web sockets lines.

        * platform/gtk/fast/dom/prototype-inheritance-expected.txt:

2010-05-14  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Eric Seidel.

        Import Philip Taylor's HTML5 <canavs> test suite from
        http://philip.html5.org/tests/canvas/suite/tests. These
        test cases are skipped for now.
        https://bugs.webkit.org/show_bug.cgi?id=20553

        * fast/canvas/philip: Added.
        * fast/canvas/philip/fonts: Added.
        * fast/canvas/philip/fonts/CanvasTest.sfd: Added.
        * fast/canvas/philip/fonts/CanvasTest.ttf: Added.
        * fast/canvas/philip/images: Added.
        * fast/canvas/philip/images/anim-gr.gif: Added.
        * fast/canvas/philip/images/anim-gr.png: Added.
        * fast/canvas/philip/images/anim-poster-gr.png: Added.
        * fast/canvas/philip/images/background.png: Added.
        * fast/canvas/philip/images/broken.png: Added.
        * fast/canvas/philip/images/ggrr-256x256.png: Added.
        * fast/canvas/philip/images/green-16x16.png: Added.
        * fast/canvas/philip/images/green-1x1.png: Added.
        * fast/canvas/philip/images/green-256x256.png: Added.
        * fast/canvas/philip/images/green-2x2.png: Added.
        * fast/canvas/philip/images/green.png: Added.
        * fast/canvas/philip/images/grgr-256x256.png: Added.
        * fast/canvas/philip/images/red-16x16.png: Added.
        * fast/canvas/philip/images/red.png: Added.
        * fast/canvas/philip/images/redtransparent.png: Added.
        * fast/canvas/philip/images/rgrg-256x256.png: Added.
        * fast/canvas/philip/images/rrgg-256x256.png: Added.
        * fast/canvas/philip/images/transparent.png: Added.
        * fast/canvas/philip/images/transparent50.png: Added.
        * fast/canvas/philip/images/yellow.png: Added.
        * fast/canvas/philip/images/yellow75.png: Added.
        * fast/canvas/philip/tests: Added.
        * fast/canvas/philip/tests.css: Added.
        * fast/canvas/philip/tests/.reportgen.html.swp: Added.
        * fast/canvas/philip/tests/.reportgen.js.swp: Added.
        * fast/canvas/philip/tests/2d.canvas.readonly.html: Added.
        * fast/canvas/philip/tests/2d.canvas.reference.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.basic.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.clip.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.globalalpha.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.globalcomposite.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.negative.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.path.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.shadow.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.transform.html: Added.
        * fast/canvas/philip/tests/2d.clearRect.zero.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.destination-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.lighter.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.lighter.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.source-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.xor.html: Added.
        * fast/canvas/philip/tests/2d.composite.canvas.xor.png: Added.
        * fast/canvas/philip/tests/2d.composite.clip.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.destination-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.destination-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.lighter.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.source-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.source-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.clip.xor.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.canvas.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.canvaspattern.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.default.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.fill.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.image.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.imagepattern.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.invalid.html: Added.
        * fast/canvas/philip/tests/2d.composite.globalAlpha.range.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.destination-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.lighter.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.lighter.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.source-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.image.xor.html: Added.
        * fast/canvas/philip/tests/2d.composite.image.xor.png: Added.
        * fast/canvas/philip/tests/2d.composite.operation.casesensitive.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.clear.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.darker.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.default.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.get.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.highlight.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.nullsuffix.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.over.html: Added.
        * fast/canvas/philip/tests/2d.composite.operation.unrecognised.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.destination-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.lighter.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.lighter.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.source-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.solid.xor.html: Added.
        * fast/canvas/philip/tests/2d.composite.solid.xor.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.destination-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.lighter.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.lighter.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-over.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.source-over.png: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.xor.html: Added.
        * fast/canvas/philip/tests/2d.composite.transparent.xor.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.fill.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.image.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.nocontext.source-out.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.copy.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.copy.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.destination-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-in.png: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.html: Added.
        * fast/canvas/philip/tests/2d.composite.uncovered.pattern.source-out.png: Added.
        * fast/canvas/philip/tests/2d.coordinatespace.html: Added.
        * fast/canvas/philip/tests/2d.coordinatespace.png: Added.
        * fast/canvas/philip/tests/2d.drawImage.3arg.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.5arg.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.9arg.basic.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.9arg.destpos.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.9arg.destsize.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.9arg.sourcepos.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.9arg.sourcesize.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.alpha.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.animated.apng.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.animated.gif.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.animated.poster.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.broken.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.canvas.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.clip.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.composite.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.floatsource.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.incomplete.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.negativedest.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.negativedir.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.negativesource.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.nowrap.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.null.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.outsidesource.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.path.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.self.1.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.self.2.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.transform.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.wrongtype.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.zerocanvas.html: Added.
        * fast/canvas/philip/tests/2d.drawImage.zerosource.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.basic.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.clip.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.negative.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.path.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.shadow.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.transform.html: Added.
        * fast/canvas/philip/tests/2d.fillRect.zero.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.default.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.get.semitransparent.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.get.solid.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.get.transparent.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.invalidstring.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.invalidtype.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.basic.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.changed.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.removed.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.current.removed.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex3.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex6.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hex6.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-3.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-4.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-5.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-3.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsl-clamp-4.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-3.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-4.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-5.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-6.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.hsla-clamp-6.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.html4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.html4.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex6.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex7.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hex8.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsl-5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsla-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.hsla-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.name-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.name-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.name-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-6.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgb-7.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-3.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-3.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-4.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-4.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-5.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-clamp-5.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-num.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-num.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-percent.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgb-percent.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-clamp-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-num-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-percent.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-percent.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.rgba-solid-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.svg-2.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.system.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-1.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-1.png: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-2.html: Added.
        * fast/canvas/philip/tests/2d.fillStyle.parse.transparent-2.png: Added.
        * fast/canvas/philip/tests/2d.getcontext.exists.html: Added.
        * fast/canvas/philip/tests/2d.getcontext.shared.html: Added.
        * fast/canvas/philip/tests/2d.getcontext.unique.html: Added.
        * fast/canvas/philip/tests/2d.gradient.empty.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.alpha.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.alpha.png: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colour.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colour.png: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colouralpha.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.colouralpha.png: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.multiple.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.multiple.png: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.outside.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.overlap.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.overlap.png: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.overlap2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.solid.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.vertical.html: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.vertical.png: Added.
        * fast/canvas/philip/tests/2d.gradient.interpolate.zerosize.html: Added.
        * fast/canvas/philip/tests/2d.gradient.linear.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.gradient.linear.transform.1.html: Added.
        * fast/canvas/philip/tests/2d.gradient.linear.transform.2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.linear.transform.3.html: Added.
        * fast/canvas/philip/tests/2d.gradient.object.compare.html: Added.
        * fast/canvas/philip/tests/2d.gradient.object.crosscanvas.html: Added.
        * fast/canvas/philip/tests/2d.gradient.object.invalidcolour.html: Added.
        * fast/canvas/philip/tests/2d.gradient.object.invalidoffset.html: Added.
        * fast/canvas/philip/tests/2d.gradient.object.return.html: Added.
        * fast/canvas/philip/tests/2d.gradient.object.update.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.behind.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.beside.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.bottom.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.cylinder.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.front.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.shape1.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.shape2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.cone.top.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.equal.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.inside1.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.inside2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.inside3.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.negative.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.outside1.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.outside2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.outside3.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.touch1.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.touch2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.touch3.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.transform.1.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.transform.2.html: Added.
        * fast/canvas/philip/tests/2d.gradient.radial.transform.3.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create1.basic.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create1.initial.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create1.type.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create1.zero.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.basic.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.initial.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.large.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.negative.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.round.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.tiny.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.type.html: Added.
        * fast/canvas/philip/tests/2d.imageData.create2.zero.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.basic.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.clamp.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.length.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.nonpremul.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.order.alpha.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.order.cols.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.order.rgb.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.order.rows.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.range.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.source.negative.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.source.outside.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.source.size.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.tiny.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.type.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.imageData.get.zero.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.ctor.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.nan.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.properties.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.readonly.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.round.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.set.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.string.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.undefined.html: Added.
        * fast/canvas/philip/tests/2d.imageData.object.wrap.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.alpha.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.alpha.png: Added.
        * fast/canvas/philip/tests/2d.imageData.put.basic.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.clip.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.created.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.cross.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.negative.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.outside.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.rect1.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.rect2.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.dirty.zero.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.modified.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.null.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.path.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.unchanged.html: Added.
        * fast/canvas/philip/tests/2d.imageData.put.wrongtype.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.butt.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.closed.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.invalid.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.open.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.round.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.square.html: Added.
        * fast/canvas/philip/tests/2d.line.cap.valid.html: Added.
        * fast/canvas/philip/tests/2d.line.cross.html: Added.
        * fast/canvas/philip/tests/2d.line.defaults.html: Added.
        * fast/canvas/philip/tests/2d.line.join.bevel.html: Added.
        * fast/canvas/philip/tests/2d.line.join.closed.html: Added.
        * fast/canvas/philip/tests/2d.line.join.invalid.html: Added.
        * fast/canvas/philip/tests/2d.line.join.miter.html: Added.
        * fast/canvas/philip/tests/2d.line.join.open.html: Added.
        * fast/canvas/philip/tests/2d.line.join.parallel.html: Added.
        * fast/canvas/philip/tests/2d.line.join.round.html: Added.
        * fast/canvas/philip/tests/2d.line.join.valid.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.acute.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.exceeded.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.invalid.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.lineedge.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.obtuse.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.rightangle.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.valid.html: Added.
        * fast/canvas/philip/tests/2d.line.miter.within.html: Added.
        * fast/canvas/philip/tests/2d.line.union.html: Added.
        * fast/canvas/philip/tests/2d.line.width.basic.html: Added.
        * fast/canvas/philip/tests/2d.line.width.invalid.html: Added.
        * fast/canvas/philip/tests/2d.line.width.scaledefault.html: Added.
        * fast/canvas/philip/tests/2d.line.width.transformed.html: Added.
        * fast/canvas/philip/tests/2d.line.width.valid.html: Added.
        * fast/canvas/philip/tests/2d.missingargs.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.angle.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.angle.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.angle.3.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.angle.4.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.angle.5.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.angle.6.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.empty.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.end.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.negative.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.nonempty.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.scale.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.scale.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.selfintersect.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.selfintersect.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.shape.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.shape.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.shape.3.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.shape.4.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.shape.5.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.twopie.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.twopie.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.twopie.3.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.twopie.4.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.zero.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.zero.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arc.zeroradius.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.coincide.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.coincide.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.collinear.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.collinear.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.collinear.3.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.ensuresubpath.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.ensuresubpath.2.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.negative.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.scale.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.curve1.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.curve2.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.end.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.shape.start.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.transformation.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.zero.1.html: Added.
        * fast/canvas/philip/tests/2d.path.arcTo.zero.2.html: Added.
        * fast/canvas/philip/tests/2d.path.beginPath.html: Added.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.ensuresubpath.1.html: Added.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.ensuresubpath.2.html: Added.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.scaled.html: Added.
        * fast/canvas/philip/tests/2d.path.bezierCurveTo.shape.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.basic.1.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.basic.2.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.empty.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.intersect.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.winding.1.html: Added.
        * fast/canvas/philip/tests/2d.path.clip.winding.2.html: Added.
        * fast/canvas/philip/tests/2d.path.closePath.empty.html: Added.
        * fast/canvas/philip/tests/2d.path.closePath.newline.html: Added.
        * fast/canvas/philip/tests/2d.path.closePath.nextpoint.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.closed.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.closed.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.overlap.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.overlap.png: Added.
        * fast/canvas/philip/tests/2d.path.fill.winding.add.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.winding.subtract.1.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.winding.subtract.2.html: Added.
        * fast/canvas/philip/tests/2d.path.fill.winding.subtract.3.html: Added.
        * fast/canvas/philip/tests/2d.path.initial.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.arc.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.basic.1.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.basic.2.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.bezier.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.bigarc.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.edge.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.empty.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.outside.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.subpath.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.transform.1.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.transform.2.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.transform.3.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.unclosed.html: Added.
        * fast/canvas/philip/tests/2d.path.isPointInPath.winding.html: Added.
        * fast/canvas/philip/tests/2d.path.lineTo.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.lineTo.ensuresubpath.1.html: Added.
        * fast/canvas/philip/tests/2d.path.lineTo.ensuresubpath.2.html: Added.
        * fast/canvas/philip/tests/2d.path.lineTo.nextpoint.html: Added.
        * fast/canvas/philip/tests/2d.path.lineTo.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.moveTo.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.moveTo.multiple.html: Added.
        * fast/canvas/philip/tests/2d.path.moveTo.newsubpath.html: Added.
        * fast/canvas/philip/tests/2d.path.moveTo.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.ensuresubpath.1.html: Added.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.ensuresubpath.2.html: Added.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.scaled.html: Added.
        * fast/canvas/philip/tests/2d.path.quadraticCurveTo.shape.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.closed.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.end.1.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.end.2.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.negative.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.newsubpath.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.selfintersect.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.winding.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.zero.1.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.zero.2.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.zero.3.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.zero.4.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.zero.5.html: Added.
        * fast/canvas/philip/tests/2d.path.rect.zero.6.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.empty.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.overlap.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.overlap.png: Added.
        * fast/canvas/philip/tests/2d.path.stroke.prune.arc.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.prune.closed.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.prune.corner.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.prune.curve.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.prune.line.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.prune.rect.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.scale1.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.scale2.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.skew.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.path.stroke.union.html: Added.
        * fast/canvas/philip/tests/2d.path.transformation.basic.html: Added.
        * fast/canvas/philip/tests/2d.path.transformation.changing.html: Added.
        * fast/canvas/philip/tests/2d.path.transformation.multiple.html: Added.
        * fast/canvas/philip/tests/2d.pattern.animated.gif.html: Added.
        * fast/canvas/philip/tests/2d.pattern.basic.canvas.html: Added.
        * fast/canvas/philip/tests/2d.pattern.basic.image.html: Added.
        * fast/canvas/philip/tests/2d.pattern.basic.nocontext.html: Added.
        * fast/canvas/philip/tests/2d.pattern.basic.type.html: Added.
        * fast/canvas/philip/tests/2d.pattern.basic.zerocanvas.html: Added.
        * fast/canvas/philip/tests/2d.pattern.crosscanvas.html: Added.
        * fast/canvas/philip/tests/2d.pattern.image.broken.html: Added.
        * fast/canvas/philip/tests/2d.pattern.image.incomplete.html: Added.
        * fast/canvas/philip/tests/2d.pattern.image.null.html: Added.
        * fast/canvas/philip/tests/2d.pattern.image.string.html: Added.
        * fast/canvas/philip/tests/2d.pattern.image.undefined.html: Added.
        * fast/canvas/philip/tests/2d.pattern.modify.canvas1.html: Added.
        * fast/canvas/philip/tests/2d.pattern.modify.canvas2.html: Added.
        * fast/canvas/philip/tests/2d.pattern.modify.image1.html: Added.
        * fast/canvas/philip/tests/2d.pattern.modify.image2.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.basic.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.coord1.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.coord2.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.coord3.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.norepeat.outside.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.orientation.canvas.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.orientation.image.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.basic.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.coord1.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.coord2.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.coord3.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeat.outside.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeatx.basic.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeatx.coord1.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeatx.outside.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeaty.basic.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeaty.coord1.html: Added.
        * fast/canvas/philip/tests/2d.pattern.paint.repeaty.outside.html: Added.
        * fast/canvas/philip/tests/2d.pattern.repeat.case.html: Added.
        * fast/canvas/philip/tests/2d.pattern.repeat.empty.html: Added.
        * fast/canvas/philip/tests/2d.pattern.repeat.null.html: Added.
        * fast/canvas/philip/tests/2d.pattern.repeat.nullsuffix.html: Added.
        * fast/canvas/philip/tests/2d.pattern.repeat.undefined.html: Added.
        * fast/canvas/philip/tests/2d.pattern.repeat.unrecognised.html: Added.
        * fast/canvas/philip/tests/2d.scaled.html: Added.
        * fast/canvas/philip/tests/2d.scaled.png: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.2.png: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.3.html: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.3.png: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.4.html: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.4.png: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.5.html: Added.
        * fast/canvas/philip/tests/2d.shadow.alpha.5.png: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowBlur.initial.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowBlur.invalid.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowBlur.valid.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowColor.initial.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowColor.invalid.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowColor.valid.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowOffset.initial.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowOffset.invalid.html: Added.
        * fast/canvas/philip/tests/2d.shadow.attributes.shadowOffset.valid.html: Added.
        * fast/canvas/philip/tests/2d.shadow.blur.high.html: Added.
        * fast/canvas/philip/tests/2d.shadow.blur.high.png: Added.
        * fast/canvas/philip/tests/2d.shadow.blur.low.html: Added.
        * fast/canvas/philip/tests/2d.shadow.blur.low.png: Added.
        * fast/canvas/philip/tests/2d.shadow.canvas.alpha.html: Added.
        * fast/canvas/philip/tests/2d.shadow.canvas.alpha.png: Added.
        * fast/canvas/philip/tests/2d.shadow.canvas.basic.html: Added.
        * fast/canvas/philip/tests/2d.shadow.canvas.transparent.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.canvas.transparent.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.clip.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.clip.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.clip.3.html: Added.
        * fast/canvas/philip/tests/2d.shadow.composite.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.composite.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.composite.3.html: Added.
        * fast/canvas/philip/tests/2d.shadow.enable.blur.html: Added.
        * fast/canvas/philip/tests/2d.shadow.enable.off.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.enable.off.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.enable.x.html: Added.
        * fast/canvas/philip/tests/2d.shadow.enable.y.html: Added.
        * fast/canvas/philip/tests/2d.shadow.gradient.alpha.html: Added.
        * fast/canvas/philip/tests/2d.shadow.gradient.alpha.png: Added.
        * fast/canvas/philip/tests/2d.shadow.gradient.basic.html: Added.
        * fast/canvas/philip/tests/2d.shadow.gradient.transparent.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.gradient.transparent.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.image.alpha.html: Added.
        * fast/canvas/philip/tests/2d.shadow.image.alpha.png: Added.
        * fast/canvas/philip/tests/2d.shadow.image.basic.html: Added.
        * fast/canvas/philip/tests/2d.shadow.image.scale.html: Added.
        * fast/canvas/philip/tests/2d.shadow.image.section.html: Added.
        * fast/canvas/philip/tests/2d.shadow.image.transparent.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.image.transparent.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.offset.negativeX.html: Added.
        * fast/canvas/philip/tests/2d.shadow.offset.negativeY.html: Added.
        * fast/canvas/philip/tests/2d.shadow.offset.positiveX.html: Added.
        * fast/canvas/philip/tests/2d.shadow.offset.positiveY.html: Added.
        * fast/canvas/philip/tests/2d.shadow.outside.html: Added.
        * fast/canvas/philip/tests/2d.shadow.pattern.alpha.html: Added.
        * fast/canvas/philip/tests/2d.shadow.pattern.alpha.png: Added.
        * fast/canvas/philip/tests/2d.shadow.pattern.basic.html: Added.
        * fast/canvas/philip/tests/2d.shadow.pattern.transparent.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.pattern.transparent.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.stroke.basic.html: Added.
        * fast/canvas/philip/tests/2d.shadow.stroke.cap.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.stroke.cap.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.stroke.join.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.stroke.join.2.html: Added.
        * fast/canvas/philip/tests/2d.shadow.stroke.join.3.html: Added.
        * fast/canvas/philip/tests/2d.shadow.transform.1.html: Added.
        * fast/canvas/philip/tests/2d.shadow.transform.2.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.bitmap.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.clip.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.fillStyle.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.font.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.globalAlpha.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.globalCompositeOperation.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.lineCap.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.lineJoin.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.lineWidth.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.miterLimit.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.path.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowBlur.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowColor.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowOffsetX.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.shadowOffsetY.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.stack.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.stackdepth.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.strokeStyle.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.textAlign.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.textBaseline.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.transformation.html: Added.
        * fast/canvas/philip/tests/2d.state.saverestore.underflow.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.basic.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.clip.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.globalalpha.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.globalcomposite.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.negative.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.path.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.shadow.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.transform.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.zero.1.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.zero.2.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.zero.3.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.zero.4.html: Added.
        * fast/canvas/philip/tests/2d.strokeRect.zero.5.html: Added.
        * fast/canvas/philip/tests/2d.strokeStyle.default.html: Added.
        * fast/canvas/philip/tests/2d.text.align.default.html: Added.
        * fast/canvas/philip/tests/2d.text.align.invalid.html: Added.
        * fast/canvas/philip/tests/2d.text.align.valid.html: Added.
        * fast/canvas/philip/tests/2d.text.baseline.default.html: Added.
        * fast/canvas/philip/tests/2d.text.baseline.invalid.html: Added.
        * fast/canvas/philip/tests/2d.text.baseline.valid.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.center.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.end.ltr.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.end.rtl.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.left.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.right.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.start.ltr.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.align.start.rtl.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.baseline.alphabetic.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.baseline.bottom.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.baseline.hanging.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.baseline.ideographic.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.baseline.middle.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.baseline.top.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.basic.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.basic.png: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.bound.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.large.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.large.png: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.small.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.maxWidth.zero.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.rtl.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.rtl.png: Added.
        * fast/canvas/philip/tests/2d.text.draw.fill.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fontface.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fontface.notinpage.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.fontface.repeat.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.kern.consistent.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.space.basic.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.end.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.nonspace.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.other.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.space.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.space.collapse.start.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.stroke.basic.html: Added.
        * fast/canvas/philip/tests/2d.text.draw.stroke.basic.png: Added.
        * fast/canvas/philip/tests/2d.text.draw.stroke.unaffected.html: Added.
        * fast/canvas/philip/tests/2d.text.font.default.html: Added.
        * fast/canvas/philip/tests/2d.text.font.parse.basic.html: Added.
        * fast/canvas/philip/tests/2d.text.font.parse.complex.html: Added.
        * fast/canvas/philip/tests/2d.text.font.parse.invalid.html: Added.
        * fast/canvas/philip/tests/2d.text.font.parse.size.percentage.default.html: Added.
        * fast/canvas/philip/tests/2d.text.font.parse.size.percentage.html: Added.
        * fast/canvas/philip/tests/2d.text.font.parse.system.html: Added.
        * fast/canvas/philip/tests/2d.text.measure.width.basic.html: Added.
        * fast/canvas/philip/tests/2d.text.measure.width.empty.html: Added.
        * fast/canvas/philip/tests/2d.text.measure.width.space.html: Added.
        * fast/canvas/philip/tests/2d.transformation.order.html: Added.
        * fast/canvas/philip/tests/2d.transformation.rotate.direction.html: Added.
        * fast/canvas/philip/tests/2d.transformation.rotate.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.transformation.rotate.radians.html: Added.
        * fast/canvas/philip/tests/2d.transformation.rotate.wrap.html: Added.
        * fast/canvas/philip/tests/2d.transformation.rotate.wrapnegative.html: Added.
        * fast/canvas/philip/tests/2d.transformation.rotate.zero.html: Added.
        * fast/canvas/philip/tests/2d.transformation.scale.basic.html: Added.
        * fast/canvas/philip/tests/2d.transformation.scale.large.html: Added.
        * fast/canvas/philip/tests/2d.transformation.scale.multiple.html: Added.
        * fast/canvas/philip/tests/2d.transformation.scale.negative.html: Added.
        * fast/canvas/philip/tests/2d.transformation.scale.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.transformation.scale.zero.html: Added.
        * fast/canvas/philip/tests/2d.transformation.setTransform.multiple.html: Added.
        * fast/canvas/philip/tests/2d.transformation.setTransform.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.transformation.setTransform.skewed.html: Added.
        * fast/canvas/philip/tests/2d.transformation.transform.identity.html: Added.
        * fast/canvas/philip/tests/2d.transformation.transform.multiply.html: Added.
        * fast/canvas/philip/tests/2d.transformation.transform.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.transformation.transform.skewed.html: Added.
        * fast/canvas/philip/tests/2d.transformation.translate.basic.html: Added.
        * fast/canvas/philip/tests/2d.transformation.translate.nonfinite.html: Added.
        * fast/canvas/philip/tests/2d.voidreturn.html: Added.
        * fast/canvas/philip/tests/clear-100x50.png: Added.
        * fast/canvas/philip/tests/context.casesensitive.html: Added.
        * fast/canvas/philip/tests/context.emptystring.html: Added.
        * fast/canvas/philip/tests/context.unrecognised.badname.html: Added.
        * fast/canvas/philip/tests/context.unrecognised.badsuffix.html: Added.
        * fast/canvas/philip/tests/context.unrecognised.nullsuffix.html: Added.
        * fast/canvas/philip/tests/context.unrecognised.unicode.html: Added.
        * fast/canvas/philip/tests/fallback.basic.html: Added.
        * fast/canvas/philip/tests/fallback.multiple.html: Added.
        * fast/canvas/philip/tests/fallback.nested.html: Added.
        * fast/canvas/philip/tests/green-100x50.png: Added.
        * fast/canvas/philip/tests/initial.colour.html: Added.
        * fast/canvas/philip/tests/initial.colour.png: Added.
        * fast/canvas/philip/tests/initial.reset.2dstate.html: Added.
        * fast/canvas/philip/tests/initial.reset.clip.html: Added.
        * fast/canvas/philip/tests/initial.reset.different.html: Added.
        * fast/canvas/philip/tests/initial.reset.different.png: Added.
        * fast/canvas/philip/tests/initial.reset.gradient.html: Added.
        * fast/canvas/philip/tests/initial.reset.path.html: Added.
        * fast/canvas/philip/tests/initial.reset.path.png: Added.
        * fast/canvas/philip/tests/initial.reset.pattern.html: Added.
        * fast/canvas/philip/tests/initial.reset.same.html: Added.
        * fast/canvas/philip/tests/initial.reset.same.png: Added.
        * fast/canvas/philip/tests/initial.reset.transform.html: Added.
        * fast/canvas/philip/tests/security.dataURI.html: Added.
        * fast/canvas/philip/tests/security.drawImage.canvas.html: Added.
        * fast/canvas/philip/tests/security.drawImage.image.html: Added.
        * fast/canvas/philip/tests/security.pattern.canvas.fillStyle.html: Added.
        * fast/canvas/philip/tests/security.pattern.canvas.strokeStyle.html: Added.
        * fast/canvas/philip/tests/security.pattern.canvas.timing.html: Added.
        * fast/canvas/philip/tests/security.pattern.create.html: Added.
        * fast/canvas/philip/tests/security.pattern.cross.html: Added.
        * fast/canvas/philip/tests/security.pattern.image.fillStyle.html: Added.
        * fast/canvas/philip/tests/security.pattern.image.strokeStyle.html: Added.
        * fast/canvas/philip/tests/security.reset.html: Added.
        * fast/canvas/philip/tests/size.attributes.default.html: Added.
        * fast/canvas/philip/tests/size.attributes.default.png: Added.
        * fast/canvas/philip/tests/size.attributes.get.html: Added.
        * fast/canvas/philip/tests/size.attributes.get.png: Added.
        * fast/canvas/philip/tests/size.attributes.idl.html: Added.
        * fast/canvas/philip/tests/size.attributes.idl.set.zero.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.decimal.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.decimal.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.em.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.em.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.empty.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.empty.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.exp.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.exp.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.hex.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.junk.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.junk.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.minus.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.minus.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.octal.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.octal.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.onlyspace.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.onlyspace.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.percent.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.percent.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.plus.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.plus.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.space.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.space.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.trailingjunk.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.trailingjunk.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.whitespace.html: Added.
        * fast/canvas/philip/tests/size.attributes.parse.whitespace.png: Added.
        * fast/canvas/philip/tests/size.attributes.parse.zero.html: Added.
        * fast/canvas/philip/tests/size.attributes.reflect.setcontent.html: Added.
        * fast/canvas/philip/tests/size.attributes.reflect.setcontent.png: Added.
        * fast/canvas/philip/tests/size.attributes.reflect.setidl.html: Added.
        * fast/canvas/philip/tests/size.attributes.reflect.setidl.png: Added.
        * fast/canvas/philip/tests/size.attributes.reflect.setidlzero.html: Added.
        * fast/canvas/philip/tests/size.attributes.removed.html: Added.
        * fast/canvas/philip/tests/size.attributes.removed.png: Added.
        * fast/canvas/philip/tests/size.attributes.set.html: Added.
        * fast/canvas/philip/tests/size.attributes.set.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.decimal.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.decimal.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.em.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.em.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.empty.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.empty.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.exp.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.exp.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.hex.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.junk.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.junk.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.minus.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.minus.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.octal.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.octal.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.onlyspace.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.onlyspace.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.percent.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.percent.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.plus.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.plus.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.space.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.space.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.trailingjunk.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.trailingjunk.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.whitespace.html: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.whitespace.png: Added.
        * fast/canvas/philip/tests/size.attributes.setAttribute.zero.html: Added.
        * fast/canvas/philip/tests/size.attributes.style.html: Added.
        * fast/canvas/philip/tests/size.attributes.style.png: Added.
        * fast/canvas/philip/tests/toDataURL.arguments.1.html: Added.
        * fast/canvas/philip/tests/toDataURL.arguments.2.html: Added.
        * fast/canvas/philip/tests/toDataURL.arguments.3.html: Added.
        * fast/canvas/philip/tests/toDataURL.bogustype.html: Added.
        * fast/canvas/philip/tests/toDataURL.default.html: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.alpha.html: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.alpha.png: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.primarycolours.html: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.primarycolours.png: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.basic.html: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.basic.png: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.notnumber.html: Added.
        * fast/canvas/philip/tests/toDataURL.jpeg.quality.outsiderange.html: Added.
        * fast/canvas/philip/tests/toDataURL.lowercase.ascii.html: Added.
        * fast/canvas/philip/tests/toDataURL.lowercase.unicode.html: Added.
        * fast/canvas/philip/tests/toDataURL.nocontext.html: Added.
        * fast/canvas/philip/tests/toDataURL.png.complexcolours.html: Added.
        * fast/canvas/philip/tests/toDataURL.png.complexcolours.png: Added.
        * fast/canvas/philip/tests/toDataURL.png.html: Added.
        * fast/canvas/philip/tests/toDataURL.png.primarycolours.html: Added.
        * fast/canvas/philip/tests/toDataURL.png.primarycolours.png: Added.
        * fast/canvas/philip/tests/toDataURL.unrecognised.html: Added.
        * fast/canvas/philip/tests/toDataURL.zerosize.html: Added.
        * fast/canvas/philip/tests/type.delete.html: Added.
        * fast/canvas/philip/tests/type.exists.html: Added.
        * fast/canvas/philip/tests/type.extend.html: Added.
        * fast/canvas/philip/tests/type.name.html: Added.
        * fast/canvas/philip/tests/type.prototype.html: Added.
        * fast/canvas/philip/tests/type.replace.html: Added.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-05-21  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Update Qt specific expected file after r59941.

        * platform/qt/fast/dom/prototype-inheritance-expected.txt: updated.

2010-05-21  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Updated test results.

        * platform/gtk/fast/dom/prototype-inheritance-expected.txt:

2010-05-21  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Test for <rdar://problem/8009118> Crash in WebCore::toAlphabetic() 
        while running MangleMe
        -and corresponding-
        https://bugs.webkit.org/show_bug.cgi?id=39508

        * fast/lists/alpha-boundary-values.html: Added.
        * platform/mac/fast/lists/alpha-boundary-values-expected.checksum: Added.
        * platform/mac/fast/lists/alpha-boundary-values-expected.png: Added.
        * platform/mac/fast/lists/alpha-boundary-values-expected.txt: Added.

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

        Reviewed by Geoffrey Garen.

        All callable objects should have a global object reference
        https://bugs.webkit.org/show_bug.cgi?id=39495

        Update expected results as we now give all function objects
        get their prototypes from the correct global object.

        * fast/dom/prototype-inheritance-expected.txt:

2010-05-21  Victor Wang  <victorw@chromium.org>

        Unremivewed. Update test expecations for chromium.

        * platform/chromium/test_expectations.txt:

2010-05-21  Robin Cao  <robin.cao@torchmobile.com.cn>

        Reviewed by Adam Roben.

        fast/dom/HTMLObjectElement/children-changed.html times out on Windows run-webkit-tests
        https://bugs.webkit.org/show_bug.cgi?id=31315

        * platform/win/Skipped: The test should pass now.

2010-05-21  Julie Parent  <jparent@chromium.org>

        Unreviewed.

        Updating Chromium test_expectations for newly added test, 
        svg/animations/animate-points.html which uses unsupported API.

        * platform/chromium/test_expectations.txt:

2010-05-21  Robin Cao  <robin.cao@torchmobile.com.cn>

        Reviewed by Eric Seidel.

        animateTransform does not work on gradientTransform
        https://bugs.webkit.org/show_bug.cgi?id=38115

        Tests if gradientTransform of a gradient is animateable.

        * svg/animations/animate-gradient-transform-expected.txt: Added.
        * svg/animations/animate-gradient-transform.html: Added.
        * svg/animations/script-tests/animate-gradient-transform.js: Added.
        (sample1):
        (sample2):
        (sample3):
        (executeTest):

2010-05-21  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow

        Geolocation LayoutTests should use standard template pattern
        https://bugs.webkit.org/show_bug.cgi?id=39301

        Renamed resources to script-tests, updated TEMPLATE.html to use standard
        js-test-post.js, ran make-script-test-wrappers and updated test scripts and
        expected results.

        * fast/dom/Geolocation/argument-types.html:
        * fast/dom/Geolocation/callback-exception-expected.txt:
        * fast/dom/Geolocation/callback-exception.html:
        * fast/dom/Geolocation/enabled.html:
        * fast/dom/Geolocation/error-expected.txt:
        * fast/dom/Geolocation/error.html:
        * fast/dom/Geolocation/maximum-age-expected.txt:
        * fast/dom/Geolocation/maximum-age.html:
        * fast/dom/Geolocation/notimer-after-unload.html:
        * fast/dom/Geolocation/permission-denied-already-clear-watch-expected.txt:
        * fast/dom/Geolocation/permission-denied-already-clear-watch.html:
        * fast/dom/Geolocation/permission-denied-already-error-expected.txt:
        * fast/dom/Geolocation/permission-denied-already-error.html:
        * fast/dom/Geolocation/permission-denied-already-success-expected.txt:
        * fast/dom/Geolocation/permission-denied-already-success.html:
        * fast/dom/Geolocation/permission-denied-expected.txt:
        * fast/dom/Geolocation/permission-denied-stops-watches-expected.txt:
        * fast/dom/Geolocation/permission-denied-stops-watches.html:
        * fast/dom/Geolocation/permission-denied.html:
        * fast/dom/Geolocation/position-string-expected.txt:
        * fast/dom/Geolocation/position-string.html:
        * fast/dom/Geolocation/reentrant-error-expected.txt:
        * fast/dom/Geolocation/reentrant-error.html:
        * fast/dom/Geolocation/reentrant-success-expected.txt:
        * fast/dom/Geolocation/reentrant-success.html:
        * fast/dom/Geolocation/resources: Removed.
        * fast/dom/Geolocation/resources/TEMPLATE.html: Removed.
        * fast/dom/Geolocation/resources/argument-types.js: Removed.
        * fast/dom/Geolocation/resources/callback-exception.js: Removed.
        * fast/dom/Geolocation/resources/enabled.js: Removed.
        * fast/dom/Geolocation/resources/error.js: Removed.
        * fast/dom/Geolocation/resources/js-test-post.js: Removed.
        * fast/dom/Geolocation/resources/maximum-age.js: Removed.
        * fast/dom/Geolocation/resources/notimer-after-unload.js: Removed.
        * fast/dom/Geolocation/resources/permission-denied-already-clear-watch.js: Removed.
        * fast/dom/Geolocation/resources/permission-denied-already-error.js: Removed.
        * fast/dom/Geolocation/resources/permission-denied-already-success.js: Removed.
        * fast/dom/Geolocation/resources/permission-denied-stops-watches.js: Removed.
        * fast/dom/Geolocation/resources/permission-denied.js: Removed.
        * fast/dom/Geolocation/resources/position-string.js: Removed.
        * fast/dom/Geolocation/resources/reentrant-error.js: Removed.
        * fast/dom/Geolocation/resources/reentrant-success.js: Removed.
        * fast/dom/Geolocation/resources/success.js: Removed.
        * fast/dom/Geolocation/resources/timeout-clear-watch.js: Removed.
        * fast/dom/Geolocation/resources/timeout-zero.js: Removed.
        * fast/dom/Geolocation/resources/timeout.js: Removed.
        * fast/dom/Geolocation/resources/watch.js: Removed.
        * fast/dom/Geolocation/script-tests: Copied from LayoutTests/fast/dom/Geolocation/resources.
        * fast/dom/Geolocation/script-tests/TEMPLATE.html:
        * fast/dom/Geolocation/script-tests/argument-types.js:
        * fast/dom/Geolocation/script-tests/callback-exception.js:
        * fast/dom/Geolocation/script-tests/enabled.js:
        * fast/dom/Geolocation/script-tests/error.js:
        * fast/dom/Geolocation/script-tests/js-test-post.js: Removed.
        * fast/dom/Geolocation/script-tests/maximum-age.js:
        * fast/dom/Geolocation/script-tests/notimer-after-unload.js:
        * fast/dom/Geolocation/script-tests/permission-denied-already-clear-watch.js:
        * fast/dom/Geolocation/script-tests/permission-denied-already-error.js:
        * fast/dom/Geolocation/script-tests/permission-denied-already-success.js:
        * fast/dom/Geolocation/script-tests/permission-denied-stops-watches.js:
        * fast/dom/Geolocation/script-tests/permission-denied.js:
        * fast/dom/Geolocation/script-tests/position-string.js:
        * fast/dom/Geolocation/script-tests/reentrant-error.js:
        * fast/dom/Geolocation/script-tests/reentrant-success.js:
        * fast/dom/Geolocation/script-tests/success.js:
        * fast/dom/Geolocation/script-tests/timeout-clear-watch.js:
        * fast/dom/Geolocation/script-tests/timeout-zero.js:
        * fast/dom/Geolocation/script-tests/timeout.js:
        * fast/dom/Geolocation/script-tests/watch.js:
        * fast/dom/Geolocation/success-expected.txt:
        * fast/dom/Geolocation/success.html:
        * fast/dom/Geolocation/timeout-clear-watch-expected.txt:
        * fast/dom/Geolocation/timeout-clear-watch.html:
        * fast/dom/Geolocation/timeout-expected.txt:
        * fast/dom/Geolocation/timeout-zero-expected.txt:
        * fast/dom/Geolocation/timeout-zero.html:
        * fast/dom/Geolocation/timeout.html:
        * fast/dom/Geolocation/watch-expected.txt:
        * fast/dom/Geolocation/watch.html:

2010-05-20  Tony Chang  <tony@chromium.org>

        Reviewed by Kent Tamura.

        escape link text when copying or dragging links on win or chromium
        https://bugs.webkit.org/show_bug.cgi?id=39413

        * editing/pasteboard/drop-link-expected.txt: Added.
        * editing/pasteboard/drop-link.html:
        * platform/chromium-linux/editing/pasteboard/drop-link-expected.checksum: Removed.
        * platform/chromium-linux/editing/pasteboard/drop-link-expected.png: Removed.
        * platform/chromium-linux/editing/pasteboard/drop-link-expected.txt: Removed.
        * platform/chromium-win/editing/pasteboard/drop-link-expected.checksum: Removed.
        * platform/chromium-win/editing/pasteboard/drop-link-expected.png: Removed.
        * platform/chromium-win/editing/pasteboard/drop-link-expected.txt: Removed.
        * platform/mac/editing/pasteboard/drop-link-expected.checksum: Removed.
        * platform/mac/editing/pasteboard/drop-link-expected.png: Removed.
        * platform/mac/editing/pasteboard/drop-link-expected.txt: Removed.

2010-05-20  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket handshake incompatible change in draft-hixie-thewebsocketprotocol-76
        https://bugs.webkit.org/show_bug.cgi?id=35572

        Fix LayoutTests for new WebSocket protocol.
        It requires https://bugs.webkit.org/show_bug.cgi?id=38034 to pass websocket tests.

        * websocket/tests/handshake-error-expected.txt: Update expected data.
        * websocket/tests/handshake-error_wsh.py: Without CRLF, the wsh will sends "ThisWillCauseHandshakeErrorHTTP/1.1 101 WebSocket Protocol Handshake\r\n", which is legal for the first line of draft 76 WebSocket opening handshake. (4.1 Opening Handhshake, step 28 to 30).  To fail handshake, it needs \r\n.
        * websocket/tests/long-invalid-header-expected.txt:  Originally, it expects Upgrade header after status line.  In draft 76, order is not important.  But "pppp..\r\n" would fail because it misses ":" (end of name) before \r.

2010-05-20  Victor Wang  <victorw@chromium.org>

        Unreviewed. Update test expectations for chromium.

        * platform/chromium-linux/fast/css/font-face-in-shadow-DOM-expected.checksum: Added.
        * platform/chromium-linux/fast/css/font-face-in-shadow-DOM-expected.png: Added.
        * platform/chromium-win/fast/css/font-face-in-shadow-DOM-expected.checksum: Added.
        * platform/chromium-win/fast/css/font-face-in-shadow-DOM-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-05-20  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        fast/canvas/webgl/texture-npot.html failed on leopard bot
        https://bugs.webkit.org/show_bug.cgi?id=39128

        * fast/canvas/webgl/texture-npot-expected.txt: Adding the failed test cases back.
        * fast/canvas/webgl/texture-npot.html:
        * platform/mac-leopard/Skipped: Skip texture-npot.html on leopard for now.

2010-05-20  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Map RGBA4/RGB5_A1 to RGBA and RGB565 to RGB in RenderbufferStorage
        https://bugs.webkit.org/show_bug.cgi?id=39077

        * fast/canvas/webgl/framebuffer-object-attachment-expected.txt: Add the test cases for color renderbuffer creation and attachment to framebuffer.
        * fast/canvas/webgl/framebuffer-object-attachment.html: Ditto.

2010-05-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/8007953> Textarea using custom font appears blank

        * fast/css/font-face-in-shadow-DOM.html: Added.
        * platform/mac/fast/css/font-face-in-shadow-DOM-expected.checksum: Added.
        * platform/mac/fast/css/font-face-in-shadow-DOM-expected.png: Added.
        * platform/mac/fast/css/font-face-in-shadow-DOM-expected.txt: Added.

2010-05-20  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

        Tests that use Geolocation.getCurrentPosition fail
        https://bugs.webkit.org/show_bug.cgi?id=39454

        * platform/gtk/Skipped: Skip failing tests until this bug is resolved.

2010-05-20  Victor Wang  <victorw@chromium.org>

        Unreviewed. Update test expectations for chromium.

        * platform/chromium-mac/svg/filters/feLighting-crash-expected.checksum: Added.
        * platform/chromium-mac/svg/filters/feLighting-crash-expected.png: Added.
        * platform/chromium-win/svg/filters/feLighting-crash-expected.checksum: Added.
        * platform/chromium-win/svg/filters/feLighting-crash-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-05-20  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Moving frame.src checks out of the bindings
        https://bugs.webkit.org/show_bug.cgi?id=37815

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-20  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

        https://bugs.webkit.org/show_bug.cgi?id=39388
        Re-enable geolocation tests on GTK+ now that this bug is closed.

        * platform/gtk/Skipped: Re-enable geolocation tests.

2010-05-20  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed.

        editingBehavior settings needs to be set back to a reasonable default between tests
        https://bugs.webkit.org/show_bug.cgi?id=39433

        I forgot to revert the expected results for this test after reverting it.

        * editing/selection/extend-selection-after-double-click-expected.txt:

2010-05-20  James Robinson  <jamesr@chromium.org>

        Reviewed by Eric Seidel.

        Tests putting focus into a textarea and setting display:none
        https://bugs.webkit.org/show_bug.cgi?id=39389

        * editing/selection/focus-and-display-none-expected.txt: Added.
        * editing/selection/focus-and-display-none.html: Added.

2010-05-20  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Ojan Vafai.

        editingBehavior settings needs to be set back to a reasonable default between tests
        https://bugs.webkit.org/show_bug.cgi?id=39433

        Revert the changes from r59840 to this test until there is a method
        in the WebKit APIs to consistently reset the editingBehavior setting
        to a reasonable default.

        * editing/selection/extend-selection-after-double-click.html: Revert previous changes to this test.
2010-05-20  Victor Wang  <victorw@chromium.org>

        Unreviewed. Update test expectations from chromium.

        * platform/chromium/test_expectations.txt:

2010-05-20  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Provide bindings for DeviceOrientation
        https://bugs.webkit.org/show_bug.cgi?id=39210

        Modifies existing fast/dom/Window tests to skip window.ondeviceorientation until
        it is widely supported.
        Adds new fast/dom/Window/window-properties-on-device-orientation.html to test
        type and presence of window.ondeviceorientation.
        Adds new fast/dom/DeviceOrientation directory and initial test.
        Adds all DeviceOrientation tests to all skipped lists.

        * fast/dom/DeviceOrientation: Added.
        * fast/dom/DeviceOrientation/script-tests: Added.
        * fast/dom/DeviceOrientation/script-tests/TEMPLATE.html: Added.
        * fast/dom/DeviceOrientation/script-tests/window-property.js: Added.
        (hasOnDeviceOrientationProperty):
        * fast/dom/DeviceOrientation/window-property-expected.txt: Added.
        * fast/dom/DeviceOrientation/window-property.html: Added.
        * fast/dom/Window/script-tests/window-property-descriptors.js:
        * fast/dom/Window/window-properties-on-device-orientation-expected.txt: Added.
        * fast/dom/Window/window-properties-on-device-orientation.html: Added.
        * fast/dom/Window/window-properties.html:
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-05-20  Martin Robinson  <mrobinson@webkit.org>

        Reviewed by Ojan Vafai.

        Expose the editing behavior setting in DRT to test all editing code paths
        https://bugs.webkit.org/show_bug.cgi?id=38603

        * editing/selection/extend-selection-after-double-click.html: Use the new DRT support for changing editing behavior.
        * editing/selection/extend-selection-after-double-click-expected.txt: Update expected results to reflect both behaviors.

2010-05-20  Adam Langley  <agl@chromium.org>

        Reviewed by David Levin.

        [chromium] Add test which previously crashed on Linux.

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

        * fast/text/chromium-linux-fallback-crash-expected.txt: Added.
        * fast/text/chromium-linux-fallback-crash.html: Added.

2010-05-20  Herczeg Zoltan  <zherczeg@webkit.org>

        Unreviewed. Update Qt specific expected file.

        * platform/qt/svg/filters/feLighting-crash-expected.txt:

2010-05-20  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        In case of lighting SVG effects, a wider output rectangle
        than the input image size should not cause crash.
        https://bugs.webkit.org/show_bug.cgi?id=39004

        * platform/mac/svg/filters/feLighting-crash-expected.checksum: Added.
        * platform/mac/svg/filters/feLighting-crash-expected.png: Added.
        * platform/mac/svg/filters/feLighting-crash-expected.txt: Added.
        * platform/qt/svg/filters/feLighting-crash-expected.txt: Added.
        * svg/filters/feLighting-crash.svg: Added.

2010-05-20  MORITA Hajime  <morrita@google.com>

        Reviewed by Kent Tamura.
        
        2x execCommand ReadAV@NULL
        https://bugs.webkit.org/show_bug.cgi?id=35791

        This test passes if it doesn't crash.        
 
        * editing/execCommand/35791-expected.txt: Added.
        * editing/execCommand/35791.html: Added.

2010-05-19  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Darin Adler.

        Misleading variable name in a11y test
        https://bugs.webkit.org/show_bug.cgi?id=38465

        Use a more appropriate variable name for the return
        value of accessibilityController.rootElement

        * accessibility/aria-controls-with-tabs.html:

2010-05-19  Victor Wang  <victorw@chromium.org>

        Unreviewed. Update Chromium test expectations.

        * platform/chromium-linux/fast/multicol/layers-split-across-columns-expected.checksum: Added.
        * platform/chromium-linux/fast/multicol/layers-split-across-columns-expected.png: Added.
        * platform/chromium-mac/fast/multicol/layers-in-multicol-expected.checksum:
        * platform/chromium-mac/fast/multicol/layers-in-multicol-expected.png: Removed.
        * platform/chromium-mac/fast/multicol/layers-split-across-columns-expected.checksum: Added.
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.txt:
        * platform/chromium-win/fast/multicol/layers-split-across-columns-expected.checksum: Added.
        * platform/chromium-win/fast/multicol/layers-split-across-columns-expected.png: Added.
        * platform/chromium-win/fast/multicol/layers-split-across-columns-expected.txt: Added.
        * platform/chromium-win/fast/multicol/nested-columns-expected.txt:

2010-05-19  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        emitJumpIfNotJSCell should special case constant immediate values
        https://bugs.webkit.org/show_bug.cgi?id=39392

        Add tests for immediate constants being used where cells are expected.

        * fast/js/immediate-constant-instead-of-cell-expected.txt: Added.
        * fast/js/immediate-constant-instead-of-cell.html: Added.
        * fast/js/script-tests/immediate-constant-instead-of-cell.js: Added.
        ():

2010-05-19  Jian Li  <jianli@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Refactor text encoding detection logic in FileReader.
        https://bugs.webkit.org/show_bug.cgi?id=39131

        Add more test coverage for FileReader.

        * fast/files/file-reader-expected.txt:
        * fast/files/file-reader.html:
        * fast/files/resources/binary-file: Added.

2010-05-19  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

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

        Disabling geolocation tests until blockers are fixed.

        * platform/gtk/Skipped: Skipping geolocation tests for now.

2010-05-19  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Tests that text transformation applied to a non-text node
        does not result in crash.
        https://bugs.webkit.org/show_bug.cgi?id=38626        

        * fast/text/text-transform-nontext-node-crash-expected.txt: Added.
        * fast/text/text-transform-nontext-node-crash.xhtml: Added.

2010-05-19  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

        Updated multi-column test baselines.

        * platform/gtk/fast/multicol/layers-in-multicol-expected.txt: Updated.
        * platform/gtk/fast/multicol/layers-split-across-columns-expected.txt: Added.
        * platform/gtk/fast/multicol/nested-columns-expected.txt: Updated.

2010-05-19  Yaar Schnitman  <yaar@chromium.org>

        Unreviewed, rolling out r59769.
        http://trac.webkit.org/changeset/59769
        https://bugs.webkit.org/show_bug.cgi?id=37815

        Broke GTK again

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-19  Dirk Pranke  <dpranke@chromium.org>

        Try again to roll out r58765

        * fast/notifications/notifications-replace-expected.txt: Removed.
        * fast/notifications/notifications-replace.html: Removed.
        * fast/notifications/notifications-rtl-expected.txt: Removed.
        * fast/notifications/notifications-rtl.html: Removed.

2010-05-19  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dave Hyatt.

        REGRESSION (r59385) crash destroying inline renderers
        https://bugs.webkit.org/show_bug.cgi?id=39143
        <rdar://problem/8003662>

        * fast/inline-block/anonymous-block-crash-expected.txt: Added.
        * fast/inline-block/anonymous-block-crash.html: Added.

2010-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59782.
        http://trac.webkit.org/changeset/59782
        https://bugs.webkit.org/show_bug.cgi?id=39379

        broke DRT build (Requested by dpranke on #webkit).

        * fast/notifications/notifications-replace-expected.txt: Added.
        * fast/notifications/notifications-replace.html: Added.
        * fast/notifications/notifications-rtl-expected.txt: Added.
        * fast/notifications/notifications-rtl.html: Added.

2010-05-18  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Attempt to revert r58765 to see if it was causing a performance
        regression.

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

        * fast/notifications/notifications-replace-expected.txt: Removed.
        * fast/notifications/notifications-replace.html: Removed.
        * fast/notifications/notifications-rtl-expected.txt: Removed.
        * fast/notifications/notifications-rtl.html: Removed.

2010-05-19  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

        Add baselines for new multi-column tests.

        * platform/gtk/fast/multicol/column-count-with-rules-expected.txt: Added.
        * platform/gtk/fast/multicol/layers-in-multicol-expected.txt: Added.
        * platform/gtk/fast/multicol/nested-columns-expected.txt: Added.

2010-05-19  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Moving frame.src checks out of the bindings
        https://bugs.webkit.org/show_bug.cgi?id=37815

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Added a test to verify proper color serialization in CanvasRenderingContext2D's getters.
        https://bugs.webkit.org/show_bug.cgi?id=38845

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#serialization-of-a-color

        * fast/canvas/canvas-color-serialization-expected.txt: Added.
        * fast/canvas/canvas-color-serialization.html: Added.
        * fast/canvas/canvas-set-properties-with-non-invertible-ctm-expected.txt: Updated baseline.
        * fast/canvas/script-tests/canvas-color-serialization.js: Added.
        (trySettingStrokeStyle):
        (trySettingFillStyle):
        (trySettingShadowColor):
        (trySettingColor):
        (trySettingStrokeColorWithSetter):
        (trySettingFillColorWithSetter):
        (trySettingShadowWithSetter):
        (trySettingColorWithSetter):
        (trySettingFillColorRGBA):
        (trySettingStrokeColorRGBA):
        (trySettingShadowRGBA):
        (trySettingRGBA):
        (trySettingFillColorCMYKA):
        (trySettingStrokeColorCMYKA):
        (trySettingShadowCMYKA):
        (trySettingCMYKA):
        (trySettingFillColorWithOverrideAlpha):
        (trySettingStrokeColorWithOverrideAlpha):
        (trySettingShadowWithOverrideAlpha):
        (trySettingColorWithOverrideAlpha):
        (trySettingFillColorGrayLevel):
        (trySettingStrokeColorGrayLevel):
        (trySettingShadowGrayLevel):
        (trySettingGrayLevel):
        (trySettingFillColorGrayLevelWithAlpha):
        (trySettingStrokeColorGrayLevelWithAlpha):
        (trySettingShadowGrayLevelWithAlpha):
        (trySettingGrayLevelWithAlpha):
        (tryClearShadowAfterSettingColor):
        (checkDefaultValue):
        * fast/canvas/script-tests/canvas-set-properties-with-non-invertible-ctm.js:
        * fast/dom/canvasContext2d-element-attribute-js-null-expected.txt: Updated baseline.
        * fast/dom/canvasContext2d-element-attribute-js-null.html:

2010-05-19  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Simon Hausmann.

        Add test to verify that CanvasRenderingContext2D's arc() connects arcs
        by a straight line (unless it's the first element in the path.)
        https://bugs.webkit.org/show_bug.cgi?id=38526

        * fast/canvas/canvas-arc-connecting-line-expected.txt: Added.
        * fast/canvas/canvas-arc-connecting-line.html: Added.
        * fast/canvas/script-tests/canvas-arc-connecting-line.js: Added.
        (deg2rad):

2010-05-19  Peter Varga  <pvarga@inf.u-szeged.hu>

        Reviewed by Darin Adler.

        The backtrackParenthesesOnceEnd function should store the start position
        of the subpattern's non-greedy match at the place of the subpattern's
        start index in the output array instead of the place of the
        subpattern's end index.
        Add layout test for checking of non-greedy matching of subpattern in
        regular expressions.
        https://bugs.webkit.org/show_bug.cgi?id=39289

        * fast/js/regexp-non-greedy-parentheses-expected.txt: Added.
        * fast/js/regexp-non-greedy-parentheses.html: Added.
        * fast/js/script-tests/regexp-non-greedy-parentheses.js: Added.

2010-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59758.
        http://trac.webkit.org/changeset/59758
        https://bugs.webkit.org/show_bug.cgi?id=39361

        This patch adds a test that fails on Leopard (Requested by
        abarth on #webkit).

        * fast/canvas/webgl/texture-npot-expected.txt:
        * fast/canvas/webgl/texture-npot.html:

2010-05-19  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Adler.

        fast/canvas/webgl/texture-npot.html failed on leopard bot
        https://bugs.webkit.org/show_bug.cgi?id=39128

        * fast/canvas/webgl/texture-npot-expected.txt: Skip pixel (0, 0); print out actual color when failing.
        * fast/canvas/webgl/texture-npot.html: Ditto.

2010-05-19  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        Touch events are marked DontEnum in DOMWindow.idl
        https://bugs.webkit.org/show_bug.cgi?id=39118

        Update the expected results for enumerating the window object
        properties now touch event listeners are no longer marked DontEnum.

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

2010-05-18  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Make CSS Parser properly handle only-for-pages pseudo-classes.

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

        * fast/css/misplaced-paged-media-pseudo-expected.txt: Removed.
        * fast/css/misplaced-paged-media-pseudo.html: Removed.
        * printing/page-rule-css-text-expected.txt:
        * printing/page-rule-css-text.html:
        * printing/pseudo-class-outside-page-expected.txt:
        * printing/pseudo-class-outside-page.html:

2010-05-18  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed, skip test.

        Skipping fast/workers/storage
        https://bugs.webkit.org/show_bug.cgi?id=39346

        * platform/gtk/Skipped:

2010-05-18  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Simplified handling of 'arguments' -- 1.2% SunSpider speedup
        https://bugs.webkit.org/show_bug.cgi?id=39200

        * fast/js/function-dot-arguments-expected.txt:
        * fast/js/script-tests/function-dot-arguments.js:
        (argumentsIdentity): Updated to match new behavior.

        * fast/js/function-dot-arguments2-expected.txt:
        * fast/js/function-dot-arguments2.html: New tests for some things that
        weren't covered before.

        * fast/js/global-recursion-on-full-stack.html: Rejiggered the stack
        usage in this test. Since stack usage is more efficient now, you
        need a slightly different usage pattern to hit the exact thing this
        test wanted to test.

        * fast/js/kde/script-tests/function_arguments.js:
        (f): Updated to more specifically test what this was trying to test,
        to avoid just testing the identity of f.arguments.

2010-05-18  Kent Tamura  <tkent@chromium.org>

        Unreviewed test fix.

        fast/css/pseudo-required-optional-unapplied.html failure with ENABLE_METER_TAG
        https://bugs.webkit.org/show_bug.cgi?id=39341

        Remove test elements at the end of the test because dumpAsText() output
        for <meter> depends on ENABLE_METER_TAG.

        * fast/css/pseudo-required-optional-unapplied-expected.txt:
        * fast/css/pseudo-required-optional-unapplied.html:
        * platform/qt/Skipped:

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

        Reviewed by Ojan Vafai.

        REGRESSION: crash in WebCore::CompositeEditCommand::splitTreeToNode when indenting in an empty li
        https://bugs.webkit.org/show_bug.cgi?id=38232

        * editing/execCommand/crash-indenting-list-item-expected.txt: Added.
        * editing/execCommand/crash-indenting-list-item.html: Added.

2010-05-18  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        ':optional' pseudo selector should not be applied to <keygen> and <progress>
        https://bugs.webkit.org/show_bug.cgi?id=39292

        Add a test for non-optional form elements.

        * fast/css/pseudo-required-optional-unapplied-expected.txt: Added.
        * fast/css/pseudo-required-optional-unapplied.html: Added.

2010-05-18  James Robinson  <jamesr@chromium.org>

        Unreviewed.

        Add leopard-specific pixel results for more tests that need them
        https://bugs.webkit.org/show_bug.cgi?id=39325

        This adds new Leopard baselines for all tests that currently
        pass with tolerance=0 on Snow Leopard but fail on Leopard
        with an image diff of <= 0.1%.  These tests previously had
        expectations in platform/mac that were Snow Leopard specific.

        * platform/mac-leopard/animations: Added.
        * platform/mac-leopard/animations/3d: Added.
        * platform/mac-leopard/animations/3d/change-transform-in-end-event-expected.checksum: Added.
        * platform/mac-leopard/animations/3d/change-transform-in-end-event-expected.png: Added.
        * platform/mac-leopard/compositing/animation: Added.
        * platform/mac-leopard/compositing/animation/state-at-end-event-transform-layer-expected.checksum: Added.
        * platform/mac-leopard/compositing/animation/state-at-end-event-transform-layer-expected.png: Added.
        * platform/mac-leopard/compositing/compositing-visible-descendant-expected.checksum: Added.
        * platform/mac-leopard/compositing/compositing-visible-descendant-expected.png: Added.
        * platform/mac-leopard/compositing/geometry/abs-position-inside-opacity-expected.checksum: Added.
        * platform/mac-leopard/compositing/geometry/abs-position-inside-opacity-expected.png: Added.
        * platform/mac-leopard/compositing/geometry/fixed-position-expected.checksum: Added.
        * platform/mac-leopard/compositing/geometry/fixed-position-expected.png: Added.
        * platform/mac-leopard/compositing/geometry/horizontal-scroll-composited-expected.checksum: Added.
        * platform/mac-leopard/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
        * platform/mac-leopard/compositing/geometry/partial-layout-update-expected.checksum: Added.
        * platform/mac-leopard/compositing/geometry/partial-layout-update-expected.png: Added.
        * platform/mac-leopard/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.checksum: Added.
        * platform/mac-leopard/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.png: Added.
        * platform/mac-leopard/compositing/geometry/vertical-scroll-composited-expected.checksum: Added.
        * platform/mac-leopard/compositing/geometry/vertical-scroll-composited-expected.png: Added.
        * platform/mac-leopard/compositing/iframes/iframe-copy-on-scroll-expected.checksum: Added.
        * platform/mac-leopard/compositing/iframes/iframe-copy-on-scroll-expected.png: Added.
        * platform/mac-leopard/compositing/masks: Added.
        * platform/mac-leopard/compositing/masks/direct-image-mask-expected.checksum: Added.
        * platform/mac-leopard/compositing/masks/direct-image-mask-expected.png: Added.
        * platform/mac-leopard/compositing/overflow/fixed-position-ancestor-clip-expected.checksum: Added.
        * platform/mac-leopard/compositing/overflow/fixed-position-ancestor-clip-expected.png: Added.
        * platform/mac-leopard/compositing/reflections/reflection-in-composited-expected.checksum: Added.
        * platform/mac-leopard/compositing/reflections/reflection-in-composited-expected.png: Added.
        * platform/mac-leopard/compositing/reflections/reflection-ordering-expected.checksum: Added.
        * platform/mac-leopard/compositing/reflections/reflection-ordering-expected.png: Added.
        * platform/mac-leopard/compositing/repaint/content-into-overflow-expected.checksum: Added.
        * platform/mac-leopard/compositing/repaint/content-into-overflow-expected.png: Added.
        * platform/mac-leopard/compositing/repaint/layer-repaint-expected.checksum: Added.
        * platform/mac-leopard/compositing/repaint/layer-repaint-expected.png: Added.
        * platform/mac-leopard/compositing/repaint/opacity-between-absolute-expected.checksum: Added.
        * platform/mac-leopard/compositing/repaint/opacity-between-absolute-expected.png: Added.
        * platform/mac-leopard/compositing/repaint/opacity-between-absolute2-expected.checksum: Added.
        * platform/mac-leopard/compositing/repaint/opacity-between-absolute2-expected.png: Added.
        * platform/mac-leopard/fast/borders: Added.
        * platform/mac-leopard/fast/borders/svg-as-border-image-2-expected.checksum: Added.
        * platform/mac-leopard/fast/borders/svg-as-border-image-2-expected.png: Added.
        * platform/mac-leopard/fast/borders/svg-as-border-image-expected.checksum: Added.
        * platform/mac-leopard/fast/borders/svg-as-border-image-expected.png: Added.
        * platform/mac-leopard/fast/forms/placeholder-stripped-expected.checksum: Added.
        * platform/mac-leopard/fast/forms/placeholder-stripped-expected.png: Added.
        * platform/mac-leopard/fast/multicol: Added.
        * platform/mac-leopard/fast/multicol/column-count-with-rules-expected.checksum: Added.
        * platform/mac-leopard/fast/multicol/column-count-with-rules-expected.png: Added.
        * platform/mac-leopard/media/controls-strict-expected.checksum:
        * platform/mac-leopard/media/controls-strict-expected.png:
        * platform/mac-leopard/media/video-display-toggle-expected.checksum:
        * platform/mac-leopard/media/video-display-toggle-expected.png:
        * platform/mac-leopard/media/video-replaces-poster-expected.checksum: Added.
        * platform/mac-leopard/media/video-replaces-poster-expected.png: Added.

2010-05-18  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

        [GTK] fast/dom/Geolocation/enabled.html is crashing on the bots
        https://bugs.webkit.org/show_bug.cgi?id=39326

        * platform/gtk/Skipped: Skip another test causing crashes.

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

        Unreviewed, rolling out r59693.
        http://trac.webkit.org/changeset/59693
        https://bugs.webkit.org/show_bug.cgi?id=37815

        Broke GTK Release

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-18  James Robinson  <jamesr@chromium.org>

        Unreviewed.

        Add leopard-specific pixel results for tests that need them
        https://bugs.webkit.org/show_bug.cgi?id=39325

        This adds new Leopard baselines for all tests that currently
        pass with tolerance=0 on Snow Leopard but fail on Leopard
        with an image diff of <= 0.01%.  These tests previously had
        expectations in platform/mac that were Snow Leopard specific.

        * platform/mac-leopard/compositing/color-matching: Added.
        * platform/mac-leopard/compositing/color-matching/pdf-image-match-expected.checksum: Added.
        * platform/mac-leopard/compositing/color-matching/pdf-image-match-expected.png: Added.
        * platform/mac-leopard/compositing/reflections: Added.
        * platform/mac-leopard/compositing/reflections/simple-composited-reflections-expected.checksum: Added.
        * platform/mac-leopard/compositing/reflections/simple-composited-reflections-expected.png: Added.
        * platform/mac-leopard/compositing/repaint/overflow-into-content-expected.checksum: Added.
        * platform/mac-leopard/compositing/repaint/overflow-into-content-expected.png: Added.
        * platform/mac-leopard/editing/pasteboard: Added.
        * platform/mac-leopard/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum: Added.
        * platform/mac-leopard/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png: Added.
        * platform/mac-leopard/fast/css: Added.
        * platform/mac-leopard/fast/css/pseudo-cache-stale-expected.checksum: Added.
        * platform/mac-leopard/fast/css/pseudo-cache-stale-expected.png: Added.
        * platform/mac-leopard/fast/frames: Added.
        * platform/mac-leopard/fast/frames/take-focus-from-iframe-expected.checksum: Added.
        * platform/mac-leopard/fast/frames/take-focus-from-iframe-expected.png: Added.
        * platform/mac-leopard/fast/repaint: Added.
        * platform/mac-leopard/fast/repaint/fixed-child-move-after-scroll-expected.checksum: Added.
        * platform/mac-leopard/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
        * platform/mac-leopard/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.checksum: Added.
        * platform/mac-leopard/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
        * platform/mac-leopard/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.checksum: Added.
        * platform/mac-leopard/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
        * platform/mac-leopard/fast/repaint/fixed-move-after-scroll-expected.checksum: Added.
        * platform/mac-leopard/fast/repaint/fixed-move-after-scroll-expected.png: Added.
        * platform/mac-leopard/fast/text/format-control-expected.checksum: Added.
        * platform/mac-leopard/fast/text/format-control-expected.png: Added.
        * platform/mac-leopard/plugins: Added.
        * platform/mac-leopard/plugins/qt-qwidget-plugin-expected.checksum: Added.
        * platform/mac-leopard/plugins/qt-qwidget-plugin-expected.png: Added.
        * platform/mac-leopard/transforms/svg-vs-css-expected.checksum: Added.
        * platform/mac-leopard/transforms/svg-vs-css-expected.png: Added.
        * platform/mac-leopard/transitions: Added.
        * platform/mac-leopard/transitions/move-after-transition-expected.checksum: Added.
        * platform/mac-leopard/transitions/move-after-transition-expected.png: Added.

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

        Reviewed by Maciej Stachowiak.

        Repro crash with many Google image search results
        <rdar://problem/7685669> and https://bugs.webkit.org/show_bug.cgi?id=39323

        * fast/loader/resources/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
        * fast/loader/sandboxed-plugin-crash-expected.txt: Added.
        * fast/loader/sandboxed-plugin-crash.html: Added.

2010-05-18  Martin Robinson  <mrobinson@igalia.com>

        No review necessary.

        [GTK] fast/dom/Geolocation/enabled.html is crashing on the bots
        https://bugs.webkit.org/show_bug.cgi?id=39326

        * platform/gtk/Skipped: Skip the crashing tests.

2010-05-18  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Fix bug 39285: fast/files/file-reader.html is timing out on all mac bots.
        https://bugs.webkit.org/show_bug.cgi?id=39135

        Re-enale the file reader test.

        * fast/files/file-reader-expected.txt:
        * fast/files/file-reader.html:
        * platform/mac/Skipped:

2010-05-18  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Moving frame.src checks out of the bindings
        https://bugs.webkit.org/show_bug.cgi?id=37815

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-18  Daniel Cheng  <dcheng@chromium.org>

        Reviewed by Darin Adler, Jian Li.

        DragData::asURL() shouldn't do file validity checks
        https://bugs.webkit.org/show_bug.cgi?id=38711

        Several layout tests depended on the fact that dropping a file would
        never trigger navigation. This never happened to occur in the past,
        since it just so happened that the filenames used in the tests never
        resolved to files that exist. Since DragData::asURL() no longer tries
        to verify file existence, the layout tests were updated to either
        suppress navigation or log any navigation that should occur as part of
        the test.

        * editing/pasteboard/file-input-files-access-expected.txt:
        * editing/pasteboard/script-tests/file-input-files-access.js:
        (runTest.window.onbeforeunload):
        (runTest):
        * http/tests/security/clipboard/script-tests/clipboard-file-access.js:

2010-05-18  Jian Li  <jianli@chromium.org>

        Unreviewed. Build fix. Disable file-reader.html for more investigation.

        * platform/mac/Skipped:

2010-05-18  Jian Li  <jianli@chromium.org>

        Unreviewed. Build fix. Disable test cases in file-reader.html that
        cause time-out in mac bot for further investigation.

        * fast/files/file-reader-expected.txt:
        * fast/files/file-reader.html:

2010-05-17  Drew Wilson  <atwilson@chromium.org>

        Unreviewed test expectations update for chromium.

        * platform/chromium-mac/html5lib/runner-expected.txt: Added.
        * platform/chromium-win/html5lib/runner-expected.txt: Added.

2010-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59652.
        http://trac.webkit.org/changeset/59652
        https://bugs.webkit.org/show_bug.cgi?id=39268

        file-input-files-access test is broken on Mac (Requested by
        dcheng on #webkit).

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

2010-05-17  Daniel Cheng  <dcheng@chromium.org>

        DragData::asURL() shouldn't do file validity checks
        https://bugs.webkit.org/show_bug.cgi?id=38711

        Several layout tests depended on the fact that dropping a file would
        never trigger navigation. This never happened to occur in the past,
        since it just so happened that the filenames used in the tests never
        resolved to files that exist. Since DragData::asURL() no longer tries
        to verify file existence, the layout tests were updated to either
        suppress navigation or log any navigation that should occur as part of
        the test.

        * editing/pasteboard/file-input-files-access-expected.txt:
        * editing/pasteboard/script-tests/file-input-files-access.js:
        (runTest.window.onbeforeunload):
        (runTest):
        * http/tests/security/clipboard/script-tests/clipboard-file-access.js:

2010-05-16  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Add tests for Bug 31267 - :nth-child(-2n) should match no element.
        http://trac.webkit.org/changeset/58300 has fixed this already.
        https://bugs.webkit.org/show_bug.cgi?id=31267

        * fast/css/nth-child-negative-a-param-expected.txt: Added.
        * fast/css/nth-child-negative-a-param.html: Added.

2010-05-17  Kent Tamura  <tkent@chromium.org>

        Unreviewed.

        Update a test for the behavior change of r59645.
        https://bugs.webkit.org/show_bug.cgi?id=39162

        * fast/forms/script-tests/willvalidate.js:
        * fast/forms/willvalidate-expected.txt:

2010-05-17  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        ':valid' CSS selector should not be applied to some form controls
        https://bugs.webkit.org/show_bug.cgi?id=39162

        Add test cases for
         - <input type=submit>
         - <input type=image>
         - <progress>
         - <meter>

        * fast/css/pseudo-valid-unapplied-expected.txt:
        * fast/css/pseudo-valid-unapplied.html:

2010-05-17  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Add the html5lib HTML parser tests
        https://bugs.webkit.org/show_bug.cgi?id=39260

        We currently fail a bunch of these.  Hopefully we'll get better as we
        implement the HTML5 parser.

        Source: http://gsnedders.html5.org/html5lib-tests/runner.html

        * html5lib/resources/dom2string.js: Added.
        (String.prototype.toAsciiLowerCase):
        (indent):
        (dom2string):
        * html5lib/resources/tests1.dat: Added.
        * html5lib/resources/tests10.dat: Added.
        * html5lib/resources/tests11.dat: Added.
        * html5lib/resources/tests12.dat: Added.
        * html5lib/resources/tests13.dat: Added.
        * html5lib/resources/tests14.dat: Added.
        * html5lib/resources/tests15.dat: Added.
        * html5lib/resources/tests16.dat: Added.
        * html5lib/resources/tests2.dat: Added.
        * html5lib/resources/tests3.dat: Added.
        * html5lib/resources/tests4.dat: Added.
        * html5lib/resources/tests5.dat: Added.
        * html5lib/resources/tests6.dat: Added.
        * html5lib/resources/tests7.dat: Added.
        * html5lib/resources/tests8.dat: Added.
        * html5lib/resources/tests9.dat: Added.
        * html5lib/runner-expected.txt: Added.
        * html5lib/runner.html: Added.

2010-05-17  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Adler.

        Rebaseline fast/multicol pixel results on mac
        https://bugs.webkit.org/show_bug.cgi?id=39241

        * fast/multicol/client-rects-expected.checksum:
        * fast/multicol/client-rects-expected.png:
        * platform/mac/fast/multicol/float-multicol-expected.png:
        * platform/mac/fast/multicol/layers-in-multicol-expected.checksum: Added.
        * platform/mac/fast/multicol/layers-in-multicol-expected.png: Added.
        * platform/mac/fast/multicol/nested-columns-expected.checksum: Added.
        * platform/mac/fast/multicol/nested-columns-expected.png: Added.
        * platform/mac/fast/multicol/positioned-with-constrained-height-expected.checksum:
        * platform/mac/fast/multicol/positioned-with-constrained-height-expected.png:

2010-05-17  Drew Wilson  <atwilson@chromium.org>

        Unreviewed. Update Chromium test expectations.

        * platform/chromium-linux/fast/multicol/layers-in-multicol-expected.checksum:
        * platform/chromium-linux/fast/multicol/layers-in-multicol-expected.png:
        * platform/chromium-linux/fast/multicol/nested-columns-expected.checksum: Added.
        * platform/chromium-linux/fast/multicol/nested-columns-expected.png: Added.
        * platform/chromium-mac/fast/multicol/layers-in-multicol-expected.checksum:
        * platform/chromium-mac/fast/multicol/layers-in-multicol-expected.png:
        * platform/chromium-mac/fast/multicol/nested-columns-expected.checksum: Added.
        * platform/chromium-mac/fast/multicol/nested-columns-expected.png: Added.
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.checksum:
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.png:
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.txt:
        * platform/chromium-win/fast/multicol/nested-columns-expected.checksum: Added.
        * platform/chromium-win/fast/multicol/nested-columns-expected.png: Added.

2010-05-17  Drew Wilson  <atwilson@chromium.org>

        Unreviewed. Update Chromium test expectations.

        * platform/chromium-win/fast/multicol/nested-columns-expected.txt: Added.

2010-05-17  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Disable Icon Database by default in Qt DRT

        Unskip:
         http/tests/misc/favicon-loads-with-images-disabled.html
         http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
         http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
         http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html

        Qt returns 5 (QNetworkReply::OperationCanceledError) instead of -999 for the XFrameOptions tests,
        so update accordingly.

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

        * platform/qt/Skipped:
        * platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added. Qt returns 5 instead of -999.
        * platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added. Qt returns 5 instead of -999.
        * platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added. Qt returns 5 instead of -999.

2010-05-17  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        Add a test of columns inside columns.  The test also puts a RenderLayer in the 2nd column of the 2nd column
        to make sure layer positioning works across nested columns.

        * fast/multicol/nested-columns.html: Added.
        * platform/mac/fast/multicol/nested-columns-expected.txt: Added.

2010-05-17  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add a test to verify proper behavior of createImageData(ImageData)
        and createImageData(width, height) with negative arguments.
        https://bugs.webkit.org/show_bug.cgi?id=39189

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-createimagedata

        * fast/canvas/canvas-createImageData-expected.txt: Added.
        * fast/canvas/canvas-createImageData.html: Added.
        * fast/canvas/script-tests/canvas-createImageData.js: Added.

2010-05-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Finish up IndexedDB events
        https://bugs.webkit.org/show_bug.cgi?id=39117

        Add the beginnings of a test for IndexedDB.  It currently fails, but we'll
        update this (and/or add other tests) as things start passing.

        Disable it on all !Chromium platforms since none of them compile it
        in.  (Note that Chromium keeps it behind a runtime flag at the moment,
        despite compiling it in...so don't worry.)

        This also makes evalAndLog return the result of the evaluation.  I think
        this was just an oversight when I originally added it, and it's going to
        come in useful for these tests.

        * fast/js/resources/js-test-pre.js:
        (evalAndLog):
        * platform/gtk/Skipped:
        * platform/mac-leopard/Skipped:
        * platform/mac-snowleopard/Skipped:
        * platform/mac-tiger/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * storage/indexeddb/basics-expected.txt: Added.
        * storage/indexeddb/basics.html: Added.
        * storage/indexeddb/script-tests/TEMPLATE.html: Copied from LayoutTests/storage/domstorage/script-tests/TEMPLATE.html.
        * storage/indexeddb/script-tests/basics.js: Added.
        (eventShared):
        (successFunction):
        (errorFunction):
        (test):

2010-05-17  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium test expectations.

        * platform/chromium-win-xp/fast/multicol/client-rects-expected.txt: Removed.
        * platform/chromium/test_expectations.txt:

2010-05-17  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium test expectations.

        * platform/chromium-linux/fast/loader/recursive-before-unload-crash-expected.txt:
        * platform/chromium-linux/fast/multicol/client-rects-expected.txt: Removed.
        * platform/chromium-linux/fast/multicol/column-count-with-rules-expected.checksum: Added.
        * platform/chromium-linux/fast/multicol/column-count-with-rules-expected.png: Added.
        * platform/chromium-linux/fast/multicol/layers-in-multicol-expected.checksum: Added.
        * platform/chromium-linux/fast/multicol/layers-in-multicol-expected.png: Added.
        * platform/chromium-mac/fast/multicol/column-count-with-rules-expected.checksum: Added.
        * platform/chromium-mac/fast/multicol/column-count-with-rules-expected.png: Added.
        * platform/chromium-mac/fast/multicol/layers-in-multicol-expected.checksum: Added.
        * platform/chromium-mac/fast/multicol/layers-in-multicol-expected.png: Added.
        * platform/chromium-win/fast/canvas/canvas-toDataURL-case-insensitive-mimetype-expected.txt: Added.
        * platform/chromium-win/fast/multicol/client-rects-expected.txt:
        * platform/chromium-win/fast/multicol/column-count-with-rules-expected.checksum: Added.
        * platform/chromium-win/fast/multicol/column-count-with-rules-expected.png: Added.
        * platform/chromium-win/fast/multicol/column-count-with-rules-expected.txt: Added.
        * platform/chromium-win/fast/multicol/column-rules-expected.txt:
        * platform/chromium-win/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/chromium-win/fast/multicol/float-avoidance-expected.txt:
        * platform/chromium-win/fast/multicol/float-multicol-expected.txt:
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.checksum: Added.
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.png: Added.
        * platform/chromium-win/fast/multicol/layers-in-multicol-expected.txt: Added.
        * platform/chromium-win/fast/multicol/single-line-expected.txt:

2010-05-16  Takeshi Yoshino  <tyoshino@google.com>

        Unreviewed

        Update test_expectations.txt for Chromium
        fast/loader/recursive-before-unload-crash.html is flaky on Linux and Win
        See http://code.google.com/p/chromium/issues/detail?id=44229 for detail.

        * platform/chromium/test_expectations.txt:

2010-05-13  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION: Crash by pasting to a textarea with white-space:nowrap
        https://bugs.webkit.org/show_bug.cgi?id=38992

        * editing/pasteboard/paste-plaintext-nowrap-expected.txt: Added.
        * editing/pasteboard/paste-plaintext-nowrap.html: Added.

2010-05-16  Tony Chang  <tony@chromium.org>

        Not reviewed, fixing layout test.

        Add tiger and SL results.  Remove Inspect Element from leopard results.

        * platform/mac-leopard/editing/spelling/context-menu-suggestions-expected.txt:
        * platform/mac-snowleopard/editing/spelling/context-menu-suggestions-expected.txt: Added.
        * platform/mac-tiger/editing/spelling/context-menu-suggestions-expected.txt: Added.

2010-05-12  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Spellcheck disabling does not disable context menu
        https://bugs.webkit.org/show_bug.cgi?id=25639

        * editing/spelling/context-menu-suggestions.html: Added.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac-leopard/editing/spelling/context-menu-suggestions-expected.txt: Added.
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-05-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add a test to verify proper handling of invalid arguments to getImageData().
        Updated old putImageData() test with correct expectations.

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

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation

        * fast/canvas/canvas-getImageData-invalid-expected.txt: Added.
        * fast/canvas/canvas-getImageData-invalid.html: Added.
        * fast/canvas/canvas-putImageData-expected.txt:
        * fast/canvas/canvas-putImageData.js:
        * fast/canvas/script-tests/canvas-getImageData-invalid.js: Added.

2010-05-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add a test to verify that Canvas's toDataURL() is case insensitive wrt the mimeType argument.
        https://bugs.webkit.org/show_bug.cgi?id=39153

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl

        * fast/canvas/canvas-toDataURL-case-insensitive-mimetype-expected.txt: Added.
        * fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html: Added.
        * fast/canvas/script-tests/canvas-toDataURL-case-insensitive-mimetype.js: Added.
        (tryMimeType):
        * platform/gtk/fast/canvas/canvas-toDataURL-case-insensitive-mimetype-expected.txt: Added.

2010-05-16  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Unskip fast/loader/main-document-url-for-non-http-loads.html

        Fix FrameLoaderClientQt.cpp to print relative filename paths correctly.

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

        * platform/qt/Skipped:

2010-05-16  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt]Unskip security/set-form-autocomplete-attribute.html

        Add support for layoutTestController.elementDoesAutoCompleteForElementWithId().

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

        * platform/qt/Skipped:

2010-05-16  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add a test to check proper return value (null) from invalid canvas getContext() calls.

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

        * fast/canvas/canvas-getContext-invalid-expected.txt: Added.
        * fast/canvas/canvas-getContext-invalid.html: Added.
        * fast/canvas/script-tests/canvas-getContext-invalid.js: Added.

2010-05-16  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        Removed 5 http/history tests from Skipped file

        [GTK] Improve reporting of frame loader callbacks in DRT
        https://bugs.webkit.org/show_bug.cgi?id=36454

        * platform/gtk/Skipped:

2010-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59565.
        http://trac.webkit.org/changeset/59565
        https://bugs.webkit.org/show_bug.cgi?id=39173

        Broke GTK (Requested by abarth on #webkit).

        * fast/canvas/canvas-toDataURL-case-insensitive-mimetype-expected.txt: Removed.
        * fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html: Removed.
        * fast/canvas/script-tests/canvas-toDataURL-case-insensitive-mimetype.js: Removed.

2010-05-15  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Add a test to verify that Canvas's toDataURL() is case insensitive wrt the mimeType argument.
        https://bugs.webkit.org/show_bug.cgi?id=39153

        Spec link:
        http://www.whatwg.org/specs/web-apps/current-work/#dom-canvas-todataurl

        * fast/canvas/canvas-toDataURL-case-insensitive-mimetype-expected.txt: Added.
        * fast/canvas/canvas-toDataURL-case-insensitive-mimetype.html: Added.
        * fast/canvas/script-tests/canvas-toDataURL-case-insensitive-mimetype.js: Added.
        (tryMimeType):

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

        Reviewed by David Hyatt.

        Rebaseline client-rects.html on Qt
        https://bugs.webkit.org/show_bug.cgi?id=39169

        * platform/qt/Skipped:
        * platform/qt/fast/multicol/client-rects-expected.txt:

2010-05-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=39048
        <rdar://problem/7978384> REGRESSION (r55802): XML errors on Google maps ("Entity 'nbsp' not
        defined") with JavaScript disabled

        * fast/doctypes/xhtml-with-xhtmlmp-doctype-expected.txt: Added.
        * fast/doctypes/xhtml-with-xhtmlmp-doctype.xhtml: Added.

2010-05-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Incorrect codegen for slowcase of < in 64-bit
        https://bugs.webkit.org/show_bug.cgi?id=39151

        Add yet more tests for the < operator when comparing integer strings.

        * fast/js/comparison-operators-greater-expected.txt:
        * fast/js/comparison-operators-less-expected.txt:
        * fast/js/script-tests/comparison-operators-greater.js:
        * fast/js/script-tests/comparison-operators-less.js:

2010-05-15  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed. 

        Update expected results after 59541

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

2010-05-15  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kent Tamura.

        Initial support for HTMLMeterElement
        https://bugs.webkit.org/show_bug.cgi?id=38140

        * fast/dom/HTMLMeterElement: Added.
        * fast/dom/HTMLMeterElement/meter-element.html: Added.
        * fast/dom/HTMLMeterElement/script-tests: Added.
        * fast/dom/HTMLMeterElement/script-tests/TEMPLATE.html: Added.
        * fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js: Added.
        * fast/dom/HTMLMeterElement/set-meter-properties-expected.txt: Added.
        * fast/dom/HTMLMeterElement/set-meter-properties.html: Added.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/fast/dom/HTMLMeterElement: Added.
        * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.checksum: Added.
        * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.png: Added.
        * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
        * platform/win/Skipped:

2010-05-15  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dmitry Titov.

        Add bindings for async DB API in Workers.
        https://bugs.webkit.org/show_bug.cgi?id=34992

        * storage/change-version-handle-reuse.html: Refactored to share code with the worker version of the test.
        * storage/change-version-handle-reuse-expected.html: Removed reference to reloading, which this test doesn't do.
        * storage/change-version-handle-reuse.js: This is the extracted shared core of the test.
        * storage/execute-sql-args.html: Refactored to share code with the worker version of the test.
        * storage/execute-sql-args.js: This is the extracted shared core of the test.

        These are the worker versions of the tests; they're tiny shims around shared code.
        * fast/workers/storage/execute-sql-args-worker-expected.txt: Added.
        * fast/workers/storage/execute-sql-args-worker.html: Added.
        * fast/workers/storage/change-version-handle-reuse-worker-expected.txt: Added.
        * fast/workers/storage/change-version-handle-reuse-worker.html: Added.
        This file gets included from worker database tests; it does all the boilerplate that's needed on the DOM side.
        * fast/workers/storage/resources/database-worker-controller.js: Added.
        This file is the boilerplate for the worker side of the database tests.  It will import and run the actual test on command, and will report back completion and exceptions.
        * fast/workers/storage/resources/database-worker.js: Added.

2010-05-15  Xan Lopez  <xlopez@igalia.com>

        Skip failing test, it depends on one patch still in the commit
        queue.

        * platform/gtk/Skipped:

2010-05-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=30500
        [Gtk] Find a way for WebKit to "announce" itself so that ATs can readily distinguish it from true Gtk/Gail

        The "announcement" is now made in the form of an object attribute
        associated with the AtkObject.

        * platform/gtk/accessibility/object-attributes.html: Added.
        * platform/gtk/accessibility/object-attributes-expected.txt: Added.

2010-05-15  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        Accessibility: Implement isSelected in DRT for GTK
        https://bugs.webkit.org/show_bug.cgi?id=31018

        Do not skip aria-controls-with-tabs.html anymore

        * platform/gtk/Skipped:

2010-05-15  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Update notifications test results
        https://bugs.webkit.org/show_bug.cgi?id=39126
        Add missing line endings.

        * fast/notifications/notifications-replace-expected.txt:
        * fast/notifications/notifications-request-permission-expected.txt:
        * fast/notifications/notifications-rtl-expected.txt:

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

        Reviewed by Darin Adler.

        Show a console message when X-Frame-Options blocks a load
        https://bugs.webkit.org/show_bug.cgi?id=39087

        Update expected results to show the console message.

        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
        * http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:

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

        Unreviewed.

        Skip new test that fails on Qt.  I'm sure skipping is the wrong thing
        but no one is around to help me figure out what the right thing to do
        is and I don't want to leave the bot red all weekend.

        * platform/qt/Skipped:

2010-05-14  Adele Peterson  <adele@apple.com>

        Reviewed by Dave Hyatt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=39095 
        <rdar://problem/7984158> REGRESSION (r53085): Infinite recursion in Position::getInlineBoxAndOffset when changing writing direction to right-to-left

        * editing/selection/applystyle-to-inline-in-block-expected.txt: Added.
        * editing/selection/applystyle-to-inline-in-block.html: Added.

2010-05-14  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

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

        Reset all multicolumn test results now that columns create RenderLayers.

        * fast/multicol/client-rects-expected.txt:
        * fast/multicol/layers-in-multicol.html: Added.
        * fast/multicol/single-line-expected.txt:
        * platform/mac/fast/multicol/column-rules-expected.txt:
        * platform/mac/fast/multicol/columns-shorthand-parsing-expected.txt:
        * platform/mac/fast/multicol/float-avoidance-expected.txt:
        * platform/mac/fast/multicol/float-multicol-expected.txt:
        
        Add a layout test for various types of RenderLayers inside multicol layouts.

        * platform/mac/fast/multicol/layers-in-multicol-expected.txt: Added.

2010-05-14  Alexey Proskuryakov  <ap@apple.com>

        Inspired by Simon Fraser, rubber-stamped by Geoff Garen.

        Disabled Sputnik tests that take over 10 seconds in debug builds on my MacBook Pro.

        * platform/mac-tiger/Skipped: These tests were alrady skipped on Tiger, no need to skip
        explicitly any more.

        * fast/js/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A2.5_T1.html: Removed.
        * fast/js/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A2.5_T1.html-disabled: Copied from fast/js/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.1_decodeURI/S15.1.3.1_A2.5_T1.html.
        * fast/js/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.5_T1.html: Removed.
        * fast/js/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.5_T1.html-disabled: Copied from fast/js/sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/15.1.3/15.1.3.2_decodeURIComponent/S15.1.3.2_A2.5_T1.html.
        * fast/js/sputnik/Unicode/Unicode_218/S7.6_A3.1.html: Removed.
        * fast/js/sputnik/Unicode/Unicode_218/S7.6_A3.1.html-disabled: Copied from fast/js/sputnik/Unicode/Unicode_218/S7.6_A3.1.html.
        * fast/js/sputnik/Unicode/Unicode_218/S7.6_A3.2.html: Removed.
        * fast/js/sputnik/Unicode/Unicode_218/S7.6_A3.2.html-disabled: Copied from fast/js/sputnik/Unicode/Unicode_218/S7.6_A3.2.html.

2010-05-14  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Adler.

        Rename WebGLArray types to TypedArray types
        https://bugs.webkit.org/show_bug.cgi?id=39091

        Extended functionality of do-webcore-rename script and used it to
        rename the WebGLArray types to the TypedArray naming convention.
        The only source files which were touched by hand, and which are
        being manually reviewed, are:
            WebCore/page/DOMWindow.idl
            WebCore/bindings/generic/RuntimeEnabledFeatures.h (script's changes undone)
            WebKit/WebCore/bindings/js/JSDOMWindowCustom.cpp
            WebKit/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
        These only needed to be touched to update the aliases between the
        WebGLArray and TypedArray names introduced in bug 39036. (It was
        not feasible to have do-webcore-rename handle this as it would
        introduce circular renamings.) These aliases will be removed in
        roughly a month once existing WebGL content has been updated.

        No new tests; covered under existing WebGL tests. Updated
        constructed-objects-prototypes and prototype-inheritance-2 tests.
        Ran all layout tests in Safari and all WebGL tests in Chromium.

        * fast/dom/script-tests/constructed-objects-prototypes.js:
        (constructorPropertiesOnWindow):
        * fast/dom/script-tests/prototype-inheritance-2.js:
        (constructorNamesForWindow):

2010-05-14  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Tests that large colspan in a fixed table layout does not result in crash.
        https://bugs.webkit.org/show_bug.cgi?id=38261

        * fast/table/fixed-table-layout-large-colspan-crash-expected.txt: Added.
        * fast/table/fixed-table-layout-large-colspan-crash.html: Added.

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

        Unreviewed, rolling out r59489.
        http://trac.webkit.org/changeset/59489
        https://bugs.webkit.org/show_bug.cgi?id=37815

        abarth broke the known universe and then some.

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-14  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Moving frame.src checks out of the bindings
        https://bugs.webkit.org/show_bug.cgi?id=37815

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-05-14  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=39008
        <rdar://problem/7976142> REGRESSION (r58950): Webkit crashes on clicking back button when in Hotmail

        * fast/parser/tokenizer-close-during-document-write-expected.txt: Added.
        * fast/parser/tokenizer-close-during-document-write.html: Added.

2010-05-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Eric Seidel.

        Temporarily remove a few test cases that failed on leopard bot.
        https://bugs.webkit.org/show_bug.cgi?id=33805

        * fast/canvas/webgl/texture-npot-expected.txt: Removed failed test cases.
        * fast/canvas/webgl/texture-npot.html: Ditto.

2010-05-14  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Chromium: update test expectations.

        * platform/chromium-linux/fast/loader/recursive-before-unload-crash-expected.txt:

2010-05-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        Instead of rebaslining prototype-inheritance for Chromium, add indexedDB to its exceptions
        https://bugs.webkit.org/show_bug.cgi?id=39122

        The test has a way to name properties that shouldn't be tested (used when they're not enabled
        by most ports).  Use this feature rather than creating custom baselines.

        * fast/dom/script-tests/prototype-inheritance.js:
        * platform/chromium-mac/fast/dom/prototype-inheritance-expected.txt: Removed.
        * platform/chromium-win/fast/dom/prototype-inheritance-expected.txt: Removed.

2010-05-14  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] Rebaseline prototype-inheritance
        https://bugs.webkit.org/show_bug.cgi?id=39116

        IndexedDB is now turned on for Chromium's test shell.  I'm not sure
        if this is the correct behavior or not (can someone confirm which it is?)
        but we should get this test running again so we can catch real regressions.
        And, before taking this out from behind a flag, we should be sure to fix it.

        * platform/chromium-mac/fast/dom/prototype-inheritance-expected.txt: Added.
        * platform/chromium-win/fast/dom/prototype-inheritance-expected.txt: Added.

2010-05-14  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed, unskip passing tests.

        [Qt] animations/dynamic-stylesheet-loading.html fails with accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=37381

        * platform/qt/Skipped:
         - animations/simultaneous-start-left.html unskipped.
         - animations/dynamic-stylesheet-loading.html unskipped.

2010-05-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Must implement OpenGL ES 2.0 semantics for NPOT textures
        https://bugs.webkit.org/show_bug.cgi?id=33805

        * fast/canvas/webgl/texture-npot-expected.txt: Added.
        * fast/canvas/webgl/texture-npot.html: Added.

2010-05-14  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        [Chromium] Rebaseline storage/domstorage/quota.html
        https://bugs.webkit.org/show_bug.cgi?id=38996

        Chromium enforces quota on session storage and thus expects to "fail"
        the first part of this test.

        * platform/chromium-mac/storage/domstorage/quota-expected.txt: Added.
        * platform/chromium-win/storage/domstorage/quota-expected.txt: Added.

2010-05-14  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Chromium: update test expectations.

        * platform/chromium-linux/editing/deleting/5408255-expected.checksum:
        * platform/chromium-linux/fast/loader/recursive-before-unload-crash-expected.txt: Added.
        * platform/chromium-mac/editing/deleting/5408255-expected.checksum: Added.
        * platform/chromium-win/editing/deleting/5408255-expected.checksum:
        * platform/chromium-win/editing/deleting/5408255-expected.txt:
        * platform/chromium-win/editing/deleting/delete-select-all-001-expected.txt:
        * platform/chromium-win/editing/selection/4895428-1-expected.txt:
        * platform/chromium-win/editing/selection/4895428-4-expected.txt:

2010-05-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Darin Adler.

        Add test to check that setting various CanvasRenderingContext2D properties
        to invalid values is ignored.

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

        * fast/canvas/canvas-invalid-values-expected.txt: Added.
        * fast/canvas/canvas-invalid-values.html: Added.
        * fast/canvas/script-tests/canvas-invalid-values.js: Added.
        (trySettingMiterLimit):
        (trySettingLineWidth):
        (trySettingShadowBlur):
        (trySettingShadowOffsetX):
        (trySettingShadowOffsetY):

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

        Fixing test failure.

        Adding resource that should have been added in r59443.

        * compositing/iframes/resources/subframe.html: Added.

2010-05-13  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Kent Tamura.

        Update text_expectations.txt for Chromium
        fast/forms/input-text-paste-maxlength.html is flaky on Linux Debug
        See http://code.google.com/p/chromium/issues/detail?id=44150 for detail.

        * platform/chromium/test_expectations.txt:

2010-05-13  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Kent Tamura.

        Update text_expectations.txt for Chromium
        fast/events/standalone-image-drag-to-editable.html is flaky on Mac Debug
        See http://crbug.com/44149 and http://crbug.com/37896 for detail.

        * platform/chromium/test_expectations.txt:

2010-05-13  Takeshi Yoshino  <tyoshino@google.com>

        Reviewed by Shinichiro Hamaji.

        Update test_expectations.txt for Chromium.
        fast/forms/implicit-submission.html is flaky on Linux.
        See http://crbug.com/43890 for detail.

        * platform/chromium/test_expectations.txt:

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        No review.

        [GTK] css1/color_and_background/background_attachment.html fails on the 32-bit debug bot
        https://bugs.webkit.org/show_bug.cgi?id=39101

        * platform/gtk/Skipped: Skip failing test.

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        No review. Finish adding css1 baselines for GTK+.

        * platform/gtk/Skipped: Unskip tests which now have baselines.
        * platform/gtk/css1/basic/class_as_selector-expected.txt:
        * platform/gtk/css1/box_properties/width-expected.txt: Added.
        * platform/gtk/css1/cascade/cascade_order-expected.txt: Added.
        * platform/gtk/css1/cascade/important-expected.txt: Added.
        * platform/gtk/css1/classification/display-expected.txt: Added.
        * platform/gtk/css1/classification/list_style-expected.txt: Added.
        * platform/gtk/css1/classification/list_style_image-expected.txt: Added.
        * platform/gtk/css1/classification/list_style_position-expected.txt: Added.
        * platform/gtk/css1/classification/list_style_type-expected.txt: Added.
        * platform/gtk/css1/classification/white_space-expected.txt: Added.
        * platform/gtk/css1/color_and_background/background-expected.txt: Added.
        * platform/gtk/css1/color_and_background/background_attachment-expected.txt: Added.
        * platform/gtk/css1/color_and_background/background_color-expected.txt: Added.
        * platform/gtk/css1/color_and_background/background_image-expected.txt: Added.
        * platform/gtk/css1/color_and_background/background_position-expected.txt: Added.
        * platform/gtk/css1/color_and_background/background_repeat-expected.txt: Added.
        * platform/gtk/css1/color_and_background/color-expected.txt: Added.
        * platform/gtk/css1/conformance/forward_compatible_parsing-expected.txt: Added.
        * platform/gtk/css1/font_properties/font-expected.txt: Added.
        * platform/gtk/css1/font_properties/font_family-expected.txt: Added.
        * platform/gtk/css1/font_properties/font_size-expected.txt: Added.
        * platform/gtk/css1/font_properties/font_style-expected.txt: Added.
        * platform/gtk/css1/font_properties/font_variant-expected.txt: Added.
        * platform/gtk/css1/font_properties/font_weight-expected.txt: Added.
        * platform/gtk/css1/formatting_model/canvas-expected.txt: Added.
        * platform/gtk/css1/formatting_model/floating_elements-expected.txt: Added.
        * platform/gtk/css1/formatting_model/height_of_lines-expected.txt: Added.
        * platform/gtk/css1/formatting_model/horizontal_formatting-expected.txt: Added.
        * platform/gtk/css1/formatting_model/inline_elements-expected.txt: Added.
        * platform/gtk/css1/formatting_model/replaced_elements-expected.txt: Added.
        * platform/gtk/css1/formatting_model/vertical_formatting-expected.txt: Added.
        * platform/gtk/css1/pseudo/anchor-expected.txt: Added.
        * platform/gtk/css1/pseudo/firstletter-expected.txt: Added.
        * platform/gtk/css1/pseudo/firstline-expected.txt: Added.
        * platform/gtk/css1/pseudo/multiple_pseudo_elements-expected.txt: Added.
        * platform/gtk/css1/pseudo/pseudo_elements_in_selectors-expected.txt: Added.
        * platform/gtk/css1/text_properties/letter_spacing-expected.txt: Added.
        * platform/gtk/css1/text_properties/line_height-expected.txt: Added.
        * platform/gtk/css1/text_properties/text_align-expected.txt: Added.
        * platform/gtk/css1/text_properties/text_decoration-expected.txt: Added.
        * platform/gtk/css1/text_properties/text_indent-expected.txt: Added.
        * platform/gtk/css1/text_properties/text_transform-expected.txt: Added.
        * platform/gtk/css1/text_properties/vertical_align-expected.txt: Added.
        * platform/gtk/css1/text_properties/word_spacing-expected.txt: Added.
        * platform/gtk/css1/units/color_units-expected.txt: Added.
        * platform/gtk/css1/units/length_units-expected.txt: Added.
        * platform/gtk/css1/units/percentage_units-expected.txt: Added.
        * platform/gtk/css1/units/urls-expected.txt: Added.

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        No review. Correcting baseline.

        * platform/gtk/css1/basic/class_as_selector-expected.txt: Correct baseline.

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        No review needed.

        [GTK] Some test results are one pixel different on x86_64
        https://bugs.webkit.org/show_bug.cgi?id=39022

        * platform/gtk/Skipped: Skipping this test because of single-pixel difference.

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

        Unreviewed.

        [Qt] Platform specific expected file updated after r59385.

        Adding block elements to a block and removing them changes the height of the element.
        https://bugs.webkit.org/show_bug.cgi?id=38874

        * platform/qt/editing/deleting/5408255-expected.txt: updated.

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

        Reviewed by Dan Bernstein.

        iframes in compositing layers don't redraw correctly on scrolling
        https://bugs.webkit.org/show_bug.cgi?id=39096
        <rdar://problem/7932072>
        
        Pixel test with an iframe in a compositing layer, and scrolling.

        * compositing/iframes/iframe-copy-on-scroll.html: Added.
        * platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.checksum: Added.
        * platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.png: Added.
        * platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.txt: Added.

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

        Reviewed by Dave Hyatt.

        Fix scrolling in composited iframes
        https://bugs.webkit.org/show_bug.cgi?id=39088
        <rdar://problem/7980099>
        
        Update test results to account for insertion of new scrolling layer, and for
        the fix to the clipping layer size.

        * compositing/iframes/composited-parent-iframe-expected.txt:
        * compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
        * compositing/iframes/connect-compositing-iframe-expected.txt:
        * compositing/iframes/connect-compositing-iframe2-expected.txt:
        * compositing/iframes/connect-compositing-iframe3-expected.txt:
        * compositing/iframes/enter-compositing-iframe-expected.txt:
        * compositing/iframes/iframe-resize-expected.txt:
        * compositing/iframes/overlapped-iframe-expected.txt:
        * compositing/iframes/resources/large-composited-subframe.html: Added.
        * compositing/iframes/scrolling-iframe-expected.txt: Added.
        * compositing/iframes/scrolling-iframe.html: Added.

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        No review. Adding baselines for many of the css1 tests. I've checked these manually.

        * platform/gtk/Skipped: Unskipping tests.
        * platform/gtk/css1/basic/class_as_selector-expected.txt: Added.
        * platform/gtk/css1/basic/comments-expected.txt: Added.
        * platform/gtk/css1/basic/containment-expected.txt: Added.
        * platform/gtk/css1/basic/contextual_selectors-expected.txt: Added.
        * platform/gtk/css1/basic/grouping-expected.txt: Added.
        * platform/gtk/css1/basic/id_as_selector-expected.txt: Added.
        * platform/gtk/css1/basic/inheritance-expected.txt: Added.
        * platform/gtk/css1/box_properties/acid_test-expected.txt: Added.
        * platform/gtk/css1/box_properties/border-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_bottom-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_bottom_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_bottom_width-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_bottom_width_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_color-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_color_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_left-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_left_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_left_width-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_left_width_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_right-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_right_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_right_width-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_right_width_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_style-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_style_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_top-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_top_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_top_width-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_top_width_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_width-expected.txt: Added.
        * platform/gtk/css1/box_properties/border_width_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/clear-expected.txt: Added.
        * platform/gtk/css1/box_properties/clear_float-expected.txt: Added.
        * platform/gtk/css1/box_properties/float-expected.txt: Added.
        * platform/gtk/css1/box_properties/float_elements_in_series-expected.txt: Added.
        * platform/gtk/css1/box_properties/float_margin-expected.txt: Added.
        * platform/gtk/css1/box_properties/float_on_text_elements-expected.txt: Added.
        * platform/gtk/css1/box_properties/height-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_bottom-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_bottom_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_left-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_left_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_right-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_right_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_top-expected.txt: Added.
        * platform/gtk/css1/box_properties/margin_top_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_bottom-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_bottom_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_left-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_left_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_right-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_right_inline-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_top-expected.txt: Added.
        * platform/gtk/css1/box_properties/padding_top_inline-expected.txt: Added.

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        No review. Rebaselining test after r59385.

        * platform/gtk/editing/deleting/delete-select-all-001-expected.txt: Rebaseline

2010-05-13  Brady Eidson  <beidson@apple.com>

        Adding fast/loader/recursive-before-unload-crash-expected.html to the gtk skipped list
        because it needs more logging in its DRT to pass:
        * platform/gtk/Skipped:

        Adding fast/loader/recursive-before-unload-crash-expected.html to the qt skipped list
        because it's hanging:
        * platform/qt/Skipped:

2010-05-13  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Can't submit a form with <input type=checkbox required>
        https://bugs.webkit.org/show_bug.cgi?id=39065

        * fast/forms/interactive-validation-required-checkbox-expected.txt: Added.
        * fast/forms/interactive-validation-required-checkbox.html: Added.

2010-05-13  Brady Eidson  <beidson@apple.com>

        Reviewed by NOBODY (Layout test fix)

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

        Add Tiger specific results for my new test.

        * platform/mac-tiger/fast/loader/recursive-before-unload-crash-expected.txt: Copied from fast/loader/recursive-before-unload-crash-expected.txt.

2010-05-13  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Alias WebGLArray type names to TypedArray type names
        https://bugs.webkit.org/show_bug.cgi?id=39036

        Exposed the existing WebGL<T>Array constructor functions on the
        DOMWindow under the naming convention in the TypedArray spec. The
        implementations will be renamed in a subsequent bug, and the
        aliases to the WebGL<T>Array type names eventually removed. Ran
        all layout tests (including WebGL) in Safari, and WebGL tests in
        Chromium.

        Test: revised array-unit-tests.html to test both type names.
        Revised global prototype and constructor tests to ignore new types.

        * fast/canvas/webgl/array-unit-tests-expected.txt:
        * fast/canvas/webgl/array-unit-tests.html:
        * fast/dom/Window/script-tests/window-property-descriptors.js:
        * fast/dom/Window/window-properties.html:
        * fast/dom/script-tests/prototype-inheritance.js:
        * fast/js/script-tests/global-constructors.js:

2010-05-13  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dave Hyatt.

        Adding block elements to a block and removing them changes the height of the element.
        https://bugs.webkit.org/show_bug.cgi?id=38874

        The initial height of an empty editable block is different from the height of the same block after we add block elements
        and remove them.
        
        * editing/deleting/delete-block-contents-004-expected.txt: Added.
        * editing/deleting/delete-block-contents-004.html: Added.
        The following tests results have been updated to reflect the new renderer structure.
        * editing/deleting/in-visibly-empty-root-expected.txt:
        * platform/mac/editing/deleting/5408255-expected.txt:
        * platform/mac/editing/deleting/delete-select-all-001-expected.txt:
        * platform/mac/editing/selection/4895428-1-expected.txt:
        * platform/mac/editing/selection/4895428-4-expected.txt:

2010-05-13  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Repro crash at www.sears.com (infinite recursion in beforeunload handler)
        <rdar://problem/7965182> and https://bugs.webkit.org/show_bug.cgi?id=38928

        * fast/loader/recursive-before-unload-crash-expected.txt: Added.
        * fast/loader/recursive-before-unload-crash.html: Added.

2010-05-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59376.
        http://trac.webkit.org/changeset/59376
        https://bugs.webkit.org/show_bug.cgi?id=39080

        Broke window prototype tests (Requested by jamesr on #webkit).

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

2010-05-13  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: A disabled style property cannot be deleted.

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

        * inspector/elements-tests.js:
        (frontend_getSelectedElementStyles):
        * inspector/styles-disable-then-delete-expected.txt: Added.
        * inspector/styles-disable-then-delete.html: Added.
        * inspector/styles-disable-then-enable.html:

2010-05-12  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Alias WebGLArray type names to TypedArray type names
        https://bugs.webkit.org/show_bug.cgi?id=39036

        Exposed the existing WebGL<T>Array constructor functions on the
        DOMWindow under the naming convention in the TypedArray spec. The
        implementations will be renamed in a subsequent bug, and the
        aliases to the WebGL<T>Array type names eventually removed. Ran
        all WebGL layout tests in Safari and Chromium.

        Test: revised array-unit-tests.html to test both type names.

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

2010-05-13  Antonio Gomes  <tonikitoo@webkit.org>, Yi Shen <yi.4.shen@nokia.com>

        Reviewed by Kenneth Christiansen.

        [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
        https://bugs.webkit.org/show_bug.cgi?id=37759

        * platform/qt/Skipped:

2010-05-13  Martin Robinson  <mrobinson@igalia.com>
        Reviewed by Gustavo Noronha.

        Events tests failing
        https://bugs.webkit.org/show_bug.cgi?id=31436

        Unskip these two test which are now passing.

        * platform/gtk/Skipped: Unskip two tests.

2010-05-13  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha.

        Two forms tests failing
        https://bugs.webkit.org/show_bug.cgi?id=31435

        Unskip passing tests.

        * platform/gtk/Skipped: Unskip these tests, because they are passing now.

2010-05-13  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Chromium build fix. Partially rever r59277 which updated Chromium's expectations
        after r59270. r59270 was reverted, so we need to revert Chromium's expectations.

        * platform/chromium-linux/editing/deleting/5408255-expected.checksum:
        * platform/chromium-mac/editing/deleting/5408255-expected.checksum: Removed.
        * platform/chromium-win/editing/deleting/5408255-expected.checksum:
        * platform/chromium-win/editing/deleting/5408255-expected.txt:
        * platform/chromium-win/editing/deleting/delete-select-all-001-expected.txt:
        * platform/chromium-win/editing/selection/4895428-1-expected.txt:
        * platform/chromium-win/editing/selection/4895428-4-expected.txt:
        * platform/chromium-win/fast/events/mouseout-dead-node-expected.txt:

2010-05-13  Yoshiki Hayashi  <yhayashi@google.com>

        Reviewed by Darin Adler.

        Fix a bug in handleRunInChild where only the first child run-in block
        is inserted because removeChildNode clears next sibling.
        https://bugs.webkit.org/show_bug.cgi?id=25047

        * fast/css/run-in-children-expected.txt: Added.
        * fast/css/run-in-children.html: Added.

2010-05-13  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed.

        Skip websocket/tests on tiger, until Python 2.5 is installed on tiger bot.

        * platform/mac-tiger/Skipped: Add websocket/tests

2010-05-12  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Fix Bug 35014 - Modifying UA rules from page JS crashes
        https://bugs.webkit.org/show_bug.cgi?id=35014

        * fast/css/modify-ua-rules-from-javascript-expected.txt: Copied from LayoutTests/editing/selection/5136696-expected.txt.
        * fast/css/modify-ua-rules-from-javascript.html: Added.

2010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59272.
        http://trac.webkit.org/changeset/59272
        https://bugs.webkit.org/show_bug.cgi?id=39047

        Original change (59270) was rolled out (Requested by smfr on
        #webkit).

        * platform/qt/editing/deleting/5408255-expected.txt:

2010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59276.
        http://trac.webkit.org/changeset/59276
        https://bugs.webkit.org/show_bug.cgi?id=39046

        Original change (59270) was rolled out (Requested by smfr on
        #webkit).

        * platform/gtk/editing/deleting/delete-select-all-001-expected.txt:

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

        Reviewed by Mark Rowe.

        Fix layer dump to avoid spurious platform differences
        https://bugs.webkit.org/show_bug.cgi?id=39045
        
        Updated shared results, and removed Leopard-specific results now that they are no longer required.

        * compositing/geometry/preserve-3d-switching-expected.txt:
        * compositing/iframes/composited-parent-iframe-expected.txt:
        * compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
        * compositing/iframes/connect-compositing-iframe-expected.txt:
        * compositing/iframes/connect-compositing-iframe2-expected.txt:
        * compositing/iframes/connect-compositing-iframe3-expected.txt:
        * compositing/iframes/enter-compositing-iframe-expected.txt:
        * compositing/iframes/iframe-resize-expected.txt:
        * compositing/iframes/overlapped-iframe-expected.txt:
        * compositing/layer-creation/overflow-scroll-overlap-expected.txt:
        * platform/mac-leopard/compositing/iframes/composited-parent-iframe-expected.txt: Removed.
        * platform/mac-leopard/compositing/iframes/connect-compositing-iframe-expected.txt: Removed.
        * platform/mac-leopard/compositing/iframes/connect-compositing-iframe2-expected.txt: Removed.
        * platform/mac-leopard/compositing/iframes/connect-compositing-iframe3-expected.txt: Removed.
        * platform/mac-leopard/compositing/iframes/enter-compositing-iframe-expected.txt: Removed.

2010-05-12  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r59270.
        http://trac.webkit.org/changeset/59270
        https://bugs.webkit.org/show_bug.cgi?id=39044

        Caused a crash on some pages - bug 39042 (Requested by smfr on
        #webkit).

        * editing/deleting/delete-block-contents-004-expected.txt: Removed.
        * editing/deleting/delete-block-contents-004.html: Removed.
        * editing/deleting/in-visibly-empty-root-expected.txt:
        * platform/mac/editing/deleting/5408255-expected.txt:
        * platform/mac/editing/deleting/delete-select-all-001-expected.txt:
        * platform/mac/editing/selection/4895428-1-expected.txt:
        * platform/mac/editing/selection/4895428-4-expected.txt:
        * platform/mac/fast/events/mouseout-dead-node-expected.txt:

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

        Reviewed by David Hyatt.

        Composited plug-ins can cause missed painting
        https://bugs.webkit.org/show_bug.cgi?id=39033
        <rdar://problem/7972478>
        
        New testcases, one which removes the contents of a composited iframe, and checks that
        all layers go away, and another that has a composited iframe, then toggles the parent
        document into compositing mode, to check that the layer trees get connected.

        * compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Added.
        * compositing/iframes/connect-compositing-iframe-delayed.html: Added.
        * compositing/iframes/iframe-src-change-expected.txt: Added.
        * compositing/iframes/iframe-src-change.html: Added.

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

        Reviewed by Gavin Barraclough.

        <rdar://7969718> Incorrect 32-bit codegen for op_jnlesseq
        https://bugs.webkit.org/show_bug.cgi?id=39038

        Add more tests for <=, <, >, and >=.

        * fast/js/comparison-operators-greater-expected.txt:
        * fast/js/comparison-operators-less-expected.txt:
        * fast/js/script-tests/comparison-operators-greater.js:
        * fast/js/script-tests/comparison-operators-less.js:

2010-05-12  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, build fix.

        Change expectation from IMAGE to IMAGE+TEXT for Chromium Linux; I'm
        not sure if this is flaky or not but it seems to be consistent on the
        bot.

        * platform/chromium/test_expectations.txt:

2010-05-12  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Nate Chapin.

        Expectations fix and new chromium baselines resulting from the
        input type=search change in r58313.

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

        * platform/chromium-linux/fast/forms/placeholder-pseudo-style-expected.checksum:
        * platform/chromium-linux/fast/forms/placeholder-pseudo-style-expected.png:
        * platform/chromium-linux/fast/forms/search-vertical-alignment-expected.checksum:
        * platform/chromium-linux/fast/forms/search-vertical-alignment-expected.png: Added.
        * platform/chromium-win/fast/forms/search-vertical-alignment-expected.checksum:
        * platform/chromium-win/fast/forms/search-vertical-alignment-expected.png: Added.
        * platform/chromium/test_expectations.txt:
        * platform/mac/fast/forms/search-zoomed-expected.checksum:
        * platform/mac/fast/forms/search-zoomed-expected.png:

2010-05-12  Jian Li  <jianli@chromium.org>

        Unreviewed. Chromium: rebaseline layout tests.

        * platform/chromium-linux/editing/deleting/5408255-expected.checksum:
        * platform/chromium-linux/editing/deleting/5408255-expected.png:
        * platform/chromium-linux/fast/css/pseudo-cache-stale-expected.checksum:
        * platform/chromium-linux/fast/css/pseudo-cache-stale-expected.png:
        * platform/chromium-mac/editing/deleting/5408255-expected.checksum: Added.
        * platform/chromium-mac/editing/deleting/5408255-expected.png: Added.
        * platform/chromium-mac/fast/css/pseudo-cache-stale-expected.checksum: Added.
        * platform/chromium-win/editing/deleting/5408255-expected.checksum:
        * platform/chromium-win/editing/deleting/5408255-expected.png:
        * platform/chromium-win/editing/deleting/5408255-expected.txt:
        * platform/chromium-win/editing/deleting/delete-select-all-001-expected.txt:
        * platform/chromium-win/editing/selection/4895428-1-expected.txt:
        * platform/chromium-win/editing/selection/4895428-4-expected.txt:
        * platform/chromium-win/fast/css/pseudo-cache-stale-expected.checksum:
        * platform/chromium-win/fast/css/pseudo-cache-stale-expected.png:
        * platform/chromium-win/fast/css/pseudo-cache-stale-expected.txt:
        * platform/chromium-win/fast/events/mouseout-dead-node-expected.txt:

2010-05-12  Martin Robinson  <mrobinson@igalia.com>

        No review. Updating the baseline for this test after r59270.

        * platform/gtk/editing/deleting/delete-select-all-001-expected.txt:

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

        Unreviewed fix after r59270. 
        Update Qt specific expected result based on IRC discussing with Enrica Casucci.

        * platform/qt/editing/deleting/5408255-expected.txt: updated.

2010-05-12  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dave Hyatt.

        Adding block elements to a block and removing them changes the height of the element.
        https://bugs.webkit.org/show_bug.cgi?id=38874

        * editing/deleting/delete-block-contents-004-expected.txt: Added.
        * editing/deleting/delete-block-contents-004.html: Added.
        The following tests have new results because of the height change and because we now have one less renderer after the DOM changes.
        * editing/deleting/in-visibly-empty-root-expected.txt:
        * platform/mac/editing/deleting/5408255-expected.txt:
        * platform/mac/editing/deleting/delete-select-all-001-expected.txt:
        * platform/mac/editing/selection/4895428-1-expected.txt:
        * platform/mac/editing/selection/4895428-4-expected.txt:
        * platform/mac/fast/events/mouseout-dead-node-expected.txt

2010-05-12  Jian Li  <jianli@chromium.org>

        Unreviewed. Chromium: rebaseline layout tests and mark one failed layout test.

        * platform/chromium-linux/fast/forms/placeholder-stripped-expected.checksum: Added.
        * platform/chromium-linux/fast/forms/placeholder-stripped-expected.png: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png:
        * platform/chromium-linux/svg/custom/svg-fonts-with-no-element-reference-expected.checksum: Added.
        * platform/chromium-mac/fast/forms/placeholder-stripped-expected.checksum: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.png: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png: Added.
        * platform/chromium-win/fast/forms/placeholder-stripped-expected.checksum: Added.
        * platform/chromium-win/fast/forms/placeholder-stripped-expected.png: Added.
        * platform/chromium-win/fast/forms/placeholder-stripped-expected.txt: Added.
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png:
        * platform/chromium-win/svg/custom/svg-fonts-with-no-element-reference-expected.checksum: Added.
        * platform/chromium-win/svg/custom/svg-fonts-with-no-element-reference-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-05-12  Adam Langley  <agl@chromium.org>

        Expectations change. Unreviewed.

        Add baselines for fast/css/font-face-woff.html.

        * platform/chromium-linux/fast/css/font-face-woff-expected.checksum: Added.
        * platform/chromium-linux/fast/css/font-face-woff-expected.png: Added.
        * platform/chromium-mac/fast/css/font-face-woff-expected.checksum: Added.
        * platform/chromium-mac/fast/css/font-face-woff-expected.png: Added.
        * platform/chromium-mac/fast/css/font-face-woff-expected.txt: Added.
        * platform/chromium-win/fast/css/font-face-woff-expected.checksum: Added.
        * platform/chromium-win/fast/css/font-face-woff-expected.png: Added.
        * platform/chromium-win/fast/css/font-face-woff-expected.txt: Added.

2010-05-12  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed.

        [GTK] svg/custom/svg-fonts-with-no-element-reference.html is one pixel different on x86_64
        https://bugs.webkit.org/show_bug.cgi?id=39022

        Skipping failing tests for GTK+.

        * platform/gtk/Skipped:

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

        Unreviewed, rolling out r59245.
        http://trac.webkit.org/changeset/59245
        https://bugs.webkit.org/show_bug.cgi?id=38874

        Broke at least one test on multiple platforms

        * editing/deleting/delete-block-contents-004-expected.txt: Removed.
        * editing/deleting/delete-block-contents-004.html: Removed.
        * editing/deleting/in-visibly-empty-root-expected.txt:
        * platform/mac/editing/deleting/5408255-expected.txt:
        * platform/mac/editing/deleting/delete-select-all-001-expected.txt:
        * platform/mac/editing/selection/4895428-1-expected.txt:
        * platform/mac/editing/selection/4895428-4-expected.txt:

2010-05-12  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed. Try number 3 to properly add new baselines and remove remaining
        merge marker from this file.

        * platform/gtk/fast/css/input-search-padding-expected.txt:
        * platform/gtk/svg/custom/svg-fonts-with-no-element-reference-expected.txt:

2010-05-12  James Robinson  <jamesr@chromium.org>

        Reviewed by Eric Seidel.

        Update pixel baselines for fast/css/pseudo-cache-stale.html due to r59211
        https://bugs.webkit.org/show_bug.cgi?id=38976

        * platform/mac/fast/css/pseudo-cache-stale-expected.checksum:
        * platform/mac/fast/css/pseudo-cache-stale-expected.png:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=38752
        Strange behaviour after js insertion into a page pointing directly to an object (image, swf, etc)

        * fast/images/extra-image-in-image-document-expected.txt: Added.
        * fast/images/extra-image-in-image-document.html: Added.
        * fast/images/resources/green.jpg: Added.

2010-05-12  Martin Robinson  <mrobinson@webkit.org>

        Not reviewed. Trying once more to generate baselines for GTK+.

        * platform/gtk/fast/css/input-search-padding-expected.txt:
        * platform/gtk/fast/forms/placeholder-stripped-expected.txt:
        * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt:
        * platform/gtk/fast/images/svg-background-partial-redraw-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
        * platform/gtk/svg/custom/repaint-stroke-width-changes-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/repaint-stroke-width-changes-expected.txt.

2010-05-12  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dave Hyatt.

        Adding block elements to a block and removing them changes the height of the element.
        https://bugs.webkit.org/show_bug.cgi?id=38874

        * editing/deleting/delete-block-contents-004-expected.txt: Added.
        * editing/deleting/delete-block-contents-004.html: Added.
        The following tests have new results because of the height change and because we now have one less renderer after the DOM changes.
        * editing/deleting/in-visibly-empty-root-expected.txt:
        * platform/mac/editing/deleting/5408255-expected.txt:
        * platform/mac/editing/deleting/delete-select-all-001-expected.txt:
        * platform/mac/editing/selection/4895428-1-expected.txt:
        * platform/mac/editing/selection/4895428-4-expected.txt:

2010-05-12  Martin Robinson  <mrobinson@igalia.com>

        Not reviewed. Added baselines to these tests which are passing interactively.

        * platform/gtk/fast/css-generated-content/after-duplicated-after-split-expected.txt: Added.
        * platform/gtk/fast/css/input-search-padding-expected.txt: Added.
        * platform/gtk/fast/forms/placeholder-stripped-expected.txt: Added.
        * platform/gtk/fast/frames/take-focus-from-iframe-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-child-move-after-scroll-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-move-after-scroll-expected.txt: Added.
        * platform/gtk/fast/repaint/fixed-tranformed-expected.txt: Added.
        * platform/gtk/fast/text/format-control-expected.txt: Added.
        * platform/gtk/fast/text/international/bold-bengali-expected.txt: Added.
        * platform/gtk/svg/custom/svg-fonts-with-no-element-reference-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/svg-fonts-with-no-element-reference-expected.txt.
        * platform/gtk/svg/text/text-hkern-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-hkern-expected.txt.
        * platform/gtk/svg/text/text-hkern-on-vertical-text-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-hkern-on-vertical-text-expected.txt.
        * platform/gtk/svg/text/text-vkern-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-vkern-expected.txt.
        * platform/gtk/svg/text/text-vkern-on-horizontal-text-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-vkern-on-horizontal-text-expected.txt.
        * platform/gtk/transforms/svg-vs-css-expected.txt: Added.

2010-05-12  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: disabling style property on container breaks styles inspection for given node.

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

        * inspector/elements-img-tooltip.html:
        * inspector/elements-panel-limited-children.html:
        * inspector/elements-panel-rewrite-href.html:
        * inspector/elements-panel-selection-on-refresh.html:
        * inspector/elements-panel-structure.html:
        * inspector/elements-panel-styles.html:
        * inspector/elements-panel-xhtml-structure.xhtml:
        * inspector/elements-tests.js:
        (dumpArray):
        (frontend_expandDOMSubtreeAndRun):
        (frontend_selectElementAndRun):
        (frontend_dumpSelectedElementStyles):
        (frontend_getSelectedElementStyles):
        (frontend_getElementStylePropertyTreeItem):
        (frontend_dumpStyleTreeOutline):
        (frontend_dumpStyleTreeItem):
        * inspector/styles-disable-inherited-expected.txt: Added.
        * inspector/styles-disable-inherited.html: Added.
        * inspector/styles-disable-then-enable-expected.txt: Added.
        * inspector/styles-disable-then-enable.html: Added.
        * inspector/styles-iframe.html:
        * inspector/styles-source-lines.html:

2010-05-12  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Adler.

        Tests that accessing the innerHTML property of a text node encodes
        entities properly. Update existing test to fix the innerHTML result.
        https://bugs.webkit.org/show_bug.cgi?id=38922

        * fast/innerHTML/innerHTML-special-elements-expected.txt: Added.
        * fast/innerHTML/innerHTML-special-elements.html: Added.

        * fast/parser/comment-in-textarea-expected.txt: Update test expectation.
        * fast/parser/script-tests/comment-in-textarea.js: Update test by
        replacing with html entities of <, > chars in textarea innerHTML result.

2010-05-11  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Sometimes ResourceRequest records aren't connected to the initiator.
        https://bugs.webkit.org/show_bug.cgi?id=38925

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

2010-05-12  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        placeholder text should be stripped from line breaks
        https://bugs.webkit.org/show_bug.cgi?id=36291

        Add a test for placeholder values with CR and LF.

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

2010-05-10  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Support control attribute of HTMLLabelElement
        https://bugs.webkit.org/show_bug.cgi?id=38688

        * fast/dom/HTMLLabelElement/click-label-expected.txt: Added.
        * fast/dom/HTMLLabelElement/click-label.html: Added.
        * fast/dom/HTMLLabelElement/focus-label-expected.txt: Added.
        * fast/dom/HTMLLabelElement/focus-label.html: Added.
        * fast/dom/HTMLLabelElement/label-control-expected.txt: Added.
        * fast/dom/HTMLLabelElement/label-control.html: Added.
        * fast/dom/HTMLLabelElement/script-tests: Added.
        * fast/dom/HTMLLabelElement/script-tests/TEMPLATE.html: Added.
        * fast/dom/HTMLLabelElement/script-tests/label-control.js: Added.

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

        Unreviewed.

        Other tests make http/tests/xmlhttprequest/null-auth.php fail
        https://bugs.webkit.org/show_bug.cgi?id=32961

        http/tests/xmlhttprequest/basic-auth-default.html introduced in r59185,
        and it made http/tests/xmlhttprequest/null-auth.php fail on Qt bot, as 
        http/tests/xmlhttprequest/failed-auth.html did it before.

        * platform/qt/Skipped: http/tests/xmlhttprequest/basic-auth-default.html skipped until fix.

2010-05-12  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Updating the pixel tests for feDiffuseLighting and feSpecularLighting
        https://bugs.webkit.org/show_bug.cgi?id=32197
        https://bugs.webkit.org/show_bug.cgi?id=32199

        No new test were added, since SVG expected values cover
        the features of the implementation

        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.png:

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

        Unreviewed fix.

        [Qt] Platform specific expected result updated after r59211.

        * platform/qt/fast/css/pseudo-cache-stale-expected.txt: updated.

2010-05-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>

        Reviewed by Dirk Schulze.

        Fix a bug in SVGPathSegList::getPathSegAtLength().
        This bug is just a misktake: almost all of the code is OK, but the
        parameter is not used at all, therefore, this function always returns
        "1".
        And make a modification to return the last path segment if the distance
        exceeds the actual path length.
        https://bugs.webkit.org/show_bug.cgi?id=37515

        * svg/dom/svgpath-getPathSegAtLength-expected.txt: Added.
        * svg/dom/svgpath-getPathSegAtLength.html: Added.

2010-05-11  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Remove subframe scrollbar routing (r58937)
        https://bugs.webkit.org/show_bug.cgi?id=38894

        * platform/win/Skipped: This test should pass on windows.

2010-05-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Maciej Stachowiak.

        Body not redrawn, and filled with garbage on some composited pages
        https://bugs.webkit.org/show_bug.cgi?id=38951
        <rdar://problem/7891548>
        
        New testcase with a layer configuration that forces the root layer into
        compositing mode.

        * compositing/geometry/composited-html-size.html: Added.
        * platform/mac/compositing/geometry/composited-html-size-expected.checksum: Added.
        * platform/mac/compositing/geometry/composited-html-size-expected.png: Added.
        * platform/mac/compositing/geometry/composited-html-size-expected.txt: Added.

2010-05-11  MORITA Hajime  <morrita@google.com>

        Reviewed by Dirk Schulze.

        CSS SVG font doesn't recognize URL without element reference
        https://bugs.webkit.org/show_bug.cgi?id=37144

        * platform/mac/svg/custom/svg-fonts-with-no-element-reference-expected.checksum: Added.
        * platform/mac/svg/custom/svg-fonts-with-no-element-reference-expected.png: Added.
        * platform/mac/svg/custom/svg-fonts-with-no-element-reference-expected.txt: Added.
        * svg/custom/resources/graffiti-with-empty-first-font.svg: Added.
        * svg/custom/svg-fonts-with-no-element-reference.html: Added.

2010-05-11  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        https://bugs.webkit.org/show_bug.cgi?id=38956
        [Gtk] http/tests/xmlhttprequest/basic-auth-default.html fails

        * platform/gtk/Skipped: Skipping the new failing test on Gtk.

2010-05-11  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=37989
        Safari (still) doesn't always send basic credentials preemptively

        These resources shouldn't be reused for any other test.

        * http/tests/xmlhttprequest/basic-auth-default-expected.txt: Added.
        * http/tests/xmlhttprequest/basic-auth-default.html: Added.
        * http/tests/xmlhttprequest/resources/basic-auth-default: Added.
        * http/tests/xmlhttprequest/resources/basic-auth-default/dir1: Added.
        * http/tests/xmlhttprequest/resources/basic-auth-default/dir1/basic-auth.php: Added.
        * http/tests/xmlhttprequest/resources/basic-auth-default/dir2: Added.
        * http/tests/xmlhttprequest/resources/basic-auth-default/dir2/basic-auth.php: Added.
        * http/tests/xmlhttprequest/resources/basic-auth-default/dir2/catch.php: Added.

2010-05-11  Jian Li  <jianli@chromium.org>

        Unreviewed. Remove unneeded rebaselined result for enter-clicks-buttons.html

        * platform/chromium-win/fast/forms/enter-clicks-buttons-expected.txt: Removed.

2010-05-11  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r58520): Implicit submission on forms with button type="submit" no longer works
        https://bugs.webkit.org/show_bug.cgi?id=38913

        Updated the test to include coverage of button elements.

        * fast/forms/enter-clicks-buttons-expected.txt: Updated expectations to account for implicit
            submission which now correctly happens from the right element (button).
        * fast/forms/implicit-submission-expected.txt: Updated expectations with new test results.
        * fast/forms/implicit-submission.html: Added tests and code to cover button elements.

2010-05-11  Antonio Gomes  <tonikitoo@webkit.org>

        Rubber-stamped by Kenneth Christiansen.

        [Qt] fast/frames/flattening/frameset-flattening-subframesets.html fails intermittently on Qt bot
        https://bugs.webkit.org/show_bug.cgi?id=37334

        Removing unneeded call to LayoutTestController.display(). It was originally intending
        to force a layout, but a re-layout will happen regardless because document.body.offsetTop
        is called afterwards

        * fast/frames/flattening/frameset-flattening-subframe-resize.html:
        * platform/qt/Skipped:

2010-05-11  Jian Li  <jianli@chromium.org>

        Unreviewed. Skip file-reader.html that is not enabled in chromium yet.

        * platform/chromium/test_expectations.txt:

2010-05-11  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Expose FileReader interface.
        https://bugs.webkit.org/show_bug.cgi?id=38609

        Add a layout test to test basic FileReader operations.
        Also update layout tests affected by adding the constructors to DOMWindow.

        * fast/dom/Window/script-tests/window-property-descriptors.js:
        * fast/dom/Window/window-properties.html:
        * fast/dom/script-tests/constructed-objects-prototypes.js:
        * fast/dom/script-tests/prototype-inheritance-2.js:
        * fast/dom/script-tests/prototype-inheritance.js:
        * fast/files/file-reader-expected.txt: Added.
        * fast/files/file-reader.html: Added.
        * fast/files/resources/UTF16BE-BOM.txt: Added.
        * fast/files/resources/UTF16BE.txt: Added.
        * fast/files/resources/UTF16LE-BOM.txt: Added.
        * fast/files/resources/UTF8-BOM.txt: Added.
        * fast/files/resources/UTF8.txt: Added.
        * fast/files/resources/empty-file: Added.
        * fast/js/script-tests/global-constructors.js:
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped: Skip the new test because eventSender.beginDragWithFiles is not supported in gtk platform.
        * platform/qt/Skipped: Skip the new test because eventSender.beginDragWithFiles is not supported in qt platform.
        * platform/win/Skipped: Skip the new test because eventSender.beginDragWithFiles is not supported in win platform.

2010-05-11  Jian Li  <jianli@chromium.org>

        Unreviewed.

        [chromium] Mark flaky layout tests.

        * platform/chromium/test_expectations.txt:

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

        Reviewed by Shinichiro Hamaji.

        Merge some pseudo-valid-*.html tests into one.
        https://bugs.webkit.org/show_bug.cgi?id=38846

        No additional test cases and no removed test cases.

        * fast/css/pseudo-valid-003-expected.txt: Removed.
        * fast/css/pseudo-valid-003.html: Removed.
        * fast/css/pseudo-valid-005-expected.txt: Removed.
        * fast/css/pseudo-valid-005.html: Removed.
        * fast/css/pseudo-valid-006-expected.txt: Removed.
        * fast/css/pseudo-valid-006.html: Removed.
        * fast/css/pseudo-valid-unapplied-expected.txt: Added.
        * fast/css/pseudo-valid-unapplied.html: Added.

2010-05-11  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] fast/text/find-hidden-text.html
        https://bugs.webkit.org/show_bug.cgi?id=32922

        Remove fast/text/find-hidden-text.html from the skipped list of Qt.

        * platform/qt/Skipped:

2010-05-11  John Gregg  <johnnyg@google.com>

        [chromium] Unreviewed, test expectations.

        * platform/chromium-mac/svg/filters/filteredImage-expected.checksum: Added.
        * platform/chromium-win-xp/svg/batik/text/textFeatures-expected.txt:
        * platform/chromium-win/svg/filters/filteredImage-expected.checksum: Added.
        * platform/chromium-win/svg/filters/filteredImage-expected.png: Added.
        * platform/chromium-win/svg/text/text-hkern-on-vertical-text-expected.checksum: Added.
        * platform/chromium-win/svg/text/text-hkern-on-vertical-text-expected.png: Added.
        * platform/chromium-win/svg/text/text-vkern-on-horizontal-text-expected.checksum: Added.
        * platform/chromium-win/svg/text/text-vkern-on-horizontal-text-expected.png: Added.

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

        Reviewed by Dirk Schulze.

        Move buildLayoutInformationForTextBox() from SVGRootInlineBox in SVGInlineTextBox where it belongs
        https://bugs.webkit.org/show_bug.cgi?id=38799

        * platform/mac/svg/text/text-hkern-on-vertical-text-expected.checksum: Added.
        * platform/mac/svg/text/text-hkern-on-vertical-text-expected.png: Added.
        * platform/mac/svg/text/text-hkern-on-vertical-text-expected.txt: Added.
        * platform/mac/svg/text/text-vkern-on-horizontal-text-expected.checksum: Added.
        * platform/mac/svg/text/text-vkern-on-horizontal-text-expected.png: Added.
        * platform/mac/svg/text/text-vkern-on-horizontal-text-expected.txt: Added.
        * svg/text/text-hkern-on-vertical-text.svg: Added.
        * svg/text/text-vkern-on-horizontal-text.svg: Added.

2010-05-11  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Test case for SVG filter cache invalidation, after an image resource arrives.
        https://bugs.webkit.org/show_bug.cgi?id=38838

        * platform/gtk/Skipped:
        * platform/mac/svg/filters/filteredImage-expected.checksum: Added.
        * platform/mac/svg/filters/filteredImage-expected.png: Added.
        * platform/mac/svg/filters/filteredImage-expected.txt: Added.
        * platform/qt/svg/filters/filteredImage-expected.txt: Added.
        * svg/filters/filteredImage.svg: Added.

2010-05-11  Simon Fraser  <simon.fraser@apple.com>

        Test result fixes for Leopard.

        Leopard needs custom results for tests that dump the layer tree, because Leopard
        CA does not have geometry flipping, so we do that ourselves by setting a transform.

        * platform/mac-leopard/compositing/iframes/composited-parent-iframe-expected.txt: Added.
        * platform/mac-leopard/compositing/iframes/connect-compositing-iframe-expected.txt: Added.
        * platform/mac-leopard/compositing/iframes/connect-compositing-iframe2-expected.txt: Added.
        * platform/mac-leopard/compositing/iframes/connect-compositing-iframe3-expected.txt: Added.
        * platform/mac-leopard/compositing/iframes/enter-compositing-iframe-expected.txt: Added.

2010-05-11  John Gregg  <johnnyg@google.com>

        [chromium] Update win-vista version of the baseline recently updated for win-xp.

        * platform/chromium-win-vista/svg/batik/text/textFeatures-expected.txt:

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        Skip two new flakey tests:
        
        # Tests are flakey: https://bugs.webkit.org/show_bug.cgi?id=38888
        compositing/iframes/iframe-resize.html
        compositing/iframes/overlapped-iframe.html

        * platform/mac/Skipped:

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        No review; attempt to fix failing tests.

        Increase the timeout to give compositing updates a chance to happen.

        * compositing/iframes/iframe-resize.html:
        * compositing/iframes/overlapped-iframe.html:

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        No review.

        Reduce timeouts from 500 to 50ms to make the tests run more quickly.

        * compositing/iframes/resources/enter-compositing-subframe.html:
        * compositing/iframes/resources/leave-compositing-subframe.html:

2010-05-07  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Brady Eidson.

        Adding a test that makes sure openDatabaseSync() deals correctly with invalid inputs.
        https://bugs.webkit.org/show_bug.cgi?id=34994

        * fast/workers/storage: Added.
        * fast/workers/storage/open-database-sync-inputs-expected.txt: Added.
        * fast/workers/storage/open-database-sync-inputs.html: Added.
        * fast/workers/storage/resources: Added.
        * fast/workers/storage/resources/open-database-sync-inputs.js: Added.
        (notAString.toString):
        * fast/workers/storage/resources/test-inputs-common.js: Added.
        (log):
        (finishTest):
        (runTest.worker.onmessage):
        (runTest):

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=38856
        Allow compositing layers to be connected across iframe boundaries on Mac
        
        New expected results now that Mac propagates compositing out of iframes, if overlapped.
        
        Also add new tests to exercise the code that connects the compositing layers of
        the iframe content with the parent document, for different compositing configurations.

        * compositing/iframes/composited-parent-iframe-expected.txt: Added.
        * compositing/iframes/composited-parent-iframe.html:
        * compositing/iframes/connect-compositing-iframe-expected.txt: Added.
        * compositing/iframes/connect-compositing-iframe.html: Added.
        * compositing/iframes/connect-compositing-iframe2-expected.txt: Added.
        * compositing/iframes/connect-compositing-iframe2.html: Added.
        * compositing/iframes/connect-compositing-iframe3-expected.txt: Added.
        * compositing/iframes/connect-compositing-iframe3.html: Added.
        * compositing/iframes/enter-compositing-iframe-expected.txt:
        * compositing/iframes/enter-compositing-iframe.html:
        * compositing/iframes/iframe-resize-expected.txt:
        * compositing/iframes/leave-compositing-iframe.html:
        * compositing/iframes/overlapped-iframe-expected.txt:
        * platform/mac/compositing/iframes/composited-parent-iframe-expected.txt: Removed.

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        Fix up test results from last commit, which were generated with a build from before r59129.

        * platform/win/compositing/iframes/composited-parent-iframe-expected.txt:
        * platform/win/compositing/iframes/iframe-resize-expected.txt:
        * platform/win/compositing/iframes/leave-compositing-iframe-expected.txt:
        * platform/win/compositing/iframes/overlapped-iframe-expected.txt:

2010-05-10  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=38856
        Allow compositing layers to be connected across iframe boundaries on Mac
        
        Add several more iframe-compositing-related tests. These tests:
            * an iframe dynamically entering compositing mode
            * an iframe dynamically leaving compositing mode
            * an overlapped iframe
            * a compositing iframe being resized
            
        composited-iframe.html had no value and is removed.

        * compositing/iframes/composited-iframe-expected.txt: Removed.
        * compositing/iframes/composited-iframe.html: Removed.
        * compositing/iframes/enter-compositing-iframe-expected.txt: Copied from LayoutTests/platform/mac/compositing/iframes/composited-iframe-expected.txt.
        * compositing/iframes/enter-compositing-iframe.html: Added.
        * compositing/iframes/iframe-resize-expected.txt: Copied from LayoutTests/platform/mac/compositing/iframes/composited-iframe-expected.txt.
        * compositing/iframes/iframe-resize.html: Added.
        * compositing/iframes/leave-compositing-iframe-expected.txt: Copied from LayoutTests/platform/mac/compositing/iframes/composited-iframe-expected.txt.
        * compositing/iframes/leave-compositing-iframe.html: Added.
        * compositing/iframes/overlapped-iframe-expected.txt: Copied from LayoutTests/platform/mac/compositing/iframes/composited-iframe-expected.txt.
        * compositing/iframes/overlapped-iframe.html: Added.
        * compositing/iframes/resources/enter-compositing-subframe.html: Added.
        * compositing/iframes/resources/leave-compositing-subframe.html: Added.
        * platform/win/compositing/iframes/iframe-resize-expected.txt: Added.
        * platform/win/compositing/iframes/leave-compositing-iframe-expected.txt: Added.
        * platform/win/compositing/iframes/overlapped-iframe-expected.txt: Added.

2010-05-10  John Gregg  <johnnyg@google.com>

        [chromium] Final set of baselines and expectations to green up the build.

        * platform/chromium-mac/plugins/geturlnotify-during-document-teardown-expected.txt: Added.
        * platform/chromium-win/plugins/geturlnotify-during-document-teardown-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-05-10  John Gregg  <johnnyg@google.com>

        [chromium] rebaseline SVG test for windows after recent changes.

        * platform/chromium-win/svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/chromium-win/svg/batik/filters/feTile-expected.checksum:
        * platform/chromium-win/svg/batik/filters/feTile-expected.png:
        * platform/chromium-win/svg/batik/filters/feTile-expected.txt:
        * platform/chromium-win/svg/batik/filters/filterRegions-expected.checksum:
        * platform/chromium-win/svg/batik/filters/filterRegions-expected.png:
        * platform/chromium-win/svg/batik/filters/filterRegions-expected.txt:
        * platform/chromium-win/svg/batik/masking/maskRegions-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect-expected.checksum:
        * platform/chromium-win/svg/batik/text/textEffect-expected.png: Added.
        * platform/chromium-win/svg/batik/text/textEffect-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect3-expected.checksum:
        * platform/chromium-win/svg/batik/text/textEffect3-expected.png: Added.
        * platform/chromium-win/svg/batik/text/textEffect3-expected.txt:
        * platform/chromium-win/svg/batik/text/textFeatures-expected.txt:
        * platform/chromium-win/svg/batik/text/textProperties-expected.txt:
        * platform/chromium-win/svg/custom/empty-mask-expected.txt:
        * platform/chromium-win/svg/custom/empty-merge-expected.checksum:
        * platform/chromium-win/svg/custom/empty-merge-expected.png:
        * platform/chromium-win/svg/custom/feComponentTransfer-Discrete-expected.checksum:
        * platform/chromium-win/svg/custom/feComponentTransfer-Discrete-expected.png:
        * platform/chromium-win/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Gamma-expected.checksum:
        * platform/chromium-win/svg/custom/feComponentTransfer-Gamma-expected.png:
        * platform/chromium-win/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Linear-expected.checksum:
        * platform/chromium-win/svg/custom/feComponentTransfer-Linear-expected.png:
        * platform/chromium-win/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Table-expected.checksum:
        * platform/chromium-win/svg/custom/feComponentTransfer-Table-expected.png:
        * platform/chromium-win/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/chromium-win/svg/custom/feDisplacementMap-01-expected.checksum:
        * platform/chromium-win/svg/custom/feDisplacementMap-01-expected.png:
        * platform/chromium-win/svg/custom/image-with-transform-clip-filter-expected.checksum:
        * platform/chromium-win/svg/custom/image-with-transform-clip-filter-expected.png:
        * platform/chromium-win/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/chromium-win/svg/custom/invalid-css-expected.txt:
        * platform/chromium-win/svg/custom/mask-invalidation-expected.txt:
        * platform/chromium-win/svg/custom/non-opaque-filters-expected.txt:
        * platform/chromium-win/svg/custom/resource-invalidate-on-target-update-expected.checksum:
        * platform/chromium-win/svg/custom/resource-invalidate-on-target-update-expected.png:
        * platform/chromium-win/svg/custom/text-filter-expected.checksum:
        * platform/chromium-win/svg/custom/text-filter-expected.png:
        * platform/chromium-win/svg/custom/text-filter-expected.txt:
        * platform/chromium-win/svg/custom/visibility-override-filter-expected.checksum:
        * platform/chromium-win/svg/custom/visibility-override-filter-expected.png:
        * platform/chromium-win/svg/filters/big-sized-filter-2-expected.checksum:
        * platform/chromium-win/svg/filters/big-sized-filter-2-expected.png:
        * platform/chromium-win/svg/filters/big-sized-filter-expected.checksum:
        * platform/chromium-win/svg/filters/big-sized-filter-expected.png:
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.checksum:
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.png:
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.txt:
        * platform/chromium-win/svg/filters/feComposite-expected.checksum:
        * platform/chromium-win/svg/filters/feComposite-expected.png:
        * platform/chromium-win/svg/filters/feComposite-expected.txt:
        * platform/chromium-win/svg/filters/feGaussianBlur-expected.checksum:
        * platform/chromium-win/svg/filters/feGaussianBlur-expected.png:
        * platform/chromium-win/svg/filters/feMerge-expected.checksum:
        * platform/chromium-win/svg/filters/feMerge-expected.png:
        * platform/chromium-win/svg/filters/feOffset-expected.checksum:
        * platform/chromium-win/svg/filters/feOffset-expected.png:
        * platform/chromium-win/svg/filters/feTile-expected.checksum:
        * platform/chromium-win/svg/filters/feTile-expected.png:
        * platform/chromium-win/svg/filters/filter-on-tspan-expected.checksum:
        * platform/chromium-win/svg/filters/filter-on-tspan-expected.png:
        * platform/chromium-win/svg/filters/filter-on-tspan-expected.txt:
        * platform/chromium-win/svg/filters/shadow-on-filter-expected.checksum:
        * platform/chromium-win/svg/filters/shadow-on-filter-expected.png:
        * platform/chromium-win/svg/filters/sourceAlpha-expected.txt:
        * platform/chromium-win/svg/filters/subRegion-in-userSpace-expected.checksum:
        * platform/chromium-win/svg/filters/subRegion-in-userSpace-expected.png:
        * platform/chromium-win/svg/filters/subRegion-one-effect-expected.checksum:
        * platform/chromium-win/svg/filters/subRegion-one-effect-expected.png:
        * platform/chromium-win/svg/filters/subRegion-two-effects-expected.checksum:
        * platform/chromium-win/svg/filters/subRegion-two-effects-expected.png:
        * platform/chromium-win/svg/text/text-vkern-expected.checksum: Added.
        * platform/chromium-win/svg/text/text-vkern-expected.png: Added.

2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, fixing the expectations for Chromium.

        * platform/chromium/http/tests/security/cross-frame-access-call-expected.txt:

2010-05-10  Eric Seidel  <eric@webkit.org>

        Unreviewed, just removing newline from -expected.txt file

        REGRESSION(r59100): "Added test is broken on many platforms." (Requested by eseidel on #webkit).
        https://bugs.webkit.org/show_bug.cgi?id=38881

        Looks like http://trac.webkit.org/changeset/59119
        added an extra newline by mistake.  Removing.

        * plugins/geturlnotify-during-document-teardown-expected.txt:

2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, fixing Qt's expectations.

        * platform/qt/http/tests/security/cross-frame-access-call-expected.txt:

2010-05-10  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Brady Eidson.

        Fixing the expectations for openDatabase() in cross-frame-access-call.html.
        Related to changes in patches #6 and #7 at https://bugs.webkit.org/show_bug.cgi?id=34994.

        * http/tests/security/cross-frame-access-call-expected.txt:
        * http/tests/security/cross-frame-access-call.html:
        * platform/chromium-linux/http/tests/security/cross-frame-access-call-expected.txt: Removed.
        * platform/chromium-mac/http/tests/security/cross-frame-access-call-expected.txt: Removed.
        * platform/chromium-win/http/tests/security/cross-frame-access-call-expected.txt: Removed.
        * platform/chromium/http: Added.
        * platform/chromium/http/tests: Added.
        * platform/chromium/http/tests/security: Added.
        * platform/chromium/http/tests/security/cross-frame-access-call-expected.txt: Copied from LayoutTests/platform/chromium-win/http/tests/security/cross-frame-access-call-expected.txt.

2010-05-10  John Gregg  <johnnyg@google.com>

        [chromium] Fix sort order for expectations after previous change.

        * platform/chromium/fast/dom/prototype-inheritance-expected.txt:

2010-05-10  John Gregg  <johnnyg@google.com>

        [chromium] Unreviewed, test expectation change for Chromium following r59010.

        * platform/chromium/fast/dom/prototype-inheritance-expected.txt:

2010-05-10  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=36566
        The animation-fill-mode property was missing from
        a few places where the animation shorthand is set up.

        * animations/animation-shorthand-removed-expected.txt: Added.
        * animations/animation-shorthand-removed.html: Added.

2010-05-10  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=38583
        <rdar://problem/7948784> Crash in Element::normalizeAttributes.

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

2010-05-10  John Gregg  <johnnyg@google.com>

        [chromium] Unreviewed, svg test rebaselines after r59002 for linux.

        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-blend-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-color-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-color-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-composite-02-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-composite-02-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-displace-01-f-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-displace-01-f-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-example-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-example-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-image-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-image-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-morph-01-f-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-morph-01-f-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-offset-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-offset-01-b-expected.png: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-tile-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-tile-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
        * platform/chromium-linux/svg/batik/filters/feTile-expected.checksum:
        * platform/chromium-linux/svg/batik/filters/feTile-expected.png:
        * platform/chromium-linux/svg/batik/filters/feTile-expected.txt: Added.
        * platform/chromium-linux/svg/batik/filters/filterRegions-expected.checksum:
        * platform/chromium-linux/svg/batik/filters/filterRegions-expected.png:
        * platform/chromium-linux/svg/batik/filters/filterRegions-expected.txt: Added.
        * platform/chromium-linux/svg/batik/masking/maskRegions-expected.txt: Added.
        * platform/chromium-linux/svg/batik/text/textEffect-expected.checksum:
        * platform/chromium-linux/svg/batik/text/textEffect-expected.png: Added.
        * platform/chromium-linux/svg/batik/text/textEffect-expected.txt: Added.
        * platform/chromium-linux/svg/batik/text/textEffect3-expected.checksum:
        * platform/chromium-linux/svg/batik/text/textEffect3-expected.png: Added.
        * platform/chromium-linux/svg/batik/text/textEffect3-expected.txt: Added.
        * platform/chromium-linux/svg/batik/text/textFeatures-expected.txt: Added.
        * platform/chromium-linux/svg/batik/text/textProperties-expected.txt: Added.
        * platform/chromium-linux/svg/custom/empty-mask-expected.txt: Added.
        * platform/chromium-linux/svg/custom/empty-merge-expected.checksum:
        * platform/chromium-linux/svg/custom/empty-merge-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Discrete-expected.checksum:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Discrete-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Discrete-expected.txt: Added.
        * platform/chromium-linux/svg/custom/feComponentTransfer-Gamma-expected.checksum:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Gamma-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Gamma-expected.txt: Added.
        * platform/chromium-linux/svg/custom/feComponentTransfer-Linear-expected.checksum:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Linear-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Linear-expected.txt: Added.
        * platform/chromium-linux/svg/custom/feComponentTransfer-Table-expected.checksum:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Table-expected.png:
        * platform/chromium-linux/svg/custom/feComponentTransfer-Table-expected.txt: Added.
        * platform/chromium-linux/svg/custom/feDisplacementMap-01-expected.checksum:
        * platform/chromium-linux/svg/custom/image-with-transform-clip-filter-expected.checksum:
        * platform/chromium-linux/svg/custom/image-with-transform-clip-filter-expected.png: Removed.
        * platform/chromium-linux/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/chromium-linux/svg/custom/invalid-css-expected.txt: Added.
        * platform/chromium-linux/svg/custom/mask-invalidation-expected.txt: Added.
        * platform/chromium-linux/svg/custom/non-opaque-filters-expected.txt: Added.
        * platform/chromium-linux/svg/custom/text-filter-expected.checksum:
        * platform/chromium-linux/svg/custom/text-filter-expected.png: Removed.
        * platform/chromium-linux/svg/custom/text-filter-expected.txt: Added.
        * platform/chromium-linux/svg/custom/visibility-override-filter-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/big-sized-filter-2-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/big-sized-filter-2-expected.png: Added.
        * platform/chromium-linux/svg/filters/big-sized-filter-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/big-sized-filter-expected.png: Added.
        * platform/chromium-linux/svg/filters/feColorMatrix-values-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/feColorMatrix-values-expected.png: Added.
        * platform/chromium-linux/svg/filters/feColorMatrix-values-expected.txt: Added.
        * platform/chromium-linux/svg/filters/feComposite-expected.checksum:
        * platform/chromium-linux/svg/filters/feComposite-expected.png: Removed.
        * platform/chromium-linux/svg/filters/feComposite-expected.txt: Added.
        * platform/chromium-linux/svg/filters/feGaussianBlur-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/feMerge-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/feMerge-expected.png: Added.
        * platform/chromium-linux/svg/filters/feOffset-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/feTile-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/feTile-expected.png: Added.
        * platform/chromium-linux/svg/filters/filter-on-tspan-expected.checksum:
        * platform/chromium-linux/svg/filters/filter-on-tspan-expected.png: Removed.
        * platform/chromium-linux/svg/filters/filter-on-tspan-expected.txt: Added.
        * platform/chromium-linux/svg/filters/sourceAlpha-expected.txt: Added.
        * platform/chromium-linux/svg/filters/subRegion-in-userSpace-expected.checksum: Added.
        * platform/chromium-linux/svg/filters/subRegion-in-userSpace-expected.png: Added.
        * platform/chromium-linux/svg/filters/subRegion-one-effect-expected.checksum:
        * platform/chromium-linux/svg/filters/subRegion-one-effect-expected.png: Removed.
        * platform/chromium-linux/svg/filters/subRegion-two-effects-expected.checksum:
        * platform/chromium-linux/svg/filters/subRegion-two-effects-expected.png: Removed.
        * platform/chromium-linux/svg/text/text-vkern-expected.checksum: Added.
        * platform/chromium-linux/svg/text/text-vkern-expected.png: Added.

2010-05-10  Jon Honeycutt  <jhoneycutt@apple.com>

        REGRESSION(r59100): Added test is broken on many platforms.
        https://bugs.webkit.org/show_bug.cgi?id=38881

        Reviewed by Eric Seidel.

        * platform/mac-snowleopard/Skipped:
        Skipped, because we're not logging NPP_Destroy on Snow Leopard.

        * platform/qt/Skipped:
        Skipped due to lack of support for setCallCloseOnWebViews on
        LayoutTestController.

2010-05-10  Jon Honeycutt  <jhoneycutt@apple.com>

        REGRESSION(r59100): Added test is broken on many platforms.
        https://bugs.webkit.org/show_bug.cgi?id=38881

        Reviewed by Eric Seidel.

        * plugins/geturlnotify-during-document-teardown-expected.txt:
        Update the expected result.

2010-05-10  Jon Honeycutt  <jhoneycutt@apple.com>

        Add test to GTK skipped list.

        Rubber-stamped by Mark Rowe.

        * platform/gtk/Skipped:

2010-05-07  Jon Honeycutt  <jhoneycutt@apple.com>

        Crash closing window containing Flash plug-in
        https://bugs.webkit.org/show_bug.cgi?id=38797
        <rdar://problem/7935266>

        Reviewed by Eric Seidel.

        * plugins/geturlnotify-during-document-teardown.html: Added.
        * plugins/resources/geturlnotify-on-destroy.html: Added.

2010-05-10  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28697
        <rdar://problem/7946578> WebKit crash on WebCore::Node::nodeIndex()

        * fast/dom/Range/remove-all-children-crash-expected.txt: Added.
        * fast/dom/Range/remove-all-children-crash.html: Added.

2010-05-07  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Eric Seidel.

        Add a bunch of windows-specific chromium baselines for the different
        versions of windows to update them from a skia change.

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

        * platform/chromium/test_expectations.txt:

2010-05-10  Dirk Schulze  <krit@webkit.org>

        Unreviewed.

        Further optimization for SVG's repaintRect calculation
        https://bugs.webkit.org/show_bug.cgi?id=38820
        
        New baseline for Qt.

        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/qt/svg/css/mask-with-shadow-expected.txt:
        * platform/qt/svg/custom/empty-mask-expected.txt:
        * platform/qt/svg/custom/mask-invalidation-expected.txt:
        * platform/qt/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/qt/svg/custom/transformedMaskFails-expected.txt:

2010-05-10  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Further optimization for SVG's repaintRect calculation
        https://bugs.webkit.org/show_bug.cgi?id=38820
        
        The repaintRect of SVG objects with masks got smaller. This made
        updates of some results necessary.

        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/custom/empty-mask-expected.txt:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/mask-inside-defs-expected.txt:
        * platform/mac/svg/custom/mask-invalidation-expected.txt:
        * platform/mac/svg/custom/mask-with-all-units-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/visibility-override-mask-expected.txt:
        * svg/custom/transformedMaskFails-expected.txt:

2010-05-10  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        Layout test for Session Storage quota should only expect to fit 39 objects.
        https://bugs.webkit.org/show_bug.cgi?id=38843

        The script should be ready for the exception when inserting the 40th
        element, as that is where it will be thrown if a quota is enforced.
        This is the same change as in http://trac.webkit.org/changeset/50979.

        * storage/domstorage/quota-expected.txt:
        * storage/domstorage/script-tests/quota.js:
        (testNoQuota):

2010-05-10  Adam Langley  <agl@chromium.org>

        Expectations change. Not reviewed.

        Delete the current baselines for the WOFF test because they are
        incomplete.

        Remove the SKIP tag from test_expectations so that the builders
        will run the test and then the rebaseline tool can be used to
        checkin real baselines.

        * platform/chromium-linux/fast/css/font-face-woff-expected.checksum: Removed.
        * platform/chromium-win/fast/css/font-face-woff-expected.checksum: Removed.
        * platform/chromium-win/fast/css/font-face-woff-expected.txt: Removed.
        * platform/chromium/test_expectations.txt:

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

        Rubber-stamped by Simon Hausmann.

        [Qt] Roll-out r59020 and r59021, because the Qt part of these changes
        haven't been landed in Qt trunk yet. Should be rolled-in again after the merge.

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

        * platform/qt/Skipped:
        * platform/qt/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt: Removed.

2010-05-10  Dirk Schulze  <krit@webkit.org>

        Uneviewed.

        SVG FilterEffects need more detailed DRT information
        https://bugs.webkit.org/show_bug.cgi?id=38683
        
        New baseline for Win. Only two tests needed an update.

        * platform/win/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/win/svg/filters/feColorMatrix-values-expected.txt:

2010-05-10  Dirk Schulze  <krit@webkit.org>

        Unreviewed.

        SVG FilterEffects need more detailed DRT information
        https://bugs.webkit.org/show_bug.cgi?id=38683
        
        New baseline for Gtk. Just one test needed an update.

        * platform/gtk/svg/filters/filter-on-tspan-expected.txt:

2010-05-10  Dirk Schulze  <krit@webkit.org>

        Unreviewed.

        SVG FilterEffects need more detailed DRT information
        https://bugs.webkit.org/show_bug.cgi?id=38683
        
        New baseline for Qt.

        * platform/qt/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/qt/svg/filters/feColorMatrix-values-expected.txt:
        * platform/qt/svg/filters/feComposite-expected.txt:
        * platform/qt/svg/filters/feGaussianBlur-expected.txt:
        * platform/qt/svg/filters/feMerge-expected.txt:
        * platform/qt/svg/filters/feOffset-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/filters/filter-clip-expected.txt:
        * platform/qt/svg/filters/filter-on-tspan-expected.txt:
        * platform/qt/svg/filters/filter-source-position-expected.txt:
        * platform/qt/svg/filters/shadow-on-filter-expected.txt:
        * platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/qt/svg/filters/sourceAlpha-expected.txt:
        * platform/qt/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/qt/svg/filters/subRegion-one-effect-expected.txt:
        * platform/qt/svg/filters/subRegion-two-effects-expected.txt:

2010-05-10  Dirk Schulze  <krit@webkit.org>

        Reviewed by Darin Adler.

        SVG FilterEffects need more detailed DRT information
        https://bugs.webkit.org/show_bug.cgi?id=38683

        All SVG Filter effects get dumped now. The structure of the DRT output
        changed. The last effect is shown first, followed by the previous effects.

        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/custom/empty-merge-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/text-filter-expected.txt:
        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feColorMatrix-values-expected.txt:
        * platform/mac/svg/filters/feComposite-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
        * platform/mac/svg/filters/feMerge-expected.txt:
        * platform/mac/svg/filters/feOffset-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * platform/mac/svg/filters/filter-on-tspan-expected.txt:
        * platform/mac/svg/filters/filter-source-position-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/mac/svg/filters/sourceAlpha-expected.txt:
        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:

2010-05-09  Kent Tamura  <tkent@chromium.org>

        Unreviewed, test expectation update.

        Update Chromium/Linux expectation for fast/forms/input-file-re-render.html.
        http://crbug.com/40027

        * platform/chromium-linux/fast/forms/input-file-re-render-expected.checksum:
        * platform/chromium-linux/fast/forms/input-file-re-render-expected.png:
        * platform/chromium/test_expectations.txt:

2010-05-09  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        REGRESSION(r57955): RegExp literals should not actually be cached, so r57955 should be rolled out.
        https://bugs.webkit.org/show_bug.cgi?id=38828

        Replace incorrect test for caching regexp literals with ones that tests that they are not cached.

        * fast/js/regexp-literals-are-constants-expected.txt: Removed.
        * fast/js/regexp-literals-are-constants.html: Removed.
        * fast/js/regexp-literals-arent-constants-expected.txt: Added.
        * fast/js/regexp-literals-arent-constants.html: Added.
        * fast/js/script-tests/regexp-literals-are-constants.js: Removed.
        * fast/js/script-tests/regexp-literals-arent-constants.js: Added.
        (test1):
        (returnRegExpLiteral):
        (returnConditionalRegExpLiteral):

2010-05-09  Robert Hogan  <robert@webkit.org>

        [Qt] Update expected results for unskipped editing/inserting tests

        Unreviewed, remove platform-specific results for editing/inserting/6633727.html

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


        * platform/qt/editing/inserting/6633727-expected.txt: Removed.

2010-05-09  Robert Hogan  <robert@webkit.org>

        [Qt] Update expected results for unskipped editing/inserting tests

        Unreviewed, add expected results for unskipped tests. Results are taken
        from Qt bot.

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

        * platform/qt/editing/inserting/12882-expected.txt:
        * platform/qt/editing/inserting/4840662-expected.txt:
        * platform/qt/editing/inserting/4875189-1-expected.txt:
        * platform/qt/editing/inserting/4875189-2-expected.txt:
        * platform/qt/editing/inserting/4959067-expected.txt:
        * platform/qt/editing/inserting/4960120-2-expected.txt:
        * platform/qt/editing/inserting/5002441-expected.txt:
        * platform/qt/editing/inserting/5058163-1-expected.txt:
        * platform/qt/editing/inserting/5058163-2-expected.txt:
        * platform/qt/editing/inserting/5156401-2-expected.txt:
        * platform/qt/editing/inserting/5418891-expected.txt:
        * platform/qt/editing/inserting/5510537-expected.txt: Added.
        * platform/qt/editing/inserting/5549929-2-expected.txt: Added.
        * platform/qt/editing/inserting/5549929-3-expected.txt: Added.
        * platform/qt/editing/inserting/6633727-expected.txt: Copied from BugsSite/data/mail.
        * platform/qt/editing/inserting/6703873-expected.txt: Added.
        * platform/qt/editing/inserting/editable-inline-element-expected.txt:
        * platform/qt/editing/inserting/edited-whitespace-1-expected.txt:
        * platform/qt/editing/inserting/insert-3654864-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3659587-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3775316-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3778059-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3786362-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3800346-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3851164-fix-expected.txt:
        * platform/qt/editing/inserting/insert-3907422-fix-expected.txt:
        * platform/qt/editing/inserting/insert-after-delete-001-expected.txt:
        * platform/qt/editing/inserting/insert-at-end-01-expected.txt:
        * platform/qt/editing/inserting/insert-at-end-02-expected.txt:
        * platform/qt/editing/inserting/insert-before-link-1-expected.txt:
        * platform/qt/editing/inserting/insert-br-001-expected.txt:
        * platform/qt/editing/inserting/insert-br-002-expected.txt:
        * platform/qt/editing/inserting/insert-br-003-expected.txt:
        * platform/qt/editing/inserting/insert-br-004-expected.txt:
        * platform/qt/editing/inserting/insert-br-005-expected.txt:
        * platform/qt/editing/inserting/insert-br-006-expected.txt:
        * platform/qt/editing/inserting/insert-br-007-expected.txt:
        * platform/qt/editing/inserting/insert-br-008-expected.txt:
        * platform/qt/editing/inserting/insert-br-009-expected.txt:
        * platform/qt/editing/inserting/insert-br-at-tabspan-001-expected.txt:
        * platform/qt/editing/inserting/insert-br-at-tabspan-002-expected.txt:
        * platform/qt/editing/inserting/insert-br-at-tabspan-003-expected.txt:
        * platform/qt/editing/inserting/insert-br-quoted-001-expected.txt:
        * platform/qt/editing/inserting/insert-br-quoted-002-expected.txt:
        * platform/qt/editing/inserting/insert-br-quoted-003-expected.txt:
        * platform/qt/editing/inserting/insert-br-quoted-004-expected.txt:
        * platform/qt/editing/inserting/insert-br-quoted-005-expected.txt:
        * platform/qt/editing/inserting/insert-br-quoted-006-expected.txt:
        * platform/qt/editing/inserting/insert-div-001-expected.txt:
        * platform/qt/editing/inserting/insert-div-002-expected.txt:
        * platform/qt/editing/inserting/insert-div-003-expected.txt:
        * platform/qt/editing/inserting/insert-div-004-expected.txt:
        * platform/qt/editing/inserting/insert-div-005-expected.txt:
        * platform/qt/editing/inserting/insert-div-006-expected.txt:
        * platform/qt/editing/inserting/insert-div-007-expected.txt:
        * platform/qt/editing/inserting/insert-div-008-expected.txt:
        * platform/qt/editing/inserting/insert-div-009-expected.txt:
        * platform/qt/editing/inserting/insert-div-010-expected.txt:
        * platform/qt/editing/inserting/insert-div-011-expected.txt:
        * platform/qt/editing/inserting/insert-div-012-expected.txt:
        * platform/qt/editing/inserting/insert-div-013-expected.txt:
        * platform/qt/editing/inserting/insert-div-014-expected.txt:
        * platform/qt/editing/inserting/insert-div-015-expected.txt:
        * platform/qt/editing/inserting/insert-div-016-expected.txt:
        * platform/qt/editing/inserting/insert-div-017-expected.txt:
        * platform/qt/editing/inserting/insert-div-018-expected.txt:
        * platform/qt/editing/inserting/insert-div-019-expected.txt:
        * platform/qt/editing/inserting/insert-div-020-expected.txt:
        * platform/qt/editing/inserting/insert-div-021-expected.txt:
        * platform/qt/editing/inserting/insert-div-022-expected.txt:
        * platform/qt/editing/inserting/insert-div-024-expected.txt:
        * platform/qt/editing/inserting/insert-div-025-expected.txt:
        * platform/qt/editing/inserting/insert-div-026-expected.txt:
        * platform/qt/editing/inserting/insert-div-027-expected.txt:
        * platform/qt/editing/inserting/insert-paragraph-01-expected.txt:
        * platform/qt/editing/inserting/insert-paragraph-02-expected.txt:
        * platform/qt/editing/inserting/insert-paragraph-03-expected.txt:
        * platform/qt/editing/inserting/insert-paragraph-04-expected.txt:
        * platform/qt/editing/inserting/insert-paragraph-05-expected.txt:
        * platform/qt/editing/inserting/insert-space-in-empty-doc-expected.txt:
        * platform/qt/editing/inserting/insert-tab-001-expected.txt:
        * platform/qt/editing/inserting/insert-tab-002-expected.txt:
        * platform/qt/editing/inserting/insert-tab-004-expected.txt:
        * platform/qt/editing/inserting/insert-text-at-tabspan-001-expected.txt:
        * platform/qt/editing/inserting/insert-text-at-tabspan-002-expected.txt:
        * platform/qt/editing/inserting/insert-text-at-tabspan-003-expected.txt:
        * platform/qt/editing/inserting/line-break-expected.txt:
        * platform/qt/editing/inserting/paragraph-separator-01-expected.txt:
        * platform/qt/editing/inserting/paragraph-separator-02-expected.txt:
        * platform/qt/editing/inserting/paragraph-separator-03-expected.txt:
        * platform/qt/editing/inserting/paragraph-separator-in-table-1-expected.txt:
        * platform/qt/editing/inserting/paragraph-separator-in-table-2-expected.txt:
        * platform/qt/editing/inserting/redo-expected.txt:
        * platform/qt/editing/inserting/return-key-with-selection-001-expected.txt:
        * platform/qt/editing/inserting/return-key-with-selection-002-expected.txt:
        * platform/qt/editing/inserting/return-key-with-selection-003-expected.txt:
        * platform/qt/editing/inserting/typing-001-expected.txt:
        * platform/qt/editing/inserting/typing-002-expected.txt:
        * platform/qt/editing/inserting/typing-003-expected.txt:
        * platform/qt/editing/inserting/typing-around-br-001-expected.txt:
        * platform/qt/editing/inserting/typing-around-image-001-expected.txt:

2010-05-09  Robert Hogan  <robert@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] Unskip editing/inserting tests that fail due to x/y differences

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

        Unskip the following tests:

        editing/inserting/12882.html
        editing/inserting/4840662.html
        editing/inserting/4875189-1.html
        editing/inserting/4959067.html
        editing/inserting/4960120-2.html
        editing/inserting/5002441.html
        editing/inserting/5058163-2.html
        editing/inserting/5156401-2.html
        editing/inserting/5418891.html
        editing/inserting/5510537.html
        editing/inserting/5549929-2.html
        editing/inserting/5549929-3.html
        editing/inserting/6633727.html
        editing/inserting/6703873.html
        editing/inserting/editable-inline-element.html
        editing/inserting/insert-3654864-fix.html
        editing/inserting/insert-3659587-fix.html
        editing/inserting/insert-3775316-fix.html
        editing/inserting/insert-3778059-fix.html
        editing/inserting/insert-3786362-fix.html
        editing/inserting/insert-3800346-fix.html
        editing/inserting/insert-3851164-fix.html
        editing/inserting/insert-3907422-fix.html
        editing/inserting/insert-after-delete-001.html
        editing/inserting/insert-at-end-01.html
        editing/inserting/insert-at-end-02.html
        editing/inserting/insert-before-link-1.html
        editing/inserting/insert-br-001.html
        editing/inserting/insert-br-002.html
        editing/inserting/insert-br-003.html
        editing/inserting/insert-br-004.html
        editing/inserting/insert-br-005.html
        editing/inserting/insert-br-006.html
        editing/inserting/insert-br-007.html
        editing/inserting/insert-br-008.html
        editing/inserting/insert-br-009.html
        editing/inserting/insert-br-at-tabspan-001.html
        editing/inserting/insert-br-at-tabspan-002.html
        editing/inserting/insert-br-at-tabspan-003.html
        editing/inserting/insert-br-quoted-001.html
        editing/inserting/insert-br-quoted-002.html
        editing/inserting/insert-br-quoted-003.html
        editing/inserting/insert-br-quoted-004.html
        editing/inserting/insert-br-quoted-005.html
        editing/inserting/insert-br-quoted-006.html
        editing/inserting/insert-div-001.html
        editing/inserting/insert-div-002.html
        editing/inserting/insert-div-003.html
        editing/inserting/insert-div-004.html
        editing/inserting/insert-div-005.html
        editing/inserting/insert-div-006.html
        editing/inserting/insert-div-007.html
        editing/inserting/insert-div-008.html
        editing/inserting/insert-div-009.html
        editing/inserting/insert-div-010.html
        editing/inserting/insert-div-011.html
        editing/inserting/insert-div-012.html
        editing/inserting/insert-div-013.html
        editing/inserting/insert-div-014.html
        editing/inserting/insert-div-015.html
        editing/inserting/insert-div-016.html
        editing/inserting/insert-div-017.html
        editing/inserting/insert-div-018.html
        editing/inserting/insert-div-019.html
        editing/inserting/insert-div-020.html
        editing/inserting/insert-div-021.html
        editing/inserting/insert-div-022.html
        editing/inserting/insert-div-024.html
        editing/inserting/insert-div-025.html
        editing/inserting/insert-div-026.html
        editing/inserting/insert-div-027.html
        editing/inserting/insert-paragraph-01.html
        editing/inserting/insert-paragraph-02.html
        editing/inserting/insert-paragraph-03.html
        editing/inserting/insert-paragraph-04.html
        editing/inserting/insert-paragraph-05.html
        editing/inserting/insert-space-in-empty-doc.html
        editing/inserting/insert-tab-001.html
        editing/inserting/insert-tab-002.html
        editing/inserting/insert-tab-004.html
        editing/inserting/insert-text-at-tabspan-001.html
        editing/inserting/insert-text-at-tabspan-002.html
        editing/inserting/insert-text-at-tabspan-003.html
        editing/inserting/line-break.html
        editing/inserting/paragraph-separator-01.html
        editing/inserting/paragraph-separator-02.html
        editing/inserting/paragraph-separator-in-table-1.html
        editing/inserting/paragraph-separator-in-table-2.html
        editing/inserting/redo.html
        editing/inserting/return-key-with-selection-003.html
        editing/inserting/typing-001.html
        editing/inserting/typing-002.html
        editing/inserting/typing-003.html
        editing/inserting/typing-around-br-001.html
        editing/inserting/typing-around-image-001.html

        editing/inserting/5058163-1.html
        editing/inserting/edited-whitespace-1.html
        editing/inserting/paragraph-separator-03.html
        editing/inserting/return-key-with-selection-001.html
        editing/inserting/return-key-with-selection-002.html
        editing/inserting/4875189-2.html

        * platform/qt/Skipped:

2010-05-08  Robert Hogan  <robert@webkit.org>

        Unreviewed Qt bot fix: test unskipped accidentally in r59020.

        * platform/qt/Skipped: Uncommented http/tests/xmlhttprequest/failed-auth.html again.

2010-05-08  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        [Qt] Fix http/tests/xmlhttprequest/cross-origin-no-authorization.html
             and http/tests/xmlhttprequest/cross-origin-authorization.html

        QHttpNetworkRequest adds Authorization and Cookie headers to XHRs
        without knowing if this is valid behaviour or not. In order to allow
        Qt to decide whether Cookie/Authorization headers should be added
        to an XHR QtWebKit needs to use an attribute added to QNetworkRequest.
        These new attributes are: QNetworkRequest::CookieLoadControlAttribute,
        QNetworkRequest::CookieSaveControlAttribute,and
        QNetworkRequest::AuthenticationReuseControlAttribute.

        There are platform-specific results for cross-origin-no-authorization.html:

        1. Qt's DRT does not capture the final 'DONE'.
        2. QNetworkReplyHandler.cpp's ignoreHttpError() means that async requests
           do not execute didFail() when they receive a 401 HTTP response. This
           results in async tests passing with '401 Authorisation required' rather
           than 'received error event'.

        The Qt part of these changes was merged at: http://gitorious.org/qt/qt/merge_requests/592

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

        * platform/qt/Skipped: Group together the tests that are waiting for 4.7 to be unskipped.
        * platform/qt/http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt: Added.

2010-05-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Forgot to rebase fast/dom/prototype-inheritance-2.html after the <vkern> patches.

        * platform/win/fast/dom/prototype-inheritance-2-expected.txt:

2010-05-04  Robert Hogan  <robert@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] unskip http/tests/plugins/npapi-response-headers.html

        Take this opportunity to unskip plugins/private-browsing-mode.html too, which
        has passed since r55433. See https://bugs.webkit.org/show_bug.cgi?id=33180
        and https://bugs.webkit.org/show_bug.cgi?id=35576.

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

        * platform/qt/Skipped:

2010-05-05  Robert Hogan  <robert@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [Qt] Fix encoding of status message in Plugin API

        Spotted by Alexey Proskuryakov.

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

        * platform/qt/Skipped: Unskip plugins/set-status.html

2010-05-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Rebaseline Win specific results after exposing JSSVGVKernElement/JSSVGHKernElement.

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

2010-05-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Rebaseline GTK specific results after exposing JSSVGVKernElement/JSSVGHKernElement.

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

2010-05-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGFont's VKern implementation missing
        https://bugs.webkit.org/show_bug.cgi?id=38663

        The changes in DOMWindow.idl and the implementation of the DOM
        and JS bindings of VKern and HKern made some updates necessary.
        Added new test case for SVGFont's VKern.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * platform/mac/svg/text/text-vkern-expected.checksum: Added.
        * platform/mac/svg/text/text-vkern-expected.png: Added.
        * platform/mac/svg/text/text-vkern-expected.txt: Added.
        * svg/custom/global-constructors-expected.txt:
        * svg/text/text-vkern.svg: Added.

2010-05-08  Eric Seidel  <eric@webkit.org>

        Unreviewed, just reverting commit.

        REGRESSION(59000): r59000 contained all sorts of changes it should not have, needs revert.
        https://bugs.webkit.org/show_bug.cgi?id=38798

        * fast/js/global-resolve-through-eval-expected.txt: Added.
        * fast/js/global-resolve-through-eval.html: Added.
        * fast/js/script-tests/global-resolve-through-eval.js: Added.
        (accessGlobal):
        (accessLocal):
        * platform/win/Skipped:

2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Attempt to turn Windows bots green again.

        Skip two failing tests:

        https://bugs.webkit.org/show_bug.cgi?id=38794
        fast/css/display-none-inline-style-change-crash.html (fails on Windows Release bot)

        https://bugs.webkit.org/show_bug.cgi?id=38795
        inspector/timeline-paint.html

        * platform/win/Skipped:

2010-05-07  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Optimize access to the global object from a function that uses eval
        https://bugs.webkit.org/show_bug.cgi?id=38644

        Add test case to ensure we don't incorrectly allow dynamic scopes
        to be skipped when doing direct var access.

        * fast/js/global-resolve-through-eval-expected.txt: Added.
        * fast/js/global-resolve-through-eval.html: Added.
        * fast/js/script-tests/global-resolve-through-eval.js: Added.
        (accessGlobal):
        (accessLocal):

2010-05-06  Dirk Pranke  <dpranke@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Rewrite test to fail faster if the inner frame doesn't load at all
        for some reason (previous version would raise a TypeError before
        the timeout was set).

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

        * http/tests/security/sandbox-inherit-to-initial-document-2.html:
        * platform/chromium/test_expectations.txt:

2010-05-07  John Gregg  <johnnyg@google.com>

        Unreviewed [re-]baseline of chromium tests.

        * platform/chromium-linux/fast/frames/take-focus-from-iframe-expected.checksum: Added.
        * platform/chromium-linux/fast/frames/take-focus-from-iframe-expected.png: Added.
        * platform/chromium-mac/fast/frames/take-focus-from-iframe-expected.checksum: Added.
        * platform/chromium-win/fast/frames/take-focus-from-iframe-expected.checksum: Added.
        * platform/chromium-win/fast/frames/take-focus-from-iframe-expected.png: Added.
        * platform/chromium-win/fast/frames/take-focus-from-iframe-expected.txt: Added.
        * platform/chromium-win/svg/hixie/error/017-expected.txt:

2010-05-07  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        Adjust the position of the comment on the WOFF test and
        link to the bug report. This should fix a spurious error
        while running layout tests.

        * platform/gtk/Skipped:

2010-05-07  Dirk Schulze  <krit@webkit.org>

        Unreviewed fix of Windows test.

        Windows need an platform dependent DRT result for clip-path-referencing-use2.svg,
        Win doesn't have console output during DRT.

        * platform/win/svg/custom/clip-path-referencing-use2-expected.txt: Added.

2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        RenderSVGResourceClipper assigns a temporary mutated RenderStyle but does not correctly preserve the old style
        https://bugs.webkit.org/show_bug.cgi?id=38767

        Update baseline after fixing a logic error in RenderSVGResourceClipper.

        * platform/mac/svg/clip-path/clip-path-child-clipped-expected.txt:
        * platform/mac/svg/clip-path/clip-path-childs-clipped-expected.txt:
        * platform/mac/svg/clip-path/clip-path-clipped-expected.txt:
        * platform/mac/svg/clip-path/clip-path-evenodd-expected.txt:
        * platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.txt:
        * platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.txt:
        * platform/mac/svg/clip-path/clip-path-text-and-shape-expected.txt:

2010-05-07  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=38546
        Node.focus() fails to move focus from subframe properly

        * fast/frames/take-focus-from-iframe.html: Added.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.checksum: Added.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.png: Added.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.txt: Added.

2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        svg/custom/use-instanceRoot-as-event-target.xhtml crashes randomly
        https://bugs.webkit.org/show_bug.cgi?id=37798

        Make use-instanceRoot-as-event-target.xhtml behave more correctly. Due a copy & paste problem test #7 was not executed. Fixed.
        Make destruction more reliable, by using the standard js-test-post.js injection through <script> before calling notifyDone(), and "TEST COMPLETE" magically appears.

        * platform/mac/svg/hixie/error/017-expected.txt: Update result, now that invalidateAllInstancesOfElement(), correctly triggers <use> shadow tree rebuilds.
        * svg/custom/use-instanceRoot-as-event-target-expected.txt: Update result, was missing a "TEST COMPLETE" marker, and Test #7 was not executed before.
        * svg/custom/use-instanceRoot-as-event-target.xhtml: Fix typo, test #7 is now executed, it also had a bug which has been corrected. 

2010-05-06  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        WebCore::WebGLUnsignedIntArrayInternal::getCallback ReadAV@Arbitrary (deef89ee3d0345edebeaf13cf974c47c)
        https://bugs.webkit.org/show_bug.cgi?id=38039

        Web IDL now allows indexed getters and setters to be unnamed. Per
        discussion in WebGL working group and recent update to spec,
        removed the buggy get() and single-element set() methods from the
        JavaScript bindings to the WebGL array types. Refactored set()
        implementation in JSC bindings to share more code and modified V8
        binding to look more like it. Added unit tests for indexed getter
        with out-of-range indices and verifying removal of get and
        single-element set methods. Updated existing WebGL array tests.

        * fast/canvas/webgl/array-get-and-set-method-removal-expected.txt: Added.
        * fast/canvas/webgl/array-get-and-set-method-removal.html: Added.
        * fast/canvas/webgl/array-get-out-of-bounds-expected.txt: Added.
        * fast/canvas/webgl/array-get-out-of-bounds.html: Added.
        * fast/canvas/webgl/array-setters-expected.txt:
        * fast/canvas/webgl/array-setters.html:
        * fast/canvas/webgl/array-unit-tests-expected.txt:
        * fast/canvas/webgl/array-unit-tests.html:
        * fast/canvas/webgl/bug-32456-expected.txt:
        * fast/canvas/webgl/bug-32456.html:

2010-05-07  John Gregg  <johnnyg@google.com>

        Unreviewed, rebaseline for chromium. 

        * platform/chromium-mac/fast/layers/video-layer-expected.checksum:
        * platform/chromium-mac/fast/layers/video-layer-expected.png:

2010-05-07  John Gregg  <johnnyg@google.com>

        Unreviewed, rebaseline for chromium.

        * platform/chromium-mac/media/audio-controls-rendering-expected.checksum:
        * platform/chromium-mac/media/audio-controls-rendering-expected.png:
        * platform/chromium-mac/media/controls-after-reload-expected.checksum:
        * platform/chromium-mac/media/controls-after-reload-expected.png:
        * platform/chromium-mac/media/controls-strict-expected.checksum:
        * platform/chromium-mac/media/controls-strict-expected.png:
        * platform/chromium-mac/media/video-controls-rendering-expected.checksum:
        * platform/chromium-mac/media/video-controls-rendering-expected.png:
        * platform/chromium-mac/media/video-display-toggle-expected.checksum:
        * platform/chromium-mac/media/video-display-toggle-expected.png:
        * platform/chromium-mac/media/video-empty-source-expected.checksum:
        * platform/chromium-mac/media/video-empty-source-expected.png:
        * platform/chromium-mac/media/video-no-audio-expected.checksum:
        * platform/chromium-mac/media/video-no-audio-expected.png:
        * platform/chromium-mac/media/video-volume-slider-expected.checksum:
        * platform/chromium-mac/media/video-volume-slider-expected.png:

2010-05-07  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Turn Tiger core builder green again, filed https://bugs.webkit.org/show_bug.cgi?id=38743 for failing webarchive/test-link-rel-icon.html.

        * platform/mac-tiger/Skipped:

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

        Skip compositing/layer-creation/overflow-scroll-overlap.html from r58936, since hardware
        compositing is disabled on the Leopard test bot.

        * platform/mac-leopard/Skipped:

2010-04-27  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] clicking a scrollbar in an iframe shouldn't lose the selection
        https://bugs.webkit.org/show_bug.cgi?id=38189

        * fast/events/mousedown-in-subframe-scrollbar-expected.txt: Added.
        * fast/events/mousedown-in-subframe-scrollbar.html: Added.
        * fast/events/resources/mousedown-in-subframe-scrollbar.html: Added.
        * platform/win/Skipped:

2010-05-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Compositing layers that are clipped out by an overflow:scroll parent fail to get created on reveal
        https://bugs.webkit.org/show_bug.cgi?id=38712
        
        Test that scrolls an overflow:scroll div containing compositing layers, and checks that
        revealed layers correctly become composited.

        * compositing/layer-creation/overflow-scroll-overlap.html: Added.
        * compositing/layer-creation/overflow-scroll-overlap-expected.txt: Added.

2010-05-06  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rebaseline and expectation changes from WK roll from a
        few days ago.

        * platform/chromium-linux/http/tests/loading/bad-scheme-subframe-expected.txt: Copied from LayoutTests/platform/chromium-mac/http/tests/loading/bad-scheme-subframe-expected.txt.
        * platform/chromium-linux/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
        * platform/chromium-linux/svg/text/kerning-expected.checksum:
        * platform/chromium-linux/svg/text/kerning-expected.png:
        * platform/chromium-mac/editing/selection/caret-rtl-2-expected.checksum: Renamed from LayoutTests/platform/chromium-mac/editing/selection/caret-rtl-2-actual.checksum.
        * platform/chromium-mac/editing/selection/caret-rtl-2-expected.png: Renamed from LayoutTests/platform/chromium-mac/editing/selection/caret-rtl-2-actual.png.
        * platform/chromium-mac/svg/text/kerning-expected.checksum: Added.
        * platform/chromium/test_expectations.txt:

2010-05-06  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, rebaseline a chromium test.

        Need a linux baseline for fast/notifications/notifications-replace-expected.txt to override the windows version.

        * platform/chromium-linux/fast/notifications/notifications-replace-expected.txt: Added.

2010-05-06  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=38697
        REGRESSION (r58299): Replying on reddit.com no longer works

        * fast/css/misplaced-paged-media-pseudo-expected.txt: Added.
        * fast/css/misplaced-paged-media-pseudo.html: Added.

        * printing/page-rule-css-text-expected.txt: :first, :left and :right are no longer recognized,
        landing regressed results until they can be properly implemented.

2010-05-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler and Dan Bernstein..

        REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
        https://bugs.webkit.org/show_bug.cgi?id=38698
        <rdar://problem/7942075>

        Add tests.

        * platform/mac/plugins/disable-plugins-expected.txt: Added.
        * platform/mac/plugins/disable-plugins.html: Added.

2010-05-06  John Gregg  <johnnyg@google.com>

        Unreviewed, rebaseline for chromium test.

        [chromium] Deal with different local path structure on windows.

        * platform/chromium-win/fast/notifications: Added.
        * platform/chromium-win/fast/notifications/notifications-replace-expected.txt: Added.

2010-05-06  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations fix.

        Delete a line for a test that is no longer failing on chromium linux.

        * platform/chromium/test_expectations.txt:

2010-05-06  Oliver Hunt  <oliver@apple.com>

        Reviewed by Geoffrey Garen.

        Improve performance of single character string compares
        https://bugs.webkit.org/show_bug.cgi?id=38659

        Add many tests of <, >, <=, >=, ==, ===, !=, !== as the existing
        tests were woefully inadequate.

        * fast/js/comparison-operators-expected.txt: Added.
        * fast/js/comparison-operators-greater-expected.txt: Added.
        * fast/js/comparison-operators-greater.html: Added.
        * fast/js/comparison-operators-less-expected.txt: Added.
        * fast/js/comparison-operators-less.html: Added.
        * fast/js/comparison-operators.html: Added.
        * fast/js/script-tests/comparison-operators-greater.js: Added.
        (description.makeTest.func.f.toString):
        (description.makeTest):
        (doTest):
        * fast/js/script-tests/comparison-operators-less.js: Added.
        (description.makeTest.func.f.toString):
        (description.makeTest):
        (doTest):
        * fast/js/script-tests/comparison-operators.js: Added.
        (description.makeTest.func.f.toString):
        (description.makeTest):
        (doTest):

2010-05-06  John Gregg  <johnnyg@google.com>

        Unreviewed.  Updating test expectations.

        [chromium] enabling notifications tests after test_shell change.

        * platform/chromium/test_expectations.txt:

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

        Reviewed by Adam Barth.

        editing/selection/shift-click.html fails on GTK and QT
        https://bugs.webkit.org/show_bug.cgi?id=38656

        r58892 added this test. It's the first test for shift+click behavior,
        so it exposed bugs in GTK/QT. Skipping to green the bots.

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

2010-05-06  Evan Martin  <evan@chromium.org>

        Unreviewed.  Updating test expectations.

        [chromium] new baselines for r58886
        https://bugs.webkit.org/show_bug.cgi?id=38652

        * platform/chromium-linux/fast/lists/w3-css3-list-styles-numeric-expected.txt:
        * platform/chromium-linux/fast/text/international/danda-space-expected.checksum:
        * platform/chromium-linux/fast/text/international/danda-space-expected.png:
        * platform/chromium-linux/fast/text/international/danda-space-expected.txt:
        * platform/chromium-linux/fast/text/international/thai-baht-space-expected.checksum:
        * platform/chromium-linux/fast/text/international/thai-baht-space-expected.png:
        * platform/chromium-linux/fast/text/international/thai-baht-space-expected.txt:
        * platform/chromium/test_expectations.txt:

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

        Reviewed by Darin Adler.

        shift+click on an existing selection doesn't work right
        https://bugs.webkit.org/show_bug.cgi?id=36542

        NSTextView behavior is to move the end of the selection
        closest to the shift-click. Win/Linux behavior is to always
        move the focus end of the selection.

        * editing/selection/script-tests/shift-click.js: Added.
        (shiftClick):
        (assertSelectionString):
        * editing/selection/shift-click-expected.txt: Added.
        * editing/selection/shift-click.html: Added.
        * platform/win/editing/selection/shift-click-expected.txt: Added.

2010-05-05  Antonio Gomes  <tonikitoo@webkit.org>

        Rubber-stamped Kenneth Christiansen.

        Spatial Navigation: use data url in layout tests
        https://bugs.webkit.org/show_bug.cgi?id=38584

        In order to make Spatial Navigation layout tests more readable, patch
        changes the use or src=resources/iframeXXX.html by inlined sources via
        data uri schema.

        It is a polishment.

        * fast/events/spatial-navigation/resources/iframe.html: Removed.
        * fast/events/spatial-navigation/resources/iframe2.html: Removed.
        * fast/events/spatial-navigation/resources/iframe3.html: Removed.
        * fast/events/spatial-navigation/resources/iframe4.html: Removed.
        * fast/events/spatial-navigation/snav-iframe-no-focusable-content.html:
        * fast/events/spatial-navigation/snav-iframe-no-scrollable-content.html:
        * fast/events/spatial-navigation/snav-iframe-with-offscreen-focusable-element.html:

2010-05-05  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Kenneth Christiansen.

        Spatial Navigation: Add LayoutTest with frame flattening feature on.
        https://bugs.webkit.org/show_bug.cgi?id=38585

        * fast/events/spatial-navigation/snav-iframe-flattening-simple-expected.txt: Added.
        * fast/events/spatial-navigation/snav-iframe-flattening-simple.html: Added.

2010-05-06  Vitaly Repeshko  <vitalyr@chromium.org>

        [chromium] Unreviewed. Updating expectations.

        * platform/chromium-linux/fast/url/segments-expected.txt: Added.
        * platform/chromium-linux/fast/url/segments-from-data-url-expected.txt: Added.
        * platform/chromium-mac/fast/url/segments-expected.txt: Added.
        * platform/chromium-mac/fast/url/segments-from-data-url-expected.txt: Added.
        * platform/chromium-win/fast/url/segments-expected.txt: Added.
        * platform/chromium-win/fast/url/segments-from-data-url-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-05-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        drop support for sessionStorage in sandbox iframes
        https://bugs.webkit.org/show_bug.cgi?id=38151

        Update test expectation.  This test was originally created to show that
        we complied with the letter of the spec, but our behavior is insecure.
        In the future, we might revert this change and implement a separate
        storage area for each unique origin.

        * fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
        * fast/frames/sandboxed-iframe-storage-expected.txt:

2010-05-06  Andy Estes  <aestes@apple.com>

        Reviewed by Maciej Stachowiak.

        Add a test to ensure popups are allowed when the user submits a form with target="_blank".

        https://bugs.webkit.org/show_bug.cgi?id=37335
        <rdar://problem/7884980>

        * fast/events/popup-allowed-from-gesture-initiated-form-submit-expected.txt: Added.
        * fast/events/popup-allowed-from-gesture-initiated-form-submit.html: Added.
        * fast/events/resources/popup-allowed-from-gesture-initiated-form-submit-target.html: Added.

2010-05-05  Charles Wei  <charles.wei@torchmobile.com.cn>

        Reviewed by George Staikos

        https://bugs.webkit.org/show_bug.cgi?id=37848
        Add test cases for -wap-input-format and -wap-input-required of WCSS

        * fast/wcss/wap-input-format-expected.txt: Added.
        * fast/wcss/wap-input-format.xhtml: Added.
        * fast/wcss/wap-input-required-expected.txt: Added.
        * fast/wcss/wap-input-required.xhtml: Added.

2010-05-05  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        [GTK] Markup of copied non ASCII characters is broken
        https://bugs.webkit.org/show_bug.cgi?id=37918

        This test was fixed by http://trac.webkit.org/changeset/58468

        * platform/gtk/Skipped:

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

        Rubber-stamped by Alexey Proskuryakov.

        [Qt] Enable Sputnik tests.
        https://bugs.webkit.org/show_bug.cgi?id=38457

        * platform/qt/Skipped: Only skip tests that fail.

2010-05-05  Steven Lai  <steven_lai@asia.apple.com>

        Reviewed by Alexey Proskuryakov.

        Remove platform specific test result
        Don't print the formatted string of the z-index in the test case
        since there's a risk that the output on different c stdlib implementations/platforms/locale could be different
        https://bugs.webkit.org/show_bug.cgi?id=38617.

        * fast/dom/clone-node-z-index-expected.txt:
        * fast/dom/clone-node-z-index.html:
        * platform/win/fast/dom/clone-node-z-index-expected.txt: Removed.

2010-05-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Add a test of URL segmentation from a data URL base
        https://bugs.webkit.org/show_bug.cgi?id=38606

        As requested by Alexey.  These tests find some interesting behavior in
        both KURL and GURL.  We'll need to go through them in more detail later
        to understand what the right behavior is.

        * fast/url/script-tests/segments-from-data-url.js: Added.
        * fast/url/segments-from-data-url-expected.txt: Added.
        * fast/url/segments-from-data-url.html: Added.

2010-05-05  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        Add a test of URL segmentation
        https://bugs.webkit.org/show_bug.cgi?id=38600

        These tests are based on URLParser.Standard from
        http://code.google.com/p/google-url/source/browse/trunk/src/url_parse_unittest.cc

        * fast/url/resources/utilities.js:
        (canonicalize):
            - I changed this to use deterministic IDs because (theoretically)
              the old way was flaky in case the IDs collided.
        (segments):
            - Here we're using HTMLAnchorElement's attributes to infer the
              internal segmentation.  Unforunately, there don't seem to be
              accessors for usernames and passwords of URLs.
        * fast/url/script-tests/segments.js: Added.
            - I'm not 100% sure all the test cases here represent the intent of
              the original test author.  The tricky bit is we don't have a good
              way to test absolute URL parsing from the web platform, which
              means a bunch of these become tests of how we handle relative
              URLs.  However, I'm not one to turn down more test cases.
        * fast/url/script-tests/trivial-segments.js: Added.
            - This is more of a test of the testing harness to make sure its
              working properly when running on other browsers.
        * fast/url/segments-expected.txt: Added.
        * fast/url/trivial-segments-expected.txt: Added.
            - As usual, these have their "PASS" expectations set to the
              Chromium behavior but have their -expected.txt set to the normal
              WebKit behavior, letting us track differences between the two.
        * fast/url/segments.html: Added.
        * fast/url/trivial-segments.html: Added.

2010-05-05  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        * platform/chromium/test_expectations.txt:

2010-05-05  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Mark Rowe.

        Add Windows-specific results for clone-node-z-index.html. The difference in results is harmless (the number is the same),
        but the difference is being tracked by https://bugs.webkit.org/show_bug.cgi?id=38617.

        * platform/win/fast/dom/clone-node-z-index-expected.txt: Added.

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

        Reviewed by Simon Fraser.

        <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
        https://bugs.webkit.org/show_bug.cgi?id=38427

        * compositing/iframes/iframe-in-composited-layer.html: Added.
        * platform/mac/compositing/iframes/iframe-in-composited-layer-expected.checksum: Added.
        * platform/mac/compositing/iframes/iframe-in-composited-layer-expected.png: Added.
        * platform/mac/compositing/iframes/iframe-in-composited-layer-expected.txt: Added.

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

        Reviewed by Simon Fraser.

        Got composited iframes showing up on Mac again
        https://bugs.webkit.org/show_bug.cgi?id=38565

        This is a pixel test to verify that the iframe is rendering correctly

        * compositing/iframes/composited-iframe-alignment.html: Added.
        * platform/mac/compositing/iframes/composited-iframe-alignment-expected.checksum: Added.
        * platform/mac/compositing/iframes/composited-iframe-alignment-expected.png: Added.
        * platform/mac/compositing/iframes/composited-iframe-alignment-expected.txt: Added.

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=38260
        <rdar://problem/7917548> Fix whitespace removing in deprecatedParseURL().

        * http/tests/security/xss-DENIED-javascript-with-spaces-expected.txt: Added.
        * http/tests/security/xss-DENIED-javascript-with-spaces.html: Added.

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

        Reviewed by Beth Dakin.

        Many AXUnknown showing up in the hierarchy
        https://bugs.webkit.org/show_bug.cgi?id=38607

        * platform/mac-leopard/Skipped:
        * platform/mac-tiger/Skipped:
        * platform/mac/accessibility/parent-of-table-row-is-table-expected.txt: Added.
        * platform/mac/accessibility/parent-of-table-row-is-table.html: Added.

2010-05-05  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        XMLHttpRequestUpload events do not fire when sending a raw file or FormData object.
        https://bugs.webkit.org/show_bug.cgi?id=37771

        Add a layout test to test upload events firing.

        * http/tests/local/formdata/resources/send-form-data-common.js:
        (dumpResponse):
        (sendFormData):
        (testSendingFormData):
        * http/tests/local/formdata/script-tests/send-form-data-with-sliced-file.js:
        * http/tests/local/formdata/script-tests/send-form-data.js:
        * http/tests/local/formdata/script-tests/upload-events.js: Added.
        * http/tests/local/formdata/upload-events-expected.txt: Added.
        * http/tests/local/formdata/upload-events.html: Added.
        * platform/gtk/Skipped: Skip the new test because eventSender.beginDragWithFiles is not supported in gtk platform.
        * platform/qt/Skipped: Skip the new test because eventSender.beginDragWithFiles is not supported in qt platform.
        * platform/win/Skipped: Skip the new test because eventSender.beginDragWithFiles is not supported in win platform.

2010-05-05  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations fix.

        Update expectations with tests that are now passing (possibly flaky?).

        * platform/chromium/test_expectations.txt:

2010-05-05  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations fix.

        Mark svg/custom/mask-changes.svg and http/tests/loading/bad-scheme-subframe.html as failing on Chromium Linux until they can be triaged.

        * platform/chromium/test_expectations.txt:

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

        Roll out r58830 for breaking tests.

        Was: https://bugs.webkit.org/show_bug.cgi?id=38546
        Node.focus() fails to move focus from subframe properly

        * fast/frames/take-focus-from-iframe.html: Removed.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.checksum: Removed.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.png: Removed.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.txt: Removed.

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

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=38546
        Node.focus() fails to move focus from subframe properly

        * fast/frames/take-focus-from-iframe.html: Added.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.checksum: Added.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.png: Added.
        * platform/mac/fast/frames/take-focus-from-iframe-expected.txt: Added.

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines.

        skia r561 broke a bunch of chromium image baselines.
        Update test_expectations to include remaining failures.

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines.

        skia r561 broke a bunch of chromium image baselines.
        Rebase a few tests that were missed by previous passes.

        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.png:
        * platform/chromium-linux/svg/custom/mask-changes-expected.checksum: Added.
        * platform/chromium-linux/svg/custom/mask-changes-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines - 6th and final batch.

        skia r561 broke a bunch of chromium image baselines.
        <long list of new image baselines redacted>

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines - 5th batch.

        skia r561 broke a bunch of chromium image baselines.
        <long list of new image baselines redacted>

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines - 4th batch.

        skia r561 broke a bunch of chromium image baselines.
        <long list of new image baselines redacted>

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines - 3rd batch.

        skia r561 broke a bunch of chromium image baselines.
        <long list of new image baselines redacted>

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines - 2nd batch.

        skia r561 broke a bunch of chromium image baselines.
        <long list of new image baselines redacted>

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, updated baselines - 1st batch.

        skia r561 broke a bunch of chromium image baselines.
        <long list of new image baselines redacted>

        * platform/chromium/test_expectations.txt:

2010-05-05  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, expectations change.

        recommit r58747 - Preparing for chromium skia roll incorporating changes up to r561.
        Add expected failures so bots don't turn red while rolling.

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

        * platform/chromium/test_expectations.txt:

2010-05-05  Xan Lopez  <xlopez@igalia.com>

        Skip flakey workers test.

        * platform/gtk/Skipped:

2010-05-04  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations fix.

        Re-add the two expectations lines that got mistakenly deleted in
        r58798.

        * platform/chromium/test_expectations.txt:

2010-05-04  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Made composited iframes work on Windows
        https://bugs.webkit.org/show_bug.cgi?id=32446
        
        I've added one new test (composited-parent-iframe.html) which
        shows both the parent iframe and the iframe contents document
        with compositing. It also shows correct behavior with clipping,
        borders, margins, padding and shadows. It also sets the iframe
        size as a percent of the page to show correct resizing behavior.
        The existing composited-iframe.html has been changed similarly
        but without the page resizing. The existing preserve-3d-switching.html
        test needed new results because of changes to the layer dumper.

        * compositing/geometry/preserve-3d-switching-expected.txt:
        * compositing/iframes/composited-iframe.html:
        * compositing/iframes/composited-parent-iframe.html: Added.
        * compositing/iframes/resources/composited-subframe.html:
        * platform/win/compositing/iframes/composited-iframe-expected.txt:
        * platform/win/compositing/iframes/composited-parent-iframe-expected.txt: Added.

2010-05-04  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        Updated test results - the test still passes.

        * http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:

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

        Reviewed by Beth Dakin.

        AX: layout tests need to be updated to reflect what is being tested
        https://bugs.webkit.org/show_bug.cgi?id=38556

        Many of the initial AX layout tests just dumped a lot of attributes and did not
        have a focused test. This updates some of those tests (more to follow in the future).

        * accessibility/image-map1.html:
        * accessibility/img-aria-button-alt-tag-expected.txt:
        * accessibility/img-aria-button-alt-tag.html:
        * accessibility/input-image-alt-expected.txt:
        * accessibility/input-image-alt.html:
        * accessibility/placeholder-expected.txt:
        * accessibility/placeholder.html:
        * platform/mac/accessibility/image-map1-expected.txt:

2010-05-04  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Delete the chromium-linux fast/text/international/bold-bengali failure;
        it doesn't fail any more.

        * platform/chromium/test_expectations.txt:

2010-05-04  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        getFramebufferAttachmentParameter should return the original WebGLTexture/WebGLRenderbuffer instead of creating new ones sharing names.
        https://bugs.webkit.org/show_bug.cgi?id=38236

        * fast/canvas/webgl/gl-object-get-calls-expected.txt: Check if getFramebufferAttachmentParameter return a texture/renderbuffer that matches the original one.
        * fast/canvas/webgl/script-tests/gl-object-get-calls.js: Ditto.

2010-05-04  David Levin  <levin@chromium.org>

        Unreviewed tests skips for qt/gtk.

        Add the recently added drag and drop tests to the
        skipped lists for both gtk and qt to go along with
        the other drag and drop tests that are skipped on
        those platforms.

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

2010-05-04  Kent Tamura  <tkent@chromium.org>

        Reviewed by David Levin (and unofficially by Enrica Casucci).

        REGRESSION(r54368): Text drag-and-drop from input/textarea doesn't work
        if the text is like a URL
        https://bugs.webkit.org/show_bug.cgi?id=38374

        * editing/pasteboard/drag-drop-url-text-expected.txt: Added.
        * editing/pasteboard/drag-drop-url-text.html: Added.

2010-05-04  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed.

        [Qt] http/tests/security/cross-frame-access-name-getter.html timed out
        https://bugs.webkit.org/show_bug.cgi?id=38540

        * platform/qt/Skipped: http/tests/security/cross-frame-access-name-getter.html skipped until bug fixed.

2010-05-04  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Remove a bunch of test failures that are no longer failing (likely fixed in r58762).

        * platform/chromium/test_expectations.txt:

2010-05-04  John Gregg  <johnnyg@google.com>

        Unreviewed, build fix.

        Add new notifications tests to the qt skipped file, since they are not supported there.

        * platform/qt/Skipped:

2010-05-04  Steven Lai  <steven_lai@asia.apple.com>

        Reviewed by Darin Adler.
        
        https://bugs.webkit.org/show_bug.cgi?id=37900
        <rdar://problem/7806164> cloneNode() does not preserve z-index with more than six digits

        * fast/dom/HTMLInputElement/clone-input-checked-expected.txt: Added.
        * fast/dom/HTMLInputElement/clone-input-checked.html: Added.
        * fast/dom/clone-node-z-index-expected.txt: Added.
        * fast/dom/clone-node-z-index.html: Added.

2010-04-29  John Gregg  <johnnyg@google.com>

        Reviewed by Dmitry Titov.

        notifications should have dir and replaceId attributes
        Tests are disabled until the attributes are correctly handled
        in Chromium test_shell.
        https://bugs.webkit.org/show_bug.cgi?id=38336

        * fast/notifications/notifications-replace-expected.txt: Added.
        * fast/notifications/notifications-replace.html: Added.
        * fast/notifications/notifications-rtl-expected.txt: Added.
        * fast/notifications/notifications-rtl.html: Added.
        * platform/chromium/test_expectations.txt:

2010-05-03  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Dan Bernstein.

        REGRESSION: Text clipped in absolutely positioned search inputs
        https://bugs.webkit.org/show_bug.cgi?id=38468

        Update the test to include a second search field and show
        the clipping of a search input is like a text input.

        * fast/css/input-search-padding.html:
        * platform/mac/fast/css/input-search-padding-expected.checksum:
        * platform/mac/fast/css/input-search-padding-expected.png:
        * platform/mac/fast/css/input-search-padding-expected.txt:

2010-05-04  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        Crash in handleTouchEvent: using dangling node ptrs in hashmap
        https://bugs.webkit.org/show_bug.cgi?id=38514

        * fast/events/touch/resources/touch-stale-node-crash.js: Added.
        * fast/events/touch/resources/send-touch-up.html: Added.
        * fast/events/touch/touch-stale-node-crash-expected.txt: Added.
        * fast/events/touch/touch-stale-node-crash.html: Added.

2010-05-04  Jeremy Moskovich  <jeremy@chromium.org>

        Unreviewed, expectations change.

        Revert r58747 - postponing Skia roll, at which time
        we'll need to add these expected failures back.

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

        * platform/chromium/test_expectations.txt:

2010-05-04  Jeremy Moskovich  <jeremy@chromium.org>

        Reviewed by Pavel Feldman.

        Preparing for chromium skia roll incorporating changes up to r561.
        Add expected failures so bots don't turn red while rolling.

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

        * platform/chromium/test_expectations.txt:

2010-05-04  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed fix to make Qt bot happier.

        r58712 made fast/workers/worker-gc2.html crash. It seems to be a DRT sideeffect,
        skipping worker-event-listener.html solve the problem until we find a real fix.
        https://bugs.webkit.org/show_bug.cgi?id=38502

        * platform/qt/Skipped: fast/workers/worker-event-listener.html skipped.

2010-05-04  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed, skip test.

        Skipping inspector/timeline-parse-html.html
        https://bugs.webkit.org/show_bug.cgi?id=38509

        * platform/gtk/Skipped:

2010-05-03  Steven Lai  <steven_lai@asia.apple.com>

        Reviewed by Brady Eidson.

        Test hashchange() event is fired in asynchronous manner.
        https://bugs.webkit.org/show_bug.cgi?id=36201

        * fast/loader/hashchange-event-async-expected.txt: Added.
        * fast/loader/hashchange-event-async.html: Added.

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Fix expectation for fast/forms/searchfield-heights.html - IMAGE+TEXT
        on Linux, IMAGE on win and mac.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Restore editing/pasteboard/paste-xml.xhtml as failing w/ a TEXT
        failure (was failing prior to landing fix for 27751).

        Mark editiing/selection/caret-rtl-2.html as failing w/ IMAGE; need
        to investigate further.

        Mark svg/text/kerning.svg as failing on mac w/ IMAGE as well as Linux.

        * platform/chromium/test_expectations.txt:

2010-05-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dirk Pranke.

        Roll back test expectations change, initially needed to land bug 27751.        
        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Roll in Chromium expectations from overrides file.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark the SVG test failures as linux-only.
        Mark fast/forms/searchfield-heights.html as IMAGE+TEXT, not IMAGE.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        And add one more Linux test (fast/forms/search-placeholder-value-changed.html)
        from r58700. Plus, fix sorting of tests from that rev.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark yet more mac-specific tests as failling from r58700.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark more tests as failing from r58700 and change the sandbox test from SLOW to a
        flaky PASS TIMEOUT.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark more editing/* tests from r58703 as failing. Also, (re-?) add the SVG tests again
        as they do fail on some platforms.

        * platform/chromium/test_expectations.txt:

2010-05-03  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/frames/flattening/frameset-flattening-subframesets.html fails intermittently on Qt bot
        Fails caused by layoutTestController.display() in fast/frames/flattening/frameset-flattening-subframe-resize.html
        https://bugs.webkit.org/show_bug.cgi?id=37334

        * platform/qt/Skipped:
         - fast/frames/flattening/frameset-flattening-subframe-resize.html skipped until fix
         - fast/frames/flattening/frameset-flattening-subframesets.html unskipped, because it works.

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark the editing/* tests from r58703 as temporarily expected to fail
        until the other half of the two-sided patch can land.

        * platform/chromium/test_expectations.txt:

2010-05-03  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        Interpreter crashes due to incorrect refcounting of cached structures.
        https://bugs.webkit.org/show_bug.cgi?id=38491

        Add test for cached structure chains used for custom getters.

        * fast/js/pic/cached-named-property-getter.html:

2010-05-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Tests that javascript cannot access clipboard.
        https://bugs.webkit.org/show_bug.cgi?id=27751

        * editing/execCommand/clipboard-access-expected.txt: Added.
        * editing/execCommand/clipboard-access.html: Added.
        * editing/execCommand/script-tests/clipboard-access.js: Added.
        (enabled):
        (whenEnabled):

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Fix duplicate expectation, remove the SVG tests added in r58700.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Mark a sandbox test as SLOW and change one of the fast/forms tests I
        just changed from IMAGE+TEXT->IMAGE back to IMAGE.

        * platform/chromium/test_expectations.txt:

2010-05-03  Dirk Pranke  <dpranke@chromium.org>

        Unreviewed, expectations change.

        Change expectations for some of the fast/forms tests that just started
        failing from IMAGE+TEXT to just IMAGE, and add some failing SVG tests
        so that we can get the bots to green up.

        * platform/chromium/test_expectations.txt:

2010-05-03  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Preparing for chromium webkit roll 58626:TBD: Rebaselines
        https://bugs.webkit.org/show_bug.cgi?id=38485

        * platform/chromium-linux/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/chromium/test_expectations.txt: 

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

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=38285
        <rdar://problem/7903453> REGRESSION: Javascript command window.open does not work in empty tab

        These tests don't verify that this bug is fixed (that cannot be tested automatically),
        but test closely related behavior that hasn't been covered before.

        * http/tests/security/resources/iframe-no-src.html: Added.
        * http/tests/security/sandbox-inherit-to-initial-document-2-expected.txt: Added.
        * http/tests/security/sandbox-inherit-to-initial-document-2.html: Added.
        * http/tests/security/sandbox-inherit-to-initial-document-expected.txt: Added.
        * http/tests/security/sandbox-inherit-to-initial-document.html: Added.

2010-05-03  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Preparing for Chromium WebKit roll 58626:TBD
        https://bugs.webkit.org/show_bug.cgi?id=38479

        * platform/chromium/test_expectations.txt: added missing expectation

2010-05-03  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Added missing chromium baselines for svg text kerning
        https://bugs.webkit.org/show_bug.cgi?id=38476

        * platform/chromium-win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/render-groups-01-b-expected.png: Added.
        * platform/chromium-win/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/render-groups-03-t-expected.png: Added.
        * platform/chromium-win/svg/text/kerning-expected.checksum:
        * platform/chromium-win/svg/text/kerning-expected.png:
        * platform/chromium-win/svg/text/text-hkern-expected.checksum: Added.
        * platform/chromium-win/svg/text/text-hkern-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-05-03  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Preparing for chromium webkit roll 58626:TBD
        https://bugs.webkit.org/show_bug.cgi?id=38474

        * platform/chromium/test_expectations.txt: Added temporary expectations.

2010-05-03  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Use HTML5 number parsing in HTMLProgressElement
        https://bugs.webkit.org/show_bug.cgi?id=38434

        * fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
        * fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:

2010-05-03  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Qt specific expected files added after r58675.

        * platform/qt/editing/pasteboard/4944770-2-expected.txt: Added.
        * platform/qt/editing/pasteboard/5028447-expected.txt: Added.
        * platform/qt/editing/pasteboard/5089327-expected.txt: Added.
        * platform/qt/editing/pasteboard/5601583-1-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-2-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-text-013-expected.txt: Added.
        * platform/qt/editing/pasteboard/select-element-1-expected.txt: Added.
        * platform/qt/editing/pasteboard/testcase-9507-expected.txt: Added.
        * platform/qt/editing/pasteboard/undoable-fragment-removes-expected.txt: Added.
        * platform/qt/editing/pasteboard/unrendered-br-expected.txt: Added.

2010-05-03  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Qt specific expected files added and updated.

        [Qt] Unskip editing/pasteboard tests that fail due to 'x,y' differences
        https://bugs.webkit.org/show_bug.cgi?id=38435

        * platform/qt/editing/pasteboard/3976872-expected.txt:
        * platform/qt/editing/pasteboard/4076267-3-expected.txt:
        * platform/qt/editing/pasteboard/4242293-expected.txt:
        * platform/qt/editing/pasteboard/4631972-expected.txt:
        * platform/qt/editing/pasteboard/4641033-expected.txt:
        * platform/qt/editing/pasteboard/4700297-expected.txt:
        * platform/qt/editing/pasteboard/4806874-expected.txt:
        * platform/qt/editing/pasteboard/4840662-expected.txt:
        * platform/qt/editing/pasteboard/4944770-1-expected.txt:
        * platform/qt/editing/pasteboard/4944770-2-expected.txt: Added.
        * platform/qt/editing/pasteboard/4989774-expected.txt:
        * platform/qt/editing/pasteboard/5006779-expected.txt:
        * platform/qt/editing/pasteboard/5027857-expected.txt:
        * platform/qt/editing/pasteboard/5028447-expected.txt: Added.
        * platform/qt/editing/pasteboard/5032095-expected.txt:
        * platform/qt/editing/pasteboard/5065605-expected.txt:
        * platform/qt/editing/pasteboard/5071074-2-expected.txt:
        * platform/qt/editing/pasteboard/5071074-expected.txt:
        * platform/qt/editing/pasteboard/5075944-2-expected.txt:
        * platform/qt/editing/pasteboard/5075944-3-expected.txt:
        * platform/qt/editing/pasteboard/5075944-expected.txt:
        * platform/qt/editing/pasteboard/5089327-expected.txt: Added.
        * platform/qt/editing/pasteboard/5134759-expected.txt:
        * platform/qt/editing/pasteboard/5156401-1-expected.txt:
        * platform/qt/editing/pasteboard/5245519-expected.txt:
        * platform/qt/editing/pasteboard/5247341-expected.txt:
        * platform/qt/editing/pasteboard/5368833-expected.txt:
        * platform/qt/editing/pasteboard/5478250-expected.txt:
        * platform/qt/editing/pasteboard/5483567-expected.txt:
        * platform/qt/editing/pasteboard/5601583-1-expected.txt: Added.
        * platform/qt/editing/pasteboard/5780697-2-expected.txt:
        * platform/qt/editing/pasteboard/7955-expected.txt:
        * platform/qt/editing/pasteboard/8145-1-expected.txt:
        * platform/qt/editing/pasteboard/8145-2-expected.txt:
        * platform/qt/editing/pasteboard/8145-3-expected.txt:
        * platform/qt/editing/pasteboard/copy-paste-bidi-expected.txt:
        * platform/qt/editing/pasteboard/cut-text-001-expected.txt:
        * platform/qt/editing/pasteboard/displaced-generic-placeholder-expected.txt:
        * platform/qt/editing/pasteboard/displaced-placeholder-expected.txt:
        * platform/qt/editing/pasteboard/display-block-on-spans-expected.txt:
        * platform/qt/editing/pasteboard/emacs-cntl-y-001-expected.txt:
        * platform/qt/editing/pasteboard/innerText-inline-table-expected.txt:
        * platform/qt/editing/pasteboard/interchange-newline-1-expected.txt:
        * platform/qt/editing/pasteboard/interchange-newline-3-expected.txt:
        * platform/qt/editing/pasteboard/interchange-newline-4-expected.txt:
        * platform/qt/editing/pasteboard/merge-after-delete-1-expected.txt:
        * platform/qt/editing/pasteboard/merge-after-delete-2-expected.txt:
        * platform/qt/editing/pasteboard/merge-after-delete-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-1-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-2-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-3-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-4-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-5-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-blockquote-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-borders-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-list-expected.txt:
        * platform/qt/editing/pasteboard/merge-end-table-expected.txt:
        * platform/qt/editing/pasteboard/merge-start-blockquote-expected.txt:
        * platform/qt/editing/pasteboard/merge-start-list-expected.txt:
        * platform/qt/editing/pasteboard/paste-4035648-fix-expected.txt:
        * platform/qt/editing/pasteboard/paste-4038267-fix-expected.txt:
        * platform/qt/editing/pasteboard/paste-4039777-fix-expected.txt:
        * platform/qt/editing/pasteboard/paste-blockquote-1-expected.txt:
        * platform/qt/editing/pasteboard/paste-blockquote-2-expected.txt:
        * platform/qt/editing/pasteboard/paste-blockquote-3-expected.txt:
        * platform/qt/editing/pasteboard/paste-blockquote-after-blockquote-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-2-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-3-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-4-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-blockquote-into-blockquote-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-line-endings-001-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-002-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-003-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-004-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-005-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-006-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-007-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-008-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-009-expected.txt:
        * platform/qt/editing/pasteboard/paste-line-endings-010-expected.txt:
        * platform/qt/editing/pasteboard/paste-list-001-expected.txt:
        * platform/qt/editing/pasteboard/paste-match-style-001-expected.txt:
        * platform/qt/editing/pasteboard/paste-match-style-002-expected.txt:
        * platform/qt/editing/pasteboard/paste-pre-001-expected.txt:
        * platform/qt/editing/pasteboard/paste-pre-002-expected.txt:
        * platform/qt/editing/pasteboard/paste-table-001-expected.txt:
        * platform/qt/editing/pasteboard/paste-table-003-expected.txt:
        * platform/qt/editing/pasteboard/paste-table-cells-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-002-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-003-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-004-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-005-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-006-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-007-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-009-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-010-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-011-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-012-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-013-expected.txt: Added.
        * platform/qt/editing/pasteboard/paste-text-014-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-015-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-016-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-017-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-018-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-019-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
        * platform/qt/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
        * platform/qt/editing/pasteboard/paste-unrendered-select-expected.txt:
        * platform/qt/editing/pasteboard/pasting-object-expected.txt:
        * platform/qt/editing/pasteboard/prevent-block-nesting-01-expected.txt:
        * platform/qt/editing/pasteboard/quirks-mode-br-1-expected.txt:
        * platform/qt/editing/pasteboard/select-element-1-expected.txt: Added.
        * platform/qt/editing/pasteboard/styled-element-markup-expected.txt:
        * platform/qt/editing/pasteboard/testcase-9507-expected.txt: Added.
        * platform/qt/editing/pasteboard/undoable-fragment-removes-expected.txt: Added.
        * platform/qt/editing/pasteboard/unrendered-br-expected.txt: Added.


2010-05-03  Robert Hogan  <robert@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] Unskip editing/pasteboard tests that fail due to 'x,y' differences

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

        Unskip a large number of editing/pasteboard tests that fail only due
        to rendertree differences in the height/width of rendered text.

        Reduce the skipped editing/pasteboard tests to those that fail for
        a good reason and add some initial commentary on each.

        Unskip:

          editing/pasteboard/3976872.html
          editing/pasteboard/4076267-3.html
          editing/pasteboard/4242293.html
          editing/pasteboard/4631972.html
          editing/pasteboard/4641033.html
          editing/pasteboard/4700297.html
          editing/pasteboard/4840662.html
          editing/pasteboard/4944770-1.html
          editing/pasteboard/4944770-2.html
          editing/pasteboard/4989774.html
          editing/pasteboard/5006779.html
          editing/pasteboard/5027857.html
          editing/pasteboard/5028447.html
          editing/pasteboard/5032095.html
          editing/pasteboard/5065605.html
          editing/pasteboard/5071074-2.html
          editing/pasteboard/5071074.html
          editing/pasteboard/5075944-2.html
          editing/pasteboard/5075944-3.html
          editing/pasteboard/5075944.html
          editing/pasteboard/5089327.html
          editing/pasteboard/5134759.html
          editing/pasteboard/5156401-1.html
          editing/pasteboard/5245519.html
          editing/pasteboard/5247341.html
          editing/pasteboard/5368833.html
          editing/pasteboard/5478250.html
          editing/pasteboard/5483567.html
          editing/pasteboard/5601583-1.html
          editing/pasteboard/5780697-2.html
          editing/pasteboard/7955.html
          editing/pasteboard/8145-1.html
          editing/pasteboard/8145-2.html
          editing/pasteboard/8145-3.html
          editing/pasteboard/copy-paste-bidi.html
          editing/pasteboard/cut-text-001.html
          editing/pasteboard/displaced-generic-placeholder.html
          editing/pasteboard/displaced-placeholder.html
          editing/pasteboard/display-block-on-spans.html
          editing/pasteboard/emacs-cntl-y-001.html
          editing/pasteboard/innerText-inline-table.html
          editing/pasteboard/interchange-newline-1.html
          editing/pasteboard/interchange-newline-3.html
          editing/pasteboard/interchange-newline-4.html
          editing/pasteboard/merge-after-delete-1.html
          editing/pasteboard/merge-after-delete-2.html
          editing/pasteboard/merge-after-delete.html
          editing/pasteboard/merge-end-1.html
          editing/pasteboard/merge-end-2.html
          editing/pasteboard/merge-end-3.html
          editing/pasteboard/merge-end-4.html
          editing/pasteboard/merge-end-5.html
          editing/pasteboard/merge-end-blockquote.html
          editing/pasteboard/merge-end-borders.html
          editing/pasteboard/merge-end-list.html
          editing/pasteboard/merge-end-table.html
          editing/pasteboard/merge-start-blockquote.html
          editing/pasteboard/merge-start-list.html
          editing/pasteboard/paste-4035648-fix.html
          editing/pasteboard/paste-4038267-fix.html
          editing/pasteboard/paste-4039777-fix.html
          editing/pasteboard/paste-blockquote-1.html
          editing/pasteboard/paste-blockquote-2.html
          editing/pasteboard/paste-blockquote-3.html
          editing/pasteboard/paste-blockquote-after-blockquote.html
          editing/pasteboard/paste-blockquote-into-blockquote-2.html
          editing/pasteboard/paste-blockquote-into-blockquote-3.html
          editing/pasteboard/paste-blockquote-into-blockquote-4.html
          editing/pasteboard/paste-blockquote-into-blockquote.html
          editing/pasteboard/paste-line-endings-001.html
          editing/pasteboard/paste-line-endings-002.html
          editing/pasteboard/paste-line-endings-003.html
          editing/pasteboard/paste-line-endings-004.html
          editing/pasteboard/paste-line-endings-005.html
          editing/pasteboard/paste-line-endings-006.html
          editing/pasteboard/paste-line-endings-007.html
          editing/pasteboard/paste-line-endings-008.html
          editing/pasteboard/paste-line-endings-009.html
          editing/pasteboard/paste-line-endings-010.html
          editing/pasteboard/paste-list-001.html
          editing/pasteboard/paste-match-style-001.html
          editing/pasteboard/paste-match-style-002.html
          editing/pasteboard/paste-pre-001.html
          editing/pasteboard/paste-pre-002.html
          editing/pasteboard/paste-table-001.html
          editing/pasteboard/paste-table-003.html
          editing/pasteboard/paste-table-cells.html
          editing/pasteboard/paste-text-002.html
          editing/pasteboard/paste-text-003.html
          editing/pasteboard/paste-text-004.html
          editing/pasteboard/paste-text-005.html
          editing/pasteboard/paste-text-006.html
          editing/pasteboard/paste-text-007.html
          editing/pasteboard/paste-text-009.html
          editing/pasteboard/paste-text-010.html
          editing/pasteboard/paste-text-011.html
          editing/pasteboard/paste-text-012.html
          editing/pasteboard/paste-text-013.html
          editing/pasteboard/paste-text-014.html
          editing/pasteboard/paste-text-015.html
          editing/pasteboard/paste-text-016.html
          editing/pasteboard/paste-text-017.html
          editing/pasteboard/paste-text-018.html
          editing/pasteboard/paste-text-019.html
          editing/pasteboard/paste-text-at-tabspan-002.html
          editing/pasteboard/paste-text-at-tabspan-003.html
          editing/pasteboard/paste-unrendered-select.html
          editing/pasteboard/pasting-object.html
          editing/pasteboard/prevent-block-nesting-01.html
          editing/pasteboard/quirks-mode-br-1.html
          editing/pasteboard/select-element-1.html
          editing/pasteboard/styled-element-markup.html
          editing/pasteboard/testcase-9507.html
          editing/pasteboard/undoable-fragment-removes.html
          editing/pasteboard/unrendered-br.html

        * platform/qt/Skipped:

2010-05-03  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Csaba Osztrogonac.

        media/video-duration-known-after-eos.html failing
        https://bugs.webkit.org/show_bug.cgi?id=38466

        * platform/qt/Skipped: Skipping failing test. A lot of media tests
        are already skipped on this platform. Tor Arne said he'd look at
        them, at some point.

2010-04-30  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Seidel.

        [GStreamer] endless loop after playback ended
        https://bugs.webkit.org/show_bug.cgi?id=38384

        * media/video-duration-known-after-eos-expected.txt: Added.
        * media/video-duration-known-after-eos.html: Added.

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

        Reviewed by Simon Fraser.

        Another case of <rdar://problem/7552959> REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
        https://bugs.webkit.org/show_bug.cgi?id=38445

        * editing/selection/mixed-editability-11-expected.txt: Added.
        * editing/selection/mixed-editability-11.html: Added.

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

        Reviewed by Nikolas Zimmermann.

        SVG hkern implementation incomplete
        https://bugs.webkit.org/show_bug.cgi?id=38407

        The hkern patch fixes some very old bugs in some tests of the official
        SVG Test suite. Added a new test to check correct behavior on different
        use cases of textin SVG.

        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
        * platform/mac/svg/text/kerning-expected.checksum:
        * platform/mac/svg/text/kerning-expected.png:
        * platform/mac/svg/text/text-hkern-expected.checksum: Added.
        * platform/mac/svg/text/text-hkern-expected.png: Added.
        * platform/mac/svg/text/text-hkern-expected.txt: Added.
        * svg/text/text-hkern.svg: Added.

2010-05-02  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        [chromium] Upstream test expectations for:
        http/tests/loading/basic-auth-resend-wrong-credentials.html
        https://bugs.webkit.org/show_bug.cgi?id=38387

        * platform/chromium/test_expectations.txt:

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

        Reviewed by Darin Adler.

        fast/events/touch has non-standard script test wrappers
        https://bugs.webkit.org/show_bug.cgi?id=38084

        Tidy up the touch event layout tests. Make the script-tests TEMPLATE.html
        generate asynchronous style tests using js-test-post-function.js and move
        the non-standard synchronous test into the resources directory.

        * fast/events/touch/basic-multi-touch-events.html: Regenerate from TEMPLATE.html
        * fast/events/touch/basic-single-touch-events.html: ditto.
        * fast/events/touch/send-oncancel-event.html: ditto.
        * fast/events/touch/touch-target.html: ditto.
        * fast/events/touch/create-touch-event.html: Link to script in resources rather than
            script-tests as this test is not generated from TEMPLATE.html.
        * fast/events/touch/resources/create-touch-event.js: Copied from LayoutTests/fast/events/touch/script-tests/create-touch-event.js.
        * fast/events/touch/script-tests/TEMPLATE.html: Update to generate asynchronous tests.
        * fast/events/touch/script-tests/create-touch-event.js: Removed.
        * fast/events/touch/script-tests/touch-target.js: Refactor to work with new wrapper
            generated from TEMPLATE.html.


2010-05-01  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        More shortening of Sputnik paths.

        * fast/js/sputnik/Conformance/07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples: Copied from fast/js/sputnik/Conformance/07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion.
        * fast/js/sputnik/Conformance/07_Lexical_Conventions/7.9_Automatic_Semicolon_Insertion/7.9.2_Examples_of_Automatic_Semicolon_Insertion: Removed.

2010-05-01  James Robinson  <jamesr@chromium.org>

        Reviewed by Eric Seidel.

        Add fast/repaint/fixed-move-after-keyboard-scroll.html to skipped list pending investigation
        https://bugs.webkit.org/show_bug.cgi?id=38416

        * platform/mac-snowleopard/Skipped:

2010-05-01  David Kilzer  <ddkilzer@apple.com>

        Land test case that was supposed to be in r53607.

    2010-01-20  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Stylesheet href property shows redirected URL unlike other browsers
        https://bugs.webkit.org/show_bug.cgi?id=33683

        Test whether the href property of style sheets contains the original or
        final URL of the redirect chain that lead to the style sheet.

        I couldn't figure out how to test the XSLStyleSheet parts of this
        change.  There didn't seem to be DOM bindings for the href property
        here.  If I missed it, please let me know.

        * http/tests/security/stylesheet-href-redirect-expected.txt: Added.
        * http/tests/security/stylesheet-href-redirect.html: Added.

2010-05-01  Robert Hogan  <robert@webkit.org>

        Unreviewed fix to height/width rendering differences in results added
        by r58631.

        [Qt] Fix up width/height differences in smart-paste-00* results

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

        * platform/qt/editing/pasteboard/smart-paste-001-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-002-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-003-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-004-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-005-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-006-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-007-expected.txt:

2010-05-01  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Add smart paste support

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

        Add platform specific results.

        Unskip tests:
         editing/pasteboard/smart-paste-001.html
         editing/pasteboard/smart-paste-002.html
         editing/pasteboard/smart-paste-003.html
         editing/pasteboard/smart-paste-004.html
         editing/pasteboard/smart-paste-005.html
         editing/pasteboard/smart-paste-006.html
         editing/pasteboard/smart-paste-007.html

        * platform/qt/Skipped:
        * platform/qt/editing/pasteboard/smart-paste-001-expected.txt: Added.
        * platform/qt/editing/pasteboard/smart-paste-002-expected.txt: Added.
        * platform/qt/editing/pasteboard/smart-paste-003-expected.txt: Added.
        * platform/qt/editing/pasteboard/smart-paste-004-expected.txt: Added.
        * platform/qt/editing/pasteboard/smart-paste-005-expected.txt: Added.
        * platform/qt/editing/pasteboard/smart-paste-006-expected.txt:
        * platform/qt/editing/pasteboard/smart-paste-007-expected.txt: Added.

2010-04-30  Yoshiki Hayashi  <yhayashi@google.com>

        Reviewed by Shinichiro Hamaji.

        https://bugs.webkit.org/show_bug.cgi?id=38249
        
        Fixes an issue where border height and padding height are ignored when computing vertically shrinking flexbox's height.

        * fast/flexbox/child-flexing-expected.txt: Added.
        * fast/flexbox/child-flexing.html: Added.

2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Add layoutTestController.setPrinting()
        https://bugs.webkit.org/show_bug.cgi?id=37203

        * platform/mac/Skipped:
        * platform/mac/printing/media-queries-print-expected.txt:

2010-04-28  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Oliver Hunt.

        REGRESSION(r58313): Regression evident in pixel tests: the search icon is always clipped at the bottom.
        https://bugs.webkit.org/show_bug.cgi?id=38253

        * fast/css/input-search-padding.html: Added.
        * platform/mac/fast/css/input-search-padding-expected.checksum: Added.
        * platform/mac/fast/css/input-search-padding-expected.png: Added.
        * platform/mac/fast/css/input-search-padding-expected.txt: Added.

        * platform/mac/fast/forms/search-zoomed-expected.checksum: Updated.
        * platform/mac/fast/forms/search-zoomed-expected.png: Updated.

2010-04-30  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Enabled accelerated compositing in DRT for Windows
        https://bugs.webkit.org/show_bug.cgi?id=38404
        
        This is the Windows specific results for the composited iframe test
        This was added after compositing on Windows got turned off so the failure
        wasn't registering. What is happening is that there are platform specific
        results for mac and not for win. DRT decides to use the mac results in this
        case (even on Windows!). Even though the Windows results are the same as the
        cross platform results, we need Windows results.

        * platform/win/compositing: Added.
        * platform/win/compositing/iframes: Added.
        * platform/win/compositing/iframes/composited-iframe-expected.txt: Added.

2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations update.

        [Chromium] More missing pixel test results.

        * platform/chromium-mac/fast/borders/svg-as-border-image-2-expected.checksum: Added.
        * platform/chromium-mac/fast/borders/svg-as-border-image-expected.checksum: Added.
        * platform/chromium/test_expectations.txt:

2010-04-30  James Robinson  <jamesr@chromium.org>

        Unreviewed. Add Chromium expectations for a bunch of repaint tests that we now pass (yay!)

        * platform/chromium-linux/fast/repaint/fixed-child-move-after-scroll-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
        * platform/chromium-linux/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
        * platform/chromium-linux/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
        * platform/chromium-linux/fast/repaint/fixed-move-after-keyboard-scroll-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/fixed-move-after-keyboard-scroll-expected.png: Added.
        * platform/chromium-linux/fast/repaint/fixed-move-after-scroll-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/fixed-move-after-scroll-expected.png: Added.
        * platform/chromium-mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.checksum: Added.
        * platform/chromium-mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-child-move-after-scroll-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-child-move-after-scroll-expected.txt: Added.
        * platform/chromium-win/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.txt: Added.
        * platform/chromium-win/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.txt: Added.
        * platform/chromium-win/fast/repaint/fixed-move-after-keyboard-scroll-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/fixed-move-after-keyboard-scroll-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt: Added.
        * platform/chromium-win/fast/repaint/fixed-move-after-scroll-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/fixed-move-after-scroll-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-move-after-scroll-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-30  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Kilzer.

        Tests for a crash when an image drag-drop operation happens inside a continuously refreshing iframe.
        https://bugs.webkit.org/show_bug.cgi?id=37618

        * editing/pasteboard/drag-drop-iframe-refresh-crash-expected.txt: Added.
        * editing/pasteboard/drag-drop-iframe-refresh-crash.html: Added.
        * editing/resources/drag-drop.html: Added.
        * platform/qt/Skipped:

2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations update.

        [Chromium] Add more missing pixel results.

        * platform/chromium-win/transforms/svg-vs-css-expected.checksum: Added.
        * platform/chromium-win/transforms/svg-vs-css-expected.png: Added.

2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations updated.

        [Chromium] Add missing pixel results.

        * platform/chromium-linux/fast/borders/svg-as-border-image-2-expected.checksum: Added.
        * platform/chromium-linux/fast/borders/svg-as-border-image-expected.checksum: Added.
        * platform/chromium-linux/transforms/svg-vs-css-expected.checksum: Added.
        * platform/chromium-linux/transforms/svg-vs-css-expected.png: Added.
        * platform/chromium-mac/svg/custom/mask-changes-expected.checksum: Added.
        * platform/chromium-mac/svg/custom/mask-changes-expected.png: Added.
        * platform/chromium-mac/transforms/svg-vs-css-expected.checksum: Added.
        * platform/chromium-win/fast/borders/svg-as-border-image-2-expected.checksum: Added.
        * platform/chromium-win/fast/borders/svg-as-border-image-2-expected.png: Added.
        * platform/chromium-win/fast/borders/svg-as-border-image-expected.checksum: Added.
        * platform/chromium-win/fast/borders/svg-as-border-image-expected.png: Added.

2010-04-30  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/38364> MIME typo in LayoutTests/http/tests/security/xss-DENIED-mime-type-execute-as-html.html

        Reviewed by David Levin.

        * http/tests/security/xss-DENIED-mime-type-execute-as-html.html:
        Fixed MIME typo from "application-javascript" to
        "application/javascript".

2010-04-30  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r58569.
        http://trac.webkit.org/changeset/58569
        https://bugs.webkit.org/show_bug.cgi?id=38399

        This broke the GTK bots due to bad GC behavior (Requested by
        ericu on #webkit).

        * fast/workers/change-version-handle-reuse-worker-expected.txt: Removed.
        * fast/workers/change-version-handle-reuse-worker.html: Removed.
        * fast/workers/execute-sql-args-worker-expected.txt: Removed.
        * fast/workers/execute-sql-args-worker.html: Removed.
        * fast/workers/resources/database-worker-controller.js: Removed.
        * fast/workers/resources/database-worker.js: Removed.
        * storage/change-version-handle-reuse-expected.txt:
        * storage/change-version-handle-reuse.html:
        * storage/change-version-handle-reuse.js: Removed.
        * storage/execute-sql-args.html:
        * storage/execute-sql-args.js: Removed.

2010-04-30  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Updating expectations for svg-as-border-*
        https://bugs.webkit.org/show_bug.cgi?id=38398

        * platform/chromium-win/fast/borders/svg-as-border-image-2-expected.txt: Added.
        * platform/chromium-win/fast/borders/svg-as-border-image-expected.txt: Added.
        * platform/chromium-win/transforms/svg-vs-css-expected.txt: Added.

2010-04-30  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        * platform/mac-tiger/Skipped: Added two tests that fail on buidbot.

2010-04-30  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/frames/flattening/frameset-flattening-subframesets.html fails intermittently on Qt bot
        https://bugs.webkit.org/show_bug.cgi?id=37334

        * platform/qt/Skipped: fast/frames/flattening/frameset-flattening-subframesets.html skipped until fix.

2010-04-30  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        Enable Sputnik tests on Tiger.

        * platform/mac-tiger/Skipped: Only skip tests that fail for me on Tiger/PPC, and Unicode tests.

2010-04-30  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        Updated results for <rdar://problem/6649734> Text repainting does not account for glyphs which draw outside the typographic bounds of the font
        https://bugs.webkit.org/show_bug.cgi?id=6274

        * platform/mac/fast/repaint/stacked-diacritics-expected.checksum:
        * platform/mac/fast/repaint/stacked-diacritics-expected.png:

2010-04-30  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Reversed the order of the CSSMatrix.multiply method
        https://bugs.webkit.org/show_bug.cgi?id=38337

        These are the existing tests for 2D and 3D CSSMatrix and SVGMatrix.
        I've added tests missing between the two styles and now do tests
        that confirm that SVGMatrix and CSSMatrix both multiply the same.

        This also adds a new test from Simon which compares SVG to CSS matrixes.
        This is a pixel test for mac only.

        * platform/mac/transforms/svg-vs-css-expected.checksum: Added.
        * platform/mac/transforms/svg-vs-css-expected.png: Added.
        * platform/mac/transforms/svg-vs-css-expected.txt: Added.
        * svg/dom/SVGMatrix-interface-expected.txt:
        * svg/dom/SVGMatrix-interface.xhtml:
        * transforms/cssmatrix-2d-interface-expected.txt:
        * transforms/cssmatrix-2d-interface.xhtml:
        * transforms/cssmatrix-3d-interface-expected.txt:
        * transforms/cssmatrix-3d-interface.xhtml:
        * transforms/svg-vs-css.xhtml: Added.

2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations update.

        [Chromium] Provide expectations for svg/custom/repaint-stroke-width-changes.svg,
        which was added in http://trac.webkit.org/changeset/58570/.

        * platform/chromium-linux/svg/custom/repaint-stroke-width-changes-expected.checksum: Added.
        * platform/chromium-mac/svg/custom/repaint-stroke-width-changes-expected.checksum: Added.
        * platform/chromium-mac/svg/custom/repaint-stroke-width-changes-expected.png: Added.
        * platform/chromium-win/svg/custom/repaint-stroke-width-changes-expected.checksum: Added.
        * platform/chromium-win/svg/custom/repaint-stroke-width-changes-expected.png: Added.

2010-04-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        Update image results for SVG as CSS border image tests
        https://bugs.webkit.org/show_bug.cgi?id=37028
        
        Improve the tests for SVG in border image to use an image that is not a solid color,
        and by adding comparison elements with PNG-based borders.
        
        Remove unused "green rect" SVG files.
        
        Update Mac pixel results, and remove Chromium pixel results with the expectation
        that someone will commit new ones.

        * fast/borders/resources/green-fixed-size-rect.svg: Removed.
        * fast/borders/resources/green-relative-size-rect.svg: Removed.
        * fast/borders/resources/large-tiles.png: Added.
        * fast/borders/resources/tiles-fixed-size.svg: Added.
        * fast/borders/resources/tiles-relative-size.svg: Added.
        * fast/borders/resources/tiles.png: Added.
        * fast/borders/svg-as-border-image-2.html:
        * fast/borders/svg-as-border-image.html:
        * platform/chromium-win/fast/borders/svg-as-border-image-2-expected.checksum: Removed.
        * platform/chromium-win/fast/borders/svg-as-border-image-2-expected.png: Removed.
        * platform/chromium-win/fast/borders/svg-as-border-image-2-expected.txt: Removed.
        * platform/chromium-win/fast/borders/svg-as-border-image-expected.checksum: Removed.
        * platform/chromium-win/fast/borders/svg-as-border-image-expected.png: Removed.
        * platform/chromium-win/fast/borders/svg-as-border-image-expected.txt: Removed.
        * platform/mac/fast/borders/svg-as-border-image-2-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.png:
        * platform/mac/fast/borders/svg-as-border-image-2-expected.txt:
        * platform/mac/fast/borders/svg-as-border-image-expected.checksum:
        * platform/mac/fast/borders/svg-as-border-image-expected.png:
        * platform/mac/fast/borders/svg-as-border-image-expected.txt:

2010-04-30  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations tweak.

        [Chromium] Defer Sputnik tests.

        * platform/chromium/test_expectations.txt: Tagged fast/js/sputnik with DEFER.

2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Simon Fraser.

        SHOULD NEVER BE REACHED assertion loading forbes.com
        https://bugs.webkit.org/show_bug.cgi?id=38272

        * printing/pseudo-class-outside-page-expected.txt: Added.
        * printing/pseudo-class-outside-page.html: Added.

2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. While I'm at it: Update prototype-inheritance-2-expected.txt result, it's failing since CSSPageRule has been introduced.

        * platform/win/fast/dom/prototype-inheritance-2-expected.txt:

2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Windows fails on svg/custom/mask-changes.svg. Trying to fix the test which is really flawed. Shows a DRT difference between Mac/Win.

        * svg/custom/mask-changes.svg:

2010-04-30  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed.  Fixing a missed test from https://bugs.webkit.org/show_bug.cgi?id=38331

        * fast/events/init-events-expected.txt:
        * fast/events/script-tests/init-events.js:

2010-04-30  Kent Tamura  <tkent@chromium.org>

        Unreviewed.

        Revert a part of r58564 to be compatible with prior behavior
        https://bugs.webkit.org/show_bug.cgi?id=38383

        * platform/chromium/test_expectations.txt: Remove expectations added by r58568.

2010-04-29  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Darin Fisher.

        Change StorageEvent.uri to StorageEvent.url to match the spec
        https://bugs.webkit.org/show_bug.cgi?id=38331

        Change the existing tests to test 'url' rather than 'uri'.

        * storage/domstorage/events/documentURI-expected.txt:
        * storage/domstorage/events/script-tests/documentURI.js:
        (step2):
        (step3):
        * storage/domstorage/localstorage/resources/iframe-events-second.html:
        * storage/domstorage/sessionstorage/resources/iframe-events-second.html:

2010-04-30  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed
        https://bugs.webkit.org/show_bug.cgi?id=38385

        Add new test covering the repaint problem. Influences some marker results, that can be safely ignored.

        * platform/mac/svg/custom/circular-marker-reference-1-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-3-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
        * platform/mac/svg/custom/repaint-stroke-width-changes-expected.checksum: Added.
        * platform/mac/svg/custom/repaint-stroke-width-changes-expected.png: Added.
        * platform/mac/svg/custom/repaint-stroke-width-changes-expected.txt: Added.
        * svg/custom/repaint-stroke-width-changes.svg: Added.

2010-04-30  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dmitry Titov.

        Add bindings for async DB API in Workers.
        https://bugs.webkit.org/show_bug.cgi?id=34992

        * storage/change-version-handle-reuse.html: Refactored to share code with the worker version of the test.
        * storage/change-version-handle-reuse-expected.html: Removed reference to reloading, which this test doesn't do.
        * storage/change-version-handle-reuse.js: This is the extracted shared core of the test.
        * storage/execute-sql-args.html: Refactored to share code with the worker version of the test.
        * storage/execute-sql-args.js: This is the extracted shared core of the test.

        These are the worker versions of the tests; they're tiny shims around shared code.
        * fast/workers/execute-sql-args-worker-expected.txt: Added.
        * fast/workers/execute-sql-args-worker.html: Added.
        * fast/workers/change-version-handle-reuse-worker-expected.txt: Added.
        * fast/workers/change-version-handle-reuse-worker.html: Added.
        This file gets included from worker database tests; it does all the boilerplate that's needed on the DOM side.
        * fast/workers/resources/database-worker-controller.js: Added.
        This file is the boilerplate for the worker side of the database tests.  It will import and run the actual test on command, and will report back completion and exceptions.
        * fast/workers/resources/database-worker.js: Added.

2010-04-30  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewd, update test expectations.
        https://bugs.webkit.org/show_bug.cgi?id=38383

        Start failing after WebKit r58563:r58565
        - fast/forms/search-abs-pos-cancel-button.html
        - fast/forms/search-cancel-button-mouseup.html
        - fast/forms/search-rtl.html
        - fast/forms/search-zoomed.html

        * platform/chromium/test_expectations.txt:

2010-04-30  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewd, test expectations cleanup.

        media/video-empty-source.html passes since r58480:r58515 (win), r58489 (linux), r58488:458490 (mac)
        fast/backround/svg-as-background-6.html passes since r58488:r58490 (mac)
        fast/repaint/caret-outside-block.html passes since r58414:r58415 (mac)
        fast/replaced/border-radius-clip.html passes since r58543 (win, linux)
        fast/images/svg-as-tiled-background.html passes r58488:r58490 (mac)
        fast/text/line-breaks.html passes since r58480:r58515 (win)
        fast/backgrounds/svg-as-background-2.html passes since r58480:r58515 (win), r58489 (linux), r58488:r58490 (mac)

        * platform/chromium/test_expectations.txt:

2010-04-30  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adele Peterson.

        Implement interactive behavior of spin buttons.
        https://bugs.webkit.org/show_bug.cgi?id=35686

        * platform/mac/fast/forms/input-number-click-expected.txt: Added.
        * platform/mac/fast/forms/input-number-click.html: Added.

2010-04-30  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Enable DOMWindow constructor for HTMLProgressElement
        https://bugs.webkit.org/show_bug.cgi?id=38333

        Update expected test results after this change

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

2010-04-30  Kent Tamura  <tkent@chromium.org>

        Reviewed by Adele Peterson.

        Mac implementation of outer-spin-button appearance, and anonymous
        element generation for <input type=number>.
        https://bugs.webkit.org/show_bug.cgi?id=32813

        input-appearance-spinbutton.html checks the appearances of various
        sizes of spin-buttons. input-appearance-spinbutton-size.html
        checks a spin-button height is equal to or less than the
        corresponding text field height.

        * platform/mac/fast/forms/input-appearance-spinbutton-expected.checksum: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton-expected.png: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton-expected.txt: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton-size-expected.txt: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton-size.html: Added.
        * platform/mac/fast/forms/input-appearance-spinbutton.html: Added.

2010-04-29  Kent Tamura  <tkent@chromium.org>

        Unreviewed.

        Add media/media-document-audio-size.html to Skipped lists.
        https://bugs.webkit.org/show_bug.cgi?id=38376

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

2010-04-29  James Robinson  <jamesr@chromium.org>

        Unreviewed, fix chromium linux test expectations.

        * platform/chromium/test_expectations.txt:

2010-04-29  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update Chromium test expectations and add new SVG baselines
        https://bugs.webkit.org/show_bug.cgi?id=38345

        * platform/chromium-linux/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/chromium/test_expectations.txt:

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Updated expectations for 2 more tests on mac:
        svg/custom/dominant-baseline-hanging.svg
        fast/replaced/border-radius-clip.html
        
        https://bugs.webkit.org/show_bug.cgi?id=38365

        * platform/chromium/test_expectations.txt:

2010-04-29  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        * platform/mac-tiger/Skipped: Accidentally committed with a commented out line.

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Added two new timeout expectations media/audio-only-video-intrinsic-size.html, media/media-document-audio-size.html which started failing after r58543.
        https://bugs.webkit.org/show_bug.cgi?id=38362

        * platform/chromium/test_expectations.txt:

2010-04-29  Alexey Proskuryakov  <ap@apple.com>

        Re-enable Sputnik tests on Leopard and Snow Leopard.

        * fast/js/sputnik/Conformance/11_Expressions/11.5_Multiplicative_Operators/11.5.3_Applying_the_percent_Operator/S11.5.3_A4_T2-expected.txt:
        * fast/js/sputnik/Conformance/15_Native_Objects/15.4_Array/15.4.4/15.4.4.12_Array_prototype_splice/S15.4.4.12_A2.1_T3-expected.txt:
        Changed expectation to PASS.

        * platform/mac-snowleopard/Skipped: Skip the above tests, since they fail in 64 bit, and
        DRT may run 64 bit on Snow Leopard.

        * platform/mac-leopard/fast/js: Added.
        * platform/mac-leopard/fast/js/sputnik: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_500: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_500/S7.6_A3.1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_500/S7.6_A3.2-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_500/S7.6_A5.3_T1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_500/S7.6_A5.3_T2-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S15.5.4.16_A1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S15.5.4.18_A1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A1.1_T1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A1.1_T2-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A1.1_T4-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A2.2_T1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A2.2_T2-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A2.3-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A5.2_T1-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A5.2_T2-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A5.2_T4-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A5.2_T7-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A5.2_T8-expected.txt: Added.
        * platform/mac-leopard/fast/js/sputnik/Unicode/Unicode_510/S7.6_A5.2_T9-expected.txt: Added.
        Added platform specific results for tests that depend on supported Unicode version.

        * platform/mac-tiger/Skipped: Skipped Sputnik on Tiger.

        * platform/mac/Skipped: Unskipped Sputnik.

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Skipping layout tests with bad/missing expectations.
        https://bugs.webkit.org/show_bug.cgi?id=38361

        * platform/chromium/test_expectations.txt:

2010-04-29  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        Trying to fix Windows checkout by shortening more paths in Sputnik tests.

        * fast/js/sputnik: Many directories renamed.

2010-04-29  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        Trying to fix Windows checkout by shortening paths in Sputnik tests.

        * fast/js/sputnik: Many directories renamed.

2010-04-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7918086> REGRESSION (r57820): Controller is not displayed in window when opening a MP3 file in browser window
        https://bugs.webkit.org/show_bug.cgi?id=38350

        * media/audio-only-video-intrinsic-size-expected.txt: Added.
        * media/audio-only-video-intrinsic-size.html: Added.
        * media/media-document-audio-size-expected.txt: Added.
        * media/media-document-audio-size.html: Added.

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Fixed corrupt svg-background-partial-redraw-expected.checksum files
        https://bugs.webkit.org/show_bug.cgi?id=38355

        * platform/chromium-linux/fast/images/svg-background-partial-redraw-expected.checksum:
        * platform/chromium-mac/fast/images/svg-background-partial-redraw-expected.checksum:
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.checksum:

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Skip sputnik tests for chromium until we decide what to do with them.
        https://bugs.webkit.org/show_bug.cgi?id=38353

        * platform/chromium/test_expectations.txt:

2010-04-29  Alexey Proskuryakov  <ap@apple.com>

        Skipping Sputnik tests, because tey fail a lot on buildbots. The current (early) theory is
        that this depends on when exactly DumpRenderTree gets restarted.

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

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

        Not Reviewed.

        Skip fast/images/svg-nested.html which crashes chromium.py
        https://bugs.webkit.org/show_bug.cgi?id=38351

        * platform/chromium/test_expectations.txt:

2010-04-29  Yaar Schnitman  <yaar@chromium.org>

       Not reviewed.

        Adding missing expectations, skipping tests
        https://bugs.webkit.org/show_bug.cgi?id=38343

        * platform/chromium-linux/fast/css/font-face-woff-expected.checksum: Added.
        * platform/chromium-mac/fast/media/media-query-invalid-value-expected.checksum: Added.
        * platform/chromium-win/fast/css/font-face-woff-expected.checksum: Added.
        * platform/chromium-win/fast/css/font-face-woff-expected.txt: Added.
        * platform/chromium-win/fast/media/media-query-invalid-value-expected.checksum: Added.
        * platform/chromium-win/fast/text/international/bold-bengali-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-21  Alexey Proskuryakov  <ap@apple.com>

        Rubber-stamped by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=38296
        Import Sputnik JavaScript test suite

        * fast/js/sputnik: Added.
        * fast/js/sputnik/AUTHORS: Added.
        * fast/js/sputnik/Conformance: Added.
        * fast/js/sputnik/Implementation_Diagnostics: Added.
        * fast/js/sputnik/LICENSE: Added.
        * fast/js/sputnik/Regression: Added.
        * fast/js/sputnik/Unicode: Added.

        * fast/js/script-tests/sputnik-S15.4.4.12_A3_T3.js: Deleted.
        * fast/js/sputnik-S15.4.4.12_A3_T3-expected.txt: Deleted.
        * fast/js/sputnik-S15.4.4.12_A3_T3.html: Deleted.

2010-04-29  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Adler.

        Let's cache nodelists instead of DynamicNodeList::Caches
        https://bugs.webkit.org/show_bug.cgi?id=33696

        * fast/dom/Element/node-list-identity-expected.txt: Added to verify that node lists are indeed cached
        * fast/dom/Element/node-list-identity.html: Added to verify that node lists are indeed cached
        * fast/dom/gc-9-expected.txt: Updated to follow changed semantics of caching
        * fast/dom/gc-9.html: Updated to follow changed semantics of caching

2010-04-29  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        Rebaseline chromium SVG tests
        This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=37986
        https://bugs.webkit.org/show_bug.cgi?id=38106

        * platform/chromium-linux/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/chromium-linux/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/chromium-linux/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png:
        * platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.checksum:
        * platform/chromium-linux/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.png:
        * platform/chromium-linux/svg/batik/paints/patternRegions-expected.txt:
        * platform/chromium-linux/svg/custom/dominant-baseline-hanging-expected.checksum:
        * platform/chromium-linux/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/chromium-linux/svg/custom/gradient-stroke-width-expected.checksum:
        * platform/chromium-linux/svg/custom/gradient-stroke-width-expected.png:
        * platform/chromium-linux/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/chromium-mac/fast/images: Added.
        * platform/chromium-mac/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/chromium-mac/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/chromium-mac/traversal: Added.
        * platform/chromium-mac/traversal/node-iterator-prototype-expected.txt: Added.
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.txt: Added.
        * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.checksum:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.png:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * platform/chromium-win/svg/batik/filters/feTile-expected.txt:
        * platform/chromium-win/svg/batik/masking/maskRegions-expected.txt:
        * platform/chromium-win/svg/batik/paints/gradientLimit-expected.txt:
        * platform/chromium-win/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/chromium-win/svg/batik/paints/patternRegionA-expected.txt:
        * platform/chromium-win/svg/batik/paints/patternRegions-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect2-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect3-expected.txt:
        * platform/chromium-win/svg/batik/text/textProperties-expected.txt:
        * platform/chromium-win/svg/carto.net/colourpicker-expected.txt:
        * platform/chromium-win/svg/carto.net/tabgroup-expected.txt: Added.
        * platform/chromium-win/svg/custom/dominant-baseline-hanging-expected.checksum:
        * platform/chromium-win/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/chromium-win/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/chromium-win/svg/custom/fill-fallback-expected.txt:
        * platform/chromium-win/svg/custom/gradient-cycle-detection-expected.txt:
        * platform/chromium-win/svg/custom/gradient-deep-referencing-expected.txt:
        * platform/chromium-win/svg/custom/gradient-stroke-width-expected.checksum:
        * platform/chromium-win/svg/custom/gradient-stroke-width-expected.png:
        * platform/chromium-win/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/chromium-win/svg/custom/invalid-css-expected.txt:
        * platform/chromium-win/svg/custom/js-late-gradient-and-object-creation-expected.txt:
        * platform/chromium-win/svg/custom/js-late-gradient-creation-expected.txt:
        * platform/chromium-win/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/chromium-win/svg/custom/js-late-pattern-creation-expected.txt:
        * platform/chromium-win/svg/custom/js-update-gradient-expected.checksum:
        * platform/chromium-win/svg/custom/js-update-gradient-expected.png:
        * platform/chromium-win/svg/custom/pattern-cycle-detection-expected.txt:
        * platform/chromium-win/svg/custom/pattern-deep-referencing-expected.txt:
        * platform/chromium-win/svg/custom/pattern-rotate-expected.txt:
        * platform/chromium-win/svg/custom/pattern-with-transformation-expected.txt:
        * platform/chromium-win/svg/custom/stroke-fallback-expected.txt:
        * platform/chromium-win/svg/custom/stroked-pattern-expected.txt:
        * platform/chromium-win/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/chromium-win/svg/hixie/error/003-expected.txt:
        * platform/chromium-win/svg/hixie/perf/005-expected.txt:
        * platform/chromium-win/svg/hixie/perf/006-expected.txt:
        * platform/chromium-win/svg/text/selection-background-color-expected.txt:
        * platform/chromium-win/svg/text/selection-styles-expected.txt:
        * platform/chromium-win/svg/text/text-gradient-positioning-expected.txt:
        * platform/chromium-win/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
        * platform/chromium-win/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
        * platform/chromium-win/traversal: Added.
        * platform/chromium-win/traversal/node-iterator-prototype-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-29  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations tweak.

        Update stale expectations I accidentally checked in in http://trac.webkit.org/changeset/58520
        https://bugs.webkit.org/show_bug.cgi?id=9756

        * fast/forms/implicit-submission-expected.txt: Updated expectations.

2010-04-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        A form without a submit button unexpectedly performs its action when Return is pressed
        https://bugs.webkit.org/show_bug.cgi?id=9756

        A comprehensive test for various edge cases involving implicit form submission.

        * fast/forms/implicit-submission-expected.txt: Added.
        * fast/forms/implicit-submission.html: Added.
        * fast/forms/check-box-enter-key-expected.txt: Removed because it's now part of implicit-submission.html.
        * fast/forms/check-box-enter-key.html: Ditto.
        * fast/forms/select-enter-key-expected.txt: Ditto.
        * fast/forms/select-enter-key.html: Ditto.

2010-04-29  Adam Langley  <agl@chromium.org>

        Reviewed by David Levin.

        Adding a test which uses a font from a WOFF file.

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

        * fast/css/font-face-woff.html: Added.
        * fast/css/resources/Ahem.woff: Added.

2010-04-29  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Simon Hausmann.

        [Qt] Loading of large page can take up to 10 seconds
        https://bugs.webkit.org/show_bug.cgi?id=31719

        Followup patch. Update expected files because of minor differences.
        (size of whitespaces, place of linebreaks)

        * platform/qt/css1/basic/inheritance-expected.txt:
        * platform/qt/css1/box_properties/float_elements_in_series-expected.txt:
        * platform/qt/css1/box_properties/float_margin-expected.txt:
        * platform/qt/css1/color_and_background/background_attachment-expected.txt:
        * platform/qt/css1/color_and_background/background_repeat-expected.txt:
        * platform/qt/css1/conformance/forward_compatible_parsing-expected.txt:
        * platform/qt/css1/font_properties/font-expected.txt:
        * platform/qt/css1/font_properties/font_style-expected.txt:
        * platform/qt/css1/formatting_model/inline_elements-expected.txt:
        * platform/qt/css1/text_properties/line_height-expected.txt:
        * platform/qt/css1/text_properties/text_decoration-expected.txt:
        * platform/qt/css1/text_properties/text_indent-expected.txt:
        * platform/qt/css1/text_properties/vertical_align-expected.txt:
        * platform/qt/css2.1/t1202-counter-01-b-expected.txt:
        * platform/qt/css2.1/t1202-counter-02-b-expected.txt:
        * platform/qt/css2.1/t1202-counter-03-b-expected.txt:
        * platform/qt/css2.1/t1202-counter-04-b-expected.txt:
        * platform/qt/css2.1/t1202-counters-01-b-expected.txt:
        * platform/qt/css2.1/t1202-counters-02-b-expected.txt:
        * platform/qt/css2.1/t1202-counters-03-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-00-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-04-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-05-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-06-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-07-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-08-b-expected.txt:
        * platform/qt/css2.1/t1508-c527-font-10-c-expected.txt:
        * platform/qt/editing/selection/select-text-overflow-ellipsis-expected.txt:
        * platform/qt/fast/backgrounds/background-inherit-color-bug-expected.txt:
        * platform/qt/fast/backgrounds/body-generated-image-propagated-to-root-expected.txt:
        * platform/qt/fast/backgrounds/repeat/mask-negative-offset-repeat-expected.txt:
        * platform/qt/fast/backgrounds/repeat/negative-offset-repeat-expected.txt:
        * platform/qt/fast/backgrounds/size/zero-expected.txt:
        * platform/qt/fast/css/font-face-opentype-expected.txt:
        * platform/qt/fast/lists/w3-css3-list-styles-numeric-expected.txt:
        * platform/qt/fast/repaint/selection-gap-overflow-scroll-2-expected.txt:
        * platform/qt/fast/text/fake-italic-expected.txt:
        * platform/qt/fast/text/international/khmer-selection-expected.txt:
        * platform/qt/http/tests/local/file-url-sent-as-referer-expected.txt:
        * platform/qt/svg/filters/feColorMatrix-values-expected.txt:
        * platform/qt/svg/text/foreignObject-text-clipping-bug-expected.txt:
        * platform/qt/svg/text/selection-background-color-expected.txt:
        * platform/qt/svg/text/selection-doubleclick-expected.txt:
        * platform/qt/svg/text/selection-styles-expected.txt:
        * platform/qt/svg/text/selection-tripleclick-expected.txt:
        * platform/qt/svg/zoom/page/zoom-hixie-mixed-009-expected.txt:
        * platform/qt/svg/zoom/text/zoom-hixie-mixed-009-expected.txt:

2010-04-29  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix a bug that selection drag-and-drop doesn't work for input/textarea.
        https://bugs.webkit.org/show_bug.cgi?id=38175

        * editing/pasteboard/drag-drop-input-textarea-expected.txt: Added.
        * editing/pasteboard/drag-drop-input-textarea.html: Added.

2010-04-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Maciej Stachowiak.

        Add missing pixel test results for several tests on Mac. Now doesn't create any new files anymore, when running run-webkit-tests -p.

        * platform/mac/fast/block/positioning/absolute-positioning-no-scrollbar-expected.checksum: Added.
        * platform/mac/fast/block/positioning/absolute-positioning-no-scrollbar-expected.png: Added.
        * platform/mac/fast/css/css3-space-in-nth-and-lang-expected.checksum: Added.
        * platform/mac/fast/css/css3-space-in-nth-and-lang-expected.png: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.png: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.png: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.png: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.png: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.png: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-height-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-height-expected.png: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.png: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.png: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-expected.png: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-offscreen-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-offscreen-expected.png: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.checksum: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.png: Added.
        * platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.checksum: Added.
        * platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.png: Added.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.checksum: Added.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.png: Added.
        * platform/mac/fast/media/media-query-invalid-value-expected.checksum: Added.
        * platform/mac/fast/media/media-query-invalid-value-expected.png: Added.
        * platform/mac/fast/runin/generated2-expected.checksum: Added.
        * platform/mac/fast/runin/generated2-expected.png: Added.
        * platform/mac/fast/runin/generated3-expected.checksum: Added.
        * platform/mac/fast/runin/generated3-expected.png: Added.
        * platform/mac/fast/runin/generated4-expected.checksum: Added.
        * platform/mac/fast/runin/generated4-expected.png: Added.
        * platform/mac/http/tests/webarchive/cross-origin-stylesheet-crash-expected.checksum: Added.
        * platform/mac/http/tests/webarchive/cross-origin-stylesheet-crash-expected.png: Added.

2010-04-29  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed, test expectations update.

        * platform/chromium/test_expectations.txt: fast/media/media-query-invalid-value.html should be MISSING, not IMAGE.

2010-04-29  Jan Hanssen  <jhanssen@codeaurora.org>

        Reviewed by Adam Barth.

        Test whether HTMLOptionElement::ownerSelectElement() is considering the keygen element.
        https://bugs.webkit.org/show_bug.cgi?id=26016

        * fast/dom/HTMLKeygenElement/keygen-option-select-expected.txt: Added.
        * fast/dom/HTMLKeygenElement/keygen-option-select.html: Added.

2010-04-29  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Maciej Stachowiak.

        REGRESSION: gradient background of LayoutTests/fast/backgrounds/resources/balloon.svg fails to draw
        https://bugs.webkit.org/show_bug.cgi?id=38307

        balloon.svg is broken, it contains a <def> section, instead of a <defs> section.
        We now properly ignored the subtree. s/def/defs/ and the testcase works again.

        fast/backgrounds/svg-as-background-2.html even properly draws the gradient background instead of pure red color.
        Combined with Simons SVGImage repaint fixes, we have a nice progression in this area.

        Updated some fast/*expected.png files, that showed a 0.01% difference on my system. Probably a CG difference,
        I can now run those tests with --tolerance 0 without a problem.

        * fast/backgrounds/resources/balloon.svg: s/def/defs/
        * fast/backgrounds/size/contain-and-cover-expected.checksum: Updated for marginal differences.
        * fast/backgrounds/size/contain-and-cover-expected.png: Ditto.
        * platform/mac/fast/backgrounds/svg-as-background-2-expected.checksum: Huge update, no more red, but a nice gradient.
        * platform/mac/fast/backgrounds/svg-as-background-2-expected.png: Ditto.
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.checksum: Updated for marginal differences.
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.png: Ditto.
        * platform/mac/fast/images/svg-as-tiled-background-expected.checksum: Reflect the current state: it's green now, no more red.
        * platform/mac/fast/images/svg-as-tiled-background-expected.png: Ditto.
        * platform/mac/fast/images/svg-background-partial-redraw-expected.checksum: Updated for marginal differences.
        * platform/mac/fast/images/svg-background-partial-redraw-expected.png: Ditto.

2010-04-29  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed, test expectations update.

        r58479 add fast/media/media-query-invalid-value.html, but it misses
        image expectations.

        * platform/chromium/test_expectations.txt:

2010-04-29  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        wrong filename: LayoutTests/platform/win/fast/text/international/bold-bengali-actual.txt
        https://bugs.webkit.org/show_bug.cgi?id=38310

        * platform/win/fast/text/international/bold-bengali-expected.txt: Renamed from LayoutTests/platform/win/fast/text/international/bold-bengali-actual.txt.

2010-04-28  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Simon Fraser.

        Media queries empty values
        https://bugs.webkit.org/show_bug.cgi?id=38116

        Adding isValid() method to MediaQueryExp to make it possible to differentiate
        between queries with empty values and queries with invalid values.

        * fast/media/media-query-invalid-value-expected.txt: Added.
        * fast/media/media-query-invalid-value.html: Added.

2010-04-25  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Darin Adler.

        Clicking a scrollbar blurs the currently focused element
        https://bugs.webkit.org/show_bug.cgi?id=16809

        * scrollbars/resources/scrollable-iframe-with-input-field.html: Added.
        * scrollbars/scrollbar-click-does-not-blur-content-expected.txt:
        * scrollbars/scrollbar-click-does-not-blur-content.html: Added.
        * scrollbars/scrollbar-iframe-click-does-not-blur-content-expected.txt:
        * scrollbars/scrollbar-iframe-click-does-not-blur-content.html: Added.

2010-04-28  Martin Robinson  <mrobinson@webkit.org>

        Reviewed by Gustavo Noronha.

        [GTK] Enable DOM clipboard and drag-and-drop access
        https://bugs.webkit.org/show_bug.cgi?id=30623

        Make ClipboardGtk a "live" DataTransfer object, able to modify
        the clipboard when setData(...) is called.

        * platform/gtk/Skipped: Uncomment tests that are now passing.

2010-04-28  Evan Martin  <evan@chromium.org>

        Reviewed by David Levin.

        [chromium] revert getFontDataForCharacters change in r58341
        https://bugs.webkit.org/show_bug.cgi?id=38288

        * platform/chromium/test_expectations.txt: add the test to the now-failing list.

2010-04-28  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r58441.
        http://trac.webkit.org/changeset/58441
        https://bugs.webkit.org/show_bug.cgi?id=37618

        Broke 3 test on Qt.

        * editing/pasteboard/drag-drop-iframe-refresh-crash-expected.txt: Removed.
        * editing/pasteboard/drag-drop-iframe-refresh-crash.html: Removed.
        * editing/resources/drag-drop.html: Removed.

2010-04-28  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Seidel.

        Tests for a crash when an image drag-drop operation happens inside a continuously refreshing iframe.
        https://bugs.webkit.org/show_bug.cgi?id=37618

        * editing/pasteboard/drag-drop-iframe-refresh-crash-expected.txt: Added.
        * editing/pasteboard/drag-drop-iframe-refresh-crash.html: Added.
        * editing/resources/drag-drop.html: Added.

2010-04-28  Adam Langley  <agl@chromium.org>

        Unreviewed, expectations update.

        These results are no longer specific to chromium-win. I believe that
        they should have been deleted in r58182, but I didn't notice the
        deletions, only the modified files.

        * platform/chromium-win/fast/canvas/canvas-empty-image-pattern-expected.checksum: Removed.
        * platform/chromium-win/fast/canvas/canvas-empty-image-pattern-expected.png: Removed.

2010-04-28  Ojan Vafai  <ojan@chromium.org>

        Reviewed by David Levin.

        fix linux expected result for fast/text/line-breaks.html
        https://bugs.webkit.org/show_bug.cgi?id=38283

        This is needed after r58426. See http://trac.webkit.org/changeset/57242
        for more details.

        * platform/chromium-linux/fast/text/line-breaks-expected.checksum:
        * platform/chromium-linux/fast/text/line-breaks-expected.png:
        * platform/chromium-linux/fast/text/line-breaks-expected.txt:

2010-04-28  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Test that a resource from a different https origin is not cached.
        https://bugs.webkit.org/show_bug.cgi?id=33456

        * http/tests/appcache/different-https-origin-resource-main-expected.txt: Added.
        * http/tests/appcache/different-https-origin-resource-main.html: Added.
        * http/tests/appcache/resources/different-https-origin-resource.html: Added.
        * http/tests/appcache/resources/different-https-origin-resource.manifest: Added.

2010-04-28  Evan Martin  <evan@chromium.org>

        Reviewed by Adam Roben.

        rebaseline for fast/text/international/bold-bengali
        https://bugs.webkit.org/show_bug.cgi?id=38281

        * platform/win/fast/text/international/bold-bengali-actual.txt: Added.

2010-04-21  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adele Peterson.

        http://trac.webkit.org/changeset/57215 caused perf/memory regressions
        https://bugs.webkit.org/show_bug.cgi?id=37292

        #if out the canUseGlyphCache Changes from r57215 as they caused a 
        8% perf regression on Chromium's international page load tests so that
        the perf regression can be fixed properly without being left in the tree.

        * platform/mac/fast/repaint/stacked-diacritics-expected.checksum:
        * platform/mac/fast/repaint/stacked-diacritics-expected.png:

2010-04-28  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by David Kilzer.

        https://bugs.webkit.org/show_bug.cgi?id=38278
        https://localhost:8443 doesn't work in WebKit tests

        We only had a VirtualHost for 127.0.0.1:8443. Changed that to *:8443.

        * http/conf/apache2-debian-httpd.conf:
        * http/conf/apache2-httpd.conf:
        * http/conf/fedora-httpd.conf:
        * http/conf/httpd.conf:

2010-04-28  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Failing test http/tests/misc/isindex-with-no-form.html
        https://bugs.webkit.org/show_bug.cgi?id=30815

        The test currently works, removing from Skipped.

        * platform/gtk/Skipped:

2010-04-28  Evan Martin  <evan@chromium.org>

        Reviewed by Darin Adler.

        fast/text/international/bold-bengali needs baselines
        https://bugs.webkit.org/show_bug.cgi?id=38273

        * platform/chromium-win/fast/text/international/bold-bengali-expected.checksum: Added.
        * platform/chromium-win/fast/text/international/bold-bengali-expected.png: Added.
        * platform/mac/fast/text/international/bold-bengali-expected.checksum: Added.
        * platform/mac/fast/text/international/bold-bengali-expected.png: Added.

2010-04-28  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dimitri Glazkov

        Rebaseline Webkit Mac pixel results and chromium pixel results
        caused by http://trac.webkit.org/changeset/58191
        Webkit Mac pixel results failed with --tolerance=0
        https://bugs.webkit.org/show_bug.cgi?id=38104

        * platform/chromium-linux/editing/deleting/4845371-expected.checksum:
        * platform/chromium-linux/editing/deleting/4845371-expected.png: Removed.
        * platform/chromium-linux/editing/deleting/5126166-expected.checksum:
        * platform/chromium-linux/editing/deleting/5126166-expected.png:
        * platform/chromium-linux/editing/deleting/5483370-expected.checksum:
        * platform/chromium-linux/editing/deleting/5483370-expected.png:
        * platform/chromium-linux/editing/deleting/table-cells-expected.checksum:
        * platform/chromium-linux/editing/deleting/table-cells-expected.png: Removed.
        * platform/chromium-linux/editing/inserting/4875189-2-expected.checksum:
        * platform/chromium-linux/editing/inserting/4875189-2-expected.png:
        * platform/chromium-linux/editing/pasteboard/5387578-expected.checksum:
        * platform/chromium-linux/editing/pasteboard/5387578-expected.png:
        * platform/chromium-linux/editing/pasteboard/paste-4039777-fix-expected.checksum:
        * platform/chromium-linux/editing/pasteboard/paste-4039777-fix-expected.png:
        * platform/chromium-linux/editing/pasteboard/paste-table-001-expected.checksum:
        * platform/chromium-linux/editing/pasteboard/paste-table-001-expected.png: Removed.
        * platform/chromium-linux/editing/pasteboard/paste-table-cells-expected.checksum:
        * platform/chromium-linux/editing/pasteboard/paste-table-cells-expected.png: Removed.
        * platform/chromium-linux/editing/selection/move-past-trailing-space-expected.checksum:
        * platform/chromium-linux/editing/selection/move-past-trailing-space-expected.png: Removed.
        * platform/chromium-linux/fast/inline-block/14498-positionForCoordinates-expected.checksum:
        * platform/chromium-linux/fast/inline-block/14498-positionForCoordinates-expected.png: Removed.
        * platform/chromium-linux/fast/repaint/caret-outside-block-expected.checksum:
        * platform/chromium-linux/fast/repaint/caret-outside-block-expected.png: Removed.
        * platform/chromium-mac/editing/deleting/4845371-expected.checksum: Added.
        * platform/chromium-mac/editing/deleting/5126166-expected.checksum: Added.
        * platform/chromium-mac/editing/deleting/5483370-expected.checksum: Added.
        * platform/chromium-mac/editing/deleting/table-cells-expected.checksum: Added.
        * platform/chromium-mac/editing/inserting/4875189-2-expected.checksum: Added.
        * platform/chromium-mac/editing/pasteboard/5387578-expected.checksum: Added.
        * platform/chromium-mac/editing/pasteboard/paste-4039777-fix-expected.checksum: Added.
        * platform/chromium-mac/editing/pasteboard/paste-table-001-expected.checksum: Added.
        * platform/chromium-mac/editing/pasteboard/paste-table-cells-expected.checksum: Added.
        * platform/chromium-mac/editing/selection/move-past-trailing-space-expected.checksum: Added.
        * platform/chromium-mac/fast/inline-block/14498-positionForCoordinates-expected.checksum: Added.
        * platform/chromium-mac/fast/repaint/caret-outside-block-expected.checksum: Added.
        * platform/chromium-mac/fast/repaint/caret-outside-block-expected.png: Added.
        * platform/chromium-win/editing/deleting/4845371-expected.checksum:
        * platform/chromium-win/editing/deleting/4845371-expected.png:
        * platform/chromium-win/editing/deleting/5126166-expected.checksum:
        * platform/chromium-win/editing/deleting/5126166-expected.png:
        * platform/chromium-win/editing/deleting/5483370-expected.checksum:
        * platform/chromium-win/editing/deleting/5483370-expected.png:
        * platform/chromium-win/editing/deleting/table-cells-expected.checksum:
        * platform/chromium-win/editing/deleting/table-cells-expected.png:
        * platform/chromium-win/editing/inserting/4875189-2-expected.checksum:
        * platform/chromium-win/editing/inserting/4875189-2-expected.png:
        * platform/chromium-win/editing/pasteboard/5387578-expected.checksum:
        * platform/chromium-win/editing/pasteboard/5387578-expected.png:
        * platform/chromium-win/editing/pasteboard/paste-4039777-fix-expected.checksum:
        * platform/chromium-win/editing/pasteboard/paste-4039777-fix-expected.png:
        * platform/chromium-win/editing/pasteboard/paste-table-001-expected.checksum:
        * platform/chromium-win/editing/pasteboard/paste-table-001-expected.png:
        * platform/chromium-win/editing/pasteboard/paste-table-cells-expected.checksum:
        * platform/chromium-win/editing/pasteboard/paste-table-cells-expected.png:
        * platform/chromium-win/editing/selection/move-past-trailing-space-expected.checksum:
        * platform/chromium-win/editing/selection/move-past-trailing-space-expected.png:
        * platform/chromium-win/fast/inline-block/14498-positionForCoordinates-expected.checksum:
        * platform/chromium-win/fast/inline-block/14498-positionForCoordinates-expected.png:
        * platform/chromium-win/fast/repaint/caret-outside-block-expected.checksum:
        * platform/chromium-win/fast/repaint/caret-outside-block-expected.png:
        * platform/chromium/test_expectations.txt:
        * platform/mac/editing/deleting/4845371-expected.png:
        * platform/mac/editing/deleting/5126166-expected.png:
        * platform/mac/editing/deleting/5483370-expected.png:
        * platform/mac/editing/deleting/table-cells-expected.png:
        * platform/mac/editing/inserting/4875189-2-expected.png:
        * platform/mac/editing/pasteboard/5387578-expected.png:
        * platform/mac/editing/pasteboard/paste-4039777-fix-expected.png:
        * platform/mac/editing/pasteboard/paste-table-001-expected.png:
        * platform/mac/editing/pasteboard/paste-table-cells-expected.png:
        * platform/mac/editing/selection/move-past-trailing-space-expected.png:
        * platform/mac/fast/inline-block/14498-positionForCoordinates-expected.png:
        * platform/mac/fast/repaint/caret-outside-block-expected.png:

2010-04-28  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
        https://bugs.webkit.org/show_bug.cgi?id=37781
        <rdar://problem/7905150>

        Test that doing a cross-origin request with a preflight check does
        not raise a NETWORK_ERR exception and does not send the credentials.

        * http/tests/xmlhttprequest/access-control-preflight-credential-async-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-credential-async.html: Added.
        * http/tests/xmlhttprequest/access-control-preflight-credential-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-credential-sync.html: Added.
        * http/tests/xmlhttprequest/resources/basic-auth/access-control-auth-basic.php: Added.

        * platform/mac-tiger/Skipped:
        * platform/qt/Skipped:
        Added those 2 tests to the Skipped lists.

2010-04-28  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        [chromium] Rebaseline svg-background-partial-redraw, node-iterator-prototype, and upstream test expectations for fast/text/international/bold-bengali.html
        https://bugs.webkit.org/show_bug.cgi?id=38259

        * platform/chromium-linux/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/chromium-linux/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/chromium-mac/fast/images: Added.
        * platform/chromium-mac/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/chromium-mac/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/chromium-mac/traversal: Added.
        * platform/chromium-mac/traversal/node-iterator-prototype-expected.txt: Added.
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/chromium-win/fast/images/svg-background-partial-redraw-expected.txt: Added.
        * platform/chromium-win/traversal: Added.
        * platform/chromium-win/traversal/node-iterator-prototype-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-28  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Log error message to inspector console if a resource fails to load.
        Moved console-tests.js to http tests. Added support for sorting
        console messages, in case order may vary.
        https://bugs.webkit.org/show_bug.cgi?id=37215

        * http/tests/inspector/console-resource-errors-expected.txt: Added.
        * http/tests/inspector/console-resource-errors.html: Added.
        * http/tests/inspector/console-tests.js: Added.
        (dumpConsoleMessages.callback):
        (dumpConsoleMessages):
        (dumpConsoleMessagesWithClasses.callback):
        (dumpConsoleMessagesWithClasses):
        (frontend_dumpConsoleMessages):
        * inspector/console-clear.html:
        * inspector/console-dir.html:
        * inspector/console-dirxml.html:
        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-collections.html:
        * inspector/console-format.html:
        * inspector/console-log-before-inspector-open.html:
        * inspector/console-tests.html:
        * inspector/console-tests.js: Removed.
        * platform/mac-tiger/http/tests/inspector: Added.
        * platform/mac-tiger/http/tests/inspector/console-resource-errors-expected.txt: Added.

2010-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r58313.
        http://trac.webkit.org/changeset/58313
        https://bugs.webkit.org/show_bug.cgi?id=38253

        Regression evident in pixel tests: the search icon is always
        clipped at the bottom. (Requested by jorlow on #webkit).

        * fast/css/input-search-padding.html: Removed.
        * platform/mac/fast/css/input-search-padding-expected.checksum: Removed.
        * platform/mac/fast/css/input-search-padding-expected.png: Removed.
        * platform/mac/fast/css/input-search-padding-expected.txt: Removed.

2010-04-28  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed.  Disable printing/media-queries-print for now.

        Add layoutTestController.setPrinting()
        https://bugs.webkit.org/show_bug.cgi?id=37203

        * platform/mac/Skipped:

2010-04-28  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed.  Added missing expectation files missed in r58386.

        Add layoutTestController.setPrinting()
        https://bugs.webkit.org/show_bug.cgi?id=37203

        * platform/mac/printing/media-queries-print-expected.checksum: Added.
        * platform/mac/printing/media-queries-print-expected.png: Added.
        * platform/mac/printing/media-queries-print-expected.txt: Added.

2010-04-28  Daniel Bates  <dbates@rim.com>

        Unreviewed, rebase expected result of failing test.

        Rebasing Qt expected result for selection-gap-overflow-scroll-2.html.
        Following the landing of bug #37686, this test started failing despite
        being unrelated to this bug. From looking at the diff of the result,
        which shows a 1 pixel shift in widths, and based on Csaba Osztrogonac's
        comment, we have decided to rebase this result.

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

2010-04-27  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler and Eric Seidel.

        Add layoutTestController.setPrinting()
        https://bugs.webkit.org/show_bug.cgi?id=37203

        Now we can test media queries with the new function because the
        render tree has the color information of the box.

        Note that the pixel test is currently failing. We'll need another
        patch to enable printing mode for pixel tests.

        * platform/mac/Skipped:
        * platform/mac/printing/media-queries-print-expected.checksum: Added.
        * platform/mac/printing/media-queries-print-expected.png: Added.
        * platform/mac/printing/media-queries-print-expected.txt: Added.
        * printing/media-queries-print.html:

2010-04-27  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Enhance CSS parser for Paged Media (Iteration 4)
        Implement page property parsing as specified at http://dev.w3.org/csswg/css3-page/#using-named-pages.
        https://bugs.webkit.org/show_bug.cgi?id=35853

        * printing/page-rule-css-text-expected.txt:
        * printing/page-rule-css-text.html:

2010-04-27  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dimitri Glazkov.

        Enhance CSS parser for Paged Media (Iteration 3)
        Implement size parameter parsing for Paged Media.
        https://bugs.webkit.org/show_bug.cgi?id=35851

        * printing/page-rule-css-text-expected.txt:
        * printing/page-rule-css-text.html:

2010-04-27  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Enhance CSS parser for Paged Media (Iteration 2)
        Parse and hold paged media rules in CSSStyleSelector.

        fast/dom/script-tests/prototype-inheritance-2.js is rebaselined because it assumes @page is ignored.

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

        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/script-tests/prototype-inheritance-2.js:
        * printing/page-rule-css-text-expected.txt: Added.
        * printing/page-rule-css-text.html: Added.

2010-04-27  Daniel Bates  <dbates@rim.com>

        Reviewed by Oliver Hunt.

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

        Tests that strokeRect does not paint any artifacts when the
        specified rectangle has height, width = 0 and lineWidth > 1.

        Also tests that clearRect, fillRect, and rect are ignored when
        height, width = 0.

        * fast/canvas/canvas-clearRect-expected.txt: Added.
        * fast/canvas/canvas-clearRect.html: Added.
        * fast/canvas/canvas-fillRect-expected.txt: Added.
        * fast/canvas/canvas-fillRect.html: Added.
        * fast/canvas/canvas-modify-emptyPath-expected.txt:
        * fast/canvas/canvas-strokeRect-expected.txt: Updated results.
        * fast/canvas/script-tests/canvas-clearRect.js: Added.
        * fast/canvas/script-tests/canvas-fillRect.js: Added.
        * fast/canvas/script-tests/canvas-modify-emptyPath.js: Added test case.
        * fast/canvas/script-tests/canvas-strokeRect.js: Ditto. Also, added
        debug statements so as to distinguish the results for each test.

2010-04-27  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by the inimitable Dan Bernstein.

        SVG as background image renders incorrectly after zooming
        https://bugs.webkit.org/show_bug.cgi?id=38215
        
        Testcase for a partial redraw of an element using an untiled SVG background image.

        * fast/images/resources/circle.svg: Added.
        * fast/images/svg-background-partial-redraw.html: Added.
        * platform/mac/fast/images/svg-background-partial-redraw-expected.checksum: Added.
        * platform/mac/fast/images/svg-background-partial-redraw-expected.png: Added.
        * platform/mac/fast/images/svg-background-partial-redraw-expected.txt: Added.

2010-04-27  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by David Hyatt.

        Retry of: Enhance CSS parser for Paged Media (Iteration 1)

        In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
        The contents of the methods should be implemented by other changes.

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

        * fast/css/parsing-page-rule-expected.txt: Copied from LayoutTests/editing/selection/5136696-expected.txt.
        * fast/css/parsing-page-rule.html: Added.

2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed, rolling out my changes as it rendered the Qt bot unreliable.

        * http/tests/xmlhttprequest/access-control-preflight-credential-async-expected.txt: Removed.
        * http/tests/xmlhttprequest/access-control-preflight-credential-async.html: Removed.
        * http/tests/xmlhttprequest/access-control-preflight-credential-sync-expected.txt: Removed.
        * http/tests/xmlhttprequest/access-control-preflight-credential-sync.html: Removed.
        * http/tests/xmlhttprequest/resources/basic-auth/access-control-auth-basic.php: Removed.
        * platform/qt/Skipped:

2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>

        Unreviewed.

        * platform/qt/Skipped: Add the 2 newly added test cases to the list
        as they involve preflight requests.

2010-04-27  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [XHR] Cross-Origin synchronous request with credential raises NETWORK_ERR
        https://bugs.webkit.org/show_bug.cgi?id=37781
        <rdar://problem/7905150>

        Test that doing a cross-origin request with a preflight check does
        not raise a NETWORK_ERR exception and does not send the credentials.

        * http/tests/xmlhttprequest/access-control-preflight-credential-async-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-credential-async.html: Added.
        * http/tests/xmlhttprequest/access-control-preflight-credential-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-credential-sync.html: Added.
        * http/tests/xmlhttprequest/resources/basic-auth/access-control-auth-basic.php: Added.

2010-04-27  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by David Levin.

        Adjusting the expected amount of space used by quota-tracking.html.
        https://bugs.webkit.org/show_bug.cgi?id=38191

        The expectations changed because of AUTO_VACUUM's overhead.

        * platform/chromium/test_expectations.txt:
        * storage/quota-tracking-expected.txt:
        * storage/quota-tracking.html:

2010-04-27  Evan Martin  <evan@chromium.org>

        Reviewed by David Levin.

        [chromium] update test expectations for ancient linux bug
        https://bugs.webkit.org/show_bug.cgi?id=38229

        According to
        http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=plugins%2Fembed-attributes-setting.html
        this hasn't crashed in a long time, so the CRASH annotation is superfluous.

        * platform/chromium/test_expectations.txt:

2010-04-27  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        Additional MathML mroot & msqrt tests.
        https://bugs.webkit.org/show_bug.cgi?id=37044

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

2010-04-27  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] Create new baseline for caret-rtl-2
        https://bugs.webkit.org/show_bug.cgi?id=38126

        http://trac.webkit.org/changeset/58191/ caused the caret-rtl-2 layout
        test to start failing under Chromium.  Since we're the only ones who
        run pixel tests, it's possible that the actual baseline needs to be updated
        and not just the chromium baseline...but I'm not sure.

        I'm tracking the overall progress of figuring this out here:
        https://bugs.webkit.org/show_bug.cgi?id=38109

        * platform/chromium-mac/editing/selection/caret-rtl-2-actual.checksum: Added.
        * platform/chromium-mac/editing/selection/caret-rtl-2-actual.png: Added.

2010-04-27  Evan Martin  <evan@chromium.org>

        Unreviewed, making the bots happy.

        [chromium] bold bengali text not rendered properly on Linux
        https://bugs.webkit.org/show_bug.cgi?id=37904

        Check in a baseline for Mac pulled from the bots.

        * platform/mac/fast/text/international/bold-bengali-expected.txt: Added.

2010-04-27  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r58318.
        http://trac.webkit.org/changeset/58318
        https://bugs.webkit.org/show_bug.cgi?id=37215

        Broke test on Tiger.  Might just need updated results,
        unclear.

        * http/tests/inspector/console-resource-errors-expected.txt: Removed.
        * http/tests/inspector/console-resource-errors.html: Removed.
        * http/tests/inspector/console-tests.js: Removed.
        * inspector/console-clear.html:
        * inspector/console-dir.html:
        * inspector/console-dirxml.html:
        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-collections.html:
        * inspector/console-format.html:
        * inspector/console-log-before-inspector-open.html:
        * inspector/console-tests.html:
        * inspector/console-tests.js: Added.
        (dumpConsoleMessages.callback):
        (dumpConsoleMessages):
        (dumpConsoleMessagesWithClasses.callback):
        (dumpConsoleMessagesWithClasses):
        (frontend_dumpConsoleMessages):

2010-04-27  Evan Martin  <evan@chromium.org>

        Reviewed by David Levin.

        [chromium] bold bengali text not rendered properly on Linux
        https://bugs.webkit.org/show_bug.cgi?id=37904

        Add a layout test containing some bold Bengali text.

        * fast/text/international/bold-bengali.html: Added.
        * platform/chromium-linux/fast/text/international/bold-bengali-expected.checksum: Added.
        * platform/chromium-linux/fast/text/international/bold-bengali-expected.png: Added.
        * platform/chromium-linux/fast/text/international/bold-bengali-expected.txt: Added.

2010-04-27  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Add test for NodeIterator prototype change behavior
        https://bugs.webkit.org/show_bug.cgi?id=38219

        In the process of remove the custom code from NodeIterator, we thought
        we fixed a subtle bug where iterating over nodes from another frame
        would get the wrong prototype chain.  This test documents that we
        didn't actually change the behavior and we still have the bug.

        * traversal/node-iterator-prototype-expected.txt: Added.
        * traversal/node-iterator-prototype.html: Added.
        * traversal/resources/node-iterator-prototype-frame.html: Added.

2010-04-27  Ojan Vafai  <ojan@chromium.org>

        Unreviewed. Minor fix after goofup in http://trac.webkit.org/changeset/58331

        layoutTestController should have dumpAsMarkup
        https://bugs.webkit.org/show_bug.cgi?id=26501

        Forgot to reset the test results after doing the code review feedback
        of adding a newline.

        * editing/selection/dump-as-markup-expected.txt:

2010-04-26  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        layoutTestController should have dumpAsMarkup
        https://bugs.webkit.org/show_bug.cgi?id=26501

        * editing/selection/dump-as-markup-expected.txt: Added.
        * editing/selection/dump-as-markup.html: Added.
        * resources/dump-as-markup.js: Added.
        (Markup.dump.get var):
        (Markup.dump.get catch):
        (Markup.dump):
        (Markup.waitUntilDone):
        (Markup.notifyDone):
        (Markup._spaces):
        (Markup._getAttributes):
        (Markup._getMarkupForTextNode):
        (Markup._getSelectionMarker):

2010-04-27  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Log error message to inspector console if a resource fails to load.
        Moved console-tests.js to http tests. Added support for sorting
        console messages, in case order may vary.
        https://bugs.webkit.org/show_bug.cgi?id=37215

        * http/tests/inspector/console-resource-errors-expected.txt: Added.
        * http/tests/inspector/console-resource-errors.html: Added.
        * http/tests/inspector/console-tests.js: Added.
        (dumpConsoleMessages.callback):
        (dumpConsoleMessages):
        (dumpConsoleMessagesWithClasses.callback):
        (dumpConsoleMessagesWithClasses):
        (frontend_dumpConsoleMessages):
        * inspector/console-clear.html:
        * inspector/console-dir.html:
        * inspector/console-dirxml.html:
        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-collections.html:
        * inspector/console-format.html:
        * inspector/console-log-before-inspector-open.html:
        * inspector/console-tests.html:
        * inspector/console-tests.js: Removed.

2010-04-27  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Dan Bernstein.

        <input type="search"> with uneven padding causes text clipping
        https://bugs.webkit.org/show_bug.cgi?id=38160

        * fast/css/input-search-padding.html: Added.
        * platform/mac/fast/css/input-search-padding-expected.checksum: Added.
        * platform/mac/fast/css/input-search-padding-expected.png: Added.
        * platform/mac/fast/css/input-search-padding-expected.txt: Added.

2010-04-27  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed.  Previous disabling only did so via
        TIMEOUT failures.  Needs to ignore TEXT failures
        on quota-tracking.html as well.

        * platform/chromium/test_expectations.txt:

2010-04-27  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed.  Disable quota-tracking in Chromium
        until Dumi can take a look.

        * platform/chromium/test_expectations.txt:

2010-04-27  Jeremy Orlow  <jorlow@chromium.org>

        Unreviewed build fix.

        Revert 58274 and 58269 (WebSQLDatabase changes)
        https://bugs.webkit.org/show_bug.cgi?id=38191

        * storage/quota-tracking-expected.txt:
        * storage/quota-tracking.html:

2010-04-27  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed, fix build breakage by reverting r58299.

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

        * fast/css/parsing-page-rule-expected.txt: Removed.
        * fast/css/parsing-page-rule.html: Removed.

2010-04-27  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by David Hyatt.

        Enhance CSS parser for Paged Media (Iteration 1)

        In this change, the grammar is extended and skeletal methods for creating page rules and margin at-rules are defined.
        The contents of the methods should be implemented by other changes.

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

        * fast/css/parsing-page-rule-expected.txt: Copied from LayoutTests/editing/selection/doubleclick-whitespace-img-crash-expected.txt.
        * fast/css/parsing-page-rule.html: Added.

2010-04-26  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed, Chromium test expectation change.

        To keep up with the change that turned on HTML5 DB AUTO_VACUUM.
        https://bugs.webkit.org/show_bug.cgi?id=36251

        * platform/chromium-mac/storage/quota-tracking-expected.txt: Removed.
        * platform/chromium-win/storage/quota-tracking-expected.txt: Removed.
        * platform/chromium/storage/quota-tracking-expected.txt: Added.

2010-04-26  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, fixing the build breakage introduced by r58270.

        Turning on AUTO_VACUUM has increased the amount of space used by databases.

        * storage/quota-tracking-expected.txt:
        * storage/quota-tracking.html:

2010-04-26  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Add expected results after r58228
        https://bugs.webkit.org/show_bug.cgi?id=38098

        * platform/qt/Skipped:
        * platform/qt/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.checksum: Added.
        * platform/qt/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.png: Added.
        * platform/qt/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt: Added.

2010-04-26  Jeremy Orlow  <jorlow@chromium.org>

        Not reviewed, Adding test expectations for Chromium.

        * platform/chromium/test_expectations.txt:

2010-04-26  Tony Chang  <tony@chromium.org>

        Not reviewed, removing duplicate expectations.

        [chromium] Check and rebaseline SVG test expectations for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=38106

        * platform/chromium/test_expectations.txt:

2010-04-26  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed, Chromium test expectation change.

        Change SVG test expectations for Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=38106

        * platform/chromium/test_expectations.txt:

2010-04-25  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        WebKit crashes with deeply nested divs.
        https://bugs.webkit.org/show_bug.cgi?id=18282

        Add a test for deeply nested <span> elements like block-nesting-cap.html.

        * fast/parser/element-nesting-cap-expected.txt: Added.
        * fast/parser/element-nesting-cap.html: Added.
        * fast/parser/script-tests/element-nesting-cap.js: Added.

2010-04-25  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed, Chromium test expectation change.

        Rebaseline test expectation for Chromium.
        The following tests pass for Chromium.

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

        * platform/chromium/fast/js/ToNumber-expected.txt: Added.
        * platform/chromium/fast/js/parseFloat-expected.txt: Added.

2010-04-25  Tony Chang  <tony@chromium.org>

        Not reviewed, trying to get the chromium bots green.
        Adding image diffs to pixel tests.

        REGRESSION(r58191): Caret moved a pixel, pixel tests failing
        https://bugs.webkit.org/show_bug.cgi?id=38104

        * platform/chromium/test_expectations.txt:

2010-04-25  Tony Chang  <tony@chromium.org>

        Not reviewed, trying to get the chromium bots
        green.

        https://bugs.webkit.org/show_bug.cgi?id=38099
        Rebaseline a new test and add another new test to the
        expected fail list on windows and linux.

        * platform/chromium-linux/fast/css-generated-content/after-duplicated-after-split-expected.checksum: Added.
        * platform/chromium-linux/fast/css-generated-content/after-duplicated-after-split-expected.png: Added.
        * platform/chromium-win/fast/css-generated-content/after-duplicated-after-split-expected.checksum: Added.
        * platform/chromium-win/fast/css-generated-content/after-duplicated-after-split-expected.png: Added.
        * platform/chromium-win/fast/css-generated-content/after-duplicated-after-split-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-25  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed, Chromium test expectation change.

        editing/inserting/caret-position.html is expected to fail for Chromium.
        This is because TextInputController::firstRectForCharacterRange is unimplemented for Chromium.

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

        * platform/chromium/test_expectations.txt:

2010-04-25  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Adam Barth.

        Added tests for pages event handlers being called with
        page context when an event is dispatched from an isolated
        world.
        https://bugs.webkit.org/show_bug.cgi?id=37947

        * http/tests/security/isolatedWorld/dispatchEvent-expected.txt: Added.
        * http/tests/security/isolatedWorld/dispatchEvent.html: Added.

2010-04-25  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Adele Peterson.

        Allow styling of HTMLProgressElement.
        https://bugs.webkit.org/show_bug.cgi?id=37901

        Added a test for changing the -webkit-appearance statically and dynamically.

        * fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html: Added.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/fast/dom/HTMLProgressElement: Added.
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.checksum: Added.
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.png: Added.
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt: Added.
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-04-24  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        REGRESSION (r56560): Crash in parseFloat if passed invalid UTF-16 data
        https://bugs.webkit.org/show_bug.cgi?id=38083
        rdar://problem/7901044

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

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

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

        Add platform-specific results for Mac after r58222.

        * platform/mac/compositing/iframes: Added.
        * platform/mac/compositing/iframes/composited-iframe-expected.txt: Added.

2010-04-24  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        protocolHostAndPortEquals host check makes a wrong assumption
        https://bugs.webkit.org/show_bug.cgi?id=37777

        Add a check that the URL with credential matches the current URL.

        * http/tests/appcache/credential-url-expected.txt: Added.
        * http/tests/appcache/credential-url.html: Added.

2010-04-20  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Add more support for textInputController

        Add support for selectedRange(), setMarkedText(), insertText(),
        and firstRectForCharacterRange().

        Unskip tests:

        fast/forms/input-maxlength-ime-preedit.html
        fast/forms/input-maxlength-ime-completed.html
        fast/text/international/thai-cursor-position.html
        fast/events/ime-composition-events-001.html
        editing/selection/5825350-1.html
        editing/selection/5825350-2.html
        editing/selection/mixed-editability-10.html

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

        * platform/qt/Skipped:
        * platform/qt/editing/selection/5825350-1-expected.txt: Added.
        * platform/qt/editing/selection/5825350-2-expected.txt: Added.
        * platform/qt/editing/selection/mixed-editability-10-expected.txt: Added.

2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed.
        
        Attempt to turn the last core builder green again (not related anymore to my previous SVG checkins :-)
        Skip http/tests/media/video-play-stall-seek.html on Windows as well (just like it has been done for Mac in r58107).
        Bug https://bugs.webkit.org/show_bug.cgi?id=38000 describes the problem, and says it's ok to skip the test.

        * platform/win/Skipped:

2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Add new results for all SVG tests that were missing on Gtk/Qt (since a while, just took the opportunity to add them now)

        * platform/gtk/svg/custom/broken-internal-references-expected.txt: Added.
        * platform/gtk/svg/custom/clip-path-id-changes-expected.txt: Added.
        * platform/qt/svg/custom/broken-internal-references-expected.txt: Added.
        * platform/qt/svg/custom/clip-path-id-changes-expected.txt: Added.
        * platform/qt/svg/custom/mask-on-multiple-objects-expected.txt: Added.
        * platform/qt/svg/custom/resource-invalidate-on-target-update-expected.txt: Added.
        * platform/qt/svg/filters/feColorMatrix-values-expected.txt: Added.
        * platform/qt/svg/filters/filter-clip-expected.txt: Added.
        * platform/qt/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/qt/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Added.

2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update Qt SVG results, and a weird fast/xpath change (newline added).

        * fast/xpath/namespace-vs-predicate-expected.txt:
        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/qt/svg/css/mask-with-shadow-expected.txt:
        * platform/qt/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.txt:
        * platform/qt/svg/custom/pattern-excessive-malloc-expected.txt:
        * platform/qt/svg/custom/pattern-size-bigger-than-target-size-expected.txt:
        * platform/qt/svg/custom/pattern-skew-transformed-expected.txt:
        * platform/qt/svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt:
        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/text/selection-background-color-expected.txt:
        * platform/qt/svg/text/selection-styles-expected.txt:

2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        SVGPaintServer needs to be converted to the new RenderSVGResource* system
        https://bugs.webkit.org/show_bug.cgi?id=37986

        Rebaseline SVG tests, after the RenderSVGResource transition.

        NOTE: This WILL affect _any_ platform with custom svg results for tests using gradients/patterns.
              That means I have to wait for the bot results, and update them ASAP. Therefore landing out
              of california business hours and on the weekend - please stay tuned I'll fix any breakages soon.
              (Except for chromium whose test results are not available on build.webkit.org, sorry.)

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * 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/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/batik/paints/gradientLimit-expected.txt:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegionA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/carto.net/colourpicker-expected.txt:
        * platform/mac/svg/carto.net/tabgroup-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/custom/broken-internal-references-expected.txt:
        * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/fill-fallback-expected.txt:
        * platform/mac/svg/custom/gradient-add-stops-expected.txt:
        * platform/mac/svg/custom/gradient-attr-update-expected.txt:
        * platform/mac/svg/custom/gradient-cycle-detection-expected.txt:
        * platform/mac/svg/custom/gradient-deep-referencing-expected.txt:
        * platform/mac/svg/custom/gradient-rotated-bbox-expected.txt:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.txt:
        * platform/mac/svg/custom/gradient-stop-style-change-expected.txt:
        * platform/mac/svg/custom/gradient-stroke-width-expected.checksum:
        * platform/mac/svg/custom/gradient-stroke-width-expected.png:
        * platform/mac/svg/custom/gradient-stroke-width-expected.txt:
        * platform/mac/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.txt:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
        * platform/mac/svg/custom/group-opacity-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
        * platform/mac/svg/custom/js-update-gradient-expected.checksum:
        * platform/mac/svg/custom/js-update-gradient-expected.png:
        * platform/mac/svg/custom/js-update-gradient-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-expected.txt:
        * platform/mac/svg/custom/js-update-stop-expected.txt:
        * platform/mac/svg/custom/large-bounding-box-percents-expected.txt:
        * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
        * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/pattern-in-defs-expected.txt:
        * platform/mac/svg/custom/pattern-rotate-expected.txt:
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt:
        * platform/mac/svg/custom/pattern-skew-transformed-expected.txt:
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
        * platform/mac/svg/custom/resource-client-removal-expected.txt:
        * platform/mac/svg/custom/stroke-fallback-expected.txt:
        * platform/mac/svg/custom/stroked-pattern-expected.txt:
        * platform/mac/svg/custom/text-gradient-no-content-expected.txt:
        * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/mac/svg/custom/use-recalcStyle-crash-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/hixie/error/003-expected.txt:
        * platform/mac/svg/hixie/perf/005-expected.txt:
        * platform/mac/svg/hixie/perf/006-expected.txt:
        * platform/mac/svg/text/selection-background-color-expected.txt:
        * platform/mac/svg/text/selection-styles-expected.txt:
        * platform/mac/svg/text/text-gradient-positioning-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
        * platform/win/svg/custom/broken-internal-references-expected.txt:
        * svg/custom/gradient-with-1d-boundingbox-expected.txt:
        * svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt:

2010-04-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Add win specific result for svg/custom/broken-internal-references.svg
        It's a bad idea that textPath dumps FLT_MAX when it's not shown - that should be fixed, but it's not related to Moritas testcase.

        * platform/win/svg/custom/broken-internal-references-expected.txt: Added.

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

        Reviewed by Jeremy Orlow.

        [Android] The touchmove delta used in basic-single-touch-events.html is too small for Android
        https://bugs.webkit.org/show_bug.cgi?id=38056

        * fast/events/touch/basic-single-touch-events-expected.txt:
            - update the test expected output
        * fast/events/touch/script-tests/basic-single-touch-events.js:
        (verifyTouch): update test expectation with new coordinates.
        (singleTouchSequence): increase the touch move delta.
        (touchTargets): Start the touch at a different point to
                 singleTouchSequence to make examining behavior easier.

2010-04-23  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] LayoutTests/fast/canvas/pointInPath.html passed, actually it failed
        https://bugs.webkit.org/show_bug.cgi?id=37276

        pointInPath.html passed because the expected.txt expect it fail, it is wrong.

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

2010-04-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        ASSERT(willBeComposited == needsToBeComposited(layer)); on gmail.com
        https://bugs.webkit.org/show_bug.cgi?id=38066

        Testcase with a negative z-index child that toggles into compositing mode. It should not assert.

        * compositing/composited-negative-zindex-child-expected.txt: Copied from LayoutTests/compositing/self-painting-layers2-expected.txt.
        * compositing/composited-negative-zindex-child.html: Added.

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

        Reviewed by Simon Fraser.

        <rdar://problem/7898436> :after content is duplicated

        * fast/css-generated-content/after-duplicated-after-split.html: Added.
        * platform/mac/fast/css-generated-content/after-duplicated-after-split-expected.checksum: Added.
        * platform/mac/fast/css-generated-content/after-duplicated-after-split-expected.png: Added.
        * platform/mac/fast/css-generated-content/after-duplicated-after-split-expected.txt: Added.

2010-04-23  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Eric Seidel

        QT does not support textInputController.firstRectForCharacterRange(),
        so, skip editing/inserting/caret-position.html for QT.
        https://bugs.webkit.org/show_bug.cgi?id=25319

        * platform/qt/Skipped:

2010-04-23  MORITA Hajime  <morrita@google.com>

        Not reviewed. Added missing expectation files for
        https://bugs.webkit.org/show_bug.cgi?id=37187

        * platform/mac/svg/custom/broken-internal-references-expected.checksum: Added.
        * platform/mac/svg/custom/broken-internal-references-expected.png: Added.

2010-04-23  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein and Darin Adler

        Fix issue "caret does not paint after type in characters in right
        aligned div or after delete all characters in RTL div or 
        0px right padding RTL textarea"
        https://bugs.webkit.org/show_bug.cgi?id=25319

        * editing/inserting/caret-position-expected.txt: Added.
        * editing/inserting/caret-position.html: Added.
        * platform/mac/editing/input/caret-primary-bidi-expected.txt:

2010-04-23  MORITA Hajime  <morrita@google.com>

        Reviewed by Nikolas Zimmermann.

        https://bugs.webkit.org/show_bug.cgi?id=37187
        SVG <use href="foo"> is interpreted as <use href="#foo">

        * platform/mac/svg/custom/broken-internal-references-expected.checksum: Added.
        * platform/mac/svg/custom/broken-internal-references-expected.png: Added.
        * platform/mac/svg/custom/broken-internal-references-expected.txt: Added.
        * svg/custom/broken-internal-references.svg: Added.
        * svg/dynamic-updates/SVGTRefElement-dom-href-attr-expected.txt:
        * svg/dynamic-updates/script-tests/SVGTRefElement-dom-href-attr.js:
        (executeTest): Updated to follow this fix. href value should be an URL, not an id.

2010-04-23  Adam Langley  <agl@chromium.org>

        Unreviewed, expectations update.

        Merging Skia r526 lead to a number of pixels changing color by 1 in
        layout tests. This is the rebaseline for Windows and Linux. (Mac isn't
        using Skia for this.)

        * platform/chromium-linux/css2.1/t0803-c5505-mrgn-00-b-ag-expected.checksum:
        * platform/chromium-linux/css2.1/t0803-c5505-mrgn-00-b-ag-expected.png:
        * platform/chromium-linux/css2.1/t0804-c5509-padn-l-03-f-g-expected.checksum:
        * platform/chromium-linux/css2.1/t0804-c5509-padn-l-03-f-g-expected.png:
        * platform/chromium-linux/fast/dom/Window/btoa-pnglet-expected.checksum:
        * platform/chromium-linux/fast/dom/Window/btoa-pnglet-expected.png:
        * platform/chromium-linux/fast/replaced/image-solid-color-with-alpha-expected.checksum:
        * platform/chromium-linux/fast/replaced/image-solid-color-with-alpha-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug10565-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug10565-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug10633-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug10633-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug14323-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug14323-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug16012-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug16012-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug20804-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug20804-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug4427-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug4427-expected.png:
        * platform/chromium-linux/tables/mozilla/bugs/bug4803-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug4803-expected.png:
        * platform/chromium-win/css2.1/t0803-c5505-mrgn-00-b-ag-expected.checksum:
        * platform/chromium-win/css2.1/t0803-c5505-mrgn-00-b-ag-expected.png:
        * platform/chromium-win/css2.1/t0804-c5509-padn-l-03-f-g-expected.checksum:
        * platform/chromium-win/css2.1/t0804-c5509-padn-l-03-f-g-expected.png:
        * platform/chromium-win/fast/dom/Window/btoa-pnglet-expected.checksum:
        * platform/chromium-win/fast/dom/Window/btoa-pnglet-expected.png:
        * platform/chromium-win/fast/replaced/image-solid-color-with-alpha-expected.checksum:
        * platform/chromium-win/fast/replaced/image-solid-color-with-alpha-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug10565-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug10565-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug10633-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug10633-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug14323-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug14323-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug16012-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug16012-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug20804-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug20804-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug4427-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug4427-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug4803-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug4803-expected.png:

2010-04-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed layout fix.

        Change [object Media] to [object StyleMedia]

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

2010-04-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed layout fix.

        Change [object Media] to [object StyleMedia]

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

2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Laszlo Gombos.

        Updated test results as the interface Media was renamed
        to StyleMedia.

        * fast/dom/prototype-inheritance-2-expected.txt:
        * platform/win/fast/dom/prototype-inheritance-2-expected.txt:

2010-04-23  Yaar Schnitman  <yaar@chromium.org>

        Reviewed by Adam Barth.

        Auto-generate WebGLRenderingContext overloads in V8
        https://bugs.webkit.org/show_bug.cgi?id=37818

        * fast/canvas/webgl/script-tests/texImageTest.js: Test was wrong: Passing 0 value for a WebGLArray argument in texImage2D should throw the same exception as when passed to textSubImage2D.
        * platform/chromium-mac/fast/canvas/webgl/texImageTest-expected.txt:
        * fast/canvas/webgl/texImageTest-expected.txt: Changes to reflect test.

2010-04-23  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed, Chromium test expectation change.

        Change expectation of fast/url/file-http-base.html for Chromium to TEXT.
        https://bugs.webkit.org/show_bug.cgi?id=38038

        * platform/chromium/test_expectations.txt:

2010-04-22  Tony Chang  <tony@chromium.org>

        Reviewed by Dan Bernstein.

        Crash in WebCore::TextIterator::handleTextNode() encountered in Google rich-text products
        https://bugs.webkit.org/show_bug.cgi?id=37950

        * editing/text-iterator/rtl-selection-crash-expected.txt: Added.
        * editing/text-iterator/rtl-selection-crash.html: Added.

2010-04-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Barth.

        Add a test for file URL canonicalization with an http base
        https://bugs.webkit.org/show_bug.cgi?id=38035

        * fast/url/file-http-base-expected.txt: Added.
        * fast/url/file-http-base.html: Added.
        * fast/url/script-tests/file-http-base.js: Added.

2010-04-22  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein and Beth Dakin.

        Links around blocks (e.g. divs) results in too many VoiceOver call outs
        https://bugs.webkit.org/show_bug.cgi?id=37079
        <rdar://problem/7234118>
        
        The new test cases verify the accessibility tree created by an image inside a link, and verify
        that adding a div with role=presentation now has no effect on the accessibility tree (as expected).

        * accessibility/image-link-inline-cont-expected.txt: Added.
        * accessibility/image-link-inline-cont.html: Added.
        * accessibility/image-link.html: Added.
        * platform/gtk/Skipped:
        * platform/mac/accessibility/image-link-expected.txt: Added.
        * platform/win/Skipped:
        
        Test to check that accessibility tree doesn't get duplicate content in the presence
        of inline continuations (this was a bug in an earlier version of this patch).

        * accessibility/inline-continuations-expected.txt: Added.
        * accessibility/inline-continuations.html: Added.

2010-04-22  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION: TextIterator may use freed memory
        https://bugs.webkit.org/show_bug.cgi?id=37973

        * platform/chromium/test_expectations.txt:

2010-04-22  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed. Chromium test expectation change.

        Mark fast/events/touch/send-oncancel-event.html as failing (TEXT).
        https://bugs.webkit.org/show_bug.cgi?id=38020

        * platform/chromium/test_expectations.txt:

2010-04-22  James Robinson  <jamesr@chromium.org>

        Unreviewed, expectations only change.
        Land chromium platform-specific results for fast/text/format-control.html

        * platform/chromium-linux/fast/text/format-control-expected.checksum: Added.
        * platform/chromium-linux/fast/text/format-control-expected.png: Added.
        * platform/chromium-mac/fast/text/format-control-expected.checksum: Added.
        * platform/chromium-win/fast/text/format-control-expected.checksum: Added.
        * platform/chromium-win/fast/text/format-control-expected.png: Added.
        * platform/chromium-win/fast/text/format-control-expected.txt: Added.

2010-04-22  MORITA Hajime <morrita@google.com>

        Not reviewed.

        Picked a review feedback left on:
        https://bugs.webkit.org/show_bug.cgi?id=37056
        LayoutTests/editing/selection/move-left-right.html is slow
        
        * editing/selection/move-left-right.html:

2010-04-22  Dave Moore  <davemoore@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add test for icon change notifications.

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

        * fast/dom/icon-url-property-expected.txt: Added.
        * fast/dom/icon-url-property.html: Added.
        * Skipped on all platforms but Win

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

        Test fix, no review.

        https://bugs.webkit.org/show_bug.cgi?id=38000
        r58107 causes video-play-stall and video-play-stall-seek to fail

        Skip http/tests/media/video-play-stall.html and http/tests/media/video-play-stall-seek.html
        until we can figure out how to work around QuickTime bug.

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

2010-04-22  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Regression: framebufferRenderbuffer crashes with null renderBuffer
        https://bugs.webkit.org/show_bug.cgi?id=37963

        * fast/canvas/webgl/framebuffer-object-attachment-expected.txt: Adding test cases for null renderbuffer input.
        * fast/canvas/webgl/framebuffer-object-attachment.html: Ditto.

2010-04-22  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Emulate GL_IMPLEMENTATION_COLOR_READ_FORMAT/TYPE for glGet
        https://bugs.webkit.org/show_bug.cgi?id=37281

        * fast/canvas/webgl/read-pixels-expected.txt: Add test case for the other supported format/type in readPixels (besides RGBA/UNSIGNED_BYTE); also, changed to a simpler test framework.
        * fast/canvas/webgl/read-pixels.html: Ditto.

2010-04-22  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Dimitri Glazkov.

        Enable LayoutTests for EventSource on chromium
        https://bugs.webkit.org/show_bug.cgi?id=37863

        * platform/chromium/fast/dom/prototype-inheritance-expected.txt:
        * platform/chromium/test_expectations.txt:

2010-04-22  Zhenyao Mo  <zmo@google.com>

        Reviewed by Eric Seidel.

        Turn on antialias and stencil as default canvas attributes.
        https://bugs.webkit.org/show_bug.cgi?id=36972  

        * fast/canvas/webgl/resources/webgl-test.js: 
        (create3DContext): Turn on antialias and stencil as default canvas attributes.

2010-04-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed expected results update.

        Rename window.media to window.styleMedia
        https://bugs.webkit.org/show_bug.cgi?id=36187

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/media/print-restores-previous-mediatype-expected.txt:
        * platform/chromium/fast/dom/prototype-inheritance-expected.txt:
        * platform/gtk/fast/dom/Window/window-properties-expected.txt:
        * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/gtk/fast/dom/prototype-inheritance-expected.txt:
        * platform/qt/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/qt/fast/dom/prototype-inheritance-expected.txt:
        * platform/win/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/win/fast/dom/prototype-inheritance-2-expected.txt:
        * platform/win/fast/dom/prototype-inheritance-expected.txt:

2010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Fraser

        Rename window.media to window.styleMedia
        https://bugs.webkit.org/show_bug.cgi?id=36187

        Update layout tests.

        * fast/media/lifetime.html:
        * fast/media/matchmedium-query-api.html:
        * fast/media/print-restores-previous-mediatype.html:

2010-04-22  Adam Barth  <abarth@webkit.org>

        Unreviewed, rolling out r58069.
        http://trac.webkit.org/changeset/58069
        https://bugs.webkit.org/show_bug.cgi?id=27751

        Broke compile on Windows.

        * editing/execCommand/clipboard-access-expected.txt: Removed.
        * editing/execCommand/clipboard-access.html: Removed.
        * editing/execCommand/script-tests/clipboard-access.js: Removed.

2010-04-22  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Manual test to verify that javascript cannot access clipboard.        
        https://bugs.webkit.org/show_bug.cgi?id=27751

        * editing/execCommand/clipboard-access-expected.txt: Added.
        * editing/execCommand/clipboard-access.html: Added.
        * editing/execCommand/script-tests/clipboard-access.js: Added.
        (enabled):
        (whenEnabled):
        (runTest):

2010-04-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        URL LayoutTests don't run on Firefox
        https://bugs.webkit.org/show_bug.cgi?id=37974

        It turns out Firefox doesn't handle base URLs properly if we go through
        the DOM to create the <base> and <a> elements.  If we switch to
        document.write, we can run the tests in Firefox (even though
        document.write is lame).

        * fast/url/resources/utilities.js:
        (canonicalize):
        (setBaseURL):

2010-04-21  Ben Murdoch  <benm@google.com>

        Reviewed by Jeremy Orlow.

        send-oncancel-event touch test should use js-test-post-function.js
        https://bugs.webkit.org/show_bug.cgi?id=37830

        Restore reference to js-test-post-function removed erroneously in copy 
        when this test was move in http://trac.webkit.org/changeset/54253
        and the corresponding call to the isSuccessfullyParsed function.

        * fast/events/touch/script-tests/send-oncancel-event.js:
        (touchcancelHandler): Call isSuccessfullyParsed.
        * fast/events/touch/send-oncancel-event.html: Add js-test-post-function.js back.

2010-04-21  MORITA Hajime  <morrita@google.com>

        Reviewed by Shinichiro Hamaji.

        https://bugs.webkit.org/show_bug.cgi?id=37056
        LayoutTests/editing/selection/move-left-right.html is slow
        
        Reduced style change that would trigger relayout. Note that You
        might find that expectation looks storange. It is due to Bug
        37016.

        * editing/selection/move-left-right.html:
        * platform/mac/editing/selection/move-left-right-expected.txt:

2010-04-21  David Yonge-Mallo  <davinci@chromium.org>

        Reviewed by Dan Bernstein.

        ZWNJ - Display non-printing, invisible character
        https://bugs.webkit.org/show_bug.cgi?id=16131

        Added tests for the handling of ZWJ and ZWNJ characters in simple font
        path.  These characters have zero width but may change the widths of text 
        around them.  Furthermore, their glyphs should not be displayed in
        simple static text.

        * fast/text/format-control.html: Added.
        * fast/text/zero-width-characters.html: modified to test ZWSP, ZWJ, and ZWNJ.
        * platform/mac/fast/text/format-control-expected.checksum: Added.
        * platform/mac/fast/text/format-control-expected.png: Added.
        * platform/mac/fast/text/format-control-expected.txt: Added.

2010-04-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed.

        [Qt] Enable notifications layout tests that are passing.

        Qt port has a partial implementation of Notifications,
        see r57408.

        * platform/qt/Skipped:

2010-04-21  James Robinson  <jamesr@chromium.org>

        Unreviewed. Updating chromium test expecations.

        * platform/chromium/test_expectations.txt:

2010-04-21  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Alexey Proskuryakov.

        aria-liveregion-notifications.html fails on leopard release bot
        https://bugs.webkit.org/show_bug.cgi?id=37112

        Add four more tests that test specific live region functionality. Having these
        four tests run in order seems to stress the notification mechanism and will expose issues 
        more frequently.
        Modify tests that use notification listeners to also "removeNotificationListener".

        * platform/mac-leopard/Skipped:
        * platform/mac/accessibility/aria-listbox-selectedchildren-change.html:
        * platform/mac/accessibility/aria-liveregion-on-image.html:
        * platform/mac/accessibility/aria-liveregions-addedelement-expected.txt: Added.
        * platform/mac/accessibility/aria-liveregions-addedelement.html: Added.
        * platform/mac/accessibility/aria-liveregions-changedalt-expected.txt: Added.
        * platform/mac/accessibility/aria-liveregions-changedalt.html: Added.
        * platform/mac/accessibility/aria-liveregions-changedtext-expected.txt: Added.
        * platform/mac/accessibility/aria-liveregions-changedtext.html: Added.
        * platform/mac/accessibility/aria-liveregions-notifications.html:
        * platform/mac/accessibility/aria-liveregions-removedelement-expected.txt: Added.
        * platform/mac/accessibility/aria-liveregions-removedelement.html: Added.
        * platform/mac/accessibility/change-notification-on-scroll.html:

2010-04-21  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        Fix up notifications request permission test.
        https://bugs.webkit.org/show_bug.cgi?id=37959

        * fast/notifications/notifications-request-permission-expected.txt:
        * fast/notifications/notifications-request-permission.html:

2010-04-21  Alexey Proskuryakov  <ap@apple.com>

        Not reviewed.

        https://bugs.webkit.org/show_bug.cgi?id=37933
        <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.

        Tweaked the test to pass on Tiger.

        * http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html: Tiger synchronous
        loader wrongfully terats 401 response as a failure. While this causes incorrect behavior for
        XMLHttpRequest, it's acceptable for the purposes of this test.

2010-04-15  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        Enable the notifications layout tests, but skip them on the ports that don't
        implement notifications.
        https://bugs.webkit.org/show_bug.cgi?id=37667

        * fast/notifications/notifications-check-permission.html: Added.
        * fast/notifications/notifications-check-permission.html-disabled: Removed.
        * fast/notifications/notifications-display-close-events.html: Added.
        * fast/notifications/notifications-display-close-events.html-disabled: Removed.
        * fast/notifications/notifications-double-show.html: Added.
        * fast/notifications/notifications-double-show.html-disabled: Removed.
        * fast/notifications/notifications-no-icon.html: Added.
        * fast/notifications/notifications-no-icon.html-disabled: Removed.
        * fast/notifications/notifications-request-permission.html: Added.
        * fast/notifications/notifications-request-permission.html-disabled: Removed.
        * fast/notifications/notifications-with-permission.html: Added.
        * fast/notifications/notifications-with-permission.html-disabled: Removed.
        * fast/notifications/notifications-without-permission.html: Added.
        * fast/notifications/notifications-without-permission.html-disabled: Removed.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-04-21  Simon Fraser  <simon.fraser@apple.com>

        Unreviewed; fix assertion in LayoutTests.

        https://bugs.webkit.org/show_bug.cgi?id=37932
        Assertion in transitions/transition-end-event-destroy-iframe.html
        
        Now that composited iframes cause their parent document to enter compositing mode,
        iframe painting via NSView does't send the required -viewWillDraw, which causes
        this assertion. Disable the test until we figure out a solution.

        * platform/mac-snowleopard/Skipped:

2010-04-21  James Robinson  <jamesr@chromium.org>

        Unreviewed. Updating chromium test expecations.

        * platform/chromium/test_expectations.txt:

2010-04-21  James Robinson  <jamesr@chromium.org>

        Updating chromium expectations for tests that need new layoutTestController
        functionality.

        * platform/chromium/test_expectations.txt:

2010-04-21  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed. Sheriffing cleanup.

        [chromium] Add bug numbers for expectations created during sheriffing.

        * platform/chromium/test_expectations.txt:

2010-04-21  Alexey Proskuryakov  <ap@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=37933
        <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.

        * platform/qt/Skipped: Skip the new test on Qt. There is nothing special about it,
        existing related tests are skipped already.

2010-04-21  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Brady Eidson.

        https://bugs.webkit.org/show_bug.cgi?id=37933
        <rdar://problem/7719540> XMLHttpRequest.withCredentials should be better enforced.

        * http/tests/xmlhttprequest/cross-origin-authorization-with-embedder-expected.txt: Added.
        * http/tests/xmlhttprequest/cross-origin-authorization-with-embedder.html: Added.

2010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>

        Unreviewed.

        Skip the new fast/lists tests on Mac and Windows until these ports
        implement LayoutTestController::markerTextForListItem().

        * platform/mac/Skipped:
        * platform/win/Skipped:

2010-04-21  Jakub Wieczorek  <jwieczorek@webkit.org>

        Reviewed by Darin Adler.

        List item markers are not always updated after changes in the DOM.
        https://bugs.webkit.org/show_bug.cgi?id=37060

        * fast/lists/dump-list.js:
        (indent):
        (dumpListHelper): A recursive function to dump nested lists.
        (dumpList): A function that dumps a readable plain text representation of a list.
        * fast/lists/ol-nested-items-dynamic-insert-expected.txt: Added.
        * fast/lists/ol-nested-items-dynamic-insert.html: Added.
        * fast/lists/ol-nested-items-dynamic-remove-expected.txt: Added.
        * fast/lists/ol-nested-items-dynamic-remove.html: Added.
        * fast/lists/ol-nested-items-expected.txt: Added.
        * fast/lists/ol-nested-items.html: Added.
        * fast/lists/ol-nested-list-dynamic-insert-expected.txt: Added.
        * fast/lists/ol-nested-list-dynamic-insert.html: Added.
        * fast/lists/ol-nested-list-dynamic-remove-expected.txt: Added.
        * fast/lists/ol-nested-list-dynamic-remove.html: Added.
        * fast/lists/ol-nested-list-expected.txt: Added.
        * fast/lists/ol-nested-list.html: Added.
        * platform/mac/Skipped: Skip the tests until this port implements the new LayoutTestController function.
        * platform/win/Skipped: Skip the tests until this port implements the new LayoutTestController function.

2010-04-21  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] media/video-source-add-src.html was removed from tree
        by r57820, so it's time to remove it from Qt Skipped list.

        * platform/qt/Skipped: media/video-source-add-src.html removed.

2010-04-21  Benjamin Poulain  <ikipou@gmail.com>

        Reviewed by Simon Fraser.

        Update of fixed elements is not made correctly when the page has been scrolled
        https://bugs.webkit.org/show_bug.cgi?id=36783

        * fast/repaint/fixed-child-move-after-scroll.html: Added.
        * fast/repaint/fixed-child-of-fixed-move-after-scroll.html: Added.
        * fast/repaint/fixed-child-of-transformed-move-after-scroll.html: Added.
        * fast/repaint/fixed-move-after-scroll.html: Added.
        * platform/mac/fast/repaint/fixed-child-move-after-scroll-expected.checksum: Added.
        * platform/mac/fast/repaint/fixed-child-move-after-scroll-expected.png: Added.
        * platform/mac/fast/repaint/fixed-child-move-after-scroll-expected.txt: Added.
        * platform/mac/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.checksum: Added.
        * platform/mac/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.png: Added.
        * platform/mac/fast/repaint/fixed-child-of-fixed-move-after-scroll-expected.txt: Added.
        * platform/mac/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.checksum: Added.
        * platform/mac/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.png: Added.
        * platform/mac/fast/repaint/fixed-child-of-transformed-move-after-scroll-expected.txt: Added.
        * platform/mac/fast/repaint/fixed-move-after-scroll-expected.checksum: Added.
        * platform/mac/fast/repaint/fixed-move-after-scroll-expected.png: Added.
        * platform/mac/fast/repaint/fixed-move-after-scroll-expected.txt: Added.

2010-04-21  Eric Seidel  <eric@webkit.org>

        Unreviewed, rolling out r57963.
        http://trac.webkit.org/changeset/57963
        https://bugs.webkit.org/show_bug.cgi?id=37759

        Three tests started crashing on the Qt bot.

        * platform/qt/Skipped:

2010-04-21  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Unskip a bunch of now passing tests, which was skipped because of 
        missing LayoutTestController::computedStyleIncludingVisitedInfo
        https://bugs.webkit.org/show_bug.cgi?id=37759

        * platform/qt/Skipped:

2010-04-21  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping fast/frames/frame-crash-with-page-cache.html
        https://bugs.webkit.org/show_bug.cgi?id=37914

        * platform/gtk/Skipped:

2010-04-20  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        [ES5] RegExp literals are constants that should be persistent across multiple function calls.
        https://bugs.webkit.org/show_bug.cgi?id=37908

        Add tests to ensure correct persistence of RegExp literals, and correctly avoid
        sharing "identical" regexps used in different places.

        * fast/js/regexp-literals-are-constants-expected.txt: Added.
        * fast/js/regexp-literals-are-constants.html: Added.
        * fast/js/script-tests/regexp-literals-are-constants.js: Added.
        (test1):
        (returnRegExpLiteral):
        (returnConditionalRegExpLiteral):

2010-04-20  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Justin Garcia.

        Nested <ul>s are mishandled when converted to <ol> using execCommand('insertorderedlist')
        https://bugs.webkit.org/show_bug.cgi?id=19539

        Test to make sure InsertListCommand merges consecutive lists when converting
        ordered/unordered lists to the opposite type of lists inside another list.

        * editing/execCommand/insert-lists-inside-another-list-expected.txt: Added.
        * editing/execCommand/insert-lists-inside-another-list.html: Added.
        * editing/execCommand/script-tests/insert-lists-inside-another-list.js: Added.
        (testList):
        * platform/mac/editing/execCommand/create-list-from-range-selection-expected.txt:

2010-04-20  Simon Fraser  <simon.fraser@apple.com>

        Fix test result after r57913.

        * compositing/iframes/composited-iframe-expected.txt:

2010-04-20  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed test skipping for Chromium Win.

        Skip editing/pasteboard/copy-backslash-with-euc.html for Chromium Win.
        https://bugs.webkit.org/show_bug.cgi?id=36419

        * platform/chromium/test_expectations.txt:

2010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed test fix.

        A backslash in EUC-JP becomes to a yen sign when it is copied
        https://bugs.webkit.org/show_bug.cgi?id=36419

        Add editing/pasteboard/copy-backslash-with-euc into Gtk's skipped list.

        * platform/gtk/Skipped:

2010-04-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler and Alexey Proskuryakov.

        A backslash in EUC-JP becomes to a yen sign when it is copied
        https://bugs.webkit.org/show_bug.cgi?id=36419

        * editing/execCommand/transpose-backslash-with-euc-expected.txt: Added.
        * editing/execCommand/transpose-backslash-with-euc.html: Added.
        * editing/pasteboard/copy-backslash-with-euc-expected.txt: Added.
        * editing/pasteboard/copy-backslash-with-euc.html: Added.
        * editing/pasteboard/resources/copy-backslash-euc.html: Added.

2010-04-20  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, updating Chromium test_expectations for media/video-zoom.html.

        * platform/chromium/test_expectations.txt:

2010-04-20  James Robinson  <jamesr@chromium.org>

        Unreviewed. Update chromium expectations.  Also consolidate identical
        platform expectations for fast/dom/prototype-inheritance.html.

        * platform/chromium-linux/fast/dom/prototype-inheritance-expected.txt: Removed.
        * platform/chromium-mac/fast/dom/prototype-inheritance-expected.txt: Removed.
        * platform/chromium-win/fast/dom/prototype-inheritance-expected.txt: Removed.
        * platform/chromium/fast/dom/prototype-inheritance-expected.txt: Copied from LayoutTests/platform/chromium-win/fast/dom/prototype-inheritance-expected.txt.
        * platform/chromium/test_expectations.txt:

2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57924.
        http://trac.webkit.org/changeset/57924
        https://bugs.webkit.org/show_bug.cgi?id=37898

        It broke 3-4 test on all bot (Requested by Ossy on #webkit).

        * fast/media/lifetime.html:
        * fast/media/matchmedium-query-api.html:
        * fast/media/print-restores-previous-mediatype-expected.txt:
        * fast/media/print-restores-previous-mediatype.html:

2010-04-20  Simon Fraser  <simon.fraser@apple.com>

        Test fix, no review.

        Disable compositing/iframes/composited-iframe.html because compositing is
        turned off at runtime on Leopard (based on QuickTime version), so we can't
        rely on the result.

        * platform/mac-leopard/Skipped:

2010-04-20  James Robinson  <jamesr@chromium.org>

        Reviewed by dglazkov.

        Update chromium SVG baselines for r57886
        https://bugs.webkit.org/show_bug.cgi?id=37891

        * platform/chromium-linux/svg/custom/image-with-transform-clip-filter-expected.txt: Added.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt: Removed.
        * platform/chromium-mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt: Removed.
        * platform/chromium-mac/svg/batik/filters/filterRegions-expected.txt: Removed.
        * platform/chromium-mac/svg/batik/text/textEffect-expected.txt: Removed.
        * platform/chromium-mac/svg/batik/text/textEffect3-expected.txt: Removed.
        * platform/chromium-mac/svg/batik/text/textFeatures-expected.txt: Removed.
        * platform/chromium-mac/svg/batik/text/textProperties-expected.txt: Removed.
        * platform/chromium-mac/svg/custom/feDisplacementMap-01-expected.txt: Removed.
        * platform/chromium-mac/svg/custom/image-with-transform-clip-filter-expected.txt: Removed.
        * platform/chromium-mac/svg/custom/non-opaque-filters-expected.txt: Removed.
        * platform/chromium-mac/svg/custom/visibility-override-filter-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/big-sized-filter-2-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/feColorMatrix-values-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/feMerge-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/feOffset-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/filter-on-tspan-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/subRegion-in-userSpace-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/subRegion-one-effect-expected.txt: Removed.
        * platform/chromium-mac/svg/filters/subRegion-two-effects-expected.txt: Removed.
        * platform/chromium-win-xp/svg/batik/text/textFeatures-expected.txt: Added.
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/chromium-win/svg/batik/filters/feTile-expected.txt:
        * platform/chromium-win/svg/batik/filters/filterRegions-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect-expected.txt:
        * platform/chromium-win/svg/batik/text/textEffect3-expected.txt:
        * platform/chromium-win/svg/batik/text/textFeatures-expected.txt:
        * platform/chromium-win/svg/batik/text/textProperties-expected.txt:
        * platform/chromium-win/svg/custom/empty-merge-expected.txt: Removed.
        * platform/chromium-win/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/chromium-win/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/chromium-win/svg/custom/feDisplacementMap-01-expected.txt: Removed.
        * platform/chromium-win/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/chromium-win/svg/custom/invalid-css-expected.txt:
        * platform/chromium-win/svg/custom/non-opaque-filters-expected.txt:
        * platform/chromium-win/svg/custom/resource-invalidate-on-target-update-expected.txt: Removed.
        * platform/chromium-win/svg/custom/text-filter-expected.txt:
        * platform/chromium-win/svg/custom/visibility-override-filter-expected.txt: Removed.
        * platform/chromium-win/svg/filters/big-sized-filter-2-expected.txt: Removed.
        * platform/chromium-win/svg/filters/big-sized-filter-expected.txt: Removed.
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.txt:
        * platform/chromium-win/svg/filters/feComposite-expected.txt:
        * platform/chromium-win/svg/filters/feDisplacementMap-expected.txt: Removed.
        * platform/chromium-win/svg/filters/feGaussianBlur-expected.txt: Removed.
        * platform/chromium-win/svg/filters/feMerge-expected.txt: Removed.
        * platform/chromium-win/svg/filters/feMerge-wrong-input-expected.txt: Removed.
        * platform/chromium-win/svg/filters/feOffset-expected.txt: Removed.
        * platform/chromium-win/svg/filters/feTile-expected.txt: Removed.
        * platform/chromium-win/svg/filters/filter-on-tspan-expected.txt:
        * platform/chromium-win/svg/filters/shadow-on-filter-expected.txt: Removed.
        * platform/chromium-win/svg/filters/sourceAlpha-expected.txt:
        * platform/chromium-win/svg/filters/subRegion-in-userSpace-expected.txt: Removed.
        * platform/chromium-win/svg/filters/subRegion-one-effect-expected.txt: Removed.
        * platform/chromium-win/svg/filters/subRegion-two-effects-expected.txt: Removed.
        * platform/chromium/test_expectations.txt:

2010-04-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Fraser.

        Rename window.media to window.styleMedia
        https://bugs.webkit.org/show_bug.cgi?id=36187

        Update layout tests.

        * fast/media/lifetime.html:
        * fast/media/matchmedium-query-api.html:
        * fast/media/print-restores-previous-mediatype.html:
        * fast/media/print-restores-previous-mediatype-expected.txt:

2010-04-20  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Invalid cast due to <video> inside <foreignObject> inside <svg> inside <img>
        https://bugs.webkit.org/show_bug.cgi?id=37331

        Tests for a crash on attempting to load media in a foreignObject inside
        an SVGImage.

        * media/resources: Added.
        * media/resources/foreignobject-media.svg: Added.
        * media/svg-as-image-with-media-blocked-expected.txt: Added.
        * media/svg-as-image-with-media-blocked.html: Added.

2010-04-20  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Adam Barth.

        worker-close.html is flaky on slow machines.
        https://bugs.webkit.org/show_bug.cgi?id=37887

        * fast/workers/worker-close.html: Move the start of the timer to terminate the test after an expected message is received.

2010-04-20  James Robinson  <jamesr@chromium.org>

        Unreviewed. Another round of chromium test expectation SVG updates.

        * platform/chromium/test_expectations.txt:

2010-04-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Hook compositing layers together across iframes
        https://bugs.webkit.org/show_bug.cgi?id=37878
        
        Testcase that has a composited iframe, and dumps the layer tree of the parent document
        to ensure that it also became composited.

        * compositing/iframes/composited-iframe-expected.txt: Added.
        * compositing/iframes/composited-iframe.html: Added.
        * compositing/iframes/resources/composited-subframe.html: Added.

2010-04-20  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        backgroundColor is oddly indented in layer tree dump
        https://bugs.webkit.org/show_bug.cgi?id=37885
        
        Fix indentation in this expected result.

        * compositing/geometry/preserve-3d-switching-expected.txt:

2010-04-20  James Robinson  <jamesr@chromium.org>

        Unreviewed. Fix typo in chromium test expectations.

        * platform/chromium/test_expectations.txt:

2010-04-20  James Robinson  <jamesr@chromium.org>

        Unreviewed.  Update chromium test expectations to reflect changes
        in SVG tests from r57886.

        * platform/chromium/test_expectations.txt:

2010-04-20  Sergey Ulanov <sergeyu@chromium.org>

        Unreviewed, checking in baselines due to changes to Chromium's video scaling algorithm.

        * platform/chromium-linux/media/video-replaces-poster-expected.checksum:
        * platform/chromium-linux/media/video-replaces-poster-expected.png:
        * platform/chromium-mac/media/video-replaces-poster-expected.checksum:
        * platform/chromium-mac/media/video-replaces-poster-expected.png:
        * platform/chromium-win/media/video-replaces-poster-expected.checksum:
        * platform/chromium-win/media/video-replaces-poster-expected.png:
        * platform/chromium-win/media/video-zoom-expected.checksum: Added.
        * platform/chromium-win/media/video-zoom-expected.png: Added.
        * platform/chromium-win/media/video-zoom-expected.txt: Added.

2010-04-20  Robin Cao  <robin.webkit@gmail.com>

        Reviewed by Dirk Schulze.

        Update expected results after bug fix: https://bugs.webkit.org/show_bug.cgi?id=36718
        now animateColor on target element with attributes 'fill' and 'stroke' set to 'none' is possible.

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.checksum: Updated.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.png: Updated.
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt: Updated.
        * svg/custom/animation-currentColor.svg: Updated.

2010-04-20  Adam Roben  <aroben@apple.com>

        Unskip xss-DENIED-mime-type-execute-as-html.html on Windows

        This is essentially a rollout of r57729. I was hoping that skipping
        this test would fix the spurious timeouts described in
        <http://webkit.org/b/37714>, but that hasn't happened.

        * platform/win/Skipped:

2010-04-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGResourceFilter needs to be moved to under Renderers
        https://bugs.webkit.org/show_bug.cgi?id=35320

        All SVG tests with filters need an update. A new renderer for
        SVGFilterElement was created. This renderer also dumps filter
        primitives as long as they have externalRepresentation implemented.

        * platform/gtk/svg/filters/filter-on-tspan-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/custom/empty-merge-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/text-filter-expected.txt:
        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feColorMatrix-values-expected.txt:
        * platform/mac/svg/filters/feComposite-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
        * platform/mac/svg/filters/feMerge-expected.txt:
        * platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/mac/svg/filters/feOffset-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * platform/mac/svg/filters/filter-on-tspan-expected.txt:
        * platform/mac/svg/filters/filter-source-position-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/mac/svg/filters/sourceAlpha-expected.txt:
        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:
        * platform/qt/svg/filters/feComposite-expected.txt:
        * platform/qt/svg/filters/feGaussianBlur-expected.txt:
        * platform/qt/svg/filters/feMerge-expected.txt:
        * platform/qt/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/qt/svg/filters/feOffset-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/filters/filter-on-tspan-expected.txt:
        * platform/qt/svg/filters/filter-source-position-expected.txt:
        * platform/qt/svg/filters/shadow-on-filter-expected.txt:
        * platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/qt/svg/filters/sourceAlpha-expected.txt:
        * platform/qt/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/qt/svg/filters/subRegion-one-effect-expected.txt:
        * platform/qt/svg/filters/subRegion-two-effects-expected.txt:
        * platform/win/svg/custom/image-with-transform-clip-filter-expected.txt: Added.
        * platform/win/svg/filters/feColorMatrix-values-expected.txt:

2010-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57880.
        http://trac.webkit.org/changeset/57880
        https://bugs.webkit.org/show_bug.cgi?id=37846

        Broke several bots, FEDisplacmentMap dumps includes pointers,
        no one noticed. Dirk will upload a new patch later. (Requested
        by WildFox on #webkit).

        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/custom/empty-merge-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/text-filter-expected.txt:
        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feColorMatrix-values-expected.txt:
        * platform/mac/svg/filters/feComposite-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
        * platform/mac/svg/filters/feMerge-expected.txt:
        * platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/mac/svg/filters/feOffset-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * platform/mac/svg/filters/filter-on-tspan-expected.txt:
        * platform/mac/svg/filters/filter-source-position-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/mac/svg/filters/sourceAlpha-expected.txt:
        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:

2010-04-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGResourceFilter needs to be moved to under Renderers
        https://bugs.webkit.org/show_bug.cgi?id=35320

        All SVG tests with filters need an update. A new renderer for
        SVGFilterElement was created. This renderer also dumps filter
        primitives as long as they have externalRepresentation implemented.

        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/custom/empty-merge-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/text-filter-expected.txt:
        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feColorMatrix-values-expected.txt:
        * platform/mac/svg/filters/feComposite-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
        * platform/mac/svg/filters/feMerge-expected.txt:
        * platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/mac/svg/filters/feOffset-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * platform/mac/svg/filters/filter-on-tspan-expected.txt:
        * platform/mac/svg/filters/filter-source-position-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/mac/svg/filters/sourceAlpha-expected.txt:
        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:

2010-04-20  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Antti Koivisto.

        [Qt] GraphicsLayer: support fill-modes
        https://bugs.webkit.org/show_bug.cgi?id=36216

        Remove LayoutTests/animations/fill-mode-transform.html from the skip list

        * platform/qt/Skipped:

2010-04-20  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        More tests for interactive validation
        https://bugs.webkit.org/show_bug.cgi?id=37345

        Add tests for cases that event handlers modify DOM structures.
        These improve test coverage for r57346.

        * fast/forms/checkValidity-handler-updates-dom-expected.txt: Added.
        * fast/forms/checkValidity-handler-updates-dom.html: Added.
        * fast/forms/interactive-validation-lost-focusable-expected.txt: Added.
        * fast/forms/interactive-validation-lost-focusable.html: Added.
        * fast/forms/script-tests/checkValidity-handler-updates-dom.js: Added.

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed. Update chromium test expectations.

        * platform/chromium/test_expectations.txt:

2010-04-19  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Dan Bernstein.

        Remove an extra space in the getComputedStyle-with-psuedo-element test that was causing it to fail on the Chromium bots, and remove the platform-specific results that were landed in the meantime.

        * fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
        * fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:
        * platform/chromium-linux/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Removed.
        * platform/chromium-win/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Removed.

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed. Update chromium test expectations.

        * platform/chromium/test_expectations.txt:

2010-04-19  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: aria-haspopup needs to be exposed
        https://bugs.webkit.org/show_bug.cgi?id=37808

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

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, move chromium baselines for fast/url around.

        The desired behavior is that chromium-win use one set of baselines and
        chromium-mac/chromium-linux use another, however to do we have to
        duplicate the mac+linux results into chromium-mac and chromium-linux.

        * platform/chromium-linux/fast/url/file-expected.txt: Added.
        * platform/chromium-linux/fast/url/relative-unix-expected.txt: Added.
        * platform/chromium-linux/fast/url/relative-win-expected.txt: Added.
        * platform/chromium-mac/fast/url/file-expected.txt: Added.
        * platform/chromium-mac/fast/url/relative-unix-expected.txt: Added.
        * platform/chromium-mac/fast/url/relative-win-expected.txt: Added.
        * platform/chromium/fast/url/file-expected.txt: Removed.
        * platform/chromium/fast/url/relative-unix-expected.txt: Removed.
        * platform/chromium/fast/url/relative-win-expected.txt: Removed.

2010-04-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Manipulating document fragment members while adding it to tree may result in loss of tree integrity.
        https://bugs.webkit.org/show_bug.cgi?id=36031

        These tests study various side-effects of DOM mutation events fired during appending/inserting
        document fragments.

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

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed - yet more rebaselines and expectation updates.

        * platform/chromium-win/fast/url/file-expected.txt: Added.
        * platform/chromium-win/fast/url/relative-unix-expected.txt: Added.
        * platform/chromium-win/fast/url/relative-win-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed. More chromium rebaselines+expectation updates.

        * platform/chromium-linux/fast/css/getComputedStyle: Added.
        * platform/chromium-linux/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Added.
        * platform/chromium-mac/media/video-src-change-expected.txt:
        * platform/chromium-mac/media/video-src-invalid-remove-expected.txt: Removed.
        * platform/chromium-win/fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Added.
        * platform/chromium-win/media/video-src-change-expected.txt:
        * platform/chromium-win/media/video-src-invalid-remove-expected.txt: Removed.
        * platform/chromium/test_expectations.txt:

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed build fix.

        Update chromium expectations

        * platform/chromium/test_expectations.txt:

2010-04-19  James Robinson  <jamesr@chromium.org>

        Unreviewed build fix for Chromium

        Add baselines for new platform-specific tests.

        * platform/chromium/fast/url: Added.
        * platform/chromium/fast/url/file-expected.txt: Added.
        * platform/chromium/fast/url/relative-expected.txt: Added.
        * platform/chromium/fast/url/relative-unix-expected.txt: Added.
        * platform/chromium/fast/url/relative-win-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

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

        Reviewed by Simon Fraser.

        Setting media element 'src' attribute should trigger immediate load
        https://bugs.webkit.org/show_bug.cgi?id=37728

        * media/event-attributes-expected.txt: Updated results.
        * media/event-attributes.html: Do not need to call load().
        * media/video-source-add-src-expected.txt: Removed.
        * media/video-source-add-src.html: Removed.
        * media/video-src-change-expected.txt: Updated results.
        * media/video-src-change.html: Update test to match current behavior.
        * media/video-src-invalid-remove-expected.txt: Updated results.
        * media/video-src-invalid-remove.html: Update test to match current behavior.

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

        Rubber-stamped by Simon Hausmann.

        [Qt] Unskip a bunch of now passing tests, add expected files and pixel results.
        Additionally fix some minor pixel differences.

        Compared to Mac png files and Mac expected files.

        * platform/qt/Skipped:
        * platform/qt/fast/frames/frame-navigation-expected.checksum: Added.
        * platform/qt/fast/frames/frame-navigation-expected.png: Added.
        * platform/qt/fast/frames/frame-navigation-expected.txt: Updated.
        * platform/qt/fast/overflow/line-clamp-expected.checksum: Added.
        * platform/qt/fast/overflow/line-clamp-expected.png: Added.
        * platform/qt/fast/overflow/line-clamp-expected.txt: Added.
        * platform/qt/fast/reflections/opacity-reflection-transform-expected.checksum: Added.
        * platform/qt/fast/reflections/opacity-reflection-transform-expected.png: Added.
        * platform/qt/fast/reflections/opacity-reflection-transform-expected.txt: Added.
        * platform/qt/fast/repaint/fixed-tranformed-expected.checksum: Added.
        * platform/qt/fast/repaint/fixed-tranformed-expected.png: Added.
        * platform/qt/fast/repaint/fixed-tranformed-expected.txt: Added.
        * platform/qt/fast/repaint/repaint-during-scroll-expected.checksum: Added.
        * platform/qt/fast/repaint/repaint-during-scroll-expected.png: Added.
        * platform/qt/fast/repaint/repaint-during-scroll-expected.txt: Added.
        * platform/qt/http/tests/local/file-url-sent-as-referer-expected.checksum: Added.
        * platform/qt/http/tests/local/file-url-sent-as-referer-expected.png: Added.
        * platform/qt/http/tests/local/file-url-sent-as-referer-expected.txt: Updated.
        * platform/qt/http/tests/misc/error404-expected.checksum: Added.
        * platform/qt/http/tests/misc/error404-expected.png: Added.
        * platform/qt/http/tests/misc/error404-expected.txt: Added.
        * platform/qt/http/tests/misc/frame-access-during-load-expected.checksum: Added.
        * platform/qt/http/tests/misc/frame-access-during-load-expected.png: Added.
        * platform/qt/http/tests/misc/frame-access-during-load-expected.txt: Added.
        * platform/qt/http/tests/misc/generated-content-inside-table-expected.checksum: Added.
        * platform/qt/http/tests/misc/generated-content-inside-table-expected.png: Added.
        * platform/qt/http/tests/misc/generated-content-inside-table-expected.txt: Added.
        * platform/qt/http/tests/misc/iframe404-expected.checksum: Added.
        * platform/qt/http/tests/misc/iframe404-expected.png: Added.
        * platform/qt/http/tests/misc/iframe404-expected.txt: Added.
        * platform/qt/http/tests/misc/location-replace-crossdomain-expected.checksum: Added.
        * platform/qt/http/tests/misc/location-replace-crossdomain-expected.png: Added.
        * platform/qt/http/tests/misc/location-replace-crossdomain-expected.txt: Added.
        * platform/qt/http/tests/uri/css-href-expected.checksum: Added.
        * platform/qt/http/tests/uri/css-href-expected.png: Added.
        * platform/qt/http/tests/uri/css-href-expected.txt: Updated.
        * platform/qt/svg/custom/radial-gradient-with-outstanding-focalPoint-expected.checksum: Added.
        * platform/qt/svg/custom/radial-gradient-with-outstanding-focalPoint-expected.png: Added.
        * platform/qt/svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt: Added.
        * platform/qt/svg/text/foreignObject-text-clipping-bug-expected.checksum: Added.
        * platform/qt/svg/text/foreignObject-text-clipping-bug-expected.png: Added.
        * platform/qt/svg/text/foreignObject-text-clipping-bug-expected.txt: Added.

2010-04-19  Jessie Berlin  <jberlin@webkit.org>

        Reviewed by Dave Hyatt.

        First steps towards fixing bug 24021 - pseudo-element styles not accessible / retrievable via DOM methods.
        https://bugs.webkit.org/show_bug.cgi?id=24021

        * fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt: Added.
        * fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html: Added.

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

        [Qt] lacks clipToImageBuffer()
        https://bugs.webkit.org/show_bug.cgi?id=24289

        Skip svg/clip-path tests introduced in r52511,
        and move clip related tests here.

        * platform/qt/Skipped:

2010-04-18  Robert Hogan  <robert@webkit.org>

        Unreviewed fix to pixel differences in unskipped layout tests.

        [Qt] Add support for LayoutTestController commands

        Fix up minor pixel differences on unskipped tests from r57793.

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

        * platform/qt/editing/deleting/smart-delete-003-expected.txt:
        * platform/qt/editing/deleting/smart-delete-004-expected.txt:
        * platform/qt/editing/selection/5195166-1-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/5195166-1-expected.txt.
        * platform/qt/editing/selection/5195166-2-expected.txt:

2010-04-18  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Add support for LayoutTestController commands:
                   setSmartInsertDeleteEnabled
                   setSelectTrailingWhitespaceEnabled
                   execCommand
                   isCommandEnabled

        Unskip tests:
        editing/deleting/smart-editing-disabled.html
        editing/execCommand/19089.html
        editing/execCommand/delete-image-in-anchor.html
        editing/execCommand/enabling-and-selection-2.html
        editing/selection/doubleclick-whitespace-crash.html
        editing/selection/doubleclick-whitespace-img-crash.html
        editing/selection/doubleclick-whitespace.html
        editing/selection/select-line.html
        editing/deleting/5300379.html
        editing/deleting/smart-delete-003.html
        editing/deleting/smart-delete-004.html
        editing/selection/5195166-1.html
        editing/selection/5195166-2.html

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

        * platform/qt/Skipped:
        * platform/qt/editing/deleting/5300379-expected.txt: Update platform-specific results.
        * platform/qt/editing/deleting/smart-delete-003-expected.txt: Update platform-specific results.
        * platform/qt/editing/deleting/smart-delete-004-expected.txt: Update platform-specific results.
        * platform/qt/editing/selection/5195166-1-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/5195166-1-expected.txt.
        * platform/qt/editing/selection/5195166-2-expected.txt: Update platform-specific results.

2010-04-18  Antonio Gomes  <tonikitoo@webkit.org>

        [Qt] Unreviewed fix: remove svg/custom/clip-path-display-none-child.svg from Skipped (non-existent test)

        It was removed by r57511.

        * platform/qt/Skipped:

2010-04-17  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=37720
        <rdar://problem/7873752> HTMLFrameSetElement-window-eventListener-attributes.html sometimes
        crashes on SnowLeopard Release

        * fast/dom/Window/script-tests/HTMLBodyElement-window-eventListener-attributes.js:
        * fast/dom/Window/script-tests/HTMLFrameSetElement-window-eventListener-attributes.js:
        Added gc() calls to test this case more reliably.

        * platform/mac-snowleopard/Skipped: Removed test from skipped list.

2010-04-17  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Test file: URL canonicalization
        https://bugs.webkit.org/show_bug.cgi?id=37700

        Re-land http://trac.webkit.org/changeset/57719, hopefully not breaking
        the Windows bot this time.

        * fast/url/file-expected.txt: Added.
        * fast/url/file.html: Added.
        * fast/url/mailto.html:
        * fast/url/script-tests/file.js: Added.

2010-04-17  Adam Barth  <abarth@webkit.org>

        Unreviewed, but I took Jeremy Orlow's suggestions on an earlier
        iteration of this patch.

        Add URL parsing tests for relative URL resolution
        https://bugs.webkit.org/show_bug.cgi?id=37644

        I've split the platform specific parts of this test into separate
        files.  On KURL-based ports these should have the same results on every
        platform.  We can decide whether to have platform-specific behavior at
        a later time.

        * fast/url/relative-expected.txt: Added.
        * fast/url/relative-unix-expected.txt: Added.
        * fast/url/relative-unix.html: Added.
        * fast/url/relative-win-expected.txt: Added.
        * fast/url/relative-win.html: Added.
        * fast/url/relative.html: Added.
        * fast/url/script-tests/relative-unix.js: Added.
        * fast/url/script-tests/relative-win.js: Added.
        * fast/url/script-tests/relative.js: Added.

2010-04-17  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping media/audio-constructor-preload.html
        https://bugs.webkit.org/show_bug.cgi?id=37753

        * platform/gtk/Skipped:

2010-04-17  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping inspector/timeline-paint.html
        https://bugs.webkit.org/show_bug.cgi?id=37752

        * platform/gtk/Skipped:

2010-04-17  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        Crash while handling SVG font in the wrong namespace imported with @font-face
        https://bugs.webkit.org/show_bug.cgi?id=18862

        Test that load an SVG document not in the SVG namespace with @font-face does not
        lead to a crash.

        * fast/invalid/invalidSVGFont-expected.txt: Added.
        * fast/invalid/invalidSVGFont.html: Added.
        * fast/invalid/resources/svgFontWrongNamespace.svg: Added.

2010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57770.
        http://trac.webkit.org/changeset/57770
        https://bugs.webkit.org/show_bug.cgi?id=37746

        8 test cases crashed (Requested by Ossy on #webkit).

        * platform/qt/Skipped:

2010-04-16  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Antti Koivisto.

        [Qt] GraphicsLayer: support fill-modes
        https://bugs.webkit.org/show_bug.cgi?id=36216

        Remove LayoutTests/animations/fill-mode-transform.html from the skip list

        * platform/qt/Skipped:

2010-04-16  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Yury Semikhatsky.

        [v8] In Workers, script errors right after close() are not delivered to the Worker.onerror
        https://bugs.webkit.org/show_bug.cgi?id=37691

        Moved the expected result into platform-independent chromium subdirectory, since
        the only chromium-specific difference is the way v8 formats an error message.
        Also updated the expected result to match the passing now test.

        * platform/chromium-win/fast/workers/worker-close-expected.txt: Removed.
        * platform/chromium/fast/workers/worker-close-expected.txt: Added.

2010-04-16  Adam Roben  <aroben@apple.com>

        Fix typo from r55729

        * platform/win/Skipped:

2010-04-16  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed. Fixing chromium build.

        [chromium] Upstream test_expectations.txt changes from chromium.
        Mark letter_spacing.html as consistently failing for mac.
        Fixing a syntax error in the test_expectations.txt file.

        * platform/chromium/test_expectations.txt:

2010-04-16  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed. Fixing chromiumg build.

        [chromium] filterRes.svg is consistently failing now. Marking as such.

        * platform/chromium/test_expectations.txt:

2010-04-16  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket crash when it receives bad header.
        https://bugs.webkit.org/show_bug.cgi?id=37682

        * websocket/tests/bad-handshake-crash-expected.txt: Added.
        * websocket/tests/bad-handshake-crash.html: Added.
        * websocket/tests/bad-handshake-crash_wsh.py: Added.
        * websocket/tests/script-tests/bad-handshake-crash.js: Added.

2010-04-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7873647> Crash when updating hover state

        * fast/dynamic/hover-style-recalc-crash-expected.txt: Added.
        * fast/dynamic/hover-style-recalc-crash.html: Added.

2010-04-16  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, fixing Chromium test_expectations.txt due to removed tests in r57292.

        * platform/chromium/test_expectations.txt:

2010-04-16  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, checking in Chromium baselines for media/video-seek-past-end-playing.html.

        * platform/chromium-mac/media/video-seek-past-end-playing-expected.txt: Added.
        * platform/chromium-win/media/video-seek-past-end-playing-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-16  Sergey Ulanov <sergeyu@chromium.org>

        Unreviewed, checking in baselines due to changes to Chromium's video scaling algorithm.

        * platform/chromium-linux/media/controls-after-reload-expected.checksum:
        * platform/chromium-linux/media/controls-after-reload-expected.png:
        * platform/chromium-linux/media/controls-strict-expected.checksum:
        * platform/chromium-linux/media/controls-strict-expected.png:
        * platform/chromium-linux/media/video-aspect-ratio-expected.checksum:
        * platform/chromium-linux/media/video-aspect-ratio-expected.png:
        * platform/chromium-linux/media/video-controls-rendering-expected.checksum:
        * platform/chromium-linux/media/video-controls-rendering-expected.png:
        * platform/chromium-linux/media/video-display-toggle-expected.checksum:
        * platform/chromium-linux/media/video-display-toggle-expected.png:
        * platform/chromium-linux/media/video-layer-crash-expected.checksum:
        * platform/chromium-linux/media/video-layer-crash-expected.png:
        * platform/chromium-linux/media/video-no-audio-expected.checksum:
        * platform/chromium-linux/media/video-no-audio-expected.png:
        * platform/chromium-linux/media/video-transformed-expected.checksum:
        * platform/chromium-linux/media/video-transformed-expected.png:
        * platform/chromium-linux/media/video-volume-slider-expected.checksum:
        * platform/chromium-linux/media/video-volume-slider-expected.png:
        * platform/chromium-linux/media/video-zoom-expected.checksum:
        * platform/chromium-linux/media/video-zoom-expected.png:
        * platform/chromium-mac/media/controls-after-reload-expected.checksum:
        * platform/chromium-mac/media/controls-after-reload-expected.png:
        * platform/chromium-mac/media/controls-strict-expected.checksum:
        * platform/chromium-mac/media/controls-strict-expected.png:
        * platform/chromium-mac/media/video-aspect-ratio-expected.checksum:
        * platform/chromium-mac/media/video-aspect-ratio-expected.png:
        * platform/chromium-mac/media/video-controls-rendering-expected.checksum:
        * platform/chromium-mac/media/video-controls-rendering-expected.png:
        * platform/chromium-mac/media/video-display-toggle-expected.checksum:
        * platform/chromium-mac/media/video-display-toggle-expected.png:
        * platform/chromium-mac/media/video-layer-crash-expected.checksum:
        * platform/chromium-mac/media/video-layer-crash-expected.png:
        * platform/chromium-mac/media/video-no-audio-expected.checksum:
        * platform/chromium-mac/media/video-no-audio-expected.png:
        * platform/chromium-mac/media/video-transformed-expected.checksum:
        * platform/chromium-mac/media/video-transformed-expected.png:
        * platform/chromium-mac/media/video-volume-slider-expected.checksum:
        * platform/chromium-mac/media/video-volume-slider-expected.png:
        * platform/chromium-mac/media/video-zoom-expected.checksum:
        * platform/chromium-mac/media/video-zoom-expected.png:
        * platform/chromium-win/media/controls-after-reload-expected.checksum:
        * platform/chromium-win/media/controls-after-reload-expected.png:
        * platform/chromium-win/media/controls-strict-expected.checksum:
        * platform/chromium-win/media/controls-strict-expected.png:
        * platform/chromium-win/media/video-aspect-ratio-expected.checksum:
        * platform/chromium-win/media/video-aspect-ratio-expected.png:
        * platform/chromium-win/media/video-controls-rendering-expected.checksum:
        * platform/chromium-win/media/video-controls-rendering-expected.png:
        * platform/chromium-win/media/video-display-toggle-expected.checksum:
        * platform/chromium-win/media/video-display-toggle-expected.png:
        * platform/chromium-win/media/video-layer-crash-expected.checksum:
        * platform/chromium-win/media/video-layer-crash-expected.png:
        * platform/chromium-win/media/video-no-audio-expected.checksum:
        * platform/chromium-win/media/video-no-audio-expected.png:
        * platform/chromium-win/media/video-transformed-expected.checksum:
        * platform/chromium-win/media/video-transformed-expected.png:
        * platform/chromium-win/media/video-volume-slider-expected.checksum:
        * platform/chromium-win/media/video-volume-slider-expected.png:

2010-04-16  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed. Build fix for chromium.

        [chromium] Add in new baselines for chromium-mac and chromium-win
        also since this test there as well.

        * platform/chromium-mac/fast/url/host-expected.txt: Copied from LayoutTests/platform/chromium-linux/fast/url/host-expected.txt.
        * platform/chromium-mac/fast/url/path-expected.txt: Copied from LayoutTests/platform/chromium-linux/fast/url/path-expected.txt.
        * platform/chromium-mac/fast/url/standard-url-expected.txt:
        * platform/chromium-win/fast/url/host-expected.txt: Copied from LayoutTests/platform/chromium-linux/fast/url/host-expected.txt.
        * platform/chromium-win/fast/url/path-expected.txt: Copied from LayoutTests/platform/chromium-linux/fast/url/path-expected.txt.
        * platform/chromium-win/fast/url/standard-url-expected.txt:

2010-04-16  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed. Build fix for chromium.

        [chromium] Add in new baselines for chromium-linux since this test
        fully passes on this platform.

        * platform/chromium-linux/fast/url/host-expected.txt: Added.
        * platform/chromium-linux/fast/url/path-expected.txt: Added.
        * platform/chromium-linux/fast/url/standard-url-expected.txt: Added.

2010-04-16  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=37718
        Safari crashes with certain JavaScript charCode events in EventHandler::needsKeyboardEventDisambiguationQuirks

        * fast/events/recorded-keydown-event-expected.txt: Added.
        * fast/events/recorded-keydown-event.html: Added.

2010-04-16  Adam Roben  <aroben@apple.com>

        Skip HTMLFrameSetElement-window-eventListener-attributes.html on SnowLeopard

        It is crashing sometimes. <http://webkit.org/b/37720> tracks investigating this.

        Rubber-stamped by Sam Weinig.

        * platform/mac-snowleopard/Skipped:

2010-04-16  Adam Roben  <aroben@apple.com>

        SKip xss-DENIED-mime-type-execute-as-html.html to see if it makes the
        http test stop timing out on Windows

        <http://webkit.org/b/37714> tracks this investigation.

        Rubber-stamped by Sam Weinig.

        * platform/win/Skipped:

2010-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57719.
        http://trac.webkit.org/changeset/57719
        https://bugs.webkit.org/show_bug.cgi?id=37708

        Broke 8 URL tests on Windows due to use of file:///tmp/ URLs,
        which don't work on Windows. (Requested by aroben on #webkit).

        * fast/url/anchor.html:
        * fast/url/file-expected.txt: Removed.
        * fast/url/file.html: Removed.
        * fast/url/ipv4.html:
        * fast/url/path-url.html:
        * fast/url/port.html:
        * fast/url/query.html:
        * fast/url/script-tests/TEMPLATE.html:
        * fast/url/script-tests/file.js: Removed.
        * fast/url/standard-url.html:
        * fast/url/trivial.html:

2010-04-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam Barth.

        Test file: URL canonicalization
        https://bugs.webkit.org/show_bug.cgi?id=37700

        * fast/url/script-tests/file.js: Added new test.
        * fast/url/file-expected.txt: Added (expected results).
        * fast/url/file.html: Added (wrapper).

        * fast/url/script-tests/TEMPLATE.html: Add an explicit dependable
        <base> URL to the template, to avoid making test expectations
        system dependent.
        
        Other test wrappers regenerated for the above change:

        * fast/url/anchor.html:
        * fast/url/ipv4.html:
        * fast/url/path-url.html:
        * fast/url/port.html:
        * fast/url/query.html:
        * fast/url/standard-url.html:
        * fast/url/trivial.html:

2010-04-15  Tony Chang  <tony@chromium.org>

        Not reviewed, trying to make the tree green.

        [qt] fast/url/hosts.html is failing, skip until someone can
        investigate.
        https://bugs.webkit.org/show_bug.cgi?id=37697

        * platform/qt/Skipped:

2010-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Jeremy Orlow.

        Clean up unicode URL tests cases
        https://bugs.webkit.org/show_bug.cgi?id=37678

        When we started writing these URL tests, I didn't understand how to
        handle the unicodes test cases properly.  With a bunch of help (and a
        pointer to http://rishida.net/tools/conversion/), I've fixed these to
        be more or less faithful to the original unit tests.

        * fast/url/anchor-expected.txt:
        * fast/url/query-expected.txt:
        * fast/url/script-tests/anchor.js:
        * fast/url/script-tests/query.js:
        * fast/url/script-tests/standard-url.js:
        * fast/url/script-tests/trivial.js:
            - Updated this test to use the shared implementations
            - Also, removed assumptions about the base URL.
        * fast/url/standard-url-expected.txt:
        * fast/url/trivial-expected.txt:

2010-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Jeremy Orlow.

        Add URL parsing tests for host names
        https://bugs.webkit.org/show_bug.cgi?id=37666

        * fast/url/host-expected.txt: Added.
        * fast/url/host.html: Added.
        * fast/url/script-tests/host.js: Added.

2010-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Jeremy Orlow.

        Add URL parsing tests for paths
        https://bugs.webkit.org/show_bug.cgi?id=37672

        * fast/url/path-expected.txt: Added.
        * fast/url/path.html: Added.
        * fast/url/script-tests/path.js: Added.

2010-04-15  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Index validation code validates too many vertex attributes
        https://bugs.webkit.org/show_bug.cgi?id=31892

        * fast/canvas/webgl/index-validation-expected.txt: Add new test cases for index validations.
        * fast/canvas/webgl/script-tests/index-validation.js: Ditto.

2010-04-15  Jian Li  <jianli@chromium.org>

        Unreviewed.

        Mark send-form-data-with-sliced-file.html as failed on Chromium Linux.

        * platform/chromium/test_expectations.txt:

2010-04-15  Dmitry Titov  <dimich@chromium.org>

        Unreviewed, rolling out r57688.
        http://trac.webkit.org/changeset/57688
        https://bugs.webkit.org/show_bug.cgi?id=34992

        Makes fast/workers/dedicated-worker-lifecycle.html crashing on all GTK bots

        * fast/workers/change-version-handle-reuse-worker-expected.txt: Removed.
        * fast/workers/change-version-handle-reuse-worker.html: Removed.
        * fast/workers/execute-sql-args-worker-expected.txt: Removed.
        * fast/workers/execute-sql-args-worker.html: Removed.
        * fast/workers/resources/database-worker-controller.js: Removed.
        * fast/workers/resources/database-worker.js: Removed.
        * storage/change-version-handle-reuse-expected.txt:
        * storage/change-version-handle-reuse.html:
        * storage/change-version-handle-reuse.js: Removed.
        * storage/execute-sql-args.html:
        * storage/execute-sql-args.js: Removed.

2010-04-15  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed.  Sheriffing.

        [Chromium] Build fix. Rebaseline these again since the fonts changed again.

        * platform/chromium-win/fast/backgrounds/svg-as-background-1-expected.checksum:
        * platform/chromium-win/fast/backgrounds/svg-as-background-1-expected.png:
        * platform/chromium-win/fast/backgrounds/svg-as-background-3-expected.checksum:
        * platform/chromium-win/fast/backgrounds/svg-as-background-3-expected.png:

2010-04-15  Jian Li  <jianli@chromium.org>

        Unreviewed.

        Updated Skipped list to use the right directory due to directory
        shuffling at r57695.

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

2010-04-15  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Support using FormData to send a sliced file via XHR.
        https://bugs.webkit.org/show_bug.cgi?id=36678

        Move common functionality to test sending FormData into a helper file
        so that it can be shared by FormData layout tests. 
        Also move the form data testing files to a new subdirectory formdata/.

        * http/tests/local/formdata/resources/send-form-data-common.js: Added.
        * http/tests/local/formdata/script-tests/TEMPLATE.html: Added.
        * http/tests/local/formdata/script-tests/send-form-data-with-sliced-file.js: Added.
        * http/tests/local/formdata/script-tests/send-form-data.js: Added.
        * http/tests/local/formdata/send-form-data-expected.txt: Renamed from LayoutTests/http/tests/local/send-form-data-expected.txt.
        * http/tests/local/formdata/send-form-data-with-sliced-file-expected.txt: Added.
        * http/tests/local/formdata/send-form-data-with-sliced-file.html: Added.
        * http/tests/local/formdata/send-form-data.html: Added.
        * http/tests/local/resources/send-form-data.js: Removed.
        * http/tests/local/send-form-data.html: Removed.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-04-15  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Must enable GL_VERTEX_PROGRAM_POINT_SIZE during initialization
        https://bugs.webkit.org/show_bug.cgi?id=37178

        * fast/canvas/webgl/point-size-expected.txt: Added.
        * fast/canvas/webgl/point-size.html: Added.

2010-04-15  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by Dmitry Titov.

        Add bindings for async DB API in Workers.
        https://bugs.webkit.org/show_bug.cgi?id=34992

        * storage/change-version-handle-reuse.html: Refactored to share code with the worker version of the test.
        * storage/change-version-handle-reuse-expected.html: Removed reference to reloading, which this test doesn't do.
        * storage/change-version-handle-reuse.js: This is the extracted shared core of the test.
        * storage/execute-sql-args.html: Refactored to share code with the worker version of the test.
        * storage/execute-sql-args.js: This is the extracted shared core of the test.

        These are the worker versions of the tests; they're tiny shims around shared code.
        * fast/workers/execute-sql-args-worker-expected.txt: Added.
        * fast/workers/execute-sql-args-worker.html: Added.
        * fast/workers/change-version-handle-reuse-worker-expected.txt: Added.
        * fast/workers/change-version-handle-reuse-worker.html: Added.
        This file gets included from worker database tests; it does all the boilerplate that's needed on the DOM side.
        * fast/workers/resources/database-worker-controller.js: Added.
        This file is the boilerplate for the worker side of the database tests.  It will import and run the actual test on command, and will report back completion and exceptions.
        * fast/workers/resources/database-worker.js: Added.

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

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=37494
        <rdar://problem/7857060> REGRESSION (r57340): fast/events/mouse-drag-from-frame-to-other-frame.html
        fails on Windows

        * platform/win/fast/events/mouse-drag-from-frame-to-other-frame-expected.txt: Removed.

2010-04-15  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed.

        Layout test fix for new test that works differently on leopard v. snow leopard.

        AXHelp is being appended from ancestors incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=37659

        * platform/mac/accessibility/unexpected-help-text-expected.txt:
        * platform/mac/accessibility/unexpected-help-text.html:

2010-04-15  Albert J. Wong  <ajwong@chromium.org>

        Not reviewed, sheriffing.

        [Chromium] Update chromium layout tests expecataions with new baselines. Remove expectations for some tests that seem to be passing now.

        * platform/chromium-win/fast/backgrounds/svg-as-background-1-expected.checksum:
        * platform/chromium-win/fast/backgrounds/svg-as-background-1-expected.png:
        * platform/chromium-win/fast/backgrounds/svg-as-background-3-expected.checksum:
        * platform/chromium-win/fast/backgrounds/svg-as-background-3-expected.png:
        * platform/chromium/test_expectations.txt:

2010-04-15  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AXHelp is being appended from ancestors incorrectly
        https://bugs.webkit.org/show_bug.cgi?id=37659

        * platform/mac/accessibility/table-attributes-expected.txt:
        * platform/mac/accessibility/table-sections-expected.txt:
             Update tests because they were wrong. AXCells should not have their AXHelp come from the AXTable.
        * platform/mac/accessibility/unexpected-help-text-expected.txt: Added.
        * platform/mac/accessibility/unexpected-help-text.html: Added.

2010-04-15  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        [v8] mark Array.prototype.sort tests which verify if sorting is stable as passing for Chromium
        https://bugs.webkit.org/show_bug.cgi?id=37655

        * platform/chromium/test_expectations.txt:

2010-04-15  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Beth Dakin.

        RenderSVGResource <-> id mapping should be cached
        https://bugs.webkit.org/show_bug.cgi?id=37575

        * platform/mac/svg/custom/clip-path-id-changes-expected.checksum: Added.
        * platform/mac/svg/custom/clip-path-id-changes-expected.png: Added.
        * platform/mac/svg/custom/clip-path-id-changes-expected.txt: Added.
        * svg/custom/clip-path-id-changes.svg: Added.

2010-04-15  Anton Muhin   <antonm@chromium.org>

        Not reviewed, sheriffing.

        [Chromium] rebaseline URL related tests: update expectations for Win and Mac.

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

        * platform/chromium-mac/fast/url/mailto-expected.txt: Added.
        * platform/chromium-mac/fast/url/scheme-expected.txt: Added.
        * platform/chromium-win/fast/url/mailto-expected.txt: Added.
        * platform/chromium-win/fast/url/scheme-expected.txt: Added.

2010-04-15  Anton Muhin   <antonm@chromium.org>

        Not reviewed, sheriffing.

        [Chromium] rebaseline svg/custom/path-bad-data.svg after http://trac.webkit.org/changeset/57591/

        http://trac.webkit.org/changeset/57591://bugs.webkit.org/show_bug.cgi?id=37657 

        * platform/chromium-linux/svg/custom/path-bad-data-expected.checksum:
        * platform/chromium-linux/svg/custom/path-bad-data-expected.png:
        * platform/chromium-win/svg/custom/path-bad-data-expected.checksum:
        * platform/chromium-win/svg/custom/path-bad-data-expected.png:
        * platform/chromium-win/svg/custom/path-bad-data-expected.txt:

2010-04-15  Anton Muhin   <antonm@chromium.org>

        Not reviewed, sheriffing.

        [Chromium] rebaseline fast/repaint/fixed-tranformed.html after
        http://trac.webkit.org/changeset/57633/

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

        * platform/chromium-linux/fast/repaint/fixed-tranformed-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/fixed-tranformed-expected.png: Added.
        * platform/chromium-mac/fast/repaint/fixed-tranformed-expected.checksum: Added.
        * platform/chromium-mac/fast/repaint/fixed-tranformed-expected.png: Added.
        * platform/chromium-win-xp/fast/repaint: Added.
        * platform/chromium-win-xp/fast/repaint/fixed-tranformed-expected.png: Added.
        * platform/chromium-win/fast/repaint/fixed-tranformed-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/fixed-tranformed-expected.png: Added.

2010-04-15  Anton Muhin   <antonm@chromium.org>

        Not reviewed, sheriffing.

        Rebaseline some recently added LayoutTests under fast/url.

        * platform/chromium-linux/fast/url: Added.
        * platform/chromium-linux/fast/url/mailto-expected.txt: Added.
        * platform/chromium-linux/fast/url/scheme-expected.txt: Added.
        * platform/chromium-mac/fast/url: Added.
        * platform/chromium-mac/fast/url/ipv6-expected.txt: Added.
        * platform/chromium-mac/fast/url/path-url-expected.txt: Added.
        * platform/chromium-mac/fast/url/port-expected.txt: Added.
        * platform/chromium-mac/fast/url/standard-url-expected.txt: Added.
        * platform/chromium-win/fast/url: Added.
        * platform/chromium-win/fast/url/ipv6-expected.txt: Added.
        * platform/chromium-win/fast/url/path-url-expected.txt: Added.
        * platform/chromium-win/fast/url/port-expected.txt: Added.
        * platform/chromium-win/fast/url/standard-url-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

2010-04-15  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Adam Barth.

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

        Add mailto: canonicalization tests to the URL regressions tests

        * fast/url/mailto-expected.txt: Added.
        * fast/url/mailto.html: Added.
        * fast/url/script-tests/mailto.js: Added.

2010-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Add URL scheme parsing tests
        https://bugs.webkit.org/show_bug.cgi?id=37496

        I'm not super happy with how these test turned out.  It's difficult to
        test these cases with this methodology because most of the cases get
        treated as relative URLs.  I tired using the "protocol" property of the
        HTMLAnchorElement, but that often caused the test case to be ignored
        for reasons I don't fully understand.

        * fast/url/resources/utilities.js:
        (setBaseURL):
          - In the course of trying various variations of this test, I wrote
            this function.  It seemed useful, so I left it here for the benefit
            of future test writing.
        * fast/url/scheme-expected.txt: Added.
        * fast/url/scheme.html: Added.
        * fast/url/script-tests/scheme.js: Added.

2010-04-15  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Fisher.

        Add comments back to IPv4 URL parsing test
        https://bugs.webkit.org/show_bug.cgi?id=37620

        I removed these comments when importing this test.  The comments are
        likley to be helpful to us in the future, so I've restored them.

        * fast/url/script-tests/ipv4.js:

2010-04-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Repaint of fixed, transformed element is broken
        https://bugs.webkit.org/show_bug.cgi?id=37637

        Testcase for repainting a fixed-position elemnt with a transform in a
        scrolled page.
        
        * fast/repaint/fixed-tranformed.html: Added.
        * platform/mac/fast/repaint/fixed-tranformed-expected.checksum: Added.
        * platform/mac/fast/repaint/fixed-tranformed-expected.png: Added.
        * platform/mac/fast/repaint/fixed-tranformed-expected.txt: Added.

2010-04-14  Luiz Agostini  <luiz.agostini@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Changing view mode names due to specification changes
        https://bugs.webkit.org/show_bug.cgi?id=37615

        specification: http://dev.w3.org/2006/waf/widgets-vmmf/

        * fast/media/media-feature-wgt-view-mode.html:

2010-04-14  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Fix frame/iframe src setting for JavaScript URLs
        https://bugs.webkit.org/show_bug.cgi?id=37031

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
        * http/tests/security/xss-DENIED-iframe-src-alias.html:

2010-04-14  Xan Lopez  <xlopez@igalia.com>

        [GTK] scrollbars/scrollbar-crash-on-refresh.html is flakey on debug bots 
        https://bugs.webkit.org/show_bug.cgi?id=37623

        We are on a mission here, people.

        * platform/gtk/Skipped:

2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57609.
        http://trac.webkit.org/changeset/57609
        https://bugs.webkit.org/show_bug.cgi?id=37614

        "Broke multiple builders.  Probably needs new test results,
        but may be an Inspector bug." (Requested by eseidel on
        #webkit).

        * inspector/console-resource-errors-expected.txt: Removed.
        * inspector/console-resource-errors.html: Removed.

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping fast/workers/shared-worker-frame-lifecycle.html
        https://bugs.webkit.org/show_bug.cgi?id=37616

        * platform/gtk/Skipped:

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping printing, I've duplicated the other printing bugs and
        left this one.
        https://bugs.webkit.org/show_bug.cgi?id=37613

        * platform/gtk/Skipped:

2010-04-14  Andrey Kosyakov  <caseq@chromium.ru>

        Reviewed by Timothy Hatcher.

        Log error message to inspector console if a resource fails to load.
        Disable checking of mime-type consistency for failed resources.
        https://bugs.webkit.org/show_bug.cgi?id=37215

        * inspector/console-resource-errors-expected.txt: Added.
        * inspector/console-resource-errors.html: Added.

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping inspector/timeline-layout.html fails
        https://bugs.webkit.org/show_bug.cgi?id=37611

        * platform/gtk/Skipped:

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping printing/page-break-always.html
        https://bugs.webkit.org/show_bug.cgi?id=37607

        * platform/gtk/Skipped:

2010-04-14  Adam Roben  <aroben@apple.com>

        Skip xss-DENIED-iframe-src-alias.html on Windows

        I thought that skipping this test was causing other http tests to time
        out, but Brian Weinstein pointed out that the timing-out tests come
        before this one so shouldn't be affected by it.

        <http://webkit.org/b/37096> tracks making this test not time out.

        Rubber-stamped by Brian Weinstein.

        * platform/win/Skipped:

2010-04-14  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        Add tests for ipv6 address canonicalization.
        https://bugs.webkit.org/show_bug.cgi?id=37583

        * fast/url/ipv6-expected.txt: Added.
        * fast/url/ipv6.html: Added.
        * fast/url/script-tests/ipv6.js: Added.

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping printing/page-break-always-for-overflow.html
        https://bugs.webkit.org/show_bug.cgi?id=37592

        * platform/gtk/Skipped:

2010-04-14  Jeff Schiller  <codedread@gmail.com>

        Reviewed by Dirk Schulze.

        Update path parser test for Bug 37413: https://bugs.webkit.org/show_bug.cgi?id=37413
        now that all path segments render up until the first error

        * platform/mac/svg/custom/path-bad-data-expected.txt: updated path segments that render
        * svg/custom/path-bad-data.svg: updated test to ensure reference image is the same
        * svg/dom/fuzz-path-parser-expected.txt: updated path segments that render
        * svg/dom/path-parser-expected.txt: updated path segments that render
        * svg/dom/script-tests/path-parser.js: changed expected results for path segments that render
        ():

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping printing/numberOfPages.html
        https://bugs.webkit.org/show_bug.cgi?id=37585

        * platform/gtk/Skipped:

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

        Reviewed by Darin Fisher.

        Add port URL tests
        https://bugs.webkit.org/show_bug.cgi?id=37524

        This went pretty well.

        * fast/url/port-expected.txt: Added.
        * fast/url/port.html: Added.
        * fast/url/script-tests/port.js: Added.

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

        Reviewed by Darin Fisher.

        Add LayoutTests for parsing "path" URLs
        https://bugs.webkit.org/show_bug.cgi?id=37581

        * fast/url/path-url-expected.txt: Added.
        * fast/url/path-url.html: Added.
        * fast/url/script-tests/path-url.js: Added.

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

        Reviewed by Darin Fisher.

        Add LayoutTests for parsing standard URLs
        https://bugs.webkit.org/show_bug.cgi?id=37580

        * fast/url/script-tests/standard-url.js: Added.
        * fast/url/standard-url-expected.txt: Added.
        * fast/url/standard-url.html: Added.

2010-04-14  Adam Roben  <aroben@apple.com>

        Roll out r57566

        It seems to have caused other http tests to hang on Windows.

        * platform/win/Skipped:

2010-04-14  Anton Muhin   <antonm@chromium.org>

        Reviewed by David Levin.

        Skip some and add test expectations for other layout tests which started to fail
        against Chromium after  http://trac.webkit.org/changeset/57535/

        * platform/chromium/test_expectations.txt:

2010-04-14  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Skipping another crash on the 64bit Gtk slave.

        * platform/gtk/Skipped:

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping plugins/open-and-close-window-with-plugin.html
        https://bugs.webkit.org/show_bug.cgi?id=37572

        Skipping media/video-played-ranges-1.html
        https://bugs.webkit.org/show_bug.cgi?id=37573

        * platform/gtk/Skipped:

2010-04-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57573.
        http://trac.webkit.org/changeset/57573
        https://bugs.webkit.org/show_bug.cgi?id=37569

        Revert r57573 which unskipped http/tests/media/video-
        cookie.html on SnowLeopard Intel Release (Tests). Let's get a
        core builder back to green again. (Requested by WildFox on
        #webkit).

        * platform/mac/Skipped:

2010-04-14  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        readPixels must take PACK_ALIGNMENT into account
        https://bugs.webkit.org/show_bug.cgi?id=34718

        * fast/canvas/webgl/read-pixels-expected.txt: Verify pixelStorei and readPixels.
        * fast/canvas/webgl/read-pixels.html: Ditto.

2010-04-14  Nicolas Weber  <thakis@chromium.org>

        Reviewed by Gustavo Noronha Silva.

        Remove passing test from Skipped list.
        https://bugs.webkit.org/show_bug.cgi?id=34287

        * platform/mac/Skipped:
        video-cookie.html seems to be passing, so remove it from Skipped list.

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping media/audio-data-url.html
        https://bugs.webkit.org/show_bug.cgi?id=37564

        * platform/gtk/Skipped:

2010-04-14  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping plugins/update-widgets-crash.html
        https://bugs.webkit.org/show_bug.cgi?id=37562

        * platform/gtk/Skipped:

2010-04-13  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping media/video-seeking.html
        https://bugs.webkit.org/show_bug.cgi?id=37551

        Skipping media/video-timeupdate-reverse-play.html
        https://bugs.webkit.org/show_bug.cgi?id=37552

        Skipping media/video-played-reset.html
        https://bugs.webkit.org/show_bug.cgi?id=37556

        Skipping http/tests/misc/image-blocked-src-change.html
        https://bugs.webkit.org/show_bug.cgi?id=37557

        Skipping inspector/console-clear.html
        https://bugs.webkit.org/show_bug.cgi?id=37558

        Skipping inspector/console-format-collections.html
        https://bugs.webkit.org/show_bug.cgi?id=37559

        Skipping svg/dom/SVGScriptElement/script-set-href.svg
        https://bugs.webkit.org/show_bug.cgi?id=37560

        * platform/gtk/Skipped:

2010-04-13  Alejandro G. Castro  <alex@igalia.com>

        Rubber-stamped by Xan Lopez.

        Skipping svg/custom/use-instanceRoot-as-event-target.xhtml
        https://bugs.webkit.org/show_bug.cgi?id=37544

        Skipping plugins/setProperty.html
        https://bugs.webkit.org/show_bug.cgi?id=37545

        Skipping media/audio-delete-while-slider-thumb-clicked.html
        https://bugs.webkit.org/show_bug.cgi?id=37546

        Skipping media/video-currentTime-set2.html
        https://bugs.webkit.org/show_bug.cgi?id=37547

        Skipping media/video-seekable.html
        https://bugs.webkit.org/show_bug.cgi?id=37548

        Skipping media/video-currentTime-set.html
        https://bugs.webkit.org/show_bug.cgi?id=37549

        Skipping fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
        https://bugs.webkit.org/show_bug.cgi?id=37550

        Skipping media/video-seeking.html
        https://bugs.webkit.org/show_bug.cgi?id=37551

        Skipping media/video-timeupdate-reverse-play.html
        https://bugs.webkit.org/show_bug.cgi?id=37552

        * platform/gtk/Skipped:

2010-04-13  Adam Roben  <aroben@apple.com>

        Skip xss-DENIED-iframe-src-alias.html on Windows

        <http://webkit.org/b/37096> tracks making this test not time out.

        Reviewed by Eric Seidel.

        * platform/win/Skipped:

2010-04-13  Adam Roben  <aroben@apple.com>

        Update Windows results for text-control-intrinsic-widths.html

        <http://webkit.org/b/37091> tracks deciding whether these results are
        better than the previous ones or not.

        Reviewed by Eric Seidel.

        * platform/win/fast/forms/text-control-intrinsic-widths-expected.txt:

2010-04-13  Adam Roben  <aroben@apple.com>

        Add Windows failing results for mouse-drag-from-frame-to-other-frame.html

        <http://webkit.org/b/37494> tracks fixing this test.

        Reviewed by Eric Seidel.

        * platform/win/fast/events/mouse-drag-from-frame-to-other-frame-expected.txt: Added.

2010-04-13  Adam Roben  <aroben@apple.com>

        Add Windows failing results for font-face-opentype.html

        <http://webkit.org/b/37089> tracks fixing this test.

        Reviewed by Eric Seidel.

        * platform/win/fast/css/font-face-opentype-expected.txt: Added.

2010-04-13  Darin Fisher  <darin@chromium.org>

        Update skipped lists for failing tests:
        fast/loader/frame-src-change-not-added-to-history.html
        fast/loader/frame-location-change-not-added-to-history.html

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

2010-04-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Oliver Hunt.

        Fix a potential integer overflow in WebGL*Array::slice()
        https://bugs.webkit.org/show_bug.cgi?id=37466

        * fast/canvas/webgl/array-unit-tests-expected.txt: Add tests that would cause overflow without this fix, but work fine with this fix.
        * fast/canvas/webgl/array-unit-tests.html: Ditto.

2010-04-13  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        If the browsing context's session history contains only one Document,
        and that was the about:blank Document created when the browsing context
        was created, then the navigation must be done with replacement enabled.

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

        * fast/loader/frame-location-change-not-added-to-history-expected.txt: Added.
        * fast/loader/frame-location-change-not-added-to-history.html: Added.
        * fast/loader/frame-src-change-added-to-history-expected.txt:
        * fast/loader/frame-src-change-not-added-to-history-expected.txt: Added.
        * fast/loader/frame-src-change-not-added-to-history.html: Added.

2010-04-13  Mark Rowe  <mrowe@apple.com>

        Update the test results after r57544.

        * http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers-expected.txt:

2010-04-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Skipping fast/js/kde/string-1-n.html,
        See https://bugs.webkit.org/show_bug.cgi?id=37532

        Skipping fast/js/kde/string-2-n.html.
        https://bugs.webkit.org/show_bug.cgi?id=37534

        Skipping inspector/console-format.html
        https://bugs.webkit.org/show_bug.cgi?id=37535

        Skipping media/video-reverse-play-duration.html
        https://bugs.webkit.org/show_bug.cgi?id=37536

        Skipping plugins/round-trip-npobject.html
        https://bugs.webkit.org/show_bug.cgi?id=37537

        Skipping svg/custom/use-on-clip-path-with-transformation.svg
        https://bugs.webkit.org/show_bug.cgi?id=37539

        Skipping http/tests/security/xss-DENIED-mime-type-execute-as-html.html
        https://bugs.webkit.org/show_bug.cgi?id=37540

        * platform/gtk/Skipped:

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

        [Qt] Unreviewed fix, update platform specific expected file after r57534.

        * platform/qt/fast/dom/prototype-inheritance-expected.txt: updated.

2010-04-13  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Darin Fisher.

        Added test for forcing UTF-8 charset.
        https://bugs.webkit.org/show_bug.cgi?id=34653

        * http/tests/xmlhttprequest/request-encoding2-expected.txt: Added.
        * http/tests/xmlhttprequest/request-encoding2.html: Added.

2010-04-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Skipping more new tests, we still do not have results. Remove test
        that does not exist anymore:
        svg/custom/clip-path-display-none-child.svg

        * platform/gtk/Skipped:

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

        [Qt] Skip new test introduced in r57530, because of
        missing layoutTestController.evaluateScriptInIsolatedWorld()

        * platform/qt/Skipped:
         - storage/statement-error-callback-isolated-world.html skipped.
         - storage/statement-success-callback-isolated-world.html skipped.
         - storage/transaction-callback-isolated-world.html skipped.
         - storage/transaction-error-callback-isolated-world.html skipped.

2010-04-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Skipping fast/history/multiple-classes-visited.html test,
        See https://bugs.webkit.org/show_bug.cgi?id=37526

        * platform/gtk/Skipped:

2010-04-13  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        Skipping new tests, we still do not have results.

        * platform/gtk/Skipped:

2010-04-12  Timothy Hatcher  <timothy@apple.com>

        SecurityOrigin needs a way to remove individual OriginAccessEntries
        https://bugs.webkit.org/show_bug.cgi?id=37449

        Reviewed by Dave Hyatt.

        * http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt: Added.
        * http/tests/xmlhttprequest/origin-whitelisting-removal.html: Added.
        * platform/gtk/Skipped: Added origin-whitelisting-removal.html.
        * platform/qt/Skipped: Ditto.

2010-04-13  Timothy Hatcher  <timothy@apple.com>

        Rename LayoutTestController.whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.

        SecurityOrigin needs a way to remove individual OriginAccessEntries
        https://bugs.webkit.org/show_bug.cgi?id=37449

        Reviewed by Dave Hyatt.

        * http/tests/security/local-image-from-remote-whitelisted-expected.txt:
        * http/tests/security/local-image-from-remote-whitelisted.html:
        * http/tests/xmlhttprequest/origin-whitelisting-all.html:
        * http/tests/xmlhttprequest/origin-whitelisting-exact-match.html:
        * http/tests/xmlhttprequest/origin-whitelisting-https.html:
        * http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html:
        * http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html:
        * http/tests/xmlhttprequest/origin-whitelisting-subdomains.html:

2010-04-13  John Gregg  <johnnyg@google.com>

        Reviewed by David Levin.

        As part of enabling notifications layout tests for chromium,
        exclude it from prototype-inheritance as it is not provided
        on all implementations.  
        https://bugs.webkit.org/show_bug.cgi?id=37520

        * fast/dom/script-tests/prototype-inheritance.js:

2010-04-13  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Adam Barth.

        Test that the HTML5 DB callbacks run in the correct context.
        https://bugs.webkit.org/show_bug.cgi?id=27698

        * storage/statement-error-callback-isolated-world-expected.txt: Added.
        * storage/statement-error-callback-isolated-world.html: Added.
        * storage/statement-success-callback-isolated-world-expected.txt: Added.
        * storage/statement-success-callback-isolated-world.html: Added.
        * storage/transaction-callback-isolated-world-expected.txt: Added.
        * storage/transaction-callback-isolated-world.html: Added.
        * storage/transaction-error-callback-isolated-world-expected.txt: Added.
        * storage/transaction-error-callback-isolated-world.html: Added.

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

        [Qt] Unreviewed fix, platform specific expected file updated after r57511.

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

2010-04-13  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        <clipPath> doesn't correctly handle <text> elements
        https://bugs.webkit.org/show_bug.cgi?id=12571

        33 new Tests for SVG's clip-path. Test behavior of different clip objects
        like text as well as different clip rules.
        Other older tests are rendered correctly now.

        * 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-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * platform/mac/svg/batik/text/textEffect2-expected.checksum:
        * platform/mac/svg/batik/text/textEffect2-expected.png:
        * platform/mac/svg/batik/text/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.checksum:
        * platform/mac/svg/batik/text/textProperties-expected.png:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/clip-path: Added.
        * platform/mac/svg/clip-path/clip-path-child-clipped-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-child-clipped-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-child-clipped-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-childs-clipped-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-childs-clipped-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-childs-clipped-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-evenodd-twice-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-evenodd-twice-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-evenodd-twice-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-no-content-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-nonzero-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-nonzero-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-clipped-nonzero-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-evenodd-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-evenodd-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-evenodd-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-evenodd-nonzero-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-nonzero-evenodd-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-nonzero-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-nonzero-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-nonzero-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-objectBoundingBox-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-objectBoundingBox-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-objectBoundingBox-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-on-clipped-use-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-on-clipped-use-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-on-clipped-use-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-on-g-and-child-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-on-g-and-child-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-on-g-and-child-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-on-g-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-on-g-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-on-g-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-on-svg-and-child-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-on-svg-and-child-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-on-svg-and-child-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-on-svg-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-on-svg-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-on-svg-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-recursive-call-by-child-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-recursive-call-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-recursive-call-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-recursive-call-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-text-and-shape-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-text-and-shape-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-text-and-shape-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-text-and-stroke-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-text-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-text-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-text-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child2-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child2-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child2-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child3-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child3-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child3-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child4-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child4-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child4-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child5-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child5-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-use-as-child5-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-userSpaceOnUse-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-userSpaceOnUse-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-userSpaceOnUse-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-with-container-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-with-container-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-with-container-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes2-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes2-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-with-different-unittypes2-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-with-invisibile-child-expected.txt: Added.
        * platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.checksum: Added.
        * platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.png: Added.
        * platform/mac/svg/clip-path/clip-path-with-text-clipped-expected.txt: Added.
        * platform/mac/svg/custom/clip-path-child-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-href-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-units-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-with-transform-expected.txt:
        * platform/mac/svg/custom/use-on-clip-path-with-transformation-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.checksum:
        * svg/clip-path: Added.
        * svg/clip-path/clip-path-child-clipped.svg: Added.
        * svg/clip-path/clip-path-childs-clipped.svg: Added.
        * svg/clip-path/clip-path-clipped-evenodd-twice.svg: Added.
        * svg/clip-path/clip-path-clipped-no-content.svg: Added.
        * svg/clip-path/clip-path-clipped-nonzero.svg: Added.
        * svg/clip-path/clip-path-clipped.svg: Added.
        * svg/clip-path/clip-path-evenodd-nonzero.svg: Added.
        * svg/clip-path/clip-path-evenodd.svg: Added.
        * svg/clip-path/clip-path-nonzero-evenodd.svg: Added.
        * svg/clip-path/clip-path-nonzero.svg: Added.
        * svg/clip-path/clip-path-objectBoundingBox.svg: Added.
        * svg/clip-path/clip-path-on-clipped-use.svg: Added.
        * svg/clip-path/clip-path-on-g-and-child.svg: Added.
        * svg/clip-path/clip-path-on-g.svg: Added.
        * svg/clip-path/clip-path-on-svg-and-child.svg: Added.
        * svg/clip-path/clip-path-on-svg.svg: Added.
        * svg/clip-path/clip-path-recursive-call-by-child.svg: Added.
        * svg/clip-path/clip-path-recursive-call.svg: Added.
        * svg/clip-path/clip-path-text-and-shape.svg: Added.
        * svg/clip-path/clip-path-text-and-stroke.svg: Added.
        * svg/clip-path/clip-path-text.svg: Added.
        * svg/clip-path/clip-path-use-as-child.svg: Added.
        * svg/clip-path/clip-path-use-as-child2.svg: Added.
        * svg/clip-path/clip-path-use-as-child3.svg: Added.
        * svg/clip-path/clip-path-use-as-child4.svg: Added.
        * svg/clip-path/clip-path-use-as-child5.svg: Added.
        * svg/clip-path/clip-path-userSpaceOnUse.svg: Added.
        * svg/clip-path/clip-path-with-container.svg: Added.
        * svg/clip-path/clip-path-with-different-unittypes.svg: Added.
        * svg/clip-path/clip-path-with-different-unittypes2.svg: Added.
        * svg/clip-path/clip-path-with-invisibile-child.svg: Added.
        * svg/clip-path/clip-path-with-text-clipped.svg: Added.
        * svg/custom/clip-path-display-none-child.svg: Removed.

2010-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Checksum of svg/filters/filterRes.svg was not updated properly after rebasing.
        It's only visible when using "run-webkit-tests --tolerance 0 -p svg"

        * platform/mac/svg/filters/filterRes-expected.checksum:

2010-04-13  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, adding another fast/url/ test to Chromium's
        test_expectations.txt.

        * platform/chromium/test_expectations.txt:

2010-04-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Finish IPv4 URL parsing test
        https://bugs.webkit.org/show_bug.cgi?id=37493

        I rushed the first version of this test because I wanted to get the
        framework in the tree for other folks to work on the other tests.  The
        expected.txt file matches KURL but the PASS/FAIL indiciations match
        GURL.

        * fast/url/ipv4-expected.txt:
        * fast/url/script-tests/ipv4.js:

2010-04-12  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

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

        Implements the anchor tests from <http://code.google.com/p/google-url/source/browse/trunk/src/url_canon_unittest.cc#1102>.

        * fast/url/anchor-expected.txt: Added.
        * fast/url/anchor.html: Added.
        * fast/url/script-tests/anchor.js: Added.

2010-04-12  Daniel Bates  <dbates@rim.com>

        Reviewed by Adam Barth.

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

        Implements all of the non-encoding specific query string tests from
        <http://code.google.com/p/google-url/source/browse/trunk/src/url_canon_unittest.cc#1016>.

        Also, moved JavaScript function canonicalize to external JavaScript
        script /resources/utilities.js since this function is being called
        by tests ipv4.html, query.html, and trivial.html.

        * fast/url/ipv4.html:
        * fast/url/query-expected.txt: Added.
        * fast/url/query.html: Added.
        * fast/url/resources: Added.
        * fast/url/resources/utilities.js: Added.
        (canonicalize):
        * fast/url/script-tests/TEMPLATE.html: Include external JavaScript script resources/utilities.js.
        * fast/url/script-tests/query.js: Added.
        * fast/url/trivial.html:

2010-04-12  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, skipping two tests on Chromium because they fail.

        * platform/chromium/test_expectations.txt:

2010-04-12  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial Navigation: make renderRectRelativeToRootDocument method to fallback to getRect() of Element when needed
        https://bugs.webkit.org/show_bug.cgi?id=37461

        * fast/events/spatial-navigation/snav-simple-content-overflow-expected.txt: Added.
        * fast/events/spatial-navigation/snav-simple-content-overflow.html: Added.


2010-04-08  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Accessibility support for progress element
        https://bugs.webkit.org/show_bug.cgi?id=37275

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

2010-04-12  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, fixing a test that started failing with r57492.

        * storage/open-database-over-quota.html:

2010-04-12  Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Seidel.

        Add stub files for running new-run-webkit-tests for the Qt port

        * platform/qt/test_expectations.txt: Added.

2010-04-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Jeremy Orlow.

        Add some ip4v tests (will revise in a minute)
        https://bugs.webkit.org/show_bug.cgi?id=37476

        * fast/url/ipv4-expected.txt: Added.
        * fast/url/ipv4.html: Added.
        * fast/url/script-tests/ipv4.js: Added.
        * fast/url/script-tests/trivial.js:
        (canonicalize):
        * fast/url/trivial-expected.txt:

2010-04-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Maciej Stachowiak.

        Add a trivial test for URL parsing
        https://bugs.webkit.org/show_bug.cgi?id=37475

        Hopefully this will be the starting point for many URL tests.

        * fast/url/script-tests/TEMPLATE.html: Added.
        * fast/url/script-tests/trivial.js: Added.
        (canonicalize):
        * fast/url/trivial-expected.txt: Added.
        * fast/url/trivial.html: Added.

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

        Unreviewed.

        Add stub Gtk implementation for new-run-webkit-tests.

        * platform/gtk/test_expectations.txt: Copied from LayoutTests/animations/resources/dynamic-stylesheet-insertion-inserted.css.

2010-04-12  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Gustavo Noronha.

        [Gtk] LayoutTests/platform/gtk/Skipped clean up
        https://bugs.webkit.org/show_bug.cgi?id=37465

        * platform/gtk/Skipped: Clean up needed after r57289 and r57292.

2010-04-12  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, skipping a new test on Chromium, because the test is
        using an API that is not yet implemented in Chromium.

        * platform/chromium/test_expectations.txt:

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

        [Qt] Skip new test introduced in r57476, because of unimplemented
        layoutTestController.computedStyleIncludingVisitedInfo()

        * platform/qt/Skipped: fast/history/multiple-classes-visited.html skipped.

2010-04-12  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=37455, :visited doesn't work with multiple classes/ids.

        * fast/history/multiple-classes-visited-expected.txt: Added.
        * fast/history/multiple-classes-visited.html: Added.

2010-04-12  Jeff Schiller  <codedread@gmail.com>

        Reviewed by Dirk Schulze.

        Add tests to handle that comma/whitespace around arc flags are optional
        and that arc flags can only be 0 or 1 in SVG path syntax: 
        https://bugs.webkit.org/show_bug.cgi?id=37431

        * svg/dom/fuzz-path-parser-expected.txt: One test now fails due to flags not 0 or 1
        * svg/dom/path-parser-expected.txt: Add test results for missing whitespace and flags not 0 or 1
        * svg/dom/script-tests/path-parser.js: Add 6 tests to check that whitespace is optional after flags and flags must be 0 or 1

2010-04-11  Tony Chang  <tony@chromium.org>

        Not reviewed, layout test fix for QT bots.

        Update paste expected results on QT and skip a new d&d test.

        * platform/qt/Skipped:
        * platform/qt/editing/pasteboard/onpaste-text-html-expected.txt: Added.

2010-04-11  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] implement getData('text/html') for paste and drop events
        https://bugs.webkit.org/show_bug.cgi?id=37193

        * editing/pasteboard/onpaste-text-html-expected.txt: Added.
        * editing/pasteboard/onpaste-text-html.html: Added.
        * fast/events/ondrop-text-html-expected.txt: Added.
        * fast/events/ondrop-text-html.html: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/win/Skipped:

2010-04-11  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Add setWillSendRequestReturnsNull and setWillSendRequestClearHeader

        Unskip:
          http/tests/security/no-referrer.html
          fast/loader/onload-willSendRequest-null-for-frame.html
          fast/loader/onload-willSendRequest-null-for-script.html

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

        * platform/qt/Skipped:

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

        Reviewed by Eric Seidel.

        Fix bugs to make new-run-webkit-tests almost run on windows
        https://bugs.webkit.org/show_bug.cgi?id=37400

        Add an empty test expectations file.  I'm not sure whether we'll use
        this one or make a common one for each port.  However, as written, this
        file is requires to run new-run-webkit-tests on Windows.

        * platform/win/test_expectations.txt: Added.

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

        Rubber-stamped by Eric Seidel.

        Add slow expectations based on webkit-dev discussion.

        * platform/mac/test_expectations.txt:

2010-04-10  Robert Hogan  <robert@webkit.org>

        Unreviewed fix to regressions in r57416.

        [Qt] Fix regressions in http/tests/navigation from r57416

        Unskip tests skipped after regression in r57416.

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

        * platform/qt/Skipped:

2010-04-10  Robert Hogan  <robert@webkit.org>

        Unreviewed fix to regressions from r57416.

        Add expected results missing from r57416

        Skip 2 tests that now fail.

        http/tests/navigation/postredirect-reload.html
        http/tests/navigation/redirect302-basic.html

        These regressions will be worked under:
        https://bugs.webkit.org/show_bug.cgi?id=37237

        * platform/qt/Skipped:
        * platform/qt/http/tests/misc/window-dot-stop-expected.txt: Added.
        * platform/qt/http/tests/xmlhttprequest/abort-should-cancel-load-expected.txt: Added.

2010-04-11  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Update layoutTestController.DumpResourceLoadCallbacks to match other ports.

        Unskip  http/tests/xmlhttprequest/abort-should-cancel-load.html
                http/tests/misc/will-send-request-returns-null-on-redirect.html
                fast/loader/user-style-sheet-resource-load-callbacks.html
                http/tests/misc/window-dot-stop.html
                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html
                http/tests/security/XFrameOptions/x-frame-options-deny.html
                http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html
                http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html
                http/tests/xmlhttprequest/abort-should-cancel-load.html

        QNetworkReply::OperationCanceledError has a value of 5 rather than -999, so add platform-specific results accordingly.

        Add platform-specific results for the the following, though leave them skipped for now. They've started failing again
        since review was granted (see https://bugs.webkit.org/show_bug.cgi?id=37382):
                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html
                http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html

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

        * platform/qt/Skipped:
        * platform/qt/http/tests/misc/window-dot-stop-expected.txt: Added.
        * platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Added.
        * platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Added.
        * platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Added.
        * platform/qt/http/tests/xmlhttprequest/abort-should-cancel-load-expected.txt: Added.

2010-04-10  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, fixing description and expectation for media/video-replaces-poster.html.

        * platform/chromium/test_expectations.txt:

2010-04-10  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, marking media/video-replaces-poster.html as flaky.

        * platform/chromium/test_expectations.txt:

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

        Unreviewed, platform specific expected files updated after r57408.

        [Qt] Implement Desktop Notifications API for QtWebKit
        https://bugs.webkit.org/show_bug.cgi?id=35503

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

2010-04-10  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, checking in corrected baselines for media/video-replaces-poster.html
        on Chromium Win.

        * platform/chromium-win/media/video-replaces-poster-expected.checksum:
        * platform/chromium-win/media/video-replaces-poster-expected.png:

2010-04-10  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, enable the rest of the fast/media tests for Chromium Mac and Linux
        by checking in new baselines.

        * platform/chromium-linux/fast/media/media-descriptor-syntax-01-expected.checksum:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-01-expected.png:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-02-expected.checksum:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-02-expected.png:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-03-expected.checksum:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-03-expected.png:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-04-expected.checksum:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-04-expected.png:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-05-expected.checksum:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-05-expected.png:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-06-expected.checksum:
        * platform/chromium-linux/fast/media/media-descriptor-syntax-06-expected.png:
        * platform/chromium-linux/fast/media/media-type-syntax-01-expected.checksum:
        * platform/chromium-linux/fast/media/media-type-syntax-01-expected.png:
        * platform/chromium-linux/fast/media/media-type-syntax-02-expected.checksum:
        * platform/chromium-linux/fast/media/media-type-syntax-02-expected.png:
        * platform/chromium-linux/fast/media/mq-animation-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-animation-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-aspect-ratio-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-aspect-ratio-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-compound-query-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-compound-query-01-expected.png:
        * platform/chromium-linux/fast/media/mq-compound-query-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-compound-query-02-expected.png:
        * platform/chromium-linux/fast/media/mq-compound-query-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-compound-query-03-expected.png:
        * platform/chromium-linux/fast/media/mq-compound-query-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-compound-query-04-expected.png:
        * platform/chromium-linux/fast/media/mq-compound-query-05-expected.checksum:
        * platform/chromium-linux/fast/media/mq-compound-query-05-expected.png:
        * platform/chromium-linux/fast/media/mq-grid-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-grid-01-expected.png:
        * platform/chromium-linux/fast/media/mq-grid-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-grid-02-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-01-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-02-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-03-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-media-feature-04-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-01-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-02-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-03-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-04-expected.png:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-05-expected.checksum:
        * platform/chromium-linux/fast/media/mq-invalid-syntax-05-expected.png:
        * platform/chromium-linux/fast/media/mq-js-media-except-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-media-except-01-expected.png:
        * platform/chromium-linux/fast/media/mq-js-media-except-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-media-except-02-expected.png:
        * platform/chromium-linux/fast/media/mq-js-media-except-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-media-except-03-expected.png:
        * platform/chromium-linux/fast/media/mq-js-media-forward-syntax-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-media-forward-syntax-expected.png:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-01-expected.png:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-02-expected.png:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-03-expected.png:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-js-stylesheet-media-04-expected.png:
        * platform/chromium-linux/fast/media/mq-max-pixel-ratio-expected.checksum:
        * platform/chromium-linux/fast/media/mq-max-pixel-ratio-expected.png:
        * platform/chromium-linux/fast/media/mq-min-constraint-expected.checksum:
        * platform/chromium-linux/fast/media/mq-min-constraint-expected.png:
        * platform/chromium-linux/fast/media/mq-orientation-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-orientation-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-pixel-ratio-expected.checksum:
        * platform/chromium-linux/fast/media/mq-pixel-ratio-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-02-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-03-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-04-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-05-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-05-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-06-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-06-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-07-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-07-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-08-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-08-expected.png:
        * platform/chromium-linux/fast/media/mq-relative-constraints-09-expected.checksum:
        * platform/chromium-linux/fast/media/mq-relative-constraints-09-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-01-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-02-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-03-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-04-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-05-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-neg-query-05-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-query-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-query-01-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-query-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-query-02-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-query-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-query-03-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-query-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-query-04-expected.png:
        * platform/chromium-linux/fast/media/mq-simple-query-05-expected.checksum:
        * platform/chromium-linux/fast/media/mq-simple-query-05-expected.png:
        * platform/chromium-linux/fast/media/mq-transform-01-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-transform-01-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-transform-02-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-transform-02-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-transform-03-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-transform-03-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-transform-04-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-transform-04-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-transition-expected.checksum: Added.
        * platform/chromium-linux/fast/media/mq-transition-expected.png: Added.
        * platform/chromium-linux/fast/media/mq-valueless-expected.checksum:
        * platform/chromium-linux/fast/media/mq-valueless-expected.png:
        * platform/chromium-linux/fast/media/mq-width-absolute-01-expected.checksum:
        * platform/chromium-linux/fast/media/mq-width-absolute-01-expected.png:
        * platform/chromium-linux/fast/media/mq-width-absolute-02-expected.checksum:
        * platform/chromium-linux/fast/media/mq-width-absolute-02-expected.png:
        * platform/chromium-linux/fast/media/mq-width-absolute-03-expected.checksum:
        * platform/chromium-linux/fast/media/mq-width-absolute-03-expected.png:
        * platform/chromium-linux/fast/media/mq-width-absolute-04-expected.checksum:
        * platform/chromium-linux/fast/media/mq-width-absolute-04-expected.png:
        * platform/chromium-linux/fast/media/viewport-media-query-expected.checksum:
        * platform/chromium-linux/fast/media/viewport-media-query-expected.png:
        * platform/chromium-mac/fast/media/mq-relative-constraints-02-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-02-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-03-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-03-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-04-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-04-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-05-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-05-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-06-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-06-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-07-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-07-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-08-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-08-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-09-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-relative-constraints-09-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-01-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-01-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-02-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-02-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-03-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-03-expected.png: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-04-expected.checksum: Added.
        * platform/chromium-mac/fast/media/mq-width-absolute-04-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-04-10  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, checking in updated baselines and expectations for Chromium media layout tests.

        * platform/chromium-linux/media/video-replaces-poster-expected.checksum: Added.
        * platform/chromium-linux/media/video-replaces-poster-expected.png: Added.
        * platform/chromium-mac/media/controls-drag-timebar-expected.txt: Added.
        * platform/chromium-mac/media/video-currentTime-set-expected.txt:
        * platform/chromium-mac/media/video-replaces-poster-expected.checksum: Added.
        * platform/chromium-mac/media/video-replaces-poster-expected.png: Added.
        * platform/chromium-win/media/controls-drag-timebar-expected.txt: Added.
        * platform/chromium-win/media/video-currentTime-set-expected.txt:
        * platform/chromium-win/media/video-replaces-poster-expected.checksum: Added.
        * platform/chromium-win/media/video-replaces-poster-expected.png: Added.
        * platform/chromium/test_expectations.txt:

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

        [Qt] animations/dynamic-stylesheet-loading.html fails with accelerated compositing
        https://bugs.webkit.org/show_bug.cgi?id=37381

        * platform/qt/Skipped: animations/dynamic-stylesheet-loading.html skipped until fix.

2010-04-09  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Console with two recursive arrays causes infinite loop trying to display.
        https://bugs.webkit.org/show_bug.cgi?id=37133

        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-collections.html:

2010-04-09  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Test a theory about why this is failing downstream.

        * http/tests/security/xss-DENIED-mime-type-execute-as-html.html:

2010-04-09  Sergey Ulanov <sergeyu@chromium.org>

        Unreviewed, checking in baselines due to Chromium's new video scaling algorithm.

        * platform/chromium-linux/media/controls-after-reload-expected.checksum:
        * platform/chromium-linux/media/controls-after-reload-expected.png:
        * platform/chromium-linux/media/controls-strict-expected.checksum:
        * platform/chromium-linux/media/controls-strict-expected.png:
        * platform/chromium-linux/media/video-aspect-ratio-expected.checksum:
        * platform/chromium-linux/media/video-aspect-ratio-expected.png:
        * platform/chromium-linux/media/video-controls-rendering-expected.checksum:
        * platform/chromium-linux/media/video-controls-rendering-expected.png:
        * platform/chromium-linux/media/video-display-toggle-expected.checksum:
        * platform/chromium-linux/media/video-display-toggle-expected.png:
        * platform/chromium-linux/media/video-layer-crash-expected.checksum:
        * platform/chromium-linux/media/video-layer-crash-expected.png:
        * platform/chromium-linux/media/video-no-audio-expected.checksum:
        * platform/chromium-linux/media/video-no-audio-expected.png:
        * platform/chromium-linux/media/video-transformed-expected.checksum:
        * platform/chromium-linux/media/video-transformed-expected.png:
        * platform/chromium-linux/media/video-volume-slider-expected.checksum:
        * platform/chromium-linux/media/video-volume-slider-expected.png:
        * platform/chromium-linux/media/video-zoom-expected.checksum:
        * platform/chromium-linux/media/video-zoom-expected.png:
        * platform/chromium-mac/media/controls-after-reload-expected.checksum:
        * platform/chromium-mac/media/controls-after-reload-expected.png:
        * platform/chromium-mac/media/controls-strict-expected.checksum:
        * platform/chromium-mac/media/controls-strict-expected.png:
        * platform/chromium-mac/media/video-aspect-ratio-expected.checksum:
        * platform/chromium-mac/media/video-aspect-ratio-expected.png:
        * platform/chromium-mac/media/video-controls-rendering-expected.checksum:
        * platform/chromium-mac/media/video-controls-rendering-expected.png:
        * platform/chromium-mac/media/video-display-toggle-expected.checksum:
        * platform/chromium-mac/media/video-display-toggle-expected.png:
        * platform/chromium-mac/media/video-layer-crash-expected.checksum:
        * platform/chromium-mac/media/video-layer-crash-expected.png:
        * platform/chromium-mac/media/video-no-audio-expected.checksum:
        * platform/chromium-mac/media/video-no-audio-expected.png:
        * platform/chromium-mac/media/video-transformed-expected.checksum:
        * platform/chromium-mac/media/video-transformed-expected.png:
        * platform/chromium-mac/media/video-volume-slider-expected.checksum:
        * platform/chromium-mac/media/video-volume-slider-expected.png:
        * platform/chromium-mac/media/video-zoom-expected.checksum:
        * platform/chromium-mac/media/video-zoom-expected.png:
        * platform/chromium-win/media/controls-after-reload-expected.checksum:
        * platform/chromium-win/media/controls-after-reload-expected.png:
        * platform/chromium-win/media/controls-strict-expected.checksum:
        * platform/chromium-win/media/controls-strict-expected.png:
        * platform/chromium-win/media/video-aspect-ratio-expected.checksum:
        * platform/chromium-win/media/video-aspect-ratio-expected.png:
        * platform/chromium-win/media/video-controls-rendering-expected.checksum:
        * platform/chromium-win/media/video-controls-rendering-expected.png:
        * platform/chromium-win/media/video-display-toggle-expected.checksum:
        * platform/chromium-win/media/video-display-toggle-expected.png:
        * platform/chromium-win/media/video-layer-crash-expected.checksum:
        * platform/chromium-win/media/video-layer-crash-expected.png:
        * platform/chromium-win/media/video-no-audio-expected.checksum:
        * platform/chromium-win/media/video-no-audio-expected.png:
        * platform/chromium-win/media/video-transformed-expected.checksum:
        * platform/chromium-win/media/video-transformed-expected.png:
        * platform/chromium-win/media/video-volume-slider-expected.checksum:
        * platform/chromium-win/media/video-volume-slider-expected.png:

2010-04-09  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Fixed bug where animation time was not updated when dynamically loading a style sheet
        https://bugs.webkit.org/show_bug.cgi?id=37352

        LayoutTest showing problem.

        * animations/dynamic-stylesheet-loading-expected.txt: Added.
        * animations/dynamic-stylesheet-loading.html: Added.
        * animations/resources/dynamic-stylesheet-insertion-inserted.css: Added.
        * animations/resources/dynamic-stylesheet-insertion-main.css: Added.

2010-04-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Test non-image and javascript mime types are not rendered as HTML.

        * http/tests/security/resources/send-mime-types.php: Added.
        * http/tests/security/xss-DENIED-mime-type-execute-as-html-expected.txt: Added.
        * http/tests/security/xss-DENIED-mime-type-execute-as-html.html: Added.

2010-04-09  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=37370
        Division by 0 in RenderBoxModelObject::calculateFillTileSize

        * fast/backgrounds/background-fill-zero-area-crash-expected.txt: Added.
        * fast/backgrounds/background-fill-zero-area-crash.html: Added.

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

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=24572
        XMLHttpRequest.statusText returns always "OK" on Mac

        We only need custom results on Tiger now.

        * platform/mac-tiger/http/tests/xmlhttprequest: Added.
        * platform/mac-tiger/http/tests/xmlhttprequest/web-apps: Added.
        * platform/mac-tiger/http/tests/xmlhttprequest/web-apps/012-expected.txt: Copied from LayoutTests/platform/mac/http/tests/xmlhttprequest/web-apps/012-expected.txt.
        * platform/mac-tiger/http/tests/xmlhttprequest/web-apps/013-expected.txt: Copied from LayoutTests/platform/mac/http/tests/xmlhttprequest/web-apps/013-expected.txt.
        * platform/mac-tiger/http/tests/xmlhttprequest/xmlhttprequest-missing-file-exception-expected.txt: Copied from LayoutTests/platform/mac/http/tests/xmlhttprequest/xmlhttprequest-missing-file-exception-expected.txt.
        * platform/mac/http/tests/xmlhttprequest: Removed.
        * platform/mac/http/tests/xmlhttprequest/web-apps: Removed.
        * platform/mac/http/tests/xmlhttprequest/web-apps/012-expected.txt: Removed.
        * platform/mac/http/tests/xmlhttprequest/web-apps/013-expected.txt: Removed.
        * platform/mac/http/tests/xmlhttprequest/xmlhttprequest-missing-file-exception-expected.txt: Removed.
        * platform/win/http/tests/xmlhttprequest: Removed.
        * platform/win/http/tests/xmlhttprequest/web-apps: Removed.
        * platform/win/http/tests/xmlhttprequest/web-apps/012-expected.txt: Removed.
        * platform/win/http/tests/xmlhttprequest/web-apps/013-expected.txt: Removed.
        * platform/win/http/tests/xmlhttprequest/xmlhttprequest-missing-file-exception-expected.txt: Removed.

2010-04-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, rolling back the last two changes. The failing tests
        are a Chromium problem, not a WebKit one.

        * platform/chromium/test_expectations.txt:

2010-04-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, adding a TIMEOUT expectations for worker-simple.html
        on Linux.
        https://bugs.webkit.org/show_bug.cgi?id=37274

        * platform/chromium/test_expectations.txt:

2010-04-09  Dumitru Daniliuc  <dumi@chromium.org>

        Unreviewed, skipping a test on Linux in Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=37359

        * platform/chromium/test_expectations.txt:

2010-04-09  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Darin Adler.

        Changed expectation for text status for HTTP status of 4xx following
        a fix for localized status messages.
        https://bugs.webkit.org/show_bug.cgi?id=37274

        * platform/mac/http/tests/xmlhttprequest/web-apps/013-expected.txt:
        * platform/mac/http/tests/xmlhttprequest/xmlhttprequest-missing-file-exception-expected.txt:

2010-04-09  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        WebCore: WorkerGlobalScope.close() should let the currently running script complete execution, then terminate the worker.
        https://bugs.webkit.org/show_bug.cgi?id=37053

        * fast/workers/resources/worker-close.js:
        * fast/workers/worker-close-expected.txt:
        Updated tests to expect the script fragment that includes close() to run to completion.

        * fast/workers/worker-close-more-expected.txt: Added.
        * fast/workers/worker-close-more.html: Added.
        * fast/workers/worker-close.html:
        Added test to check terminate() after close() and close() in the case of multiple MessagePort messages dispatching.

2010-04-09  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Implement interactive validation for forms.
        https://bugs.webkit.org/show_bug.cgi?id=34930

        Add tests for "invalid" event and interactive validation.

        * fast/forms/checkValidity-cancel-expected.txt: Added.
        * fast/forms/checkValidity-cancel.html: Added.
        * fast/forms/interactive-validation-cancel-expected.txt: Added.
        * fast/forms/interactive-validation-cancel.html: Added.
        * fast/forms/interactive-validation-formnovalidate-expected.txt: Added.
        * fast/forms/interactive-validation-formnovalidate.html: Added.
        * fast/forms/interactive-validation-novalidate-expected.txt: Added.
        * fast/forms/interactive-validation-novalidate.html: Added.
        * fast/forms/interactive-validation-prevented-expected.txt: Added.
        * fast/forms/interactive-validation-prevented.html: Added.
        * fast/forms/interactive-validation-remove-node-in-handler-expected.txt: Added.
        * fast/forms/interactive-validation-remove-node-in-handler.html: Added.
        * fast/forms/script-tests/checkValidity-cancel.js: Added.

2010-04-09  Gustavo Noronha Silva  <gns@gnome.org>

        [GTK+] media/video-src-invalid-remove.html
        https://bugs.webkit.org/show_bug.cgi?id=37344

        Skip test that is failing constantly but apparently without reason
        on the 64 bits release bot.

        * platform/gtk/Skipped:

2010-04-09  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Simon Hausmann.

        [Qt] Add expected results for passing new tests. Compared to the Mac png-s and expected files these
        platform dependent results only differ from Mac resulst in font metrics and svg implementation.

        * platform/qt/editing/deleting/non-smart-delete-expected.checksum: Added.
        * platform/qt/editing/deleting/non-smart-delete-expected.png: Added.
        * platform/qt/editing/deleting/non-smart-delete-expected.txt: Added.
        * platform/qt/fast/css/first-letter-first-line-hover-expected.checksum: Added.
        * platform/qt/fast/css/first-letter-first-line-hover-expected.png: Added.
        * platform/qt/fast/css/first-letter-first-line-hover-expected.txt: Added.
        * platform/qt/fast/forms/basic-selects-expected.checksum: Added.
        * platform/qt/fast/forms/basic-selects-expected.png: Added.
        * platform/qt/fast/forms/basic-selects-expected.txt: Added.
        * platform/qt/fast/repaint/moving-shadow-on-container-expected.checksum: Added.
        * platform/qt/fast/repaint/moving-shadow-on-container-expected.png: Added.
        * platform/qt/fast/repaint/moving-shadow-on-container-expected.txt: Added.
        * platform/qt/fast/repaint/moving-shadow-on-path-expected.checksum: Added.
        * platform/qt/fast/repaint/moving-shadow-on-path-expected.png: Added.
        * platform/qt/fast/repaint/moving-shadow-on-path-expected.txt: Added.
        * platform/qt/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.checksum: Added.
        * platform/qt/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.png: Added.
        * platform/qt/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.txt: Added.
        * platform/qt/fast/repaint/selection-gap-overflow-scroll-2-expected.checksum: Added.
        * platform/qt/fast/repaint/selection-gap-overflow-scroll-2-expected.png: Added.
        * platform/qt/fast/repaint/selection-gap-overflow-scroll-2-expected.txt: Added.
        * platform/qt/fast/repaint/stacked-diacritics-expected.checksum: Added.
        * platform/qt/fast/repaint/stacked-diacritics-expected.png: Added.
        * platform/qt/fast/repaint/stacked-diacritics-expected.txt: Added.
        * platform/qt/fast/ruby: Added.
        * platform/qt/fast/ruby/ruby-inline-table-expected.checksum: Added.
        * platform/qt/fast/ruby/ruby-inline-table-expected.png: Added.
        * platform/qt/fast/ruby/ruby-inline-table-expected.txt: Added.
        * platform/qt/fast/runin/generated2-expected.checksum: Added.
        * platform/qt/fast/runin/generated2-expected.png: Added.
        * platform/qt/fast/runin/generated2-expected.txt: Added.
        * platform/qt/fast/runin/generated3-expected.checksum: Added.
        * platform/qt/fast/runin/generated3-expected.png: Added.
        * platform/qt/fast/runin/generated3-expected.txt: Added.
        * platform/qt/fast/runin/generated4-expected.checksum: Added.
        * platform/qt/fast/runin/generated4-expected.png: Added.
        * platform/qt/fast/runin/generated4-expected.txt: Added.
        * platform/qt/fast/text/international/hebrew-vowels-expected.checksum: Added.
        * platform/qt/fast/text/international/hebrew-vowels-expected.png: Added.
        * platform/qt/fast/text/international/hebrew-vowels-expected.txt: Added.
        * platform/qt/svg/custom/mask-invalidation-expected.checksum: Added.
        * platform/qt/svg/custom/mask-invalidation-expected.png: Added.
        * platform/qt/svg/custom/mask-invalidation-expected.txt: Added.
        * platform/qt/svg/custom/pattern-excessive-malloc-expected.checksum: Added.
        * platform/qt/svg/custom/pattern-excessive-malloc-expected.png: Added.
        * platform/qt/svg/custom/pattern-excessive-malloc-expected.txt: Added.
        * platform/qt/svg/custom/pattern-size-bigger-than-target-size-expected.checksum: Added.
        * platform/qt/svg/custom/pattern-size-bigger-than-target-size-expected.png: Added.
        * platform/qt/svg/custom/pattern-size-bigger-than-target-size-expected.txt: Added.
        * platform/qt/svg/custom/pattern-skew-transformed-expected.checksum: Added.
        * platform/qt/svg/custom/pattern-skew-transformed-expected.png: Added.
        * platform/qt/svg/custom/pattern-skew-transformed-expected.txt: Added.
        * platform/qt/svg/custom/stroke-width-large-expected.checksum: Added.
        * platform/qt/svg/custom/stroke-width-large-expected.png: Added.
        * platform/qt/svg/custom/stroke-width-large-expected.txt: Added.
        * platform/qt/svg/custom/use-on-clip-path-with-transformation-expected.checksum: Added.
        * platform/qt/svg/custom/use-on-clip-path-with-transformation-expected.png: Added.
        * platform/qt/svg/custom/use-on-clip-path-with-transformation-expected.txt: Added.
        * platform/qt/svg/filters/filter-on-tspan-expected.checksum: Added.
        * platform/qt/svg/filters/filter-on-tspan-expected.png: Added.
        * platform/qt/svg/filters/filter-on-tspan-expected.txt: Added.
        * platform/qt/svg/overflow: Added.
        * platform/qt/svg/overflow/overflow-on-foreignObject-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-foreignObject-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-foreignObject-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-inner-svg-element-defaults-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-inner-svg-element-defaults-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-inner-svg-element-defaults-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-inner-svg-element-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.checksum: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png: Added.
        * platform/qt/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Added.
        * platform/qt/svg/text/selection-doubleclick-expected.checksum: Added.
        * platform/qt/svg/text/selection-doubleclick-expected.png: Added.
        * platform/qt/svg/text/selection-doubleclick-expected.txt: Added.
        * platform/qt/svg/text/selection-styles-expected.checksum: Added.
        * platform/qt/svg/text/selection-styles-expected.png: Added.
        * platform/qt/svg/text/selection-styles-expected.txt: Added.
        * platform/qt/svg/text/selection-tripleclick-expected.checksum: Added.
        * platform/qt/svg/text/selection-tripleclick-expected.png: Added.
        * platform/qt/svg/text/selection-tripleclick-expected.txt: Added.

2010-04-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=37181
        <rdar://problem/7835374> REGRESSION (r54400): Hangs when doing AJAX update with large amount of data

        * fast/events/gc-freeze-with-attribute-listeners-expected.txt: Added.
        * fast/events/gc-freeze-with-attribute-listeners.html: Added.

2010-04-09  Adam Roben  <aroben@apple.com>

        Add Windows- and GTK-specific results for new :visited tests

        These platforms haven't yet implemented the new LayoutTestController
        API these tests require. Implementing the API is tracked by
        <http://webkit.org/b/37336> and <http://webkit.org/b/37337>.

        Fixes <http://webkit.org/b/37333> REGRESSION (r57292): :visited tests
        are asserting on debug Windows and GTK builds.

        Reviewed by Anders Carlsson.

        * platform/gtk/fast/history/nested-visited-test-expected.txt: Added.
        * platform/gtk/fast/history/self-is-visited-expected.txt: Added.
        * platform/gtk/fast/history/sibling-visited-test-expected.txt: Added.
        * platform/win/fast/history/nested-visited-test-expected.txt: Added.
        * platform/win/fast/history/self-is-visited-expected.txt: Added.
        * platform/win/fast/history/sibling-visited-test-expected.txt: Added.

2010-04-09  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Passing null WebGLObjects should synthesize INVALID_VALUE error
        https://bugs.webkit.org/show_bug.cgi?id=37047

        * fast/canvas/webgl/error-reporting-expected.txt: Change a few errors from INVALID_OPERATION to INVALID_VALUE.
        * fast/canvas/webgl/getActiveTest-expected.txt: Ditto.
        * fast/canvas/webgl/null-object-behaviour-expected.txt: Ditto.
        * fast/canvas/webgl/script-tests/error-reporting.js: Ditto.

2010-04-09  Zhenyao Mo  <zmo@google.com>

        Reviewed by Dimitri Glazkov.

        Must resolve multisampled back buffer during copyTexImage2D and copyTexSubImage2D
        https://bugs.webkit.org/show_bug.cgi?id=37174

        * fast/canvas/webgl/copy-tex-image-and-sub-image-2d-expected.txt: Added.
        * fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html: Added.
        * fast/canvas/webgl/resources/utils3d.js: Add ContextAttributes parameter to initWebGL function.

2010-04-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Fraser.

        Update test as the 'all' value has been removed

        * fast/media/media-feature-wgt-view-mode.html:

2010-04-09  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] User agent style sheets are crippled by moc -E in make-css-file-arrays.pl
        https://bugs.webkit.org/show_bug.cgi?id=37296

        Update expected files after removal of moc preprocessing of default css sheets.
        These test results now only differ in metrics from Mac ones.

        * platform/qt/editing/execCommand/insert-list-xml-expected.txt:
        * platform/qt/svg/custom/createImageElement2-expected.txt:
        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:

2010-04-08  Chris Evans  <cevans@chromium.org>

        Reviewed by Sam Weinig.

        Add test for POST & _blank popup blocker bypass.
        https://bugs.webkit.org/show_bug.cgi?id=34541

        * fast/events/popup-blocked-to-post-blank.html: added
        * fast/events/popup-blocked-to-post-blank-expected.txt: added

2010-04-08  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] Mark failing tests after r57292
        https://bugs.webkit.org/show_bug.cgi?id=37298

        * platform/chromium/test_expectations.txt:

2010-03-29  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.

        Spatial Navigation: proper handle negative x or y coordinates
        https://bugs.webkit.org/show_bug.cgi?id=36773

        * fast/events/spatial-navigation/snav-offscreen-content-expected.txt: Added.
        * fast/events/spatial-navigation/snav-offscreen-content.html: Added.

2010-04-08  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] r57274 removed fast/forms/willvalidate-000.html,
        so it should be removed from Skipped list too.

        * platform/qt/Skipped: fast/forms/willvalidate-000.html removed.

2010-04-08  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Geoffrey Garen.

        Test that the creation callback is executed in the world where it
        was created.
        https://bugs.webkit.org/show_bug.cgi?id=37290

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

2010-04-08  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Skip new tests introduced in r57292, because of unimplemented
        layoutTestController.computedStyleIncludingVisitedInfo()

        * platform/qt/Skipped:
         - fast/history/nested-visited-test.html skipped.
         - fast/history/self-is-visited.html skipped.
         - fast/history/sibling-visited-test.html skipped.

2010-04-08  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Another trial

        Tests that should have been landed as part of the earlier patch for Bug 36276.
        https://bugs.webkit.org/show_bug.cgi?id=36276

        * fast/css/invalid-not-with-simple-selector-sequence-expected.txt: Added.
        * fast/css/invalid-not-with-simple-selector-sequence.html: Added.

2010-04-08  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Many new test results are needed due to recent check-ins.
        https://bugs.webkit.org/show_bug.cgi?id=36799

        I missed the linux-only results in http://trac.webkit.org/changeset/57291

        * platform/chromium-linux/tables/mozilla/bugs/bug1296-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug1296-expected.png: Removed.
        * platform/chromium-linux/tables/mozilla/bugs/bug1430-expected.checksum:
        * platform/chromium-linux/tables/mozilla/bugs/bug1430-expected.png:
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-column-group-expected.checksum:
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png:
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-row-group-expected.checksum:
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.checksum:
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png:

2010-04-07  David Hyatt  <hyatt@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS

        * fast/history/clicked-link-is-visited.html: Removed.
        * fast/history/nested-visited-test-expected.txt: Added.
        * fast/history/nested-visited-test.html: Added.
        * fast/history/resources/dummy.html: Added.
        * fast/history/self-is-visited-expected.txt: Added.
        * fast/history/self-is-visited.html: Added.
        * fast/history/sibling-visited-test-expected.txt: Added.
        * fast/history/sibling-visited-test.html: Added.
        * fast/history/subframe-is-visited-expected.txt: Removed.
        * fast/history/subframe-is-visited.html: Removed.

2010-04-08  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Daniel Bates.

        [chromium] Many new test results are needed due to recent check-ins.
        https://bugs.webkit.org/show_bug.cgi?id=36799

        Adds new results for all the tests that started failing after http://trac.webkit.org/changeset/57287.

        * platform/chromium-mac/tables/mozilla/bugs/bug1296-expected.checksum: Removed.
        * platform/chromium-mac/tables/mozilla/bugs/bug1296-expected.png: Removed.
        * platform/chromium-mac/tables/mozilla/bugs/bug1430-expected.checksum: Removed.
        * platform/chromium-mac/tables/mozilla/bugs/bug1430-expected.png: Removed.
        * platform/chromium-win/tables/mozilla/bugs/bug1296-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug1296-expected.png:
        * platform/chromium-win/tables/mozilla/bugs/bug1430-expected.checksum:
        * platform/chromium-win/tables/mozilla/bugs/bug1430-expected.png:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-expected.checksum:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-expected.png:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.checksum:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-expected.checksum:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-expected.png:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.checksum:
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.checksum:
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png:

2010-04-08  Daniel Bates  <dbates@rim.com>

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

        Rolling out the change committed in change set 56717
        since we rolled out the change committed in change set 56655,
        <http://trac.webkit.org/changeset/56655> (in change set 57287,
        <http://trac.webkit.org/changeset/57287>). The change committed
        in change set 56655 caused a layout test regression of the some
        of the mozilla- and mozilla expected failure- tests. See bug #9268
        for more details.

        * platform/qt/fast/table/table-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-background-expected.png: Removed.
        * platform/qt/fast/table/table-background-expected.txt: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Removed.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Removed.
        * platform/qt/fast/table/table-cell-overrides-row-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-cell-overrides-row-background-expected.png: Removed.
        * platform/qt/fast/table/table-cell-overrides-row-background-expected.txt: Removed.
        * platform/qt/fast/table/table-col-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-col-background-expected.png: Removed.
        * platform/qt/fast/table/table-col-background-expected.txt: Removed.
        * platform/qt/fast/table/table-col-group-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-col-group-background-expected.png: Removed.
        * platform/qt/fast/table/table-col-group-background-expected.txt: Removed.
        * platform/qt/fast/table/table-col-group-col-span-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-col-group-col-span-background-expected.png: Removed.
        * platform/qt/fast/table/table-col-group-col-span-background-expected.txt: Removed.
        * platform/qt/fast/table/table-col-group-span-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-col-group-span-background-expected.png: Removed.
        * platform/qt/fast/table/table-col-group-span-background-expected.txt: Removed.
        * platform/qt/fast/table/table-col-span-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-col-span-background-expected.png: Removed.
        * platform/qt/fast/table/table-col-span-background-expected.txt: Removed.
        * platform/qt/fast/table/table-row-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-row-background-expected.png: Removed.
        * platform/qt/fast/table/table-row-background-expected.txt: Removed.
        * platform/qt/fast/table/table-row-background-left-50px-expected.checksum: Removed.
        * platform/qt/fast/table/table-row-background-left-50px-expected.png: Removed.
        * platform/qt/fast/table/table-row-background-left-50px-expected.txt: Removed.
        * platform/qt/fast/table/table-row-background-right-100percent-expected.checksum: Removed.
        * platform/qt/fast/table/table-row-background-right-100percent-expected.png: Removed.
        * platform/qt/fast/table/table-row-background-right-100percent-expected.txt: Removed.
        * platform/qt/fast/table/table-row-background-right-50px-expected.checksum: Removed.
        * platform/qt/fast/table/table-row-background-right-50px-expected.png: Removed.
        * platform/qt/fast/table/table-row-background-right-50px-expected.txt: Removed.
        * platform/qt/fast/table/table-row-group-background-expected.checksum: Removed.
        * platform/qt/fast/table/table-row-group-background-expected.png: Removed.
        * platform/qt/fast/table/table-row-group-background-expected.txt: Removed.
        * platform/qt/fast/table/table-row-group-background-positioned-expected.checksum: Removed.
        * platform/qt/fast/table/table-row-group-background-positioned-expected.png: Removed.
        * platform/qt/fast/table/table-row-group-background-positioned-expected.txt: Removed.

2010-04-08  Daniel Bates  <dbates@rim.com>

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

        Rolling out the change committed in change set 56655
        because it caused a regression in some of the mozilla
        and mozilla expected failure test cases, such as:
        tables/mozilla/marvin/backgr_simple-table-row.html, and
        tables/mozilla/marvin/backgr_simple-table-row-group.html.

        We need to look into this issue some more.

        * fast/table/table-background.html: Removed.
        * fast/table/table-cell-border-draws-on-top-of-col-background.html: Removed.
        * fast/table/table-cell-border-draws-on-top-of-col-group-background.html: Removed.
        * fast/table/table-cell-border-draws-on-top-of-row-background.html: Removed.
        * fast/table/table-cell-border-draws-on-top-of-row-group-background.html: Removed.
        * fast/table/table-cell-overrides-row-background.html: Removed.
        * fast/table/table-col-background.html: Removed.
        * fast/table/table-col-group-background.html: Removed.
        * fast/table/table-col-group-col-span-background.html: Removed.
        * fast/table/table-col-group-span-background.html: Removed.
        * fast/table/table-col-span-background.html: Removed.
        * fast/table/table-row-background-left-50px.html: Removed.
        * fast/table/table-row-background-right-100percent.html: Removed.
        * fast/table/table-row-background-right-50px.html: Removed.
        * fast/table/table-row-background.html: Removed.
        * fast/table/table-row-group-background-positioned.html: Removed.
        * fast/table/table-row-group-background.html: Removed.
        * platform/mac/fast/table/table-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-background-expected.png: Removed.
        * platform/mac/fast/table/table-background-expected.txt: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Removed.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Removed.
        * platform/mac/fast/table/table-cell-overrides-row-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-cell-overrides-row-background-expected.png: Removed.
        * platform/mac/fast/table/table-cell-overrides-row-background-expected.txt: Removed.
        * platform/mac/fast/table/table-col-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-col-background-expected.png: Removed.
        * platform/mac/fast/table/table-col-background-expected.txt: Removed.
        * platform/mac/fast/table/table-col-group-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-col-group-background-expected.png: Removed.
        * platform/mac/fast/table/table-col-group-background-expected.txt: Removed.
        * platform/mac/fast/table/table-col-group-col-span-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-col-group-col-span-background-expected.png: Removed.
        * platform/mac/fast/table/table-col-group-col-span-background-expected.txt: Removed.
        * platform/mac/fast/table/table-col-group-span-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-col-group-span-background-expected.png: Removed.
        * platform/mac/fast/table/table-col-group-span-background-expected.txt: Removed.
        * platform/mac/fast/table/table-col-span-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-col-span-background-expected.png: Removed.
        * platform/mac/fast/table/table-col-span-background-expected.txt: Removed.
        * platform/mac/fast/table/table-row-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-row-background-expected.png: Removed.
        * platform/mac/fast/table/table-row-background-expected.txt: Removed.
        * platform/mac/fast/table/table-row-background-left-50px-expected.checksum: Removed.
        * platform/mac/fast/table/table-row-background-left-50px-expected.png: Removed.
        * platform/mac/fast/table/table-row-background-left-50px-expected.txt: Removed.
        * platform/mac/fast/table/table-row-background-right-100percent-expected.checksum: Removed.
        * platform/mac/fast/table/table-row-background-right-100percent-expected.png: Removed.
        * platform/mac/fast/table/table-row-background-right-100percent-expected.txt: Removed.
        * platform/mac/fast/table/table-row-background-right-50px-expected.checksum: Removed.
        * platform/mac/fast/table/table-row-background-right-50px-expected.png: Removed.
        * platform/mac/fast/table/table-row-background-right-50px-expected.txt: Removed.
        * platform/mac/fast/table/table-row-group-background-expected.checksum: Removed.
        * platform/mac/fast/table/table-row-group-background-expected.png: Removed.
        * platform/mac/fast/table/table-row-group-background-expected.txt: Removed.
        * platform/mac/fast/table/table-row-group-background-positioned-expected.checksum: Removed.
        * platform/mac/fast/table/table-row-group-background-positioned-expected.png: Removed.
        * platform/mac/fast/table/table-row-group-background-positioned-expected.txt: Removed.

2010-04-08  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dimitri Glazkov.

        A couple test expectations cleanups
        https://bugs.webkit.org/show_bug.cgi?id=37285

        * platform/chromium/test_expectations.txt:

2010-04-08  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        Fix http.conf for GTK-Debug and Chromium-Linux bots
        https://bugs.webkit.org/show_bug.cgi?id=37279

        * http/conf/apache2-debian-httpd.conf:

2010-04-08  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Render Load, DOM Content and MarkTimeline event dividers on Timeline panel.

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

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

2010-04-08  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Fix a test for the behavior change by r57274.

        * fast/css/pseudo-invalid-novalidate-001.html:

2010-04-01  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by David Hyatt.

        [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
        https://bugs.webkit.org/show_bug.cgi?id=29431

        * fast/overflow/scrollbar-restored-and-then-locked-expected.txt: Added.
        * fast/overflow/scrollbar-restored-and-then-locked.html: Added.

2010-04-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Test that object with ptototype can be sent as message.

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

        * fast/dom/Window/window-postmessage-clone-expected.txt:
        * fast/dom/Window/window-postmessage-clone.html:

2010-04-08  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        willValidate doesn't need to check existence of a form element and a name attribute.
        https://bugs.webkit.org/show_bug.cgi?id=34733

        - Merge willvalidate-00x tests into one file.
        - Update tests affected by the willValidate behavior change.

        * fast/forms/input-live-pseudo-selectors-expected.txt:
        * fast/forms/resources/input-live-pseudo-selectors.js:
        * fast/forms/resources/textarea-live-pseudo-selectors.js:
        * fast/forms/script-tests/willvalidate.js: Added.
        * fast/forms/textarea-live-pseudo-selectors-expected.txt:
        * fast/forms/willvalidate-000-expected.txt: Removed.
        * fast/forms/willvalidate-000.html: Removed.
        * fast/forms/willvalidate-001-expected.txt: Removed.
        * fast/forms/willvalidate-001.html: Removed.
        * fast/forms/willvalidate-002-expected.txt: Removed.
        * fast/forms/willvalidate-002.html: Removed.
        * fast/forms/willvalidate-003-expected.txt: Removed.
        * fast/forms/willvalidate-003.html: Removed.
        * fast/forms/willvalidate-004-expected.txt: Removed.
        * fast/forms/willvalidate-004.html: Removed.
        * fast/forms/willvalidate-005-expected.txt: Removed.
        * fast/forms/willvalidate-005.html: Removed.
        * fast/forms/willvalidate-006-expected.txt: Removed.
        * fast/forms/willvalidate-006.html: Removed.
        * fast/forms/willvalidate-007-expected.txt: Removed.
        * fast/forms/willvalidate-007.html: Removed.
        * fast/forms/willvalidate-008-expected.txt: Removed.
        * fast/forms/willvalidate-008.html: Removed.
        * fast/forms/willvalidate-009-expected.txt: Removed.
        * fast/forms/willvalidate-009.html: Removed.
        * fast/forms/willvalidate-expected.txt: Added.
        * fast/forms/willvalidate.html: Added.

2010-04-08  Vitaly Repeshko  <vitalyr@chromium.org>

        Reviewed by Dimitri Glazkov.

        [V8] Fix crash in NodeFilterCondition in detached iframe
        https://bugs.webkit.org/show_bug.cgi?id=37234

        * fast/dom/node-filter-detached-iframe-crash-expected.txt: Added.
        * fast/dom/node-filter-detached-iframe-crash.html: Added.

2010-04-08  Eric Seidel  <eric@webkit.org>

        Unreviewed.  Update test_expectations to account for tests which fail
        when run out of order.

        fast/dom/SelectorAPI/dumpNodeList tests fail when run out of order.
        https://bugs.webkit.org/show_bug.cgi?id=37259

        * platform/mac/test_expectations.txt:

2010-04-08  Adam Barth  <abarth@webkit.org>

        Unreviewed.  Update test_expectations to account for some tests that
        fail when run out of order.

        * platform/mac/test_expectations.txt:

2010-04-08  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add test for SVG image with excessive nesting.
        https://bugs.webkit.org/show_bug.cgi?id=37247

        * fast/images/svg-nested.html: added
        * fast/images/svg-nested-expected.txt: added

2010-04-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        cross-frame-access-put depends on test ordering
        https://bugs.webkit.org/show_bug.cgi?id=37254

        If you run the tests in a different order, the value of this property
        can change.  We just need to avoid printing the actual value.

        * http/tests/security/cross-frame-access-put-expected.txt:
        * http/tests/security/resources/cross-frame-iframe-for-put-test.html:

2010-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        WebKit Apache configs only listen on IPv4 addresses, causing random timeouts
        https://bugs.webkit.org/show_bug.cgi?id=37104

        Turns out the CYGWIN also uses Apache 1.3, so can't bind to ::1 either.

        * http/conf/cygwin-httpd.conf:

2010-04-08  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, cleaning up Chromium Mac test expecatations for fast/media.

        * platform/chromium/test_expectations.txt:

2010-04-08  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, cleaning up test expectations for fast/media and media/video-played-reset.html.

        Previously all of fast/media was marked as PASS FAIL, but now has finer-grained
        expectations for all tests.

        Due to Chromium-side changes, media/video-played-reset.html is now passing again.

        * platform/chromium/test_expectations.txt:

2010-04-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        transitions/transition-end-event-transform.html fails intermittently on Tiger Intel Release bot
        https://bugs.webkit.org/show_bug.cgi?id=37145

        I think this test might be getting confused because it only expects the
        end event to fire once but actually it fires again for the second
        transition.  Let's try this patch and see if it fixes the flakiness.

        * transitions/transition-end-event-set-none.html:

2010-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Alexey Proskuryakov.

        WebKit Apache configs only listen on IPv4 addresses, causing random timeouts
        https://bugs.webkit.org/show_bug.cgi?id=37104

        Apache 1.3 does not support IPv6, so remove the Listen [::1] directive
        and add a warning about how that may cause flakiness on systems which
        use Apache 1.3, but support IPv6.

        * http/conf/httpd.conf:

2010-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        WebKit Apache configs only listen on IPv4 addresses, causing random timeouts
        https://bugs.webkit.org/show_bug.cgi?id=37104

        WebKit Apache configs were only listening on IPv4 loopback (127.0.0.1), however
        the system will resolve "localhost." to both IPv4 and IPv6 (::1) loopback
        addreses when IPv6 is enabled.  Since DNS lookup returns addresses in random
        order, we would occasionally fail to make connections to "localhost" addresses
        if the various network re-tries all happen to resolve to the IPv6 loopback.

        To make matters worse, the kernel has a connection reset throttle which we
        could trigger if we would repeatedly attempt to connect to ::1 and fail.
        The trottle would cause a 1 or 2 second delay on the connection, sometimes
        causing slow tests to time out.

        I also discovered during this investigation that we have some partial support
        for specifying our apache port numbers at runtime.  The support is already incomplete
        by not accounting for WebSockets or SSL ports.  This fix will make our partial
        support for dynamic apache port numbers even more broken.

        I've added Listen [::1]:PORT directives for 8000, 8080, and 8443 to all
        platforms (except cygwin which does not have the 8443 directive to begin with).

        * http/conf/apache2-debian-httpd.conf:
        * http/conf/apache2-httpd.conf:
        * http/conf/cygwin-httpd.conf:
        * http/conf/fedora-httpd.conf:
        * http/conf/httpd.conf:

2010-04-07  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        New chromium expected results after r57215
        https://bugs.webkit.org/show_bug.cgi?id=37239

        * platform/chromium-linux/fast/repaint/stacked-diacritics-expected.checksum: Added.
        * platform/chromium-linux/fast/text/line-breaks-expected.checksum:
        * platform/chromium-linux/fast/text/line-breaks-expected.png:
        * platform/chromium-linux/fast/text/line-breaks-expected.txt:
        Our new behavior is no more broken than the old behavior. Evan says
        he'll fix the underlying problem some day.

        * platform/chromium-win/fast/repaint/stacked-diacritics-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/stacked-diacritics-expected.png: Added.
        * platform/chromium-win/fast/repaint/stacked-diacritics-expected.txt: Added.
        This is a new test. These are just the usual windows vs. mac font rendering differences.

        * platform/chromium/test_expectations.txt:

2010-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix two cookie tests to clean up after themselves (so they can be run repeatedly)
        https://bugs.webkit.org/show_bug.cgi?id=37235

        Tiger's CFNetwork doesn't seem to understand "max-age=-1" so we'll
        use "expires=some date in the past" to clear cookies instead.
        I've verified that these tests still work on Snow Leopard.

        * http/tests/xmlhttprequest/resources/cross-origin-set-cookies.php:
        * http/tests/xmlhttprequest/resources/get-set-cookie.cgi:

2010-04-07  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Adam Barth.

        Allow white listing access from origin to local origin.
        https://bugs.webkit.org/show_bug.cgi?id=37228

        This makes it possible to load a local resource from a non local
        origin if the access has previously been white listed by calling
        SecurityOrigin::whiteListAccessFromOrigin.

        * http/tests/security/local-image-from-remote-whitelisted-expected.txt: Added.
        * http/tests/security/local-image-from-remote-whitelisted.html: Added.

2010-04-07  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        Fix two cookie tests to clean up after themselves (so they can be run repeatedly)
        https://bugs.webkit.org/show_bug.cgi?id=37235

        Added a ?clear=1 query parameter to the two "set cookies" cgi scripts
        that these tests use, and call it to clear the cookies before leaving the test.

        I could not resist the temptation of cleaning up the ridiculously awful copy/paste
        in these tests, so the changes are larger than strictly necessary.

        * http/tests/xmlhttprequest/cookies.html:
        * http/tests/xmlhttprequest/cross-origin-cookie-storage.html:
        * http/tests/xmlhttprequest/resources/cross-origin-set-cookies.php:
        * http/tests/xmlhttprequest/resources/get-set-cookie.cgi:

2010-04-07  Zhenyao Mo  <zmo@google.com>

        Reviewed by Eric Seidel.

        A few tests in fast/canvas/webgl failed randomly on Leopard Commit Bot
        https://bugs.webkit.org/show_bug.cgi?id=37098

        * fast/canvas/webgl/resources/webgl-test.js: Turn off stencil/antialias by default.
        (create3DContext):
        * fast/canvas/webgl/script-tests/index-validation.js: By default antialias is off.

2010-04-07  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Pavel Feldman.
        Tests expectations changed due to the addition of the function symbol name for
        the call location for records sent by the InspectorTimelineAgent.
        https://bugs.webkit.org/show_bug.cgi?id=36839

        No new tests.

        * inspector/timeline-test.js:
        * platform/chromium-win/inspector/timeline-event-dispatch-expected.txt:
        * platform/chromium-win/inspector/timeline-mark-timeline-expected.txt:
        * platform/chromium-win/inspector/timeline-network-resource-expected.txt:
        * platform/chromium-win/inspector/timeline-paint-expected.txt:
        * platform/chromium-win/inspector/timeline-parse-html-expected.txt:

2010-04-07  Jay Civelli  <jcivelli@chromium.org>

        Reviewed by Jian Li.

        [chromium] Add test for a popup related crasher.
        https://bugs.webkit.org/show_bug.cgi?id=37141

        * platform/chromium/fast/forms: Added.
        * platform/chromium/fast/forms/search-popup-crasher-expected.txt: Added.
        * platform/chromium/fast/forms/search-popup-crasher.html: Added.

2010-04-07  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        Poor rendering on lala.com with frame flattening
        https://bugs.webkit.org/show_bug.cgi?id=37164

        Platform specific expected files added for test introduced in r57225.

        * platform/mac/fast/frames/flattening/iframe-flattening-offscreen-expected.txt: Added.
        * platform/qt/fast/frames/flattening/iframe-flattening-offscreen-expected.txt: Added.

2010-04-07  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        Make sure that calling bindings constructors as function does not result in crash.

        * fast/constructors: Added.
        * fast/constructors/constructor-as-function-crash-expected.txt: Added.
        * fast/constructors/constructor-as-function-crash.html: Added.

2010-04-07  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Simon Fraser.

        Make tests pass with tolerance=0 after r57215
        https://bugs.webkit.org/show_bug.cgi?id=37225

        * platform/mac-leopard/fast/text/complex-text-opacity-expected.checksum:
        * platform/mac-leopard/fast/text/complex-text-opacity-expected.png:
        * platform/mac/fast/repaint/stacked-diacritics-expected.checksum:
        * platform/mac/fast/repaint/stacked-diacritics-expected.png:

2010-04-07  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, skipping fast/media/media-feature-wgt-view-mode.html for Chromium.

        Chromium doesn't implement layoutTestController.setViewModeMediaFeature(), which is needed
        to pass this layout test.

        * platform/chromium-win/fast/media/media-feature-wgt-view-mode-expected.checksum: Removed.
        * platform/chromium-win/fast/media/media-feature-wgt-view-mode-expected.png: Removed.
        * platform/chromium-win/fast/media/media-feature-wgt-view-mode-expected.txt: Removed.
        * platform/chromium/test_expectations.txt: Skip fast/media/media-feature-wgt-view-mode.html.

2010-04-07  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, checking in missing image baselines for fast/layers/video-layer.html

        * platform/chromium-linux/fast/layers/video-layer-expected.checksum: Added.
        * platform/chromium-linux/fast/layers/video-layer-expected.png: Added.
        * platform/chromium-mac/fast/layers/video-layer-expected.checksum: Added.
        * platform/chromium-mac/fast/layers/video-layer-expected.png: Added.
        * platform/chromium-win/fast/layers/video-layer-expected.checksum: Updated.
        * platform/chromium-win/fast/layers/video-layer-expected.png: Updated.

2010-04-06  Enrica Casucci  <enrica@apple.com>

        Reviewed by Dave Hyatt.

        Text repainting does not account for glyphs which draw outside the typographic bounds of the font (6274).
        <rdar://problem/6649734>
        <https://bugs.webkit.org/show_bug.cgi?id=6274>

        * fast/repaint/stacked-diacritics.html: Added.
        * platform/mac/fast/repaint/stacked-diacritics-expected.checksum: Added.
        * platform/mac/fast/repaint/stacked-diacritics-expected.png: Added.
        * platform/mac/fast/repaint/stacked-diacritics-expected.txt: Added.

2010-04-07  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57196.
        http://trac.webkit.org/changeset/57196
        https://bugs.webkit.org/show_bug.cgi?id=37196

        Multiple layout test failures on Chromium (Requested by yurys
        on #webkit).

        * inspector/timeline-test.js:

2010-04-07  Jaime Yap  <jaimeyap@google.com>

        Reviewed by Yury Semikhatsky.

        Adds callerFuncName to the list of nondeterministic fields in the timeline
        layout tests.
        https://bugs.webkit.org/show_bug.cgi?id=36839

        * inspector/timeline-test.js:

2010-04-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION: Worker termination via JS timeout may cause worker tests like fast/workers/worker-terminate.html fail.
        https://bugs.webkit.org/show_bug.cgi?id=36646

        * fast/workers/resources/worker-run-forever.js: Added.
        * fast/workers/worker-terminate-forever-expected.txt: Added.
        * fast/workers/worker-terminate-forever.html: Added.
            - Test what happens when we terminate an infinitely running worker.
              The essential point is that we don't spam the console with
              nonsense about a timeout.
        * platform/mac/Skipped:
            - Rescue worker-terminate.html from the Skipped list now that we've
              fixed the underlying bug that was causing the flakiness.

2010-04-06  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Eric Seidel.

        Checking in new baselines for media/video-controls-rendering.html and fast/layers/video-layer.html.
        https://bugs.webkit.org/show_bug.cgi?id=37180

        * platform/chromium-linux/media/video-controls-rendering-expected.checksum: Wasn't rebaselined when Linux scrollbars changed.
        * platform/chromium-linux/media/video-controls-rendering-expected.png: Ditto.
        * platform/chromium-mac/fast/layers/video-layer-expected.txt: Wasn't rebaselined when audio/video UI was refreshed.
        * platform/chromium-win/fast/layers/video-layer-expected.txt: Ditto.
        * platform/chromium/test_expectations.txt: Removed expectations for the above two tests.

2010-04-06  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Oliver Hunt.

        REGRESSION (r57113): editing/inserting/break-blockquote-after-delete.html fails on Windows
        <http://webkit.org/b/37156> / <rdar://problem/7832408>

        Land Windows-specific results for editing/inserting/break-blockquote-after-delete.html.  <rdar://problem/7834280>
        tracks understanding the root cause of this difference between Mac and Windows.

        * platform/win/editing/inserting/break-blockquote-after-delete-expected.checksum: Copied from LayoutTests/platform/mac/editing/inserting/break-blockquote-after-delete-expected.checksum.
        * platform/win/editing/inserting/break-blockquote-after-delete-expected.png: Copied from LayoutTests/platform/mac/editing/inserting/break-blockquote-after-delete-expected.png.
        * platform/win/editing/inserting/break-blockquote-after-delete-expected.txt: Copied from LayoutTests/platform/chromium-mac/editing/inserting/break-blockquote-after-delete-expected.txt.

2010-04-06  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add test for javascript:window.open() popup blocker bypass.
        https://bugs.webkit.org/show_bug.cgi?id=37138

        * fast/events/popup-blocked-from-window-open.html: added
        * fast/events/popup-blocked-from-window-open-expected.txt: added

2010-04-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Alexey Proskuryakov.

        transitions/transition-end-event-transform.html fails intermittently on Tiger Intel Release bot
        https://bugs.webkit.org/show_bug.cgi?id=37145

        The timeout on this test is wrong because the helper library assumes
        that we're only going to do one transition, but the test actually does
        two in sequence.  This patch doubles the timeout to account for that.

        The design of these tests are quite unfortunate because these timeout
        behaviors don't seem like they'd be reliable on slow machines like
        Tiger.  I'm not 100% convinced that this will fix the flakiness, but it
        seems like an improvement.

        I'll file a separate bug about DRT leaking state from one test to
        another.

        * transitions/transition-end-event-helpers.js:
        * transitions/transition-end-event-set-none.html:

2010-04-06  Krithigassree Sambamurthy  <krithigassree.sambamurthy@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] These tests can be removed from the skipped list since these
        work after the redirection loop detection implemented in qt network.
        https://bugs.webkit.org/show_bug.cgii?id=36690

        * platform/qt/Skipped:

2010-04-06  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, media test expectations tweak.

        We now regularly run http/tests/media and have to mark a few tests as TIMEOUT.

        * platform/chromium/test_expectations.txt:

2010-04-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        aria-label doesn't work on image map area
        https://bugs.webkit.org/show_bug.cgi?id=36977

        * platform/mac/accessibility/area-with-aria-label-expected.txt: Added.
        * platform/mac/accessibility/area-with-aria-label.html: Added.

2010-04-06  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, cleaning up media layout test expectations.

        Mostly correcting bug numbers, updating comments, and fixing expectations.

        * platform/chromium/test_expectations.txt:

2010-04-01  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Darin Adler.

        Fix bug: CSS3 :not selector with ID simple selector sequence test fails
        https://bugs.webkit.org/show_bug.cgi?id=36276

        * fast/css/invalid-not-with-simple-selector-sequence-expected.txt: Added.
        * fast/css/invalid-not-with-simple-selector-sequence.html: Added.

2010-04-06  Darin Adler  <darin@apple.com>

        REGRESSION (r57109): editing/pasteboard/drag-image-to-contenteditable-in-iframe.html fails on Windows
        https://bugs.webkit.org/show_bug.cgi?id=37157

        * platform/win/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
        Copied from platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt.
        Windows gets a different result than Mac because the dragging code ends up making the src attribute
        of the dragged element have a full path on Windows, but not on Mac.

2010-04-06  Bryan Yeung  <bryeung@chromium.org>

        Reviewed by Dimitri Glazkov.

        Update chromium expectations for passing Linux tests.

        * platform/chromium/test_expectations.txt:

2010-04-06  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium test expectations for fast/dom/error-to-string-stack-overflow.html.

        * platform/chromium-mac/fast/dom/error-to-string-stack-overflow-expected.txt:
        * platform/chromium-win/fast/dom/error-to-string-stack-overflow-expected.txt:
        * platform/chromium/test_expectations.txt:

2010-04-06  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: The JS code can be not optimal from memory usage point of view.
        As example it can generate a lot of temp objects and GC will spend significant time to collect these objects.
        GCRun event will show us these moments. Also each event can show us how much memory is in use.
        https://bugs.webkit.org/show_bug.cgi?id=37025

        * inspector/timeline-enum-stability-expected.txt:
        * inspector/timeline-event-dispatch-expected.txt:
        * inspector/timeline-layout-expected.txt:
        * inspector/timeline-mark-timeline-expected.txt:
        * inspector/timeline-network-resource-expected.txt:
        * inspector/timeline-paint-expected.txt:
        * inspector/timeline-parse-html-expected.txt:
        * inspector/timeline-recalculate-styles-expected.txt:
        * inspector/timeline-script-tag-1-expected.txt:
        * inspector/timeline-script-tag-2-expected.txt:
        * inspector/timeline-test.js:
        * platform/chromium-win/inspector/timeline-event-dispatch-expected.txt:
        * platform/chromium-win/inspector/timeline-mark-timeline-expected.txt:
        * platform/chromium-win/inspector/timeline-network-resource-expected.txt:
        * platform/chromium-win/inspector/timeline-paint-expected.txt:
        * platform/chromium-win/inspector/timeline-parse-html-expected.txt:

2010-04-06  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium test expectations.

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

        * platform/chromium-win/fast/workers/worker-script-error-expected.txt:

2010-04-06  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium test expectations.

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

        * platform/chromium-win/fast/workers/worker-script-error-expected.txt:

2010-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: rebaselining Chromium layout test expectations.

        * platform/chromium-mac/editing/inserting/break-blockquote-after-delete-expected.txt: Added.
        * platform/chromium-mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum: Added.
        * platform/chromium-mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png: Added.
        * platform/chromium-mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt: Added.
        * platform/chromium-mac/fast/backgrounds/size/contain-and-cover-expected.checksum: Added.
        * platform/chromium-mac/fast/backgrounds/size/contain-and-cover-expected.png: Added.
        * platform/chromium/test_expectations.txt:

2010-04-06  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] LayoutTests/fast/canvas/canvas-text-alignment.html skipped on Qt
        https://bugs.webkit.org/show_bug.cgi?id=36058

        fast/canvas/canvas-text-alignment.html passes, so it can be unskipped.
        Compared to png file and Mac expected file.

        * platform/qt/Skipped: fast/canvas/canvas-text-alignment.html unskipped.
        * platform/qt/fast/canvas/canvas-text-alignment-expected.checksum: Added.
        * platform/qt/fast/canvas/canvas-text-alignment-expected.png: Added.
        * platform/qt/fast/canvas/canvas-text-alignment-expected.txt: Added.

2010-04-06  Dirk Schulze  <krit@webkit.org>

        Reviewed by Oliver Hunt.

        SVG/SMIL parse failure on attribute keySplines
        https://bugs.webkit.org/show_bug.cgi?id=37071

        Test correct parsing of keySplines.

        * svg/animations/animate-keySplines-expected.txt: Added.
        * svg/animations/animate-keySplines.html: Added.
        * svg/animations/script-tests/animate-keySplines.js: Added.
        (sample1):
        (sample2):
        (sample3):
        (executeTest):

2010-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: more updates to test expectations for Chromium roll.

        * platform/chromium/test_expectations.txt:

2010-04-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: updated test expectations for Chromium roll.

        * platform/chromium/test_expectations.txt:

2010-04-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Test that exception which occurs in onerror handler is reported to the Worker object.

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

        * fast/workers/worker-script-error-expected.txt:
        * fast/workers/worker-script-error.html:

2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler

        Style update done due to mutation event dispatching in textarea can be
        used to corrupt the render tree.
        https://bugs.webkit.org/show_bug.cgi?id=36864

        Modified listbox-selection.html to correctly set the size during
        creation. Otherwise, options added to it as a menuList, resulting
        in a default selection of the first item.

        Added a few more tests to ensure we capture correct behavior for
        select elements and their default selection, as well as the influence
        of when layout occurs.

        * fast/forms/listbox-selection.html:
        * fast/forms/select-change-listbox-to-popup-roundtrip.html: Added.
        * fast/forms/select-change-popup-to-listbox-roundtrip.html: Added.
        * fast/forms/textarea-and-mutation-events.html: Added.

2010-04-05  Mark Rowe  <mrowe@apple.com>

        Update a test result.

        * platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:

2010-04-05  Mark Rowe  <mrowe@apple.com>

        Reviewed by Adele Peterson.

        Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
        REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI

        * platform/mac/editing/deleting/deletionUI-successful-deletion-expected.txt: Added.
        * platform/mac/editing/deleting/deletionUI-successful-deletion.html: Added.
        * platform/mac/editing/deleting/resources/deletionUI-helpers.js:
        (deletionUIDeleteButtonForElement):
        (determineDeletionUIExistence):

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

        Reviewed by Sam Weinig.

        Images must re-load when an image-holding element moves into a new document
        https://bugs.webkit.org/show_bug.cgi?id=37127

        * fast/images/move-image-to-new-document-expected.txt: Added.
        * fast/images/move-image-to-new-document.html: Added.
        * fast/images/script-tests/move-image-to-new-document.js: Added.

        * fast/js/resources/js-test-post.js: Added a feature for doing asynchronous scripting
        tests. The caller sets jsTestIsAsync to true and then calls finishJSTest when done.
        Used by the above test.

        * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.checksum:
        * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.png:
        * platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt:
        Updated since the old test result relied on an incorrect load of an image.
        The relative URL has a different base when moved into the subframe document.

2010-04-05  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Adler.

        A few tests in fast/canvas/webgl/ failed on Leopard Release Bot randomly.
        https://bugs.webkit.org/show_bug.cgi?id=37077
        https://bugs.webkit.org/show_bug.cgi?id=37098

        * fast/canvas/webgl/drawArraysOutOfBounds-expected.txt: Gathering more information about framebuffer status when failure happens.
        * fast/canvas/webgl/drawArraysOutOfBounds.html: Ditto.
        * fast/canvas/webgl/drawElementssOutOfBounds-expected.txt: Ditto.
        * fast/canvas/webgl/drawElementssOutOfBounds.html: Ditto.
        * fast/canvas/webgl/index-validation-copies-indices-expected.txt: Ditto.
        * fast/canvas/webgl/index-validation-copies-indices.html: Ditto.

2010-04-05  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Darin Adler.

        Escape control characters in CSS string value when it is serialilzed.

        When WebKit serializes a CSS string value that contains binary characters
        ('\0\1\2' for example), it did not escape these characters. As a result,
        users got (invisible) control characters through scripts. This change fixes
        this issue.

        As a side effect, two separate codes for escaping CSS strings are merged, and
        become a public function (quoteCSSString).

        CSS string value is not correctly serialized when it contains binary characters
        https://bugs.webkit.org/show_bug.cgi?id=28938

        * fast/css/script-tests/string-quote-binary.js: Added.
        * fast/css/string-quote-binary-expected.txt: Added.
        * fast/css/string-quote-binary.html: Added.
        * fast/js/resources/js-test-pre.js:
        (shouldBeEqualToString): Considering the case when the argument contains binary characters.

2010-04-05  John Gregg  <johnnyg@google.com>

        Reviewed by Darin Adler.

        Notifications should not resolve an empty icon parameter as a relative URL
        https://bugs.webkit.org/show_bug.cgi?id=36862

        * fast/notifications/notifications-no-icon-expected.txt: Added.
        * fast/notifications/notifications-no-icon.html-disabled: Added.

2010-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r57081.
        http://trac.webkit.org/changeset/57081
        https://bugs.webkit.org/show_bug.cgi?id=37121

        We think it triggered two tests to fail on Tiger because of
        race conditions (Requested by abarth on #webkit).

        * fast/forms/listbox-selection.html:
        * fast/forms/select-change-listbox-to-popup-roundtrip-expected.txt: Removed.
        * fast/forms/select-change-listbox-to-popup-roundtrip.html: Removed.
        * fast/forms/select-change-popup-to-listbox-roundtrip-expected.txt: Removed.
        * fast/forms/select-change-popup-to-listbox-roundtrip.html: Removed.
        * fast/forms/textarea-and-mutation-events-expected.txt: Removed.
        * fast/forms/textarea-and-mutation-events.html: Removed.

2010-04-05  Alexey Proskuryakov  <ap@apple.com>

        Updated expected pixel results for missing plug-in, now using text placeholder.

        * platform/mac/plugins/qt-qwidget-plugin-expected.checksum:
        * platform/mac/plugins/qt-qwidget-plugin-expected.png:

2010-04-05  yael aharon  <yael.aharon@nokia.com>

        Unreviewed.
        Separate test results for windows platform because progress element is not implemented for that platform yet.

        * platform/win/fast/dom/Window/window-property-descriptors-expected.txt: Added.
        * platform/win/fast/dom/prototype-inheritance-2-expected.txt: Added.
        * platform/win/fast/dom/prototype-inheritance-expected.txt: Added.
        * platform/win/fast/js: Added.
        * platform/win/fast/js/global-constructors-expected.txt: Added.

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

        Unreviewed.

        Bug 37112 - aria-liveregion-notifications.html fails on leopard release bot
        https://bugs.webkit.org/show_bug.cgi?id=37112

        Disabling this test on Leopard until further investigation can reveal the answer.
        It looks like at this point, any new test added will cause this test to fail on Leopard
        release bot, even if it has nothing to do with live regions.

        * platform/mac-leopard/Skipped:

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

        Reviewed by Darin Adler.

        Tests for
        Bug 37040 - AX: need to send selected children change notification when aria-selected changed
        https://bugs.webkit.org/show_bug.cgi?id=37040

        * platform/mac/accessibility/aria-listbox-selectedchildren-change-expected.txt: Added.
        * platform/mac/accessibility/aria-listbox-selectedchildren-change.html: Added.

2010-04-05  yael aharon  <yael.aharon@nokia.com>

        Unreviewed.
        Separate test results for gtk platform because progress element is not implemented for that platform yet.

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

2010-04-05  Adam Barth  <abarth@webkit.org>

        Unreviewed.

        Update expected results for addition of HTMLProgressElement.  We didn't
        see these errors until later because our dependencies are screwed up.

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

2010-04-05  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde-Christiansen.

        [Qt] Fix infinite redirection loop in QNetworkReplyHandler

        Unskip http/tests/xmlhttprequest/connection-error-sync.html

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

        * platform/qt/Skipped:

2010-04-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed layout test fix.

        Update mac results for iframe flattening.

        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt:
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt:
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt:
        * platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.txt:

2010-04-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed layout test fix.

        Update Qt results for iframe flattening.

        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt:
        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt:
        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt:
        * platform/qt/fast/frames/flattening/iframe-flattening-simple-expected.txt:

2010-04-05  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed, revert r57078.

        * fast/workers/worker-script-error-expected.txt:
        * fast/workers/worker-script-error.html:

2010-04-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Style update done due to mutation event dispatching in textarea can be
        used to corrupt the render tree.
        https://bugs.webkit.org/show_bug.cgi?id=36864

        Modified listbox-selection.html to correctly set the size during
        creation. Otherwise, options added to it as a menuList, resulting
        in a default selection of the first item.

        Added a few more tests to ensure we capture correct behavior for
        select elements and their default selection, as well as the influence
        of when layout occurs.

        * fast/forms/listbox-selection.html:
        * fast/forms/select-change-listbox-to-popup-roundtrip.html: Added.
        * fast/forms/select-change-popup-to-listbox-roundtrip.html: Added.
        * fast/forms/textarea-and-mutation-events.html: Added.

2010-04-05  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Test that exception which occurs in onerror handler is reported to the Worker object.

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

        * fast/workers/worker-script-error-expected.txt:
        * fast/workers/worker-script-error.html:

2010-04-05  Robert Hogan  <robert@webkit.org>

        Rubber-stamped by Kenneth-Rohde Christiansen.

        re-login.html and re-login-async.html are now tracked in bugzilla.

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

        * platform/qt/Skipped:

2010-04-05  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: chromium test expectations update for the roll.

        * platform/chromium/test_expectations.txt:

2010-04-03  Antonio Gomes  <tonikitoo@webkit.org>

        Unreviewed expected results fix.

        The implementation was fixed, and results were no longer valid.

        * fast/events/spatial-navigation/snav-iframe-no-scrollable-content-expected.txt:
        * fast/events/spatial-navigation/snav-iframe-no-scrollable-content.html:

2010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>

        Unreviewed.

        [Qt] Skip five XMLHttpRequest tests that are timing out.

        * platform/qt/Skipped: Add a comment on why they are failing.

2010-04-03  Jakub Wieczorek  <jwieczorek@webkit.org>

        Rubber-stamped by Daniel Bates.

        Fix the fast/events/popup-allowed-from-gesture-initiated-event.html test
        failure on the Qt and GTK+ ports.

        Refactor it to not hardcode any metrics (in order to dispatch mouse events)
        but instead calculate them from the offset* properties.

        * fast/events/popup-allowed-from-gesture-initiated-event.html:

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

        Reviewed by Darin Fisher.

        Inconsistent failure modes from uniform[Matrix]* with null WebGLUniformLocation
        https://bugs.webkit.org/show_bug.cgi?id=36574

        Fixed bugs in JavaScript bindings for uniform[Matrix]* entry
        points causing them to throw exceptions rather than synthesize GL
        errors. Fixed the implementations to synthesize INVALID_VALUE
        rather than INVALID_OPERATION to comply to the WebGL spec. Updated
        uniform-location-expected.txt to incorporate the correct error.
        Tested in Safari and Chromium.

        * fast/canvas/webgl/null-uniform-location-expected.txt: Added.
        * fast/canvas/webgl/null-uniform-location.html: Added.
        * fast/canvas/webgl/script-tests/null-uniform-location.js: Added.
        (callUniformFunction):
        * fast/canvas/webgl/uniform-location-expected.txt:

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

        Reviewed by Adam Barth.

        Tests for https://bugs.webkit.org/show_bug.cgi?id=37008.

        * fast/events/popup-allowed-from-gesture-initiated-event-expected.txt: Added.
        * fast/events/popup-allowed-from-gesture-initiated-event.html: Added.
        * fast/events/popup-blocked-from-fake-button-click-expected.txt: Added.
        * fast/events/popup-blocked-from-fake-button-click.html: Added.
        * fast/events/popup-blocked-from-fake-focus-expected.txt: Added.
        * fast/events/popup-blocked-from-fake-focus.html: Added.

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

        Unreviewed.

        REGRESSION(56394): http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html fails on Tiger
        https://bugs.webkit.org/show_bug.cgi?id=36934

        Attempt Alexey's solution of using a non-sniffable MIME type.

        * http/tests/xmlhttprequest/resources/download-with-delay.php:

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

        Unreviewed.  Disabled fast/workers/worker-terminate.html because it
        randomly fails about 25% of the time.

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

        * platform/mac/Skipped:

2010-04-02  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=36647
        Make replacestate-in-frame.html less insane and hopefully no longer flaky.

        * fast/loader/stateobjects/replacestate-in-iframe-expected.txt:
        * fast/loader/stateobjects/replacestate-in-iframe.html:
        * fast/loader/stateobjects/resources/replacestate-in-iframe-window-child.html: Added.
        * fast/loader/stateobjects/resources/replacestate-in-iframe-window.html: Added.

2010-04-02  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Alexey Proskuryakov.

        XHR allows arbitrary XSRF across domains
        https://bugs.webkit.org/show_bug.cgi?id=36843

        Added a one-line change to prevent bypassing the XDC check on
        synchronous preflighted requests. Added layout tests to cover
        variations of this problem.

        * http/tests/xmlhttprequest/access-control-preflight-async-header-denied-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-async-header-denied.html: Added.
        * http/tests/xmlhttprequest/access-control-preflight-async-method-denied-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-async-method-denied.html: Added.
        * http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-sync-header-denied.html: Added.
        * http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-preflight-sync-method-denied.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-preflight-denied-xsrf.php: Added.

2010-04-02  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Eric Carlson and Eric Seidel.

        Don't stop the playback event timer when media resource loading has suspended.
        https://bugs.webkit.org/show_bug.cgi?id=37003

        When a user agent decides to suspend media resource loading and enters the
        NETWORK_IDLE state we are supposed to only stop the progress event timer but
        keep the playback timer running.

        Currently Chromium is the only platform that fires the suspend event
        hence most platforms skipping this test.

        * http/tests/media/video-play-suspend-expected.txt: Added.
        * http/tests/media/video-play-suspend.html: Added.
        * platform/gtk/Skipped: Doesn't fire a suspend event.
        * platform/mac/Skipped: Ditto.
        * platform/win/Skipped: Ditto.

2010-04-02  David Levin  <levin@chromium.org>

        Reviewed by Darin Adler.

        (non-generated) code should only use CanvasRenderingContext::canvas as a CanvasSurface.
        https://bugs.webkit.org/show_bug.cgi?id=36906

        * fast/canvas/script-tests/canvas-gradient-addStop-error.js: Changed the test
        to create a new canvas after switching to dashboard compatiblity mode, which is
        needed now that the compatibility mode is cached in the canvas.

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

        Reviewed by Eric Seidel.

        Implement and test new framebuffer object attachment behavior.
        https://bugs.webkit.org/show_bug.cgi?id=35611

        * fast/canvas/webgl/framebuffer-object-attachment-expected.txt: Added, test framebuffer object attachment behavior.
        * fast/canvas/webgl/framebuffer-object-attachment.html: Added, framebuffer object attachment behavior.
        * fast/canvas/webgl/script-tests/gl-object-get-calls.js: DEPTH_COMPONENT is no longer a valid input, use DEPTH_COMPONENT16 instead.
        * platform/mac-snowleopard/Skipped: The bot does not support EXT_packed_depth_stencil, skip the framebuffer-object-attachment.html test.

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

        Reviewed by Eric Seidel.

        fast/canvas/webgl/index-validation.html failed on Leopard Commit Bot
        https://bugs.webkit.org/show_bug.cgi?id=36908

        * fast/canvas/webgl/index-validation-expected.txt: Gathering more information about the cause of the failure.  It's not a fix, and it won't worse change the current test behavior either, i.e., it won't make it better or worse.
        * fast/canvas/webgl/script-tests/index-validation.js: Ditto.

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

        Reviewed by Darin Adler.

        Form control state shouldn't be restored for hidden inputs.
        https://bugs.webkit.org/show_bug.cgi?id=26241

        * fast/forms/button-state-restore.html: Updated for the behavior change.
        * fast/forms/state-restore-to-non-edited-controls-expected.txt: Added.
        * fast/forms/state-restore-to-non-edited-controls.html: Added.

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

        Reviewed by Darin Adler.

        Forms with autocomplete=off should not consume saved state
        https://bugs.webkit.org/show_bug.cgi?id=36762

        * fast/forms/state-restore-to-non-autocomplete-form-expected.txt: Added.
        * fast/forms/state-restore-to-non-autocomplete-form.html: Added.

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

        Unreviewed.

        [Gtk] LayoutTest feColorMatrix-value with different results over Gtk bots
        https://bugs.webkit.org/show_bug.cgi?id=37029

        Adding svg/filters/feColorMatrix-values.svg to the Gtk skip list. Opened
        the bug report from above.

        * platform/gtk/Skipped:

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

        Reviewed by Darin Adler.

        Incorrect insertion position after typing 'ำ' (THAI CHARACTER SARA AM = 0E33)
        https://bugs.webkit.org/show_bug.cgi?id=36858

        Add failing results for Tiger to make the Tiger bot green.
        We may wish to actually fix Tiger at some point.

        * platform/mac-tiger/fast/text/multiglyph-characters-expected.txt: Added.

2010-04-02  Darin Fisher  <darin@chromium.org>

        Add chromium suppression for http/tests/xhtmlmp since we do not support
        this feature.

        * platform/chromium/test_expectations.txt:

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

        [Qt]  http/tests/xmlhttprequest/access-control-response-with-body.html was introduced in r56955,
        but it fails: "NETWORK_ERR: XMLHttpRequest Exception 101: A network error occured in synchronous requests."

        * platform/qt/Skipped: http/tests/xmlhttprequest/access-control-response-with-body.html skipped.

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

        [Qt] Platform specific expected file added for test introduced in r56775,
        because it passes. Compared to png file and Mac expected file.

        * platform/qt/svg/custom/animation-currentColor-expected.txt: Added.

2010-04-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        Accept XHTML-MP content type as XHTML content
        https://bugs.webkit.org/show_bug.cgi?id=34262

        Add a simple test that fails if XHTML-MP mime
        type is not accepted. 

        * http/conf/mime.types: Register XHTML-MP mime
        type with the test server
        * http/tests/xhtmlmp: Added.
        * http/tests/xhtmlmp/xhtml-expected.txt: Added.
        * http/tests/xhtmlmp/xhtml.xhtmlmp: Added. Testcase
        with the newly registered file extension.

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

        Unreviewed test fix.  Follow the behavior change by r56962.

        * editing/selection/4960137.html:

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

        Unreviewed, just updating expected results for passing tests.

        suppress image failures for now to get a clean test run w/ pixel tests enabled for new-run-webkit-tests
        https://bugs.webkit.org/show_bug.cgi?id=36620

        Remove several tests marked MISSING which no longer seem to be missing.

        * platform/mac/test_expectations.txt:

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

        Reviewed by Eric Seidel.

        REGRESSION(56295): http/tests/security/xssAuditor/xss-protection-parsing-01.html times out on Tiger Bot
        https://bugs.webkit.org/show_bug.cgi?id=36933

        Change the test design in an attempt to get this passing on Tiger.  In
        this variation, we use a POST request to work around possible caching
        issues in Tiger's CFNetwork.

        * http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt:
        * http/tests/security/xssAuditor/xss-protection-parsing-01.html:

2010-04-01  MORITA Hajime  <morrita@google.com>

        Reviewed by Darin Adler.

        setting document.title doesn't change document.title value 
        https://bugs.webkit.org/show_bug.cgi?id=36802

        * fast/dom/Document/script-tests/title-with-multiple-children.js: Added.
        * fast/dom/Document/title-with-multiple-children-expected.txt: Added.
        * fast/dom/Document/title-with-multiple-children.html: Added.

2010-04-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Move some SVG mac results to the SVG base directory, to give other platforms like Gtk
        access to them.
        Gtk needs a platform specific result for feColorMatrix-values.

        * platform/gtk/svg/filters/feColorMatrix-values-expected.txt: Added.
        * platform/mac/svg/custom/animation-currentColor-expected.txt: Removed.
        * platform/mac/svg/custom/glyph-transformation-with-hkern-expected.txt: Removed.
        * platform/mac/svg/custom/gradient-with-1d-boundingbox-expected.txt: Removed.
        * svg/custom/animation-currentColor-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/animation-currentColor-expected.txt.
        * svg/custom/glyph-transformation-with-hkern-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/glyph-transformation-with-hkern-expected.txt.
        * svg/custom/gradient-with-1d-boundingbox-expected.txt: Copied from LayoutTests/platform/mac/svg/custom/gradient-with-1d-boundingbox-expected.txt.

2010-04-01  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        This is a follow up to commit r56906. The fourth filter example,
        feMorphology, shouldn't be displayed. filterRes causes a scaling of the filter
        parameters, so that one value of 'radius' is lower than one.
        The spec want us to round filter values down and a value of zero
        for 'radius' stops the rendering process of feMorphology.

        * platform/mac/svg/filters/filterRes-expected.png:

2010-04-01  Eric Seidel  <eric@webkit.org>

        Unreviewed, just adding flaky tests to test_expectations.

        Mark fast/dom/global-constructors.html and
        fast/tokenizer/doctype-search-reset.html as flaky when run
        under new-run-webkit-tests.

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

        * platform/mac/test_expectations.txt:

2010-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed. Rollout of http://trac.webkit.org/changeset/56930
        https://bugs.webkit.org/show_bug.cgi?id=36977

        We suspect that this change broke aria-liveregions-notifications

        * platform/mac/accessibility/area-with-aria-label-expected.txt: Removed.
        * platform/mac/accessibility/area-with-aria-label.html: Removed.

2010-04-01  MORITA Hajime  <morrita@google.com>

        Reviewed by Darin Adler.

        WebCore::Document::updateLayoutIgnorePendingStylesheets NULL pointer
        https://bugs.webkit.org/show_bug.cgi?id=31680
        Ownerless nodes leads a crash on DOMSelection APIs
        https://bugs.webkit.org/show_bug.cgi?id=36800

        * editing/selection/DOMSelection-DocumentType-expected.txt: Added.
        * editing/selection/DOMSelection-DocumentType.html: Added.
        * editing/selection/DOMSelection-crossing-document-expected.txt: Added.
        * editing/selection/DOMSelection-crossing-document.html: Added.
        * editing/selection/drag-in-iframe.html:
          Updated to follow follow behaviour change.
        * editing/selection/script-tests/DOMSelection-DocumentType.js: Added.
        * editing/selection/script-tests/DOMSelection-crossing-document.js: Added.
        (makeEditableDocument):
        (clear):

2010-04-01  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add test for XSLT NULL crash:
        https://bugs.webkit.org/show_bug.cgi?id=36804

        * LayoutTests/fast/xsl/xslt-bad-import-uri.html: added
        * LayoutTests/fast/xsl/xslt-bad-import-uri-expected.txt: added
        * LayoutTests/fast/xsl/resources/xslt-bad-import-uri.xml: added
        * LayoutTests/fast/xsl/resources/xslt-bad-import-uri.xsl: added

2010-04-01  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36854
        <rdar://problem/7811668> REGRESSION (r47291): Body from cross origin preflight response
        is prepended to the actual response body

        * http/tests/xmlhttprequest/access-control-response-with-body-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-response-with-body-sync-expected.txt: Added.
        * http/tests/xmlhttprequest/access-control-response-with-body-sync.html: Added.
        * http/tests/xmlhttprequest/access-control-response-with-body.html: Added.
        * http/tests/xmlhttprequest/resources/access-control-allow-with-body.php: Added.

2010-04-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Assertion failure (willBeComposited == needsToBeComposited(layer)) in
        RenderLayerCompositor::computeCompositingRequirements() on hulu.com
        https://bugs.webkit.org/show_bug.cgi?id=36516
        
        Testcase with a compositing layer and a clipping parent, which hit the assertion described by the bug.

        * compositing/self-painting-layers2-expected.txt: Added.
        * compositing/self-painting-layers2.html: Added.

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

        Reviewed by Dimitri Glazkov.

        Testing that executeSql() accepts only one-statement strings.

        * storage/executesql-accepts-only-one-statement-expected.txt: Added.
        * storage/executesql-accepts-only-one-statement.html: Added.

2010-04-01  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        Mapping from local to container coord space in updateLayerPositions is quadratic
        https://bugs.webkit.org/show_bug.cgi?id=33520

        These tests move layers around in various ways to test that the offset caching in
        updateLayerPositions() is correct.

        * fast/layers/nested-layers-1-expected.txt: Added.
        * fast/layers/nested-layers-1.html: Added.
        * fast/layers/nested-layers-2-expected.txt: Added.
        * fast/layers/nested-layers-2.html: Added.
        * fast/layers/nested-layers-3-expected.txt: Added.
        * fast/layers/nested-layers-3.html: Added.
        * fast/layers/nested-layers-4-expected.txt: Added.
        * fast/layers/nested-layers-4.html: Added.

2010-04-01  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Added layerTreeAsText function to DRT (for Mac)
        https://bugs.webkit.org/show_bug.cgi?id=36782

        Sample test to show functionality. This test shows a case where the compositing
        was corrupted on Windows. This was fixed in http://trac.webkit.org/changeset/56200.
        Results are platform specific because the layer tree output contains positions and
        sizes that will be different on Mac and Windows.

        * compositing/geometry/preserve-3d-switching-expected.txt: Added.
        * compositing/geometry/preserve-3d-switching.html: Added.

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

        Reviewed by Beth Dakin.

        Bug 36977 - aria-label doesn't work on image map area
        https://bugs.webkit.org/show_bug.cgi?id=36977

        * platform/mac/accessibility/area-with-aria-label-expected.txt: Added.
        * platform/mac/accessibility/area-with-aria-label.html: Added.

2010-04-01  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Eric Seidel.

        Part of:
        REGRESSION(56394):
        http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
        fails on Tiger
        https://bugs.webkit.org/show_bug.cgi?id=36934

        * http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html:
        Add more explicit failing messages to help find out what is failing.

2010-04-01  Eric Seidel  <eric@webkit.org>

        Reviewed by Maciej Stachowiak.

        REGRESSION(56489): security/block-test.html fails on Tiger Bot
        https://bugs.webkit.org/show_bug.cgi?id=36932

        It appears that r56489 just forgot to update the Tiger results
        to include the new parts of the test.  Tiger has had custom
        results for this test since r54193.

        I just pulled these off the bot.  I do not have the domain knowledge
        to know if these are right or not.  They look fine to me.

        * platform/mac-tiger/security/block-test-expected.txt:

2010-04-01  Zhenyao Mo  <zmo@google.com>

        Reviewed by Eric Seidel.

        fast/canvas/webgl/index-validation.html failed on Leopard Commit Bot
        https://bugs.webkit.org/show_bug.cgi?id=36908

        * fast/canvas/webgl/script-tests/index-validation.js: Disable antialias for this test.

2010-04-01  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Assertion failure: !repaintContainer || repaintContainer == this
        https://bugs.webkit.org/show_bug.cgi?id=36672
        
        Test for repainting where the repaintContainer is a descendant of the containing block.

        * compositing/repaint/inline-repaint-container-expected.txt: Added.
        * compositing/repaint/inline-repaint-container.html: Added.

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

        Reviewed by Beth Dakin.

        Bug 36968 - 1 crash in Safari at com.apple.WebCore: WebCore::Element::getAttribute const
        https://bugs.webkit.org/show_bug.cgi?id=36968

        * accessibility/crash-with-noelement-selectbox-expected.txt: Added.
        * accessibility/crash-with-noelement-selectbox.html: Added.

2010-04-01  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Enable HTMLProgressElement for Safari on OSX
        https://bugs.webkit.org/show_bug.cgi?id=36961

        * platform/mac/Skipped:

2010-04-03  yael aharon  <yael.aharon@nokia.com>

        Reviewed by Laszlo Gombos.

        set-progress-properties.html expected result should not be platform specific
        https://bugs.webkit.org/show_bug.cgi?id=36918

        * fast/dom/HTMLProgressElement/set-progress-properties-expected.txt: Added.
        * platform/qt/fast/dom/HTMLProgressElement/set-progress-properties-expected.txt: Removed.

2010-04-01  Shu Chang  <chang.shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] As Qt does not support dashboard compatibility mode, the red squares on
        the second row are expected. Rebaseline and unskip test case.
        https://bugs.webkit.org/show_bug.cgi?id=36869

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/fill-stroke-clip-reset-path-expected.checksum: Added.
        * platform/qt/fast/canvas/fill-stroke-clip-reset-path-expected.png: Added.
        * platform/qt/fast/canvas/fill-stroke-clip-reset-path-expected.txt:

2010-04-01  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Mark console-log-before-frame-navigation as pssing on Chromium Win.

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

        * platform/chromium/test_expectations.txt:

2010-04-01  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Audits: fix parsing of injected script-evaluated result for CssInHeadRule
        https://bugs.webkit.org/show_bug.cgi?id=36952

        * inspector/audits-panel-functional-expected.txt:
        * inspector/audits-panel-functional.html:

2010-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Fix filter references in svg/filters/filterRes.svg, to make two filters show up in Opera.
        Clearly shows we have a regression with filterRes + feMorphology.

        * svg/filters/filterRes.svg:

2010-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        REGRESSION: document.documentElement.getScreenCTM() returns incorrect matrix.
        https://bugs.webkit.org/show_bug.cgi?id=27183

        Share code between the different svgsvgelement-ctm*.xhtm tests, placed in svg/custom/resources.
        Add several new tests covering getCTM()/getScreenCTM() on text, inner and outer svg elements and containers.

        * svg/custom/resources/svgsvgelement-ctm.js: Added.
        (log):
        (stringForMatrix):
        (printCTMs):
        * svg/custom/svgsvgelement-ctm-expected.txt:
        * svg/custom/svgsvgelement-ctm.xhtml:
        * svg/custom/svgsvgelement-ctm2-expected.txt: Added.
        * svg/custom/svgsvgelement-ctm2.xhtml: Added.
        * svg/custom/svgsvgelement-ctm3-expected.txt: Added.
        * svg/custom/svgsvgelement-ctm3.xhtml: Added.
        * svg/custom/svgsvgelement-ctm4-expected.txt: Added.
        * svg/custom/svgsvgelement-ctm4.xhtml: Added.
        * svg/custom/svgsvgelement-ctm5-expected.txt: Added.
        * svg/custom/svgsvgelement-ctm5.xhtml: Added.

2010-04-01  Alpha Lam  <hclam@chromium.org>

        Not reviewed. Build fix.

        Adding test expectations missing in r56873.

        * platform/chromium-mac/media/audio-constructor-src-expected.txt: Added.
        * platform/chromium-mac/media/video-source-add-src-expected.txt: Added.

2010-04-01  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed - more layout test result build fixes:
        .) Fix expected layout test filenames for Chromium.
        .) Add new layout test to gtk Skipped list.

        Original patch review by Darin Adler (no functional change):

        Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
        https://bugs.webkit.org/show_bug.cgi?id=36803

        * platform/chromium-linux/fast/ruby/ruby-inline-table-expected.checksum: Renamed from LayoutTests/platform/chromium-linux/fast/ruby/ruby-inline-table-actual.checksum.
        * platform/chromium-linux/fast/ruby/ruby-inline-table-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/ruby/ruby-inline-table-actual.png.
        * platform/chromium-linux/fast/ruby/ruby-inline-table-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/ruby/ruby-inline-table-actual.txt.
        * platform/chromium-win/fast/ruby/ruby-inline-table-expected.checksum: Renamed from LayoutTests/platform/chromium-win/fast/ruby/ruby-inline-table-actual.checksum.
        * platform/chromium-win/fast/ruby/ruby-inline-table-expected.png: Renamed from LayoutTests/platform/chromium-win/fast/ruby/ruby-inline-table-actual.png.
        * platform/chromium-win/fast/ruby/ruby-inline-table-expected.txt: Renamed from LayoutTests/platform/chromium-win/fast/ruby/ruby-inline-table-actual.txt.
        * platform/gtk/Skipped:

2010-03-31  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        fast/replaced/border-radius-clip.html failed on Snow Leopard Debug bot
        https://bugs.webkit.org/show_bug.cgi?id=36642

        This test is flaky (seemingly due to <video> load times)
        and is thus useless until fixed.  Skipping for now.

        * platform/mac/Skipped:

2010-04-01  Roland Steiner  <rolandsteiner@chromium.org>

        Unreviewed - add missing Chromium layout test results for:
        
        Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
        https://bugs.webkit.org/show_bug.cgi?id=36803

        (original patch review by Darin Adler).

        * platform/chromium-linux/fast/ruby/ruby-inline-table-expected.checksum: Added.
        * platform/chromium-linux/fast/ruby/ruby-inline-table-expected.png: Added.
        * platform/chromium-linux/fast/ruby/ruby-inline-table-expected.txt: Added.
        * platform/chromium-win/fast/ruby/ruby-inline-table-expected.checksum: Added.
        * platform/chromium-win/fast/ruby/ruby-inline-table-expected.png: Added.
        * platform/chromium-win/fast/ruby/ruby-inline-table-expected.txt: Added.

2010-03-31  MORITA Hajime  <morrita@google.com>

        Reviewed by Darin Adler.

        Crash when writing into a detached TITLE element
        https://bugs.webkit.org/show_bug.cgi?id=25567

        * fast/dom/title-content-write-set-expected.txt: Added.
        * fast/dom/title-content-write-set.html: Added.

2010-04-01  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Darin Adler.

        Bug 36803 - 'Inline-table' workaround for <ruby> broken with ruby support
        https://bugs.webkit.org/show_bug.cgi?id=36803
        
        Add layout test to confirm that 'inline-table' rendering is not affected
        by ruby implementation.

        * fast/ruby/ruby-inline-table.html: Added.
        * platform/mac/fast/ruby/ruby-inline-table-expected.checksum: Added.
        * platform/mac/fast/ruby/ruby-inline-table-expected.png: Added.
        * platform/mac/fast/ruby/ruby-inline-table-expected.txt: Added.

2010-03-31  Zhenyao Mo  <zmo@google.com>

        Reviewed by Eric Seidel.

        Fix 3 failed tests on Snow Leopard bot from 33416
        https://bugs.webkit.org/show_bug.cgi?id=36910

        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt: Considering the case where EXT_packed_depth_stencil is unsupported.
        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html: Ditto.
        * fast/canvas/webgl/context-attributes-expected.txt: Ditto.
        * fast/canvas/webgl/context-attributes.html: Ditto.
        * fast/canvas/webgl/gl-get-calls-expected.txt: Ditto.
        * fast/canvas/webgl/gl-get-calls.html: Ditto.

2010-03-31  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Crash submitting display:none textarea in a form
        https://bugs.webkit.org/show_bug.cgi?id=36905

        * fast/forms/textarea-submit-crash-expected.txt: Added.
        * fast/forms/textarea-submit-crash.html: Added.

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

        Reviewed by Darin Adler.

        Test for
        Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
        https://bugs.webkit.org/show_bug.cgi?id=36845

        * platform/mac/accessibility/html-with-aria-label-expected.txt: Added.
        * platform/mac/accessibility/html-with-aria-label.html: Added.

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

        Reviewed by Darin Adler.

        <http://webkit.org/b/36878> REGRESSION: Trailing colon on hostnames (with no port specified) causes "Not allowed to use restricted network port"

        Add explicit tests for handling of allowed ports.  We currently only test the ports that map to port 80: 0, 80, and "".

        * platform/mac/security/block-test-expected.txt:
        * security/block-test.html:

2010-03-31  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Dmitry Titov.

        Checking in Chromium media baselines for layout tests fixed in r56481.

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

        * platform/chromium-linux/media/video-no-audio-expected.checksum: Added.
        * platform/chromium-linux/media/video-no-audio-expected.png: Added.
        * platform/chromium-mac/media/video-no-audio-expected.checksum: Added.
        * platform/chromium-mac/media/video-no-audio-expected.png: Added.
        * platform/chromium-mac/media/video-no-audio-expected.txt: Added.
        * platform/chromium-win/media/audio-constructor-src-expected.txt: Added.
        * platform/chromium-win/media/video-no-audio-expected.checksum: Added.
        * platform/chromium-win/media/video-no-audio-expected.png: Added.
        * platform/chromium-win/media/video-no-audio-expected.txt: Added.
        * platform/chromium-win/media/video-source-add-src-expected.txt: Added.
        * platform/chromium/test_expectations.txt: Tests are now passing.

2010-03-31  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Hook up WebGLContextAttributes to OpenGL context creation code
        https://bugs.webkit.org/show_bug.cgi?id=33416

        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt: Added.
        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html: Added.
        * fast/canvas/webgl/context-attributes-expected.txt: WebGL context attributes behavior changed with this fix.
        * fast/canvas/webgl/context-attributes.html: Ditto.
        * fast/canvas/webgl/gl-get-calls-expected.txt: Stencil buffer is enabled, thus Stencil Bits is no longer 0.
        * fast/canvas/webgl/gl-get-calls.html: Ditto.

2010-03-31  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable LayoutTests/fast/canvas/zero-size-fill-rect.html
        https://bugs.webkit.org/show_bug.cgi?id=36837

        Remove zero-size-fill-rect.html from skipped and create expected files.

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/zero-size-fill-rect-expected.checksum: Added.
        * platform/qt/fast/canvas/zero-size-fill-rect-expected.png: Added.
        * platform/qt/fast/canvas/zero-size-fill-rect-expected.txt:

2010-03-31  Alpha Lam  <hclam@chromium.org>

        Reviewed by Darin Fisher.

        Update test results due to changes in r56824.
        https://bugs.webkit.org/show_bug.cgi?id=36900

        * platform/chromium-win/fast/forms/input-file-re-render-expected.checksum:
        * platform/chromium-win/fast/forms/input-file-re-render-expected.png:
        * platform/chromium/test_expectations.txt:
        fast/forms/input-file-re-render.html generates incorrect results on
        Linux, mark it so.

2010-03-31  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        iframe flattening doesn't flatten
        https://bugs.webkit.org/show_bug.cgi?id=36798

        Platform specific expected files added, and updated after r56852.

        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt:
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.txt: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt: Added.
        * platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.txt:
        * platform/qt/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt:
        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-height-expected.txt: Added.
        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-width-and-height-expected.txt: Added.
        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-expected.txt: Added.
        * platform/qt/fast/frames/flattening/iframe-flattening-fixed-width-expected.txt: Added.

2010-02-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Antti Koivisto.

        iframe flattening doesn't flatten
        https://bugs.webkit.org/show_bug.cgi?id=36798

        Add more tests for iframe flattening

        * fast/frames/flattening/iframe-flattening-fixed-height.html
        * fast/frames/flattening/iframe-flattening-fixed-width.html
        * fast/frames/flattening/iframe-flattening-fixed-width-and-height.html
        * fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling.html

2010-03-31  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        [Chromium] Enable fast/events/onbeforeunload-focused-iframe.html
        https://bugs.webkit.org/show_bug.cgi?id=36781

        * platform/chromium/test_expectations.txt: Enable test now that callShouldCloseOnWebView
        is implemented in test_shell.

2010-03-31  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Fix crash

        Web Inspector: [Chromium] inspector/audits-panel-functional.html crashes test_shell
        https://bugs.webkit.org/show_bug.cgi?id=36885

        * inspector/audits-panel-functional.html:
        * platform/chromium/test_expectations.txt:

2010-03-30  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: get rid of "Unsafe JavaScript attempt..." message when inspecting frames whose content has changed.

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

        * http/tests/inspector-enabled/console-log-before-frame-navigation-expected.txt:
        * http/tests/inspector-enabled/resources/console-log-frame-before-navigation.html:

2010-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Add missing pixel test results for svg/filters/feColorMatrix-values.svg

        * platform/mac/svg/filters/feColorMatrix-values-expected.checksum: Added.
        * platform/mac/svg/filters/feColorMatrix-values-expected.png: Added.

2010-03-31  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Implement memmove behavior for WebGLArray set()
        https://bugs.webkit.org/show_bug.cgi?id=35619

        * fast/canvas/webgl/array-setters-expected.txt: Testing shared overlapping buffer set() behaviors.
        * fast/canvas/webgl/array-setters.html: Ditto.

2010-03-31  Sterling Swigart  <sswigart@google.com>

        Reviewed by David Levin.

        [chromium] test_expectations.txt swept for MAC test cases becoming PASS
        https://bugs.webkit.org/show_bug.cgi?id=36863

        * platform/chromium/test_expectations.txt: Cleaned up test_expectations.txt
        for MAC which are now PASS.

2010-03-31  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Darin Adler.

        [Qt] Remove LayoutTests/fast/canvas/image-object-in-canvas.html from Skipped
        https://bugs.webkit.org/show_bug.cgi?id=36836

        Enable LayoutTests/fast/canvas/image-object-in-canvas.html at LayoutTests

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/image-object-in-canvas-expected.checksum: Added.
        * platform/qt/fast/canvas/image-object-in-canvas-expected.png: Added.
        * platform/qt/fast/canvas/image-object-in-canvas-expected.txt:

2010-03-30  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] fast/repaint/overflow-scroll-body-appear need to be rebaselined
        https://bugs.webkit.org/show_bug.cgi?id=36825

        * platform/chromium-linux/fast/repaint/overflow-scroll-body-appear-expected.checksum: Added.
        * platform/chromium-linux/fast/repaint/overflow-scroll-body-appear-expected.png: Added.
        * platform/chromium-mac/fast/repaint/overflow-scroll-body-appear-expected.checksum: Added.
        * platform/chromium-mac/fast/repaint/overflow-scroll-body-appear-expected.png: Added.
        * platform/chromium-win/fast/repaint/overflow-scroll-body-appear-expected.checksum: Added.
        * platform/chromium-win/fast/repaint/overflow-scroll-body-appear-expected.png: Added.
        * platform/chromium-win/fast/repaint/overflow-scroll-body-appear-expected.txt: Added.
        * platform/chromium/test_expectations.txt:

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

        Reviewed by Brady Eidson.

        REGRESSION (r56439) - Crash when a renderer for a file upload control
        with a selected file is recreated
        https://bugs.webkit.org/show_bug.cgi?id=36723

        * fast/forms/input-file-re-render.html:
          Force to do re-layout to check the regression.

2010-03-30  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Fix LayoutTests/fast/dom/Window/window-resize.html
        The test failed on Mac if Dock is placed on the left or the right because the window's width
        and horizontal position can be adjusted by the OS.
        This patch fixes it by using window.availWidth instead of window.width as the expected
        values and by avoid using constant expected values.
        As a side effect, the expected values become platform independent.

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

        * fast/dom/Window/window-resize-expected.txt:
        * fast/dom/Window/window-resize.html:
        * platform/mac/fast/dom/Window/window-resize-expected.txt: Removed.
        * platform/win/fast/dom/Window/window-resize-expected.txt: Removed.

2010-03-30  Alpha Lam  <hclam@chromium.org>

        Reviewed by Dmitry Titov.

        [chromium] Fix test expectations for a new test added in r56779
        https://bugs.webkit.org/show_bug.cgi?id=36868

        inspector/audits-panel-functional.html is crashing on Windows. Mark it so.

        * platform/chromium/test_expectations.txt:
        Add expectation for inspector/audits-panel-functional.html to mark it as crashing.

2010-03-30  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, expectations tweak.

        Updating expectations to stop skipping tests that were fixed in r56481.

        * platform/chromium/test_expectations.txt: Don't skip fixed tests.

2010-03-30  Alpha Lam  <hclam@chromium.org>

        Reviewed by Dmitry Titov.

        [chromium] New test results due to 56776
        https://bugs.webkit.org/show_bug.cgi?id=36857

        Adding new layout test results for chromium for tests added in r56776.

        * platform/chromium-linux/svg/custom/glyph-transformation-with-hkern-expected.checksum: Added.
        * platform/chromium-linux/svg/custom/glyph-transformation-with-hkern-expected.png: Added.
        * platform/chromium-mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.checksum: Added.
        * platform/chromium-mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png: Added.
        * platform/chromium-win/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * platform/chromium-win/svg/custom/glyph-transformation-with-hkern-expected.checksum: Added.
        * platform/chromium-win/svg/custom/glyph-transformation-with-hkern-expected.png: Added.
        * platform/chromium-win/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/chromium/test_expectations.txt:
        Removed the failing expectation for
        platform/chromium-win/svg/custom/scrolling-embedded-svg-file-image-repaint-problem.html
        because the difference in only in the scroll bar, there is not difference in the image content.
        Also fixed a grammar problem in last commit.

2010-03-30  Alpha Lam  <hclam@chromium.org>

        Reviewed by David Levin.

        [chromium] Fix test_expectations for new test added in r56795
        https://bugs.webkit.org/show_bug.cgi?id=36861

        * platform/chromium/test_expectations.txt:
        Expects svg/animations/animate-points.html to fail because a API is missing
        in Chromium. See http://crbug.com/39904.

2010-03-30  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Incorrect insertion position after typing THAI CHARACTER SARA AM = 0E33.
        <rdar://problem/7810749>
        https://bugs.webkit.org/show_bug.cgi?id=36858

        * fast/text/multiglyph-characters-expected.txt: Added.
        * fast/text/multiglyph-characters.html: Added.

2010-03-30  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add test for SVG pattern canvas tainting.

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

        * fast/canvas/svg-taint.html: Added
        * fast/canvas/svg-taint-expected.txt: Added
        * fast/canvas/resources/empty.svg: Added

2010-03-30  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Darin Adler.

        Updating expectations for video-no-audio.html to reflect changes made in r56481.

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

        * platform/mac-tiger/media/video-no-audio-expected.txt: Updating due to different source video dimensions.
        * platform/win/media/video-no-audio-expected.txt: Ditto.

2010-03-30  Adam Langley  <agl@chromium.org>

        Reviewed by David Levin.

        [chromium] linux: prefer the "hinting" fontconfig preference.

        fontconfig can give contradictory hinting information, setting
        "hinting" to zero and "hintstyle" to non-zero. In this case we
        should take the "hinting" preference.

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

        * platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html:

2010-03-30  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Do not send empty matching rules for pseudo elements to frontend.

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

        * platform/chromium/test_expectations.txt:

2010-03-30  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        [chromium] Update test_expectations.txt to enable send-dragged-sliced-file.html
        https://bugs.webkit.org/show_bug.cgi?id=36764

        * platform/chromium/test_expectations.txt:

2010-03-30  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Cannot animate "points" attribute for <svg:polygon>
        https://bugs.webkit.org/show_bug.cgi?id=21371

        Tests if points of a polygon are animateable.

        * svg/animations/animate-points-expected.txt: Added.
        * svg/animations/animate-points.html: Added.
        * svg/animations/script-tests/animate-points.js: Added.
        (sample1):
        (sample2):
        (sample3):
        (executeTest):

2010-03-30  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: bring test expectation back - it still fails for some
        reason.

        * platform/chromium/test_expectations.txt:

2010-03-30  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Update Chromium test expectations.

        * platform/chromium/test_expectations.txt:

2010-03-30  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: removed failure expectation from Chromium.

        * platform/chromium/test_expectations.txt:

2010-03-30  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Darin Adler.

        fast/parser/comments.html needs some clean-up
        https://bugs.webkit.org/show_bug.cgi?id=36537

        - The test is converted to dumpAsText now.
        - The output is also made more explicit as to what is expected (adding some PASSED and FAILED).
        - Finally some part of the test were actually commented so added some comment endings to make sure
          we run all the part of the test.

        * fast/parser/comments-expected.txt: Added.
        * fast/parser/comments.html:
        * platform/chromium-linux/fast/parser/comments-expected.checksum: Removed.
        * platform/chromium-linux/fast/parser/comments-expected.png: Removed.
        * platform/chromium-win/fast/parser/comments-expected.checksum: Removed.
        * platform/chromium-win/fast/parser/comments-expected.png: Removed.
        * platform/chromium-win/fast/parser/comments-expected.txt: Removed.
        * platform/mac/fast/parser/comments-expected.checksum: Removed.
        * platform/mac/fast/parser/comments-expected.png: Removed.
        * platform/mac/fast/parser/comments-expected.txt: Removed.
        * platform/qt/fast/parser/comments-expected.txt: Removed.

2010-03-30  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, test missing in r56732.

        * inspector/audits-panel-functional-expected.txt: Added.
        * inspector/audits-panel-functional.html: Added.
        * inspector/resources/audits-script1.js: Added.
        (foo1):
        * inspector/resources/audits-script2.js: Added.
        (foo2):
        * inspector/resources/audits-script3.js: Added.
        (foo3):
        * inspector/resources/audits-style1.css: Added.

2010-03-30  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Glyph transformations wrong on use of SVGFont
        https://bugs.webkit.org/show_bug.cgi?id=36731

        Test of correct scaled kerning, if userSpace on SVGFont doesn't
        match the scaling of the viewport userSpace.

        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * svg/custom/glyph-transformation-with-hkern.svg: Added.
        * svg/custom/resources/SVGFreeSans.svg: Added.

2010-03-30  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Animation doesn't respect 'currentColor'
        https://bugs.webkit.org/show_bug.cgi?id=36695

        Check if SVG animation takes the color value of the target element as 'currentColor'.

        * platform/mac/svg/custom/animation-currentColor-expected.checksum: Added.
        * platform/mac/svg/custom/animation-currentColor-expected.png: Added.
        * platform/mac/svg/custom/animation-currentColor-expected.txt: Added.
        * svg/custom/animation-currentColor.svg: Added.

2010-03-30  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Skip http/tests/inspector-enabled on Linux and Mac where LayoutTestContoller doesn't support inspector methods yet.

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

        * platform/chromium/test_expectations.txt:

2010-03-30  David Levin  <levin@chromium.org>

        Reviewed by Adam Barth.

        [chromium] Many new test results are needed due to recent check-ins.
        https://bugs.webkit.org/show_bug.cgi?id=36799

        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.checksum: Due to r56655.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.png: Ditto.

2010-03-29  David Levin  <levin@chromium.org>

        Rubber-stamped by Adam Barth.

        Needed to fix test_expectations.txt for recent addition in r56764.

        * platform/chromium/test_expectations.txt: Added IMAGE (due to the results on OSX).

2010-03-29  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by David Hyatt.

        No vertical scrollbar after the CSS class change
        https://bugs.webkit.org/show_bug.cgi?id=36461

        * fast/repaint/overflow-scroll-body-appear.html: Added.
        * platform/chromium/test_expectations.txt:
        * platform/gtk/Skipped:
        * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.checksum: Added.
        * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.png: Added.
        * platform/mac/fast/repaint/overflow-scroll-body-appear-expected.txt: Added.
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-03-29  David Levin  <levin@chromium.org>

        Reviewed by Shinichiro Hamaji.

        [chromium] Many new test results are needed due to recent check-ins.
        https://bugs.webkit.org/show_bug.cgi?id=36799
        
        Various rebaselines due to changes in layout or new tests. The revision that caused
        each change is by the change.

        * platform/chromium-mac/tables/mozilla/bugs/bug1296-expected.checksum: Added. Due to r56655.
        * platform/chromium-mac/tables/mozilla/bugs/bug1296-expected.png: Added. Ditto.
        * platform/chromium-mac/tables/mozilla/bugs/bug1296-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug1296-expected.txt.
        * platform/chromium-mac/tables/mozilla/bugs/bug1430-expected.checksum: Added. Ditto.
        * platform/chromium-mac/tables/mozilla/bugs/bug1430-expected.png: Added. Ditto.
        * platform/chromium-mac/tables/mozilla/bugs/bug1430-expected.txt: Copied from LayoutTests/platform/mac/tables/mozilla/bugs/bug1430-expected.txt.
        * platform/chromium-win/fast/media/media-feature-wgt-view-mode-expected.checksum: Added. Due to r56740.
        * platform/chromium-win/fast/media/media-feature-wgt-view-mode-expected.png: Added. Ditto.
        * platform/chromium-win/fast/media/media-feature-wgt-view-mode-expected.txt: Added. Ditto.
        * platform/chromium-win/svg/custom/marker-overflow-clip-expected.txt: Due to r56693.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-expected.checksum: Due to r56655.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png: Ditto.
        * platform/chromium/test_expectations.txt: Added a few failures with follow up bugs.

2010-03-29  David Levin  <levin@chromium.org>

        Reviewed by Dimitri Glazkov.

        [chromium] Many new test results are needed due to recent check-ins.
        https://bugs.webkit.org/show_bug.cgi?id=36799

        r56655 changed how tables layout which causes a lot of pixels tests for
        tables to need rebaselines.

        r56693 did some svg changes.

        * platform/chromium-linux/tables/mozilla/bugs/bug1296-expected.checksum: Due to r56655.
        * platform/chromium-linux/tables/mozilla/bugs/bug1296-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla/bugs/bug1430-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla/bugs/bug1430-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-column-group-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-row-group-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.checksum: Ditto.
        * platform/chromium-linux/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png: Ditto.
        * platform/chromium-win/svg/custom/invalid-css-expected.txt: Due to r56693.
        * platform/chromium-win/svg/custom/marker-default-width-height-expected.txt: Ditto.
        * platform/chromium-win/svg/custom/shapes-supporting-markers-expected.txt: Ditto.
        * platform/chromium-win/tables/mozilla/bugs/bug1296-expected.checksum: Due to r56655.
        * platform/chromium-win/tables/mozilla/bugs/bug1296-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla/bugs/bug1430-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla/bugs/bug1430-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.checksum: Ditto.
        * platform/chromium-win/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.png: Ditto.
        * platform/chromium/test_expectations.txt: Two newly added tests are timing out (covered by http://crbug.com/35387).

2010-03-29  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        * fast/xmlhttprequest/xmlhttprequest-no-file-access.html:
          Check that an isolated file:// origin can access about:blank iframes
          that it created itself.

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

        Reviewed by Beth Dakin.

        Bug 36735 - Live regions don't send out notifications when the element changing is the live region
        https://bugs.webkit.org/show_bug.cgi?id=36735

        * platform/mac/accessibility/aria-liveregion-on-image-expected.txt: Added.
        * platform/mac/accessibility/aria-liveregion-on-image.html: Added.

2010-03-29  Stephen White  <senorblanco@chromium.org>

        Reviewed by Dave Hyatt.

        Added a test for CSSPrimitiveValue::cssText() string cacheing.

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

        * fast/css/cssText-cache-expected.txt: Added.
        * fast/css/cssText-cache.html: Added.

2010-02-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Fraser.

        Add support for Widgets 1.0: View Mode Media Feature
        https://bugs.webkit.org/show_bug.cgi?id=35446

        Add a test and an expected result for the Widgets 1.0: View Mode
        Media Feature (http://www.w3.org/TR/widgets-vmmf/).

        Skip on all other platforms than Qt, that has Skipped files.

        * fast/media/media-feature-wgt-view-mode.html: Added.
        * fast/media/media-feature-wgt-view-mode-expected.txt: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/win/Skipped:

2010-03-29  David Levin  <levin@chromium.org>

        Rubber-stamped by Dmitry Titov.

        [Chromium] pixel layout test fixes.

        r56655 caused runin test which needed separate results for each platform.
        r56673 caused computed-style-expected.
        r56655 cause the fast/table changes (and we need linux specific results).
        r56644 caused clip-path-referencing-use2-expected.
        r56693 caused painting-marker-01-f-expected. 

        * platform/chromium-linux/fast/runin/generated2-expected.checksum: Added.
        * platform/chromium-linux/fast/runin/generated2-expected.png: Added.
        * platform/chromium-linux/fast/runin/generated2-expected.txt: Added.
        * platform/chromium-linux/fast/runin/generated3-expected.checksum: Added.
        * platform/chromium-linux/fast/runin/generated3-expected.png: Added.
        * platform/chromium-linux/fast/runin/generated3-expected.txt: Added.
        * platform/chromium-linux/fast/runin/generated4-expected.checksum: Added.
        * platform/chromium-linux/fast/runin/generated4-expected.png: Added.
        * platform/chromium-linux/fast/runin/generated4-expected.txt: Added.
        * platform/chromium-linux/fast/table/table-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-cell-overrides-row-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-cell-overrides-row-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-col-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-col-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-col-group-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-col-group-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-col-group-col-span-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-col-group-col-span-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-col-group-span-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-col-group-span-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-col-span-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-col-span-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-row-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-row-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-row-background-left-50px-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-row-background-left-50px-expected.png: Added.
        * platform/chromium-linux/fast/table/table-row-background-right-100percent-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-row-background-right-100percent-expected.png: Added.
        * platform/chromium-linux/fast/table/table-row-background-right-50px-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-row-background-right-50px-expected.png: Added.
        * platform/chromium-linux/fast/table/table-row-group-background-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-row-group-background-expected.png: Added.
        * platform/chromium-linux/fast/table/table-row-group-background-positioned-expected.checksum: Added.
        * platform/chromium-linux/fast/table/table-row-group-background-positioned-expected.png: Added.
        * platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/chromium-mac/fast/runin/generated2-expected.checksum: Renamed from LayoutTests/platform/chromium/fast/runin/generated2-expected.checksum.
        * platform/chromium-mac/fast/runin/generated2-expected.png: Renamed from LayoutTests/platform/chromium/fast/runin/generated2-expected.png.
        * platform/chromium-mac/fast/runin/generated3-expected.checksum: Renamed from LayoutTests/platform/chromium/fast/runin/generated3-expected.checksum.
        * platform/chromium-mac/fast/runin/generated3-expected.png: Renamed from LayoutTests/platform/chromium/fast/runin/generated3-expected.png.
        * platform/chromium-mac/fast/runin/generated4-expected.checksum: Renamed from LayoutTests/platform/chromium/fast/runin/generated4-expected.checksum.
        * platform/chromium-mac/fast/runin/generated4-expected.png: Renamed from LayoutTests/platform/chromium/fast/runin/generated4-expected.png.
        * platform/chromium-mac/svg/custom/clip-path-referencing-use2-expected.txt:
        * platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/chromium-win/fast/runin/generated2-expected.checksum: Added.
        * platform/chromium-win/fast/runin/generated2-expected.png: Added.
        * platform/chromium-win/fast/runin/generated2-expected.txt: Added.
        * platform/chromium-win/fast/runin/generated3-expected.checksum: Added.
        * platform/chromium-win/fast/runin/generated3-expected.png: Added.
        * platform/chromium-win/fast/runin/generated3-expected.txt: Added.
        * platform/chromium-win/fast/runin/generated4-expected.checksum: Added.
        * platform/chromium-win/fast/runin/generated4-expected.png: Added.
        * platform/chromium-win/fast/runin/generated4-expected.txt: Added.
        * platform/chromium-win/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * platform/chromium-win/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
        * platform/chromium-win/svg/custom/clip-path-referencing-use2-expected.txt:

2010-03-29  David Levin  <levin@chromium.org>

        Rubber-stamped by Dmitry Titov.

        Add chromium specific baselines for table tests added in r56641
        and for runin tests added in r56655.

        * platform/chromium-mac/fast/table/table-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-background-expected.txt.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt.
        * platform/chromium-mac/fast/table/table-cell-overrides-row-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-cell-overrides-row-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-cell-overrides-row-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-cell-overrides-row-background-expected.txt.
        * platform/chromium-mac/fast/table/table-col-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-col-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-col-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-col-background-expected.txt.
        * platform/chromium-mac/fast/table/table-col-group-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-col-group-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-col-group-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-col-group-background-expected.txt.
        * platform/chromium-mac/fast/table/table-col-group-col-span-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-col-group-col-span-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-col-group-col-span-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-col-group-col-span-background-expected.txt.
        * platform/chromium-mac/fast/table/table-col-group-span-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-col-group-span-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-col-group-span-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-col-group-span-background-expected.txt.
        * platform/chromium-mac/fast/table/table-col-span-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-col-span-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-col-span-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-col-span-background-expected.txt.
        * platform/chromium-mac/fast/table/table-row-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-row-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-row-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-row-background-expected.txt.
        * platform/chromium-mac/fast/table/table-row-background-left-50px-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-row-background-left-50px-expected.png: Added.
        * platform/chromium-mac/fast/table/table-row-background-left-50px-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-row-background-left-50px-expected.txt.
        * platform/chromium-mac/fast/table/table-row-background-right-100percent-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-row-background-right-100percent-expected.png: Added.
        * platform/chromium-mac/fast/table/table-row-background-right-100percent-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-row-background-right-100percent-expected.txt.
        * platform/chromium-mac/fast/table/table-row-background-right-50px-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-row-background-right-50px-expected.png: Added.
        * platform/chromium-mac/fast/table/table-row-background-right-50px-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-row-background-right-50px-expected.txt.
        * platform/chromium-mac/fast/table/table-row-group-background-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-row-group-background-expected.png: Added.
        * platform/chromium-mac/fast/table/table-row-group-background-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-row-group-background-expected.txt.
        * platform/chromium-mac/fast/table/table-row-group-background-positioned-expected.checksum: Added.
        * platform/chromium-mac/fast/table/table-row-group-background-positioned-expected.png: Added.
        * platform/chromium-mac/fast/table/table-row-group-background-positioned-expected.txt: Copied from LayoutTests/platform/mac/fast/table/table-row-group-background-positioned-expected.txt.
        * platform/chromium-win/fast/table/table-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-cell-overrides-row-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-cell-overrides-row-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-cell-overrides-row-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-col-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-col-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-col-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-col-group-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-col-group-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-col-group-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-col-group-col-span-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-col-group-col-span-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-col-group-col-span-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-col-group-span-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-col-group-span-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-col-group-span-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-col-span-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-col-span-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-col-span-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-row-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-row-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-row-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-row-background-left-50px-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-row-background-left-50px-expected.png: Added.
        * platform/chromium-win/fast/table/table-row-background-left-50px-expected.txt: Added.
        * platform/chromium-win/fast/table/table-row-background-right-100percent-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-row-background-right-100percent-expected.png: Added.
        * platform/chromium-win/fast/table/table-row-background-right-100percent-expected.txt: Added.
        * platform/chromium-win/fast/table/table-row-background-right-50px-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-row-background-right-50px-expected.png: Added.
        * platform/chromium-win/fast/table/table-row-background-right-50px-expected.txt: Added.
        * platform/chromium-win/fast/table/table-row-group-background-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-row-group-background-expected.png: Added.
        * platform/chromium-win/fast/table/table-row-group-background-expected.txt: Added.
        * platform/chromium-win/fast/table/table-row-group-background-positioned-expected.checksum: Added.
        * platform/chromium-win/fast/table/table-row-group-background-positioned-expected.png: Added.
        * platform/chromium-win/fast/table/table-row-group-background-positioned-expected.txt: Added.
        * platform/chromium/fast/runin/generated2-expected.checksum: Added.
        * platform/chromium/fast/runin/generated2-expected.png: Added.
        * platform/chromium/fast/runin/generated3-expected.checksum: Added.
        * platform/chromium/fast/runin/generated3-expected.png: Added.
        * platform/chromium/fast/runin/generated4-expected.checksum: Added.
        * platform/chromium/fast/runin/generated4-expected.png: Added.

2010-03-29  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Test for Ensuring Pseudo Class's are Respected on Dynamic Changes
        https://bugs.webkit.org/show_bug.cgi?id=36765

        This tests elements affected by a CSS pseudo class selector is updated
        after a dynamic DOM change.

        * fast/css/dynamic-pseudo-class-expected.txt: Added.
        * fast/css/dynamic-pseudo-class.html: Added.

2010-03-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Cover the Audits panel with tests
        https://bugs.webkit.org/show_bug.cgi?id=36613

        * inspector/audits-panel-functional-expected.txt: Added.
        * inspector/audits-panel-functional.html: Added.
        * inspector/resources/audits-script1.js: Added.
        (foo1):
        * inspector/resources/audits-script2.js: Added.
        (foo2):
        * inspector/resources/audits-script3.js: Added.
        (foo3):

2010-03-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector should highlight when clicking a node's closing tag
        https://bugs.webkit.org/show_bug.cgi?id=16258

        * inspector/elements-panel-limited-children.html:

2010-03-29  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        Add support for iframe flattening
        https://bugs.webkit.org/show_bug.cgi?id=36662

        * platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.txt: Added.

2010-03-29  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        Add support for iframe flattening
        https://bugs.webkit.org/show_bug.cgi?id=36662

        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: updated after r56718.

2010-03-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>, Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Antti Koivisto.

        Add new iframe flattening test and change existing frameset
        flattening tests to use the new LayoutTestController method.

        * fast/frames/flattening/frameset-flattening-advanced.html:
        * fast/frames/flattening/frameset-flattening-grid.html:
        * fast/frames/flattening/frameset-flattening-simple.html:
        * fast/frames/flattening/frameset-flattening-subframe-resize.html:
        * fast/frames/flattening/frameset-flattening-subframesets.html:
        * fast/frames/flattening/iframe-flattening-simple.html: Added.
        * platform/qt/fast/frames/flattening/iframe-flattening-simple-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt:
        * platform/qt/fast/frames/flattening/iframe-flattening-simple-expected.txt:

2010-03-29  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Platform specific expected file added for tests introduced in r56655,
        because they pass. Compared to png file and Mac expected file.

        * platform/qt/fast/table/table-background-expected.checksum: Added.
        * platform/qt/fast/table/table-background-expected.png: Added.
        * platform/qt/fast/table/table-background-expected.txt: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Added.
        * platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Added.
        * platform/qt/fast/table/table-cell-overrides-row-background-expected.checksum: Added.
        * platform/qt/fast/table/table-cell-overrides-row-background-expected.png: Added.
        * platform/qt/fast/table/table-cell-overrides-row-background-expected.txt: Added.
        * platform/qt/fast/table/table-col-background-expected.checksum: Added.
        * platform/qt/fast/table/table-col-background-expected.png: Added.
        * platform/qt/fast/table/table-col-background-expected.txt: Added.
        * platform/qt/fast/table/table-col-group-background-expected.checksum: Added.
        * platform/qt/fast/table/table-col-group-background-expected.png: Added.
        * platform/qt/fast/table/table-col-group-background-expected.txt: Added.
        * platform/qt/fast/table/table-col-group-col-span-background-expected.checksum: Added.
        * platform/qt/fast/table/table-col-group-col-span-background-expected.png: Added.
        * platform/qt/fast/table/table-col-group-col-span-background-expected.txt: Added.
        * platform/qt/fast/table/table-col-group-span-background-expected.checksum: Added.
        * platform/qt/fast/table/table-col-group-span-background-expected.png: Added.
        * platform/qt/fast/table/table-col-group-span-background-expected.txt: Added.
        * platform/qt/fast/table/table-col-span-background-expected.checksum: Added.
        * platform/qt/fast/table/table-col-span-background-expected.png: Added.
        * platform/qt/fast/table/table-col-span-background-expected.txt: Added.
        * platform/qt/fast/table/table-row-background-expected.checksum: Added.
        * platform/qt/fast/table/table-row-background-expected.png: Added.
        * platform/qt/fast/table/table-row-background-expected.txt: Added.
        * platform/qt/fast/table/table-row-background-left-50px-expected.checksum: Added.
        * platform/qt/fast/table/table-row-background-left-50px-expected.png: Added.
        * platform/qt/fast/table/table-row-background-left-50px-expected.txt: Added.
        * platform/qt/fast/table/table-row-background-right-100percent-expected.checksum: Added.
        * platform/qt/fast/table/table-row-background-right-100percent-expected.png: Added.
        * platform/qt/fast/table/table-row-background-right-100percent-expected.txt: Added.
        * platform/qt/fast/table/table-row-background-right-50px-expected.checksum: Added.
        * platform/qt/fast/table/table-row-background-right-50px-expected.png: Added.
        * platform/qt/fast/table/table-row-background-right-50px-expected.txt: Added.
        * platform/qt/fast/table/table-row-group-background-expected.checksum: Added.
        * platform/qt/fast/table/table-row-group-background-expected.png: Added.
        * platform/qt/fast/table/table-row-group-background-expected.txt: Added.
        * platform/qt/fast/table/table-row-group-background-positioned-expected.checksum: Added.
        * platform/qt/fast/table/table-row-group-background-positioned-expected.png: Added.
        * platform/qt/fast/table/table-row-group-background-positioned-expected.txt: Added.

2010-03-29  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: don't crash when there are messages in console from previous iframe content.

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

        * http/tests/inspector-enabled/console-log-before-frame-navigation-expected.txt: Added.
        * http/tests/inspector-enabled/console-log-before-frame-navigation.html: Added.
        * http/tests/inspector-enabled/resources/console-log-before-frame-navigation.js: Added.
        (doit.callback):
        (doit):
        (receiveMessage):
        (frontend_dumpConsoleMessages):
        * http/tests/inspector-enabled/resources/console-log-frame-after-navigation.html: Added.
        * http/tests/inspector-enabled/resources/console-log-frame-before-navigation.html: Added.

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

        [GTK] Improve reporting of frame loader callbacks in DRT
        https://bugs.webkit.org/show_bug.cgi?id=36454

        Skip tests that need more load notifications than we provide in
        our DRT currently.

        * platform/gtk/Skipped:

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

        Skipping new tests.

        * platform/gtk/Skipped:

2010-03-28  Dirk Schulze  <krit@webkit.org>

        Unreviewed test update for Win.

        Out of bounds read in SVG feColorMatrix filter
        https://bugs.webkit.org/show_bug.cgi?id=32714

        May mixed up the win bot with the win-chromium bot.

        * platform/win/svg/filters/feColorMatrix-values-expected.txt:

2010-03-28  Dirk Schulze  <krit@webkit.org>

        Unreviewed test update.

        SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
        https://bugs.webkit.org/show_bug.cgi?id=36185

        Marker results update for Qt port.

        * platform/qt/svg/custom/marker-opacity-expected.txt:
        * platform/qt/svg/custom/marker-referencePoint-expected.txt:
        * platform/qt/svg/custom/marker-strokeWidth-changes-expected.txt:

2010-03-28  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVGResourceMarker needs to be moved to RenderersSVGResourceMarker
        https://bugs.webkit.org/show_bug.cgi?id=36185

        DRT results changed after moving SVGResourceMarker and need updates.

        * platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-1-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-2-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-3-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-marker-creation-expected.txt:
        * platform/mac/svg/custom/marker-changes-expected.txt:
        * platform/mac/svg/custom/marker-child-changes-expected.txt:
        * platform/mac/svg/custom/marker-default-width-height-expected.txt:
        * platform/mac/svg/custom/marker-opacity-expected.txt:
        * platform/mac/svg/custom/marker-overflow-clip-expected.txt:
        * platform/mac/svg/custom/marker-referencePoint-expected.txt:
        * platform/mac/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/mac/svg/custom/marker-viewBox-changes-expected.txt:
        * platform/mac/svg/custom/non-circular-marker-reference-expected.txt:
        * platform/mac/svg/custom/shapes-supporting-markers-expected.txt:

2010-03-27  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Eric Seidel.

        Removed 5 http/history tests from Skipped file

        [GTK] Improve reporting of frame loader callbacks in DRT
        https://bugs.webkit.org/show_bug.cgi?id=36454

        * platform/gtk/Skipped:

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

        More updated results for r56673.

        * platform/chromium-mac/svg/css/getComputedStyle-basic-expected.txt:
        * platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
        * platform/gtk/svg/css/getComputedStyle-basic-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

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

        Reviewed by Darin Adler.

        Updated results and one test for
        <rdar://problem/7801598> REGRESSION (r56182): iWeb shadow drawn around image rectangle, not around opaque part of the image
        https://bugs.webkit.org/show_bug.cgi?id=36700

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/invalid-import-rule-insertion.html:
        * http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-and-css-extension-expected.txt:
        * http/tests/mime/standard-mode-does-not-load-stylesheet-with-text-plain-expected.txt:
        * http/tests/security/cross-origin-css-expected.txt:
        * http/tests/security/cross-origin-css-in-xml-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/qt/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt:

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

        Rubber-stamped by Dan Bernstein.

        Fix the newly-added test to not trip over a bug that causes some subsequent tests to fail.

        * fast/dom/script-tests/setPrimitiveValue-exceptions.js:

2010-03-27  Robert Hogan  <robert@webkit.org>

        Unreviewed skip failing test.

        [Qt] Skip test added in r56646. Tracked by https://bugs.webkit.org/show_bug.cgi?id=36702

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

        * platform/qt/Skipped: Add plugins/reentrant-update-widget-positions.html

2010-03-27  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: added missing test resource file.

        * inspector/resources/elements-panel-styles.css: Added.

2010-03-27  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: add layout test for styles panel.

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

        * inspector/elements-panel-selection-on-refresh.html:
        * inspector/elements-panel-styles-expected.txt: Added.
        * inspector/elements-panel-styles.html: Added.
        * inspector/elements-tests.js:
        (frontend_nodeForNamyAndId):

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

        Reviewed by Darin Adler.

        CSSPrimitiveValue::setFloatValue/setStringValue should throw an exception if passed an incorrect unit type.
        <http://webkit.org/b/36680> / <rdar://problem/7801016>

        * fast/dom/script-tests/setPrimitiveValue-exceptions.js: Added.
        * fast/dom/setPrimitiveValue-exceptions-expected.txt: Added.
        * fast/dom/setPrimitiveValue-exceptions.html: Copied from LayoutTests/fast/dom/event-attribute-availability.html.

2010-03-26  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        Allow plugins implemented by the application, such as mimetype 'x-qt-plugin',
         when pluginsEnabled is false.

        For all platforms apart from Qt, isApplicationPluginMIMEType() returns false.

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

        * platform/qt/plugins/application-plugin-plugins-disabled-expected.txt: Added.
        * plugins/application-plugin-plugins-disabled-expected.txt: Added.
        * plugins/application-plugin-plugins-disabled.html: Added.

2010-03-27  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed.
        Skip HTMLProgressElement tests on Windows.

        * platform/win/Skipped:

2010-03-26  Daniel Bates  <dbates@rim.com>

        Reviewed by Beth Dakin.

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

        Tests that background-image support for table, table-cell, table-row,
        row-group, table-column and column-group (*) conform to section 17.5.1
        of the CSS 2.1 spec.

        (*) A follow up patch to compute the absolute content box of a column, and
        column-group is needed so that background image positioning for these table
        elements works. See bug #36104.

        * fast/table/table-background.html: Added.
        * fast/table/table-cell-border-draws-on-top-of-col-background.html: Added.
        * fast/table/table-cell-border-draws-on-top-of-col-group-background.html: Added.
        * fast/table/table-cell-border-draws-on-top-of-row-background.html: Added.
        * fast/table/table-cell-border-draws-on-top-of-row-group-background.html: Added.
        * fast/table/table-cell-overrides-row-background.html: Added.
        * fast/table/table-col-background.html: Added.
        * fast/table/table-col-group-background.html: Added.
        * fast/table/table-col-group-col-span-background.html: Added.
        * fast/table/table-col-group-span-background.html: Added.
        * fast/table/table-col-span-background.html: Added.
        * fast/table/table-row-background-left-50px.html: Added.
        * fast/table/table-row-background-right-100percent.html: Added.
        * fast/table/table-row-background-right-50px.html: Added.
        * fast/table/table-row-background.html: Added.
        * fast/table/table-row-group-background-positioned.html: Added.
        * fast/table/table-row-group-background.html: Added.
        * platform/mac/fast/table/table-background-expected.checksum: Added.
        * platform/mac/fast/table/table-background-expected.png: Added.
        * platform/mac/fast/table/table-background-expected.txt: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Added.
        * platform/mac/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Added.
        * platform/mac/fast/table/table-cell-overrides-row-background-expected.checksum: Added.
        * platform/mac/fast/table/table-cell-overrides-row-background-expected.png: Added.
        * platform/mac/fast/table/table-cell-overrides-row-background-expected.txt: Added.
        * platform/mac/fast/table/table-col-background-expected.checksum: Added.
        * platform/mac/fast/table/table-col-background-expected.png: Added.
        * platform/mac/fast/table/table-col-background-expected.txt: Added.
        * platform/mac/fast/table/table-col-group-background-expected.checksum: Added.
        * platform/mac/fast/table/table-col-group-background-expected.png: Added.
        * platform/mac/fast/table/table-col-group-background-expected.txt: Added.
        * platform/mac/fast/table/table-col-group-col-span-background-expected.checksum: Added.
        * platform/mac/fast/table/table-col-group-col-span-background-expected.png: Added.
        * platform/mac/fast/table/table-col-group-col-span-background-expected.txt: Added.
        * platform/mac/fast/table/table-col-group-span-background-expected.checksum: Added.
        * platform/mac/fast/table/table-col-group-span-background-expected.png: Added.
        * platform/mac/fast/table/table-col-group-span-background-expected.txt: Added.
        * platform/mac/fast/table/table-col-span-background-expected.checksum: Added.
        * platform/mac/fast/table/table-col-span-background-expected.png: Added.
        * platform/mac/fast/table/table-col-span-background-expected.txt: Added.
        * platform/mac/fast/table/table-row-background-expected.checksum: Added.
        * platform/mac/fast/table/table-row-background-expected.png: Added.
        * platform/mac/fast/table/table-row-background-expected.txt: Added.
        * platform/mac/fast/table/table-row-background-left-50px-expected.checksum: Added.
        * platform/mac/fast/table/table-row-background-left-50px-expected.png: Added.
        * platform/mac/fast/table/table-row-background-left-50px-expected.txt: Added.
        * platform/mac/fast/table/table-row-background-right-100percent-expected.checksum: Added.
        * platform/mac/fast/table/table-row-background-right-100percent-expected.png: Added.
        * platform/mac/fast/table/table-row-background-right-100percent-expected.txt: Added.
        * platform/mac/fast/table/table-row-background-right-50px-expected.checksum: Added.
        * platform/mac/fast/table/table-row-background-right-50px-expected.png: Added.
        * platform/mac/fast/table/table-row-background-right-50px-expected.txt: Added.
        * platform/mac/fast/table/table-row-group-background-expected.checksum: Added.
        * platform/mac/fast/table/table-row-group-background-expected.png: Added.
        * platform/mac/fast/table/table-row-group-background-expected.txt: Added.
        * platform/mac/fast/table/table-row-group-background-positioned-expected.checksum: Added.
        * platform/mac/fast/table/table-row-group-background-positioned-expected.png: Added.
        * platform/mac/fast/table/table-row-group-background-positioned-expected.txt: Added.

2010-03-26  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Security: iFrame.src accepts JavaScript URL via nodeValue or textContent
        https://bugs.webkit.org/show_bug.cgi?id=36502

        Overrode inherited nodeValue and textContent in Attr.idl so they proxy
        to value, which performs a security check.

        * http/tests/security/xss-DENIED-iframe-src-alias-expected.txt: Added.
        * http/tests/security/xss-DENIED-iframe-src-alias.html: Added.

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

        Reviewed by David Levin.

        Update a bunch of incorrect image checksums, and suppress all of the
        remaining IMAGE failures in platform/mac/test_expectations.txt.

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

        * platform/mac-leopard/compositing/geometry/root-layer-update-expected.checksum:
        * platform/mac-leopard/compositing/overflow/overflow-positioning-expected.checksum:
        * platform/mac-leopard/compositing/repaint/become-overlay-composited-layer-expected.checksum:
        * platform/mac-leopard/compositing/repaint/layer-repaint-rects-expected.checksum:
        * platform/mac-leopard/media/video-zoom-controls-expected.checksum:
        * platform/mac/animations/3d/change-transform-in-end-event-expected.checksum:
        * platform/mac/animations/3d/state-at-end-event-transform-expected.checksum:
        * platform/mac/animations/state-at-end-event-expected.checksum:
        * platform/mac/compositing/animation/state-at-end-event-transform-layer-expected.checksum:
        * platform/mac/compositing/color-matching/pdf-image-match-expected.checksum:
        * platform/mac/compositing/compositing-visible-descendant-expected.checksum:
        * platform/mac/compositing/generated-content-expected.checksum:
        * platform/mac/compositing/geometry/abs-position-inside-opacity-expected.checksum:
        * platform/mac/compositing/geometry/fixed-position-expected.checksum:
        * platform/mac/compositing/geometry/horizontal-scroll-composited-expected.checksum:
        * platform/mac/compositing/geometry/outline-change-expected.checksum:
        * platform/mac/compositing/geometry/partial-layout-update-expected.checksum:
        * platform/mac/compositing/geometry/root-layer-update-expected.checksum:
        * platform/mac/compositing/geometry/transfrom-origin-on-zero-size-layer-expected.checksum:
        * platform/mac/compositing/masks/direct-image-mask-expected.checksum:
        * platform/mac/compositing/masks/masked-ancestor-expected.checksum:
        * platform/mac/compositing/masks/multiple-masks-expected.checksum:
        * platform/mac/compositing/masks/simple-composited-mask-expected.checksum:
        * platform/mac/compositing/overflow/ancestor-overflow-expected.checksum:
        * platform/mac/compositing/overflow/fixed-position-ancestor-clip-expected.checksum:
        * platform/mac/compositing/overflow/overflow-positioning-expected.checksum:
        * platform/mac/compositing/overflow/parent-overflow-expected.checksum:
        * platform/mac/compositing/overflow/scrollbar-painting-expected.checksum:
        * platform/mac/compositing/reflections/reflection-in-composited-expected.checksum:
        * platform/mac/compositing/reflections/reflection-ordering-expected.checksum:
        * platform/mac/compositing/reflections/simple-composited-reflections-expected.checksum:
        * platform/mac/compositing/repaint/become-overlay-composited-layer-expected.checksum:
        * platform/mac/compositing/repaint/content-into-overflow-expected.checksum:
        * platform/mac/compositing/repaint/layer-repaint-expected.checksum:
        * platform/mac/compositing/repaint/layer-repaint-rects-expected.checksum:
        * platform/mac/compositing/repaint/opacity-between-absolute-expected.checksum:
        * platform/mac/compositing/repaint/opacity-between-absolute2-expected.checksum:
        * platform/mac/compositing/repaint/overflow-into-content-expected.checksum:
        * platform/mac/compositing/sibling-positioning-expected.checksum:
        * platform/mac/compositing/transitions/singular-scale-transition-expected.checksum:
        * platform/mac/css2.1/t0905-c5525-flthw-00-c-g-expected.checksum:
        * platform/mac/css2.1/t0905-c5526-flthw-00-c-g-expected.checksum:
        * platform/mac/editing/deleting/delete-to-select-table-expected.checksum:
        * platform/mac/editing/deleting/type-delete-after-quote-expected.checksum:
        * platform/mac/editing/inserting/5418891-expected.checksum:
        * platform/mac/editing/selection/4960116-expected.checksum:
        * platform/mac/editing/selection/caret-rtl-2-expected.checksum:
        * platform/mac/editing/selection/extend-by-word-002-expected.checksum:
        * platform/mac/editing/selection/select-all-002-expected.checksum:
        * platform/mac/editing/selection/select-text-overflow-ellipsis-expected.checksum:
        * platform/mac/editing/selection/transformed-selection-rects-expected.checksum:
        * platform/mac/fast/backgrounds/background-clip-text-expected.checksum:
        * platform/mac/fast/backgrounds/quirks-mode-line-box-backgrounds-expected.checksum:
        * platform/mac/fast/backgrounds/repeat/mask-negative-offset-repeat-expected.checksum:
        * platform/mac/fast/backgrounds/size/backgroundSize15-expected.checksum:
        * platform/mac/fast/backgrounds/size/backgroundSize16-expected.checksum:
        * platform/mac/fast/backgrounds/size/contain-and-cover-expected.checksum: Added.
        * platform/mac/fast/backgrounds/svg-as-background-3-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-5-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-background-6-expected.checksum:
        * platform/mac/fast/backgrounds/svg-as-mask-expected.checksum:
        * platform/mac/fast/block/float/avoidance-percent-width-compat-expected.checksum:
        * platform/mac/fast/block/float/avoidance-percent-width-strict-expected.checksum:
        * platform/mac/fast/block/margin-collapse/103-expected.checksum:
        * platform/mac/fast/box-shadow/basic-shadows-expected.checksum:
        * platform/mac/fast/box-shadow/transform-fringing-expected.checksum:
        * platform/mac/fast/css/apple-prefix-expected.checksum:
        * platform/mac/fast/css/color-correction-backgrounds-and-text-expected.checksum:
        * platform/mac/fast/css/color-correction-expected.checksum:
        * platform/mac/fast/css/color-correction-on-background-image-expected.checksum:
        * platform/mac/fast/css/color-correction-on-backgrounds-expected.checksum:
        * platform/mac/fast/css/color-correction-on-box-shadow-expected.checksum:
        * platform/mac/fast/css/color-correction-on-text-expected.checksum:
        * platform/mac/fast/css/color-correction-on-text-shadow-expected.checksum:
        * platform/mac/fast/css/color-correction-untagged-images-expected.checksum:
        * platform/mac/fast/css/namespaces/namespaces-comments-expected.checksum:
        * platform/mac/fast/css/namespaces/namespaces-empty-expected.checksum:
        * platform/mac/fast/css/namespaces/namespaces-escapes-expected.checksum:
        * platform/mac/fast/css/namespaces/namespaces-invalid-at-expected.checksum:
        * platform/mac/fast/css/variables/misplaced-import-test-expected.checksum:
        * platform/mac/fast/encoding/invalid-UTF-8-expected.checksum:
        * platform/mac/fast/events/standalone-image-drag-to-editable-expected.checksum:
        * platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.checksum:
        * platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.checksum:
        * platform/mac/fast/forms/001-expected.checksum:
        * platform/mac/fast/forms/menulist-clip-expected.checksum:
        * platform/mac/fast/forms/menulist-narrow-width-expected.checksum:
        * platform/mac/fast/forms/menulist-option-wrap-expected.checksum:
        * platform/mac/fast/forms/menulist-restrict-line-height-expected.checksum:
        * platform/mac/fast/forms/menulist-style-color-expected.checksum:
        * platform/mac/fast/forms/select-baseline-expected.checksum:
        * platform/mac/fast/forms/textarea-scrollbar-expected.checksum:
        * platform/mac/fast/frames/viewsource-attribute-expected.checksum:
        * platform/mac/fast/inline/long-wrapped-line-expected.checksum:
        * platform/mac/fast/lists/anonymous-items-expected.checksum:
        * platform/mac/fast/lists/markers-in-selection-expected.checksum:
        * platform/mac/fast/multicol/client-rects-expected.checksum: Added.
        * platform/mac/fast/multicol/float-multicol-expected.checksum:
        * platform/mac/fast/overflow/line-clamp-expected.checksum:
        * platform/mac/fast/overflow/position-fixed-transform-clipping-expected.checksum:
        * platform/mac/fast/reflections/abs-position-in-reflection-expected.checksum:
        * platform/mac/fast/reflections/opacity-reflection-transform-expected.checksum:
        * platform/mac/fast/repaint/backgroundSizeRepaint-expected.checksum:
        * platform/mac/fast/repaint/box-shadow-h-expected.checksum:
        * platform/mac/fast/repaint/box-shadow-v-expected.checksum:
        * platform/mac/fast/repaint/line-in-scrolled-clipped-block-expected.checksum:
        * platform/mac/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.checksum:
        * platform/mac/fast/repaint/rel-positioned-inline-with-overflow-expected.checksum:
        * platform/mac/fast/repaint/selection-gap-overflow-scroll-2-expected.checksum:
        * platform/mac/fast/repaint/subtree-layoutstate-transform-expected.checksum:
        * platform/mac/fast/repaint/table-outer-border-expected.checksum:
        * platform/mac/fast/table/fixed-table-with-percent-inside-percent-table-expected.checksum:
        * platform/mac/fast/table/fixed-table-with-percent-width-inside-auto-table-expected.checksum:
        * platform/mac/fast/table/fixed-table-with-percent-width-inside-div-expected.checksum:
        * platform/mac/fast/table/fixed-table-with-percent-width-inside-extra-large-div-expected.checksum:
        * platform/mac/fast/table/fixed-table-with-percent-width-inside-fixed-width-table-expected.checksum:
        * platform/mac/fast/table/fixed-table-with-small-percent-width-expected.checksum:
        * platform/mac/fast/text/atsui-partial-selection-expected.checksum:
        * platform/mac/fast/text/capitalize-boundaries-expected.checksum:
        * platform/mac/fast/text/drawBidiText-expected.checksum:
        * platform/mac/fast/text/line-breaking-with-kerning-expected.checksum:
        * platform/mac/fast/text/sticky-typesetting-features-expected.checksum:
        * platform/mac/fast/transforms/shadows-expected.checksum:
        * platform/mac/http/tests/misc/slow-loading-mask-expected.checksum:
        * platform/mac/media/video-zoom-controls-expected.checksum:
        * platform/mac/plugins/embed-attributes-style-expected.checksum:
        * platform/mac/plugins/qt-qwidget-plugin-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug106158-1-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug106158-2-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug34176-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug6674-expected.checksum:
        * platform/mac/test_expectations.txt:
        * platform/mac/transforms/2d/transform-fixed-container-expected.checksum:
        * platform/mac/transitions/move-after-transition-expected.checksum:
        * platform/mac/transitions/transition-end-event-rendering-expected.checksum:

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

        Reviewed by Eric Seidel.

        Add a test_expectations.txt file for the mac platform so
        new-run-webkit-tests can track IMAGE failures.

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

        * platform/mac/test_expectations.txt: Added.

2010-03-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein, Darin Adler.

        Re-entrant layout via plug-ins may cause crashes with bad RenderWidgets
        https://bugs.webkit.org/show_bug.cgi?id=36675
        <rdar://problem/7787617>
        
        Two tests that make use of the setWindow script in the TestNestscapePlugin to run script when widgets are being
        updated, to test for crashes caused by re-entering layout and widget updates.

        * plugins/reentrant-update-widget-positions-expected.txt: Copied from LayoutTests/fast/forms/select-change-popup-to-listbox-in-event-handler-expected.txt.
        * plugins/reentrant-update-widget-positions.html: Added.
        * plugins/update-widgets-crash-expected.txt: Copied from LayoutTests/fast/forms/select-change-popup-to-listbox-in-event-handler-expected.txt.
        * plugins/update-widgets-crash.html: Added.

2010-03-26  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Updated test for https://bugs.webkit.org/show_bug.cgi?id=36564 
        Performance regression for setting content of <text> in SVG
        -and corresponding-
        <rdar://problem/7693963>

        * platform/mac/svg/custom/clip-path-referencing-use2-expected.txt:

2010-03-26  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Dave Hyatt.

        Generated run-in Content is Mistakenly Getting Deleted
        https://bugs.webkit.org/show_bug.cgi?id=36505
        <rdar://problem/7767161>

          Test dynamic update of the inner block, containing the generated
          run-in, but not owning it with the :before rule, and owners.

        * fast/runin/generated2.html: Added.
        * platform/mac/fast/runin/generated2-expected.txt: Added.

          Test dynamic update of the outer block, this block owns the
          generated run-in, but it is actually contained in a child block.

        * fast/runin/generated3.html: Added.
        * platform/mac/fast/runin/generated3-expected.txt: Added.

          Test dynamic updates affecting generated run-ins both
          in relation to and not in relation to list markers.

        * fast/runin/generated4.html: Added.
        * platform/mac/fast/runin/generated4-expected.txt: Added.

2010-03-25  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        shift+home/end and cmd+shift+left/right don't extend the selection correctly
        https://bugs.webkit.org/show_bug.cgi?id=36539

        * editing/selection/extend-after-mouse-selection.html:
        * editing/selection/extend-selection-expected.txt:
        Extending forward by lineboundary selects the whole line. Now extending backwards
        by lineboundary after the whole line is selected is a noop instead of collapsed
        the selection to the start.
        * editing/selection/move-begin-end.html:
        Just cleaned up this test.
        * platform/mac/editing/selection/extend-after-mouse-selection-expected.txt:

2010-03-26  Brian Weinstein  <bweinstein@apple.com>

        Add fast/multicol/hit-test-above-or-below.html, this is failing in the same way as Qt, and is being
        tracked by the same bug (https://bugs.webkit.org/show_bug.cgi?id=35973).

        * platform/win/Skipped:

2010-03-26  David Levin  <levin@chromium.org>

        Rubber-stamped by Nate Chapin.

        [chromium] Updated test expectations due to recent failures,
        added bugs, etc.

        * platform/chromium/test_expectations.txt:

2010-03-26  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antti Koivisto.

        Fix the rendering of HTMLProgressElement
        https://bugs.webkit.org/show_bug.cgi?id=36206
        Add dir=rtl test and update the expected results.

        * fast/dom/HTMLProgressElement/progress-element.html:
        * platform/qt/fast/dom/HTMLProgressElement/progress-element-expected.checksum:
        * platform/qt/fast/dom/HTMLProgressElement/progress-element-expected.png:
        * platform/qt/fast/dom/HTMLProgressElement/progress-element-expected.txt:

2010-03-26  Stephen White  <senorblanco@chromium.org>

        Unreviewed; build fix.

        Rolling out 56620; too many layout test failures.

        * fast/css/cssText-cache-expected.txt: Removed.
        * fast/css/cssText-cache.html: Removed.

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

        fast/parser/xml-declaration-missing-ending-mark.html crashed on Gtk bot
        https://bugs.webkit.org/show_bug.cgi?id=33027

        Skipping test that fails on GTK+ Debug bots.

        * platform/gtk/Skipped:

2010-03-25  Stephen White  <senorblanco@chromium.org>

        Reviewed by Darin Adler.

        Added a test for CSSPrimitiveValue::cssText() string cacheing.

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

        * fast/css/cssText-cache-expected.txt: Added.
        * fast/css/cssText-cache.html: Added.

2010-03-26  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

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

        Enable fast/canvas/drawImage-with-negative-source-destination.html

        * platform/qt/Skipped:

2010-03-26  Mads Ager  <ager@chromium.org>

        Reviewed by Jeremy Orlow.

        Tweak Chromium test expectations
        https://bugs.webkit.org/show_bug.cgi?id=36651

        fast/js/large-expressions.html started failing on Linux in release
        mode occassionally.  Also fails on other platforms.

        * platform/chromium/test_expectations.txt:

2010-03-26  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed, removing websocket/tests/long-invalid-header.html from Chromium test_expectations.txt

        * platform/chromium/test_expectations.txt: remove websocket/tests/long-invalid-header.html

2010-03-25  Charlie Reis  <creis@chromium.org>

        Reviewed by Adam Barth.

        onbeforeunload not called at window close + frame or iframe focused
        https://bugs.webkit.org/show_bug.cgi?id=27481

        Adds a layout test for bug 27481.  Requires calling shouldClose on
        the WebView, which is done with a new method on LayoutTestController.

        * fast/events/onbeforeunload-focused-iframe-expected.txt: Added.
        * fast/events/onbeforeunload-focused-iframe.html: Added.
        * fast/events/resources/onbeforeunload-focused-iframe-frame.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:

2010-03-25  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        REGRESSION: plugins/netscape-construct.html and plugins/mouse-events-fixedpos.html failing on Snow Leopard Bot
        https://bugs.webkit.org/show_bug.cgi?id=36462

        Adding tests to the Skipped list per Alexey's recommendation
        until someone from Apple can update the version of Safari
        on the Snow Leopard bot.

        * platform/mac-snowleopard/Skipped:

2010-03-25  Eric Uhrhane  <ericu@chromium.org>

        Reviewed by David Levin.

        Missing lock in call to doneCreatingDatabase
        https://bugs.webkit.org/show_bug.cgi?id=36473

        Added new test storage/open-database-over-quota.html.

        * storage/open-database-over-quota.html: Added.
        * storage/open-database-over-quota-expected.txt: Added.

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

        Reviewed by David Levin.

        [chromium] correctly handle move drag operations
        https://bugs.webkit.org/show_bug.cgi?id=36484

        * platform/chromium/test_expectations.txt:

2010-03-25  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] REGRESSION: Some LayoutTests fail after r56567
        https://bugs.webkit.org/show_bug.cgi?id=36630

        * platform/chromium/test_expectations.txt:

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

        Reviewed by Darin Adler.

        <rdar://problem/7728903> Support color bitmap fonts

        * platform/mac-leopard/Skipped:
        * platform/mac-snowleopard/Skipped:
        * platform/mac-tiger/Skipped:
        * platform/mac/fonts/color-bitmap-expected.checksum: Added.
        * platform/mac/fonts/color-bitmap-expected.png: Added.
        * platform/mac/fonts/color-bitmap-expected.txt: Added.
        * platform/mac/fonts/color-bitmap.html: Added.

2010-03-25  Dmitry Titov  <dimich@chromium.org>

        Unreviewed, another attempt to unblock Chromium Win test bot.

        * platform/chromium/test_expectations.txt:

2010-03-25  Dmitry Titov  <dimich@chromium.org>

        Unreviewed, removing stale expectation file for Chromium.

        The test was updated by http://trac.webkit.org/changeset/56506 to a script test.

        * platform/chromium-win/editing/inserting/6633727-expected.txt: Removed.

2010-03-25  Dmitry Titov  <dimich@chromium.org>

        Unreviewed, temporarily disabling test on Chromium bots.

        http://crbug.com/39423

        * platform/chromium/test_expectations.txt:

2010-03-25  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        Implement allow-top-navigation for HTML5 sandbox attribute
        https://bugs.webkit.org/show_bug.cgi?id=36549

        Test various cases relating to navigating top level frames and the
        allow-top-navigation directive.  This feature is tricky to test
        exhaustively because there are a lot of permutations.

        * fast/frames/resources/fail-and-notify-done.html: Added.
        * fast/frames/resources/navigate-top-by-constant-name-to-pass.html: Added.
        * fast/frames/resources/navigate-top-by-constant-name2-to-pass.html: Added.
        * fast/frames/resources/navigate-top-by-name-to-fail.html: Added.
        * fast/frames/resources/navigate-top-by-name-to-pass.html: Added.
        * fast/frames/resources/navigate-top-to-fail.html: Added.
        * fast/frames/resources/navigate-top-to-pass.html: Added.
        * fast/frames/resources/pass-and-notify-done.html: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-constant-name-expected.txt: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-constant-name.html: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-constant-name2-expected.txt: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-constant-name2.html: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-name-denied-expected.txt: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-name-denied.html: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-name-expected.txt: Added.
        * fast/frames/sandboxed-iframe-navigation-top-by-name.html: Added.
        * fast/frames/sandboxed-iframe-navigation-top-denied-expected.txt: Added.
        * fast/frames/sandboxed-iframe-navigation-top-denied.html: Added.
        * fast/frames/sandboxed-iframe-navigation-top-expected.txt: Added.
        * fast/frames/sandboxed-iframe-navigation-top.html: Added.

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

        Unreviewed, Chromium build fix.

        Update the expectations for statement-error-callback.html for Chromium.

        * platform/chromium-mac/storage/statement-error-callback-expected.txt:
        * platform/chromium-win/storage/statement-error-callback-expected.txt:

2010-03-25  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, update pixel results for Chromium bots.

        The rendering of these tests was changed by http://trac.webkit.org/changeset/56507.
        Also updated Chromium's test_expectations.txt.

        * platform/chromium-linux/fast/dynamic/flash-replacement-test-expected.checksum:
        * platform/chromium-linux/fast/dynamic/flash-replacement-test-expected.png:
        * platform/chromium-linux/plugins/embed-attributes-style-expected.checksum:
        * platform/chromium-linux/plugins/embed-attributes-style-expected.png:
        * platform/chromium/test_expectations.txt: Use BUG_WKXXXX instead of WKXXXX notation to appease validation on the bot.

2010-03-25  Dmitry Titov  <dimich@chromium.org>

        Unreviewed, fixing Chromium test bots.

        [chromium] REGRESSION: Some LayoutTests fail after r56567
        https://bugs.webkit.org/show_bug.cgi?id=36630

        * platform/chromium/test_expectations.txt: Update expectations.

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

        Needs a "LinuxEditingBehavior", perhaps with a better name
        https://bugs.webkit.org/show_bug.cgi?id=36627

        Skipping tests that started failing after 56567. We need to figure
        out a proper fix, that may involve adding a new editing behavior
        for our platform.

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

2010-03-25  Andrew Scherkus  <scherkus@chromium.org>

        Unreviewed, expectations tweak.

        Reorganized and updated comments for media test expectations.

        * platform/chromium/test_expectations.txt: Tweaked.

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

        Reviewed by Dimitri Glazkov.

        Updating the test to conform to the latest spec changes.

        * storage/statement-error-callback-expected.txt:
        * storage/statement-error-callback.html:

2010-03-25  Ojan Vafai  <ojan@chromium.org>

        Reviewed by David Levin.

        mouse-based selections are always directional on Window/Linux
        https://bugs.webkit.org/show_bug.cgi?id=25195

        The tests are modified to expect different things for Win/Linux vs. Mac.

        * editing/selection/5195166-1.html:
        * editing/selection/extend-after-mouse-selection.html:
        * editing/selection/extend-selection-after-double-click-expected.txt:
        * editing/selection/extend-selection-after-double-click.html:
        * platform/chromium-linux/editing/selection/5195166-1-expected.checksum: Removed.
        * platform/chromium-linux/editing/selection/5195166-1-expected.png: Removed.
        * platform/chromium-win/editing/selection/5195166-1-expected.checksum: Removed.
        * platform/chromium-win/editing/selection/5195166-1-expected.png: Removed.
        * platform/chromium-win/editing/selection/5195166-1-expected.txt: Removed.
        * platform/mac/editing/selection/5195166-1-expected.checksum: Removed.
        * platform/mac/editing/selection/5195166-1-expected.png: Removed.
        * platform/mac/editing/selection/5195166-1-expected.txt:
        * platform/qt/editing/selection/5195166-1-expected.txt: Removed.
        * platform/win/editing/selection/extend-after-mouse-selection-expected.txt:

2010-03-25  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=36557
        Animations use the wrong timing-function sometimes
        
        Various files that test which style is used as the "unanimated" style for a keyframe
        animation.

        * animations/longhand-timing-function-expected.txt: Added.
        * animations/longhand-timing-function.html: Added.
          Tests that a single longhand property (which creates a default animation in the style) doesn't cause
          the applied animation to use the wrong timing function.
        
        * animations/transition-and-animation-3-expected.txt: Added.
        * animations/transition-and-animation-3.html: Added.
          Tests that the style used when a transition resumes after an animation has finished is the correct one.
        
        * animations/unanimated-style-expected.txt: Added.
        * animations/unanimated-style.html: Added.
          Tests which style is used when animating properties that are missing from the first keyframe.

2010-03-25  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed expected file fix.

        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Needless newline removed.

2010-03-25  Jakub Wieczorek  <jwieczorek@webkit.org>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] Update test results after r56555.
        https://bugs.webkit.org/show_bug.cgi?id=36413

        * platform/qt/fast/forms/basic-inputs-expected.txt:
        * platform/qt/fast/forms/isindex-placeholder-expected.txt:
        * platform/qt/fast/forms/text-style-color-expected.txt:
        * platform/qt/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
        * platform/qt/fast/forms/textarea-placeholder-set-attribute-expected.txt:
        * platform/qt/fast/forms/textarea-placeholder-set-value-expected.txt:

2010-03-25  Antonio Gomes  <tonikitoo@webkit.org>

        Unreview expectation result fix.

        After http://trac.webkit.org/changeset/56547, the test needs new (and proper)
        results.

        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt:

2010-03-25  Jakub Wieczorek  <jwieczorek@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] RenderTheme: fix size adjustment for text fields
        https://bugs.webkit.org/show_bug.cgi?id=36413

        Update test results after RenderTheme changes.

        * platform/qt/fast/forms/textarea-placeholder-pseudo-style-expected.txt:
        * platform/qt/fast/forms/textarea-placeholder-set-attribute-expected.txt:
        * platform/qt/fast/forms/textarea-placeholder-set-value-expected.txt:

2010-03-25  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [Qt][GTK] http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html
        fails after r56394
        https://bugs.webkit.org/show_bug.cgi?id=36531

        The test was assuming that we would receive 3 progress events which may not be the case anymore
        due to the event throttling added in r56394.

        * http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html: Removed
        the counting as it belonged to the original version of the test and instead use the position
        to determine when to reset the XHR.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        Removed the test from the Skipped lists now that it should pass.

2010-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        https://bugs.webkit.org/show_bug.cgi?id=35714
        Computed style on delayed transform animations is incorrect
        
        Test that fetches computed style for a transform animation during the delay phase.
        
        Also remove animations/fill-mode-transform.html from the Mac skipped lists,
        now that it passes.

        * compositing/animation/computed-style-during-delay-expected.txt: Added.
        * compositing/animation/computed-style-during-delay.html: Added.
        * platform/mac-leopard/Skipped:
        * platform/mac-snowleopard/Skipped:

2010-03-25  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Christiansen.

        Added missing frame flattening activation on
        fast/frames/flattening/frameset-flattening-grid.html;
        removed unnecessary CONSOLE MESSAGE from the expected file;
        reset the setFrameSetFlatteningEnabled for each test.

        * fast/frames/flattening/frameset-flattening-grid.html:
        * platform/qt/fast/frames/flattening/frameset-flattening-grid-expected.txt:

2010-03-25  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Eric Seidel.

        Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
        on WebKit.pri

        [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
        https://bugs.webkit.org/show_bug.cgi?id=36547

        * platform/qt/Skipped:

2010-03-25  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=36371
        [Gtk] Elements with a title attribute should not be ignored

        * platform/gtk/accessibility/object-with-title.html: Added
        * platform/gtk/accessibility/object-with-title-expected.txt: Added

2010-03-25  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Eric Seidel.

        [Qt] websocket/tests/long-invalid-header.html fails
        https://bugs.webkit.org/show_bug.cgi?id=36492

        * websocket/tests/long-invalid-header-expected.txt: trim console message.

2010-03-25  Kinuko Yasuda  <kinuko@chromium.org>

        Reviewed by David Levin.

        Rewrite the layout test editing/inserting/6633727 to use dumpAsText
        https://bugs.webkit.org/show_bug.cgi?id=31579

        * editing/inserting/6633727-expected.txt: Added.
        * editing/inserting/6633727.html:
        * editing/inserting/script-tests/6633727.js: Added.
        * platform/gtk/editing/inserting/6633727-expected.txt: Removed.
        * platform/mac/editing/inserting/6633727-expected.checksum: Removed.
        * platform/mac/editing/inserting/6633727-expected.png: Removed.
        * platform/mac/editing/inserting/6633727-expected.txt: Removed.

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

        Revert the portion of r56489 that dealt with port zero as it introduced some test failures.

        * platform/mac/security/block-test-expected.txt:
        * security/block-test.html:

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

        Reviewed by Darin Adler.

        WebKit should treat port numbers outside the valid range as being blacklisted
        <http://webkit.org/b/36571> / <rdar://problem/7790908>

        * platform/mac/security/block-test-expected.txt:
        * security/block-test.html: Add tests of a few invalid port numbers.

2010-03-24  MORITA Hajime  <morrita@google.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=36517
        svg/dom/frame-related-api-during-load.html shoud be more self-descriptive.

        * svg/dom/frame-related-api-during-load-expected.txt:
        * svg/dom/frame-related-api-during-load.html:

2010-03-24  Andrew Scherkus  <scherkus@chromium.org>

        Reviewed by Eric Carlson, Eric Seidel and David Levin.

        Update a few more media layout tests to choose test clips based on codec support.

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

        * media/audio-constructor-src.html: Switched to use findMediaFile().
        * media/audio-play-event-expected.txt: Updated results.
        * media/audio-play-event.html: Switched to use findMediaFile().
        * media/video-no-audio.html: Ditto.
        * media/video-source-add-src.html: Ditto.
        * media/video-src-change.html: Closed p tag.
        * platform/mac-leopard/media/video-no-audio-expected.checksum: New results due to changing source video.
        * platform/mac-leopard/media/video-no-audio-expected.png: Ditto.
        * platform/mac-leopard/media/video-no-audio-expected.txt: Ditto.
        * platform/mac/media/video-no-audio-expected.checksum: Ditto.
        * platform/mac/media/video-no-audio-expected.png: Ditto.
        * platform/mac/media/video-no-audio-expected.txt: Ditto.

2010-03-24  Eric Uhrhane <ericu@chromium.org>

        DOMCoreException needs NoStaticTables modifier
        https://bugs.webkit.org/show_bug.cgi?id=36458

        No new tests, but this shows up in tests of Database accesses from the
        Worker thread that I'll be checking in soon.  The symptom is that
        DOMCoreException.toString() returns [object DOMException] instead of
        something more helpful.

        * fast/workers/worker-context-multi-port-expected.txt:  Adjusted expectation that was depending on the broken behavior.

2010-03-23  Evan Martin  <evan@chromium.org>

        Reviewed by Dmitry Titov.

        [chromium] use integral glyph widths
        https://bugs.webkit.org/show_bug.cgi?id=36510

        Extend a Linux Chromium layout test to also cover slight-hinted text.

        * platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html:

2010-03-24  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Inspector: XML Tags should not be converted to lowercase
        https://bugs.webkit.org/show_bug.cgi?id=28600

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

2010-03-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Antti Koivisto.

        Layout test for DOM Level 3 Custom Event
        http://www.w3.org/TR/DOM-Level-3-Events

        * fast/events/custom-event-expected.txt: Added.
        * fast/events/custom-event.html: Added.

2010-03-24  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Simon Hausmann and Gustavo Noronha Silva.

        [Qt][GTK] http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html fails after r56394
        https://bugs.webkit.org/show_bug.cgi?id=36531

        * platform/gtk/Skipped: http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html skipped until fix.
        * platform/qt/Skipped: http/tests/xmlhttprequest/xmlhttprequest-onProgress-open-should-zero-length.html skipped until fix.

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

        Skip plugins/destroy-plugin-from-callback.html, which has been failing on SL bots since it
        was added in r56338.

        * platform/mac-snowleopard/Skipped:

2010-03-23  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
        https://bugs.webkit.org/show_bug.cgi?id=34065
        
        Testcase with two zero-size embed elements.

        * compositing/geometry/empty-embed-rects-expected.txt: Added.
        * compositing/geometry/empty-embed-rects.html: Added.

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

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=36511
        <rdar://problem/7753498> Safari freezes when using SPUTNIK JavaScript conformance check

        Landing the troublesome test. Will need to be deleted when we properly import the whole test
        suite.

        * fast/js/script-tests/sputnik-S15.4.4.12_A3_T3.js: Added.
        * fast/js/sputnik-S15.4.4.12_A3_T3-expected.txt: Added.
        * fast/js/sputnik-S15.4.4.12_A3_T3.html: Added.

2010-03-23  David Levin  <levin@chromium.org>

        Reviewed by Nate Chapin.

        [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
        https://bugs.webkit.org/show_bug.cgi?id=36506

        Added a test to verify that sending either undefined and null both result in an empty request body.

        * http/tests/xmlhttprequest/send-undefined-and-null-expected.txt: Added.
        * http/tests/xmlhttprequest/send-undefined-and-null.html: Added.

2010-03-23  Chris Evans  <cevans@chromium.org>

        Reviewed by Darin Adler.

        Add test for crash due to calling into libxml in invalid state. Note
        that it is unlikely that this will actually crash for you in the test
        environment because it is highly intermittent. However, adding test in
        order to exercise the code path and prevent related regression.
        See https://bugs.webkit.org/show_bug.cgi?id=36000

        * fast/text/bad-encoding.html: Added.
        * fast/text/bad-encoding-expected.txt: Added.
        * fast/text/resources/bad-encoding.xml: Added.

2010-03-23  Nate Chapin  <japhet@chromium.org>

        Unreviewed, Chromium test expectations update.

        Mark fast/dom/error-to-string-stack-overflow.html as failing on
        all Chromium platforms, and http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
        as failing on Windows.

        * platform/chromium/test_expectations.txt:

2010-03-23  MORITA Hajime  <morrita@google.com>

        Reviewed by Alexey Proskuryakov.

        WebCore::SelectionController::setSelection NULL pointer
        https://bugs.webkit.org/show_bug.cgi?id=31545

        * svg/dom/frame-related-api-during-load-expected.txt: Added.
        * svg/dom/frame-related-api-during-load.html: Added.

2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Simon Hausmann.

        Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
        https://bugs.webkit.org/show_bug.cgi?id=36444

        Enable LayoutTests/fast/canvas/fillrect_gradient.html

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/fillrect_gradient-expected.checksum: Added.
        * platform/qt/fast/canvas/fillrect_gradient-expected.png: Added.
        * platform/qt/fast/canvas/fillrect_gradient-expected.txt:

2010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>

        Reviewed by Alexey Proskuryakov.

        [XHR] onProgress event needs to be dispatched according to what the specification states
        https://bugs.webkit.org/show_bug.cgi?id=18654

        Add a test to check that progress events are really throttled.

        * http/tests/xmlhttprequest/resources/download-with-delay.php: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html: Added.

2010-03-23  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Element inspector search funtion: Error dispatching: performSearch.

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

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

2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt]  fast/canvas/patternfill-repeat.html failed.
        https://bugs.webkit.org/show_bug.cgi?id=34477

        Enable LayoutTests/fast/canvas/patternfill-repeat.html.

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/patternfill-repeat-expected.checksum: Added.
        * platform/qt/fast/canvas/patternfill-repeat-expected.png: Added.
        * platform/qt/fast/canvas/patternfill-repeat-expected.txt:

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

        Reviewed by Kenneth Rohde Christiansen.

        Updated test results from removal of use of STIX fonts.

        * platform/mac/mathml/presentation/fractions-expected.checksum:
        * platform/mac/mathml/presentation/fractions-expected.png:
        * platform/mac/mathml/presentation/fractions-expected.txt:
        * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.checksum:
        * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
        * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
        * platform/mac/mathml/presentation/mo-expected.checksum:
        * platform/mac/mathml/presentation/mo-expected.png:
        * platform/mac/mathml/presentation/mo-expected.txt:
        * platform/mac/mathml/presentation/over-expected.checksum:
        * platform/mac/mathml/presentation/over-expected.png:
        * platform/mac/mathml/presentation/over-expected.txt:
        * platform/mac/mathml/presentation/row-expected.checksum:
        * platform/mac/mathml/presentation/row-expected.png:
        * platform/mac/mathml/presentation/row-expected.txt:
        * platform/mac/mathml/presentation/sub-expected.checksum:
        * platform/mac/mathml/presentation/sub-expected.png:
        * platform/mac/mathml/presentation/sub-expected.txt:
        * platform/mac/mathml/presentation/subsup-expected.checksum:
        * platform/mac/mathml/presentation/subsup-expected.png:
        * platform/mac/mathml/presentation/subsup-expected.txt:
        * platform/mac/mathml/presentation/sup-expected.checksum:
        * platform/mac/mathml/presentation/sup-expected.png:
        * platform/mac/mathml/presentation/tables-expected.checksum:
        * platform/mac/mathml/presentation/tables-expected.png:
        * platform/mac/mathml/presentation/tables-expected.txt:
        * platform/mac/mathml/presentation/under-expected.checksum:
        * platform/mac/mathml/presentation/under-expected.png:
        * platform/mac/mathml/presentation/under-expected.txt:
        * platform/mac/mathml/presentation/underover-expected.checksum:
        * platform/mac/mathml/presentation/underover-expected.png:
        * platform/mac/mathml/presentation/underover-expected.txt:

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

        Unreviewed.

        [Qt] websocket/tests/long-invalid-header.html fails
        https://bugs.webkit.org/show_bug.cgi?id=36492

        * platform/qt/Skipped: websocket/tests/long-invalid-header.html skipped until fix.

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

        [GTK] Failing fast/css/zoom-body-scroll.html - sizes are off by one after zooming out
        https://bugs.webkit.org/show_bug.cgi?id=36491

        Skipping test that fails on 32 bits bots.

        * platform/gtk/Skipped:

2010-03-23  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed, remove flaky tag in websocket tests.

        flakiness in websocket tests (http://crbug.com/38397) introducted at
        Chromium r41818 has been fixed at r42320.

        * platform/chromium/test_expectations.txt: remove BUG38397

2010-03-22  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Dave Hyatt.

        Web Inspector: display CSS selector source line in the styles sidebar pane.

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

        This change adds a sourceLine field into the CSSStyleRule that is populated
        from within the parser. CSSParser is now keeping track of the line numbers
        and last selector line number that is being used while creating CSSStyleRules.

        * inspector/styles-source-lines-expected.txt: Added.
        * inspector/styles-source-lines.html: Added.

2010-03-22  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Laszlo Gombos.

        Qt] Fix arc function in canvas
        https://bugs.webkit.org/show_bug.cgi?id=36296

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/arc360-expected.checksum: Added.
        * platform/qt/fast/canvas/arc360-expected.png: Added.
        * platform/qt/fast/canvas/arc360-expected.txt: Added.

2010-03-19  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=36339
        This LayoutTest tests for webkit ability to process long invalid headers generated by misbehaving websockets servers.

        * websocket/tests/long-invalid-header-expected.txt: Added.
        * websocket/tests/long-invalid-header.html: Added.
        * websocket/tests/long-invalid-header_wsh.py: Added.
        * websocket/tests/script-tests/long-invalid-header.js: Added.

2010-03-22  David Kilzer  <ddkilzer@apple.com>

        Remove http/tests/cookies/simple-cookies-expired.html from skip list after CFNetwork issue is resolved
        <http://webkit.org/b/25861>
        <rdar://problem/6901322>

        Reviewed by Darin Adler.

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

2010-03-22  Eric Seidel  <eric@webkit.org>

        Rubber-stamped by Brady Eidson.

        fast/loader/cancel-load-during-port-block-timer.html fails on Tiger bot
        https://bugs.webkit.org/show_bug.cgi?id=36425

        This test bleeds into the next test and causes failures.  Unsure of the
        cause.  Brady suggests we disable it for now (to match the other disabled) api test.

        * fast/loader/api-test-go-to-current-back-forward-item.html-disabled: Renamed from LayoutTests/fast/loader/api-test-go-to-current-back-forward-item.html.

2010-03-22  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Nate Chapin.

        [v8] Crash if the worker is terminated before its initial script is executed.
        https://bugs.webkit.org/show_bug.cgi?id=36336

        * fast/workers/termination-early-expected.txt: Added.
        * fast/workers/termination-early.html: Added.

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

        Unreviewed, skip new failing test.

        fast/loader/stateobjects/replacestate-in-iframe.html caused infinite loop.
        https://bugs.webkit.org/show_bug.cgi?id=36467

        * platform/gtk/Skipped: fast/loader/stateobjects/replacestate-in-iframe.html skipped until fix.
        * platform/qt/Skipped: fast/loader/stateobjects/replacestate-in-iframe.html skipped until fix.

2010-03-22  Nate Chapin  <japhet@chromium.org>

        Unreviewed, Chromium test fixes.

        * platform/chromium-linux/fast/dynamic/flash-replacement-test-expected.checksum:
        * platform/chromium-linux/fast/dynamic/flash-replacement-test-expected.png:
        * platform/chromium-linux/plugins/embed-attributes-style-expected.checksum:
        * platform/chromium-linux/plugins/embed-attributes-style-expected.png:
        * platform/chromium-mac/svg/filters/feColorMatrix-values-expected.checksum: Added.
        * platform/chromium-mac/svg/filters/feColorMatrix-values-expected.png: Added.
        * platform/chromium-mac/svg/filters/feColorMatrix-values-expected.txt: Added.
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.checksum: Added.
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.png: Added.
        * platform/chromium-win/svg/filters/feColorMatrix-values-expected.txt: Added.

2010-03-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Brady Eidson.

        HistoryController::replaceState() should modify m_currentItem
        instead of the current HistoryItem of the BackForwardList.

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

        * fast/loader/stateobjects/replacestate-in-iframe-expected.txt: Added.
        * fast/loader/stateobjects/replacestate-in-iframe.html: Added.

2010-03-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed.

        Skip new editing test that fails

        * platform/qt/Skipped:

2010-03-22  Dirk Schulze  <krit@webkit.org>

        Out of bounds read in SVG feColorMatrix filter
        https://bugs.webkit.org/show_bug.cgi?id=32714

        SVG Test has text in it. This caused a wrong DRT result on Mac.
        The other result was created on Windows.

        * platform/mac/svg/filters/feColorMatrix-values-expected.txt:

2010-03-22  Dirk Schulze  <krit@webkit.org>

        Out of bounds read in SVG feColorMatrix filter
        https://bugs.webkit.org/show_bug.cgi?id=32714

        Add missing expected result.

        * platform/mac/svg/filters/feColorMatrix-values-expected.txt: Added.

2010-03-22  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dirk Schulze.

        Out of bounds read in SVG feColorMatrix filter
        https://bugs.webkit.org/show_bug.cgi?id=32714

        Prevents an invalid read when a valid values attribute is not
        supplied for an feColorMatrix SVG filter. Also fixes general
        handling of missing or invalid values attribute.

        * platform/win/svg/filters: Added.
        * platform/win/svg/filters/feColorMatrix-values-expected.checksum: Added.
        * platform/win/svg/filters/feColorMatrix-values-expected.png: Added.
        * platform/win/svg/filters/feColorMatrix-values-expected.txt: Added.
        * svg/filters/feColorMatrix-invalid-value-expected.txt: Added.
        * svg/filters/feColorMatrix-invalid-value.svg: Added.
        * svg/filters/feColorMatrix-values.svg: Added.

2010-03-22  Nate Chapin  <japhet@chromium.org>

        Unreviewed, Chromium expectations tweak.

        Add fast/dom/error-to-string-stack-overflow.html to expected 
        failures due to http://trac.webkit.org/changeset/56329.

        * platform/chromium/test_expectations.txt:

2010-03-22  Jakub Wieczorek  <faw217@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Phonon media backend: expose supported MIME types to WebCore

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

        List all skipped media tests individually and unskip two fixed by the patch.

        * platform/qt/Skipped:

2010-03-22  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Added a test for <rdar://problem/7728196> REGRESSION (r46701): -(-2147483648)
        evaluates to -2147483648 on 32 bit (35842)

        * fast/js/negate-overflow-expected.txt: Added.
        * fast/js/negate-overflow.html: Added.

2010-03-22  Darin Fisher  <darin@chromium.org>

        Reviewed by Nate Chapin.

        [chromium] Renderer crashes when navigating to a reference fragment in
        a frame that has no current HistoryItem.

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

        * fast/loader/crash-replacing-location-before-load-expected.txt: Added.
        * fast/loader/crash-replacing-location-before-load.html: Added.

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

        Reviewed by Kenneth Rohde Christiansen.

        Basic tests of mfrac (fractions)

        * mathml/presentation/fractions.xhtml: Added.
        * mathml/presentation/fractions-vertical-alignment.xhtml: Added
        * platform/mac/mathml/presentation/fractions-expected.checksum: Added.
        * platform/mac/mathml/presentation/fractions-expected.png: Added.
        * platform/mac/mathml/presentation/fractions-expected.txt: Added.
        * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.checksum: Added.
        * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png: Added.
        * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt: Added.

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

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=36400
        Add a test for r15750 (Flash crashes after it replaces itself via a document.write())

        * plugins/destroy-plugin-from-callback-expected.txt: Added.
        * plugins/destroy-plugin-from-callback.html: Added.

2010-03-22  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Test that uncaught exception thrown from setTimeout callback in a Worker is reported to the worker object.

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

        * fast/workers/resources/worker-exception-in-timeout-callback.js: Added.
        * fast/workers/worker-script-error-expected.txt:
        * fast/workers/worker-script-error.html:

2010-03-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] REGRESSION (r56209): fast/media/print-restores-previous-mediatype.htm crashes
        https://bugs.webkit.org/show_bug.cgi?id=36386

        * platform/qt/Skipped: unskip the test as it now passes.

2010-03-21  Dmitry Gorbik  <socket.h@gmail.com>

        <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell

        Reviewed by David Kilzer.

        Fixed width calculation for cells with span when <col> is defined.

        * fast/table/col-width-span-expand-expected.txt: Added.
        * fast/table/col-width-span-expand.html: Added.

2010-03-20  Martin Robinson  <mrobinson@webkit.org>

        Reviewed by Xan Lopez

        [GTK] eventSender.zoomPageOut() bug?
        https://bugs.webkit.org/show_bug.cgi?id=30575

        Unskip some tests that were failing because of the bug in DRT.

        * platform/gtk/Skipped:

2010-03-20  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations tweak.

        Remove expectations for chromium-mac editing/style/apply-through-end-of-document.html as it
        now matches platform/mac.

        * platform/chromium-mac/editing/style/apply-through-end-of-document-expected.txt: Removed.
        * platform/chromium/test_expectations.txt: Adjusted expectations.

2010-03-20  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations tweak.

        Mark editing/style/apply-through-end-of-document.html as failing

        * platform/chromium/test_expectations.txt:

2010-03-20  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, expectations tweak.

        Marked svg/filters/filterRes.svg as failing after
        http://trac.webkit.org/changeset/56288/

        * platform/chromium/test_expectations.txt: Added expectations for svg/filters/filterRes.svg.

2010-03-19  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dan Bernstein.

        WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
        https://bugs.webkit.org/show_bug.cgi?id=34641

        * fast/css/first-letter-block-form-controls-crash-expected.txt: Added.
        * fast/css/first-letter-block-form-controls-crash.html: Added.

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

        Land a test result that should have been added along with the test in r56286.

        * transitions/transition-end-event-destroy-iframe-expected.txt: Copied from LayoutTests/transitions/transition-end-event-destroy-renderer-expected.txt.

2010-03-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Daniel Bates.

        Change XSSAuditor block syntax
        https://bugs.webkit.org/show_bug.cgi?id=34436

        Update tests to account for the new blocking syntax.  Added test for
        disabling the XSS filter.

        * http/tests/security/xssAuditor/malformed-xss-protection-header-expected.txt:
        * http/tests/security/xssAuditor/malformed-xss-protection-header.html:
        * http/tests/security/xssAuditor/no-protection-script-tag-expected.txt: Added.
        * http/tests/security/xssAuditor/no-protection-script-tag.html: Added.
        * http/tests/security/xssAuditor/resources/echo-head-base-href.pl:
        * http/tests/security/xssAuditor/resources/echo-intertag-click-and-notify.pl:
        * http/tests/security/xssAuditor/resources/echo-intertag.pl:
        * http/tests/security/xssAuditor/xss-protection-parsing-01-expected.txt: Added.
        * http/tests/security/xssAuditor/xss-protection-parsing-01.html: Added.

2010-03-19  Zhenyao Mo  <zmo@google.com>

        Reviewed by Oliver Hunt.

        Update WebGLArray.slice() to new spec
        https://bugs.webkit.org/show_bug.cgi?id-35612

        * fast/canvas/webgl/array-unit-tests-expected.txt: Changed tests to reflect the new slice parameters; add new test cases for default inputs for slice.
        * fast/canvas/webgl/array-unit-tests.html: Ditto.
        * fast/canvas/webgl/webgl-array-invalid-ranges-expected.txt: Changed tests to reflect the new slice parameters.
        * fast/canvas/webgl/webgl-array-invalid-ranges.html: Ditto.

2010-03-19  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

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

        Test that allow-forms is frozen on document creation.

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

2010-03-19  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Oliver Hunt.

        Security: ReadAV@NULL for negative feMorphology filter radius
        https://bugs.webkit.org/show_bug.cgi?id=34566

        Prevents building the filter if either radius is negative.
        Catches negative radii resulting from conversions.

        * svg/filters/feMorphology-invalid-radius-expected.txt: Added.
        * svg/filters/feMorphology-invalid-radius.svg: Added.

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

        Reviewed by Simon Fraser.

        Fixed a crash with AnimationController getting deleted out from under itself.
        
        This test actually doesn't crash without the fix because the JS interpreter
        protects against the Frame getting deleted prematurely. But this test is still
        useful to make sure that protection is working. The crash actually occurs
        when the equivalent thing is done in native code interfacing to a WebView.

        * transitions/resources/transition-end-event-destroy-iframe-inner.html: Added.
        * transitions/transition-end-event-destroy-iframe.html: Added.

2010-03-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dimitri Glazkov.

        https://bugs.webkit.org/show_bug.cgi?id=36387
        REGRESSION: Can "uncheck" radio buttons by clicking on them
        
        Testcase for various combinations of checked/intermiate and click events.

        * fast/forms/radio-checkbox-restore-indeterminate-expected.txt: Added.
        * fast/forms/radio-checkbox-restore-indeterminate.html: Added.

2010-03-19  Darin Fisher  <darin@chromium.org>

        Temporarily suppress fast/loader/frame-src-change-added-to-history.html
        for Tiger to make the bot green.

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

        * platform/mac-tiger/Skipped:

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add test_expectations.txt file for chromium baselines

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

        * platform/chromium/test_expectations.txt: Added

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land remaining chromium-linux LayoutTest baselines
        (file list omitted due to length).

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


2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-linux/fast/{block,css,forms,text} LayoutTest baselines
        (file list omitted due to length).

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

        * platform/chromium-linux/fast/block : Added.
        * platform/chromium-linux/fast/css : Added.
        * platform/chromium-linux/fast/forms : Added.
        * platform/chromium-linux/fast/text : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-linux/editing LayoutTest baselines
        (file list omitted due to length).

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

        * platform/chromium-linux/editing : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-linux/tables LayoutTest baselines
        (file list omitted due to length).

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

        * platform/chromium-linux/tables : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-linux/svg LayoutTest baselines
        (file list omitted due to length).

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

        * platform/chromium-linux/svg : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-linux/css* LayoutTest baselines
        (file list omitted due to length).

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

        * platform/chromium-linux/css* : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land remaining chromium-win/* LayoutTest baselines
        (file list omitted due to length).

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

        * platform/chromium-win/* : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-win/css* LayoutTest baselines
        (file list ommitted due to length).

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

        * platform/chromium-win/css* : Added.

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

        [Qt] Back-forward list dumping is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=36392

        * platform/qt/Skipped: fast/loader/frame-src-change-added-to-history.html skipped until fix.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-win/fast/[l-z]* LayoutTest baselines
        (file list ommitted due to length).

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

        * platform/chromium-win/fast/[l-z]* : Added.

2010-03-19  Xan Lopez  <xlopez@igalia.com>

        Rubber-stamped by Gustavo Noronha.

        r56188 removed lastPosition from the Geolocation code, but the the
        geolocation window properties wasn't updated to reflect this. It's
        only failing on the GTK+ port, since the other ports have it on
        their Skipped list.

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

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

       [Qt] REGRESSION (r56209): fast/media/print-restores-previous-mediatype.htm crashes
       https://bugs.webkit.org/show_bug.cgi?id=36386

        * platform/qt/Skipped: fast/media/print-restores-previous-mediatype.html skipped until fix.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land chromium-win/fast/{a,c,d,e,f,g,h,i,j}* LayoutTest baselines
        (file list ommitted due to length).

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

        * platform/chromium-win/fast/{a,c,d,e,f,g,h,i,j}* : Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land the first part of chromium-win/fast LayoutTest baselines
        (file list ommitted due to length).

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

        * platform/chromium-win/fast: Added.

2010-03-19  Xan Lopez  <xlopez@igalia.com>

        Unreviewed, land new expected result for test.

        * platform/gtk/svg/css/getComputedStyle-basic-expected.txt:

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land the chromium-win/tables LayoutTest baselines (file list
        ommitted due to length).

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

        * platform/chromium-win/tables: Added.

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

        Rubberstamped by Eric Seidel. 

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

        * fast/loader/api-test-new-window-data-load-base-url.html: Removed.
        * fast/loader/api-test-new-window-data-load-base-url.html-disabled: Copied from fast/loader/api-test-new-window-data-load-base-url.html.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land the chromium-win/svg LayoutTest baselines (file list
        ommitted due to length).

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

        * platform/chromium-win/svg: Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land the chromium-win-vista LayoutTest baselines (file list
        ommitted due to length).

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

        * platform/chromium-win-vista: Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land the chromium-win-xp LayoutTest baselines (file list ommitted due to
        length).

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

        * platform/chromium-win-xp: Added.

2010-03-19  Dirk Pranke <dpranke@chromium.org>

        Reviewed by Dimitri Glazkov.

        Land the chromium-mac LayoutTest baselines (file list ommitted due to
        length).

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

        * platform/chromium-mac: Added.

2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by David Kilzer.

        <input type=range> does not validate correctly without a renderer and the tests are incorrect
        https://bugs.webkit.org/show_bug.cgi?id=36259

        Setting value attribute on an <input type=range> to an out-of-range value fires oninput
        https://bugs.webkit.org/show_bug.cgi?id=16990

        When setting the range element's value, overflows and underflows are
        automatically sanitized to valid values. Fixed the behavior and removed
        tests that were testing for improper behavior.

        * fast/forms/ValidityState-rangeOverflow-expected.txt:
        * fast/forms/ValidityState-rangeUnderflow-expected.txt:
        * fast/forms/input-stepup-stepdown-expected.txt:
        * fast/forms/script-tests/ValidityState-rangeOverflow.js:
        * fast/forms/script-tests/ValidityState-rangeUnderflow.js:
        * fast/forms/script-tests/input-stepup-stepdown.js:
        * fast/forms/script-tests/validationMessage.js:
        * fast/forms/validationMessage-expected.txt:

          Added test verifying that bug 16990 was fixed as well.

        * fast/forms/range-input-dynamic-oninput-expected.txt: Added.
        * fast/forms/range-input-dynamic-oninput.html Added.

          Improved test because handling of this case changed.

        * fast/forms/range-reset-expected.txt:
        * fast/forms/range-reset.html:

2010-03-19  Darin Fisher  <darin@chromium.org>

        Fix expected results for fast/loader/frame-src-change-added-to-history.html

        * fast/loader/frame-src-change-added-to-history-expected.txt:

2010-03-19  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Need a layout test for finding yensign from documents with Japanese encodings
        https://bugs.webkit.org/show_bug.cgi?id=36288

        * editing/selection/find-yensign-and-backslash-expected.txt: Added.
        * editing/selection/find-yensign-and-backslash.html: Added.
        * platform/gtk/editing/selection/find-yensign-and-backslash-expected.txt: Added.
        * platform/qt/editing/selection/find-yensign-and-backslash-expected.txt: Added.
        * platform/win/editing/selection/find-yensign-and-backslash-expected.txt: Added.

2010-03-18  Darin Fisher  <darin@chromium.org>

        Reviewed by Adam Barth.

        If a frame is already in the document, then setting its "src" attribute
        should add the resultant navigation to history.

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

        * fast/loader/frame-src-change-added-to-history-expected.txt: Added.
        * fast/loader/frame-src-change-added-to-history.html: Added.

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

        Unreviewed.

        [Qt] Platform specific expected file updated after r56195

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

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

        Reviewed by Nikolas Zimmermann.

        Add test for minor SVG animation crashers.
        See https://bugs.webkit.org/show_bug.cgi?id=35606

        * svg/animations/keypoints-mismatch.svg: Added.
        * svg/animations/keypoints-mismatch-expected.txt: Added.

2010-03-18  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        add new results for failing win/linux test after http://trac.webkit.org/changeset/56175
        https://bugs.webkit.org/show_bug.cgi?id=36329

        Missed this test in r56175 since it does a drag on win/linux, but not a mac.
        The new results correctly do the smart-drag behavior of doing a smart-delete
        on drag regardless of whether the selection granularity is word granularity.

        * platform/win/editing/selection/drag-text-delay-expected.checksum: Added.
        * platform/win/editing/selection/drag-text-delay-expected.png: Added.
        * platform/win/editing/selection/drag-text-delay-expected.txt:

2010-03-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Fix LayoutTests/http/tests/appcache/max-size.html
        https://bugs.webkit.org/show_bug.cgi?id=36207

        * platform/qt/Skipped:

2010-03-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Darin Adler.

        Add a new test for testing whether the media type is restores
        properly after printing a page (changing media type to 'print').

        Add expected result and skip the test for platform that do not
        implement setMediaType().

        * fast/media/print-restores-previous-mediatype-expected.txt: Added.
        * fast/media/print-restores-previous-mediatype.html: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/win/Skipped:

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

        Rubber-stamped by Samuel Weinig.

        Update test results after r56182.  "background-color: rgba(0, 0, 0, 0)" is now reported as "background-color: transparent".

        * fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/qt/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/win/fast/css/getComputedStyle/computed-style-expected.txt:

2010-03-18  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Dragging a PDF image triggers assertion in DragController::startDrag()
        https://bugs.webkit.org/show_bug.cgi?id=36247

        * fast/images/drag-pdf-as-image-expected.txt: Added.
        * fast/images/drag-pdf-as-image.html: Added.

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

        Add missing file from r56186.

        * fast/dynamic/float-remove-above-line-2-expected.txt: Added.

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

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=36327
        Test that a plug-in can override Node methods of its element

        * plugins/override-node-method-expected.txt: Added.
        * plugins/override-node-method.html: Added.

2010-03-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=36274
        CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
        
        The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.

        * fast/css/nth-child-odd-case-insensitive-expected.txt: Added.
        * fast/css/nth-child-odd-case-insensitive.html: Added.

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

        Reviewed by Darin Adler.

        Additional test for <rdar://problem/7761400>

        * fast/dynamic/float-remove-above-line-2.html: Copied from LayoutTests/fast/dynamic/float-remove-above-line.html.
        * fast/dynamic/float-remove-above-line-expected.txt: Updated.
        * fast/dynamic/float-remove-above-line.html: Fixed inconsequential typo in end tag.

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

        Not reviewed.

        https://bugs.webkit.org/show_bug.cgi?id=36210
        plugins/resize-from-plugin.html fails on some platforms

        Landing new results for Qt and Gtk, taken from buildbot.

        Gtk results are a pass, although the difference in clip rect may indicate some issue to look into.
        Qt results are a failure.

        * platform/gtk/plugins/resize-from-plugin-expected.txt: Copied from LayoutTests/plugins/resize-from-plugin-expected.txt.
        * platform/qt/plugins/resize-from-plugin-expected.txt: Copied from LayoutTests/plugins/resize-from-plugin-expected.txt.

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

        Reviewed by David Levin.

        smartdelete should only occur after double-click
        https://bugs.webkit.org/show_bug.cgi?id=35314

        * editing/deleting/non-smart-delete.html:
        * editing/pasteboard/drag-drop-modifies-page.html:
        * editing/pasteboard/page-zoom-expected.txt:
        Space is removed because we used to incorrectly smartpaste here.
        New behavior matches NSTextView.
        * editing/style/apply-through-end-of-document-expected.txt:
        The change here is that selectall + smartpaste doesn't put a BR,
        but selectall + normal-paste does. Not sure if that's a bug or not,
        but it's not a side effect of this change.
        * editing/style/style-boundary-005.html:
        * platform/mac/editing/deleting/non-smart-delete-expected.checksum:
        * platform/mac/editing/deleting/non-smart-delete-expected.png:
        * platform/mac/editing/deleting/non-smart-delete-expected.txt:
        * platform/mac/editing/execCommand/paste-1-expected.txt:
        * platform/mac/editing/execCommand/paste-2-expected.txt:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.checksum:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.png:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.txt:

        * platform/mac/editing/selection/expanding-selections-expected.txt:
        * platform/mac/editing/selection/expanding-selections2-expected.txt:
        * platform/mac/editing/selection/triple-click-in-pre-expected.txt:
        The above three results change because granularity is no longer part of the seleciton,
        so changes in granularity don't fire selection change notifications.

        * platform/mac/editing/style/style-boundary-005-expected.checksum:
        * platform/mac/editing/style/style-boundary-005-expected.png:
        * platform/mac/editing/style/style-boundary-005-expected.txt:

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

        Reviewed by Adam Roben and Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=36210
        plugins/resize-from-plugin.html fails on some platforms

        * platform/win/plugins/resize-from-plugin-expected.txt: Copied from LayoutTests/plugins/resize-from-plugin-expected.txt.
        Windows results are different, probably because windowed plug-ins just get the whole window
        as clip rect.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        Unskipped the tests to see how they work with TestNetscapePlugin fixes from this patch.

2010-03-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=36273
        CSS3 :indeterminate and input type=radio test fails

        The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.

        * fast/forms/indeterminate-radio-expected.txt: Added.
        * fast/forms/indeterminate-radio.html: Added.

2010-03-18  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=36271
        CSS3 :enabled on an input type=hidden element fails
        
        The CSS3 selectors spec now makes it clear that hidden inputs should respect
        the :enabled and :disabled pseudo-classes.

        * fast/forms/hidden-input-enabled-expected.txt: Added.
        * fast/forms/hidden-input-enabled.html: Added.
        * fast/forms/hidden-input-not-enabled-expected.txt: Removed.
        * fast/forms/hidden-input-not-enabled.html: Removed.

2010-03-18  Enrica Casucci  <enrica@apple.com>

        Reviewed by Simon Fraser.

        Intro text at Star Wars demo is clipped.
        <rdar://problem/7560979>
        https://bugs.webkit.org/show_bug.cgi?id=33909

        We are flipping the coordinates for drawing, therefore
        we must flip them also when we invalidate the rectangles.

        * compositing/repaint/layer-repaint.html: Added.
        * platform/mac/compositing/repaint/layer-repaint-expected.checksum: Added.
        * platform/mac/compositing/repaint/layer-repaint-expected.png: Added.
        * platform/mac/compositing/repaint/layer-repaint-expected.txt: Added.

2010-03-18  Kim Grönholm  <kim.gronholm@nomovok.com>

        Reviewed by Simon Hausmann.

        [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
        https://bugs.webkit.org/show_bug.cgi?id=36219
        
        The play-state layout test now works, and can be removed from the skip list.

        * platform/qt/Skipped: animations/play-state.html is removed from the skipped list

2010-03-18  Adam Langley  <agl@chromium.org>

        Reviewed by David Levin.

        [chromium] Fix inverted logic in per-strike renderer patch.

        I screwed up in r55089 and got one of the conditions backwards. Thanks
        to Roman Tsisyk for pointing it out.

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

        * platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html: Added.

2010-03-18  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Failing tests http/tests/misc/image-blocked-src-change.html
        & http/tests/misc/image-blocked-src-no-change.html
        https://bugs.webkit.org/show_bug.cgi?id=36227

        Removed tests from the list of Skipped:
        http/tests/misc/image-blocked-src-no-change.html
        http/tests/misc/image-blocked-src-change.html
        http/tests/security/local-CSS-from-remote.html
        http/tests/security/local-video-poster-from-remote.html
        http/tests/security/frame-loading-via-document-write.html
        http/tests/security/local-iFrame-from-remote.html
        http/tests/security/local-video-src-from-remote.html
        http/tests/security/local-image-from-remote.html
        http/tests/security/local-JavaScript-from-remote.html

        * platform/gtk/Skipped:

2010-03-18  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

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

        [Qt] Unskip the tests that pass after the fix for bug 36139.
        http/tests/appcache/foreign-iframe-main.html
        http/tests/appcache/manifest-with-empty-file.html
        http/tests/appcache/resource-redirect.html

        * platform/qt/Skipped:

2010-03-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        undefined, NaN, and Infinity should be ReadOnly
        https://bugs.webkit.org/show_bug.cgi?id=36263

        Add tests for the attributes of undefined, NaN and Infinity on the
        global object

        * fast/js/getOwnPropertyDescriptor-expected.txt:
        * fast/js/resources/getOwnPropertyDescriptor.js:

2010-03-17  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Laszlo Gombos.

        https://bugs.webkit.org/show_bug.cgi?id=36139
        [Qt] Unskip the test that now passes.

        platform/qt/Skipped:

2010-03-17  Drew Wilson  <atwilson@chromium.org>

        Reviewed by David Levin.

        Add tests for "load shared worker in iframe" case.
        https://bugs.webkit.org/show_bug.cgi?id=36203

        Makes sure that creating a worker simultaneously in a document and in
        a child iframe works (you end up with a single instance).

        * fast/workers/resources/shared-worker-count-connections.js: Added.
        * fast/workers/resources/shared-worker-iframe.html: Added.
        * fast/workers/shared-worker-in-iframe-expected.txt: Added.
        * fast/workers/shared-worker-in-iframe.html: Added.

2010-03-17  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Rebaseline the test and remove it from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=36059

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/canvas-text-baseline-expected.checksum: Added.
        * platform/qt/fast/canvas/canvas-text-baseline-expected.png: Added.
        * platform/qt/fast/canvas/canvas-text-baseline-expected.txt: Added.

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

        Reviewed by Dimitri Glazkov.

        [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
        https://bugs.webkit.org/show_bug.cgi?id=36239

        * fast/workers/resources/termination-with-port-messages.js: Added.
        (echo):
        (onmessage):
        * fast/workers/termination-with-port-messages-expected.txt: Added.
        * fast/workers/termination-with-port-messages.html: Added.

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

        Reviewed by Darin Fisher.

        Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
        https://bugs.webkit.org/show_bug.cgi?id=36233

        The patch for bug 33416, which added multisampling support to the
        WebGL back buffer, uncovered some OpenGL driver bugs on the build
        bots which need further investigation to determine the appropriate
        workaround. Reverting this change, the minor build fix in 36189,
        and the skipping of the affected tests in bug 36200.

        Built and tested WebKit and Chromium and ran all WebGL layout
        tests in both.

        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt: Removed.
        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html: Removed.
        * fast/canvas/webgl/context-attributes-expected.txt:
        * fast/canvas/webgl/context-attributes.html:
        * fast/canvas/webgl/gl-get-calls-expected.txt:
        * fast/canvas/webgl/gl-get-calls.html:
        * platform/mac/Skipped:

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

        * platform/gtk/Skipped: Also, resize-from-plugin.html got skipped twice tonight, removing
        one of the lines.

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

        * platform/gtk/Skipped: Updated to reference a newly filed bug.

2010-03-17  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: update mimetype expectations in inspector tests.

        * inspector/timeline-network-resource-expected.txt:

2010-03-17  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: GTK tests fix - removed custom expectation that was
        added with no good reason.

        * inspector/timeline-test.js:
        * platform/gtk/inspector/timeline-network-resource-expected.txt: Removed.

2010-03-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        WebInspector: Timeline improvements - next iteration.

        The top level records should be collapsed.
        Virtually linked events should be nested in Timeline like Send Request and
        corresponding Received Responce, Timer Install and Timer Fire etc.
        It should be possible to see Main Resource request.

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

        * inspector/timeline-network-resource-expected.txt:
        * inspector/timeline-test.js:
        (frontend_getTimelineResults):

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

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsLayer: fix test regressions
        https://bugs.webkit.org/show_bug.cgi?id=36191

        Enabling accelerated compositing (AC) by default make 3 tests fail.
        AC is more important now than these tests, so they are skipped until 
        fix and AC is enabled.

        * platform/qt/Skipped:
         - animations/fill-mode-transform.html skipped
         - animations/play-state.html skipped
         - animations/simultaneous-start-left.html skipped

2010-03-17  Maciej Stachowiak  <mjs@apple.com>

        Disable new plugin tests from r56079 on Gtk and Qt, since they are failing.

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

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

        Skip a couple of failing tests in the bots.

        * platform/gtk/Skipped:

2010-03-16  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Darin Fisher.

        Give keyboard focus to PluginDocuments by default
        https://bugs.webkit.org/show_bug.cgi?id=36147

        * http/tests/plugins/plugin-document-has-focus-expected.txt: Added.
        * http/tests/plugins/plugin-document-has-focus.html: Added.
        * http/tests/plugins/resources/plugin-document-has-focus.pl: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

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

        Reviewed by Darin Adler.

        REGRESSION (r53857): Crash when tabbing to <map>
        https://bugs.webkit.org/show_bug.cgi?id=36017

        Also fix the path to js-test-post.js in tab-imagemap.html.

        * fast/events/imagemap-norender-crash-expected.txt: Added.
        * fast/events/imagemap-norender-crash.html: Added.
        * fast/events/tab-imagemap-expected.txt:
        * fast/events/tab-imagemap.html:

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

        Reviewed by Eric Seidel.

        Temporarily disable WebGL layout tests failing due to multisampling
        https://bugs.webkit.org/show_bug.cgi?id=36200

        * platform/mac/Skipped:

2010-03-15  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Alexey Proskuryakov.

        fix webkit win test failures for smart delete
        https://bugs.webkit.org/show_bug.cgi?id=36141

        Works around https://bugs.webkit.org/show_bug.cgi?id=36140.

        * editing/deleting/smart-delete-004.html:
        * editing/pasteboard/smart-paste-002.html:
        * editing/pasteboard/smart-paste-005.html:
        * editing/pasteboard/smart-paste-007.html:
        * platform/mac/editing/pasteboard/smart-paste-002-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-005-expected.txt:

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

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=36184
        YouTube video resizing doesn't work with OOP plug-ins

        This test is quite fragile, as it depends on when exactly WebCore decides to do layout.
        If WebCore logic changes, the test will just always pass without executing the code path
        in question.

        * plugins/resize-from-plugin-expected.txt: Added.
        * plugins/resize-from-plugin.html: Added.
        * plugins/resources/resize-from-plugin-frame.html: Added.

2010-03-16  Zhenyao Mo  <zmo@google.com>

        Reviewed by Darin Fisher.

        Hook up WebGLContextAttributes to OpenGL context creation code
        https://bugs.webkit.org/show_bug.cgi?id=33416

        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt: Added. 
        * fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html: Added.
        * fast/canvas/webgl/context-attributes-expected.txt: WebGL context attributes behavior changed with this fix.
        * fast/canvas/webgl/context-attributes.html: Ditto.
        * fast/canvas/webgl/gl-get-calls-expected.txt: Stencil buffer is enabled, thus Stencil Bits is no longer 0.
        * fast/canvas/webgl/gl-get-calls.html: Ditto.

2010-03-16  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        Added layout tests to get the number of rows and columns.

        https://bugs.webkit.org/show_bug.cgi?id=35504
        [Gtk] Evaluate and fix AtkTable for layout tables

        * platform/gtk/accessibility/table-hierarchy.html:
        * platform/gtk/accessibility/table-hierarchy-expected.txt:

2010-03-16  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: inspector http test fix that migrates it to the new inspector api.

        * http/tests/inspector/inspect-iframe-from-different-domain.html:

2010-03-11  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Simon Fraser.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Spatial Navigation: Add a scrollIntoView call when focusing an element.
        https://bugs.webkit.org/show_bug.cgi?id=36020

        * platform/gtk/Skipped: Unskip snav-iframe-with-offscreen-element.html

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

        [GStreamer] media/video-played-collapse.html
        https://bugs.webkit.org/show_bug.cgi?id=36165

        Skip apparently unreliable test. It used to fail locally and pass
        on the bots, but the situation is inversed now. We need to
        investigate this properly.

        * platform/gtk/Skipped:

2010-03-16  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        noscript tag should render when @sandbox disables JavaScript
        https://bugs.webkit.org/show_bug.cgi?id=36092

        Test that the noscript element renders when @sandbox disables
        JavaScript.

        * fast/frames/sandboxed-iframe-noscript-expected.txt: Added.
        * fast/frames/sandboxed-iframe-noscript.html: Added.

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

        Reviewed by Eric Seidel.

        Don't submit disabled menu options.
        https://bugs.webkit.org/show_bug.cgi?id=35056

        * fast/forms/menulist-disabled-selected-option-expected.txt: Added.
        * fast/forms/menulist-disabled-selected-option.html: Added.
        * fast/forms/menulist-submit-without-selection-expected.txt: Added.
        * fast/forms/menulist-submit-without-selection.html: Added.
        * fast/forms/script-tests/menulist-disabled-selected-option.js: Added.
        * fast/forms/script-tests/menulist-submit-without-selection.js: Added.

2010-03-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Adam Barth.

        According to the updated specification, a data field should always
        result in a newline character being appended to the data buffer
        regardless if the data buffer contains any data or not. However, upon
        event dispatch, the last newline will be removed. This differs from an
        older version of the specification where a newline character was
        appended before the data value only if the buffer already contained
        data. As a result, EventSource now supports receiving events with empty
        data or newline characters only. Updated test accordingly.
        https://bugs.webkit.org/show_bug.cgi?id=33210

        * http/tests/eventsource/eventsource-parse-event-stream-expected.txt:
        * http/tests/eventsource/eventsource-parse-event-stream.html:
        * http/tests/eventsource/resources/event-stream.php:

2010-03-15  Valters Svabe  <vsvabe@gmail.com>

        Reviewed by Darin Adler.

        :after selector displays in wrong place with nested div
        https://bugs.webkit.org/show_bug.cgi?id=32288

        * fast/css-generated-content/block-after-expected.txt: Added.
        * fast/css-generated-content/block-after.html: Added.

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

        Unreviewed.

        VO not able to perform a VO-spacebar on facebook links
        https://bugs.webkit.org/show_bug.cgi?id=36132

        GTK needs to implement press in DRT before this test can work.

        * platform/gtk/Skipped:

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

        Unreviewed layout test fix.

        VO not able to perform a VO-spacebar on facebook links
        https://bugs.webkit.org/show_bug.cgi?id=36132
 
        This test must be skipped until https://bugs.webkit.org/show_bug.cgi?id=36145 is done.

        * platform/win/Skipped:

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

        Reviewed by Beth Dakin.

        VO not able to perform a VO-spacebar on facebook links
        https://bugs.webkit.org/show_bug.cgi?id=36132

        * accessibility/label-element-press-expected.txt: Added.
        * accessibility/label-element-press.html: Added.

2010-03-15  Simon Fraser  <simon.fraser@apple.com>

        Rubber-stamped by Dan Bernstein.

        Update some pixel results for composting tests; some were incorrect, and others had minor
        pixel differences.

        * platform/mac/compositing/color-matching/image-color-matching-expected.checksum:
        * platform/mac/compositing/color-matching/image-color-matching-expected.png:
        * platform/mac/compositing/direct-image-compositing-expected.checksum:
        * platform/mac/compositing/direct-image-compositing-expected.png:
        * platform/mac/compositing/overflow/overflow-scroll-expected.checksum:
        * platform/mac/compositing/overflow/overflow-scroll-expected.png:
        * platform/mac/compositing/reflections/animation-inside-reflection-expected.checksum:
        * platform/mac/compositing/reflections/animation-inside-reflection-expected.png:
        * platform/mac/compositing/reflections/load-video-in-reflection-expected.checksum:
        * platform/mac/compositing/reflections/load-video-in-reflection-expected.png:
        * platform/mac/compositing/reflections/nested-reflection-animated-expected.checksum:
        * platform/mac/compositing/reflections/nested-reflection-animated-expected.png:
        * platform/mac/compositing/reflections/nested-reflection-transition-expected.checksum:
        * platform/mac/compositing/reflections/nested-reflection-transition-expected.png:
        * platform/mac/compositing/reflections/reflection-on-composited-expected.checksum:
        * platform/mac/compositing/reflections/reflection-on-composited-expected.png:
        * platform/mac/compositing/repaint/become-overlay-composited-layer-expected.checksum: Added.
        * platform/mac/compositing/repaint/become-overlay-composited-layer-expected.png: Added.
        * platform/mac/compositing/repaint/layer-repaint-rects-expected.checksum:
        * platform/mac/compositing/repaint/layer-repaint-rects-expected.png:

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

        Reviewed by John Sullivan.

        These tests verify that scrollwheel events (both continuous and
        non-continuous) generate the expected pixel deltas in scrollable
        regions, and also generate DOM mousewheel events with expected
        wheelDelta values.

        https://bugs.webkit.org/show_bug.cgi?id=29601
        <rdar://problem/7453254>

        * fast/events/continuous-platform-wheelevent-in-scrolling-div-expected.txt: Added.
        * fast/events/continuous-platform-wheelevent-in-scrolling-div.html: Added.
        * fast/events/platform-wheelevent-in-scrolling-div-expected.txt: Added.
        * fast/events/platform-wheelevent-in-scrolling-div.html: Added.
        * fast/events/wheelevent-in-scrolling-div-expected.txt: Rebased
        expected results due to change in test output formatting.
        * fast/events/wheelevent-in-scrolling-div.html: Modified to use common
        js logging and assertion functions.
        * platform/gtk/Skipped: DRT support needed by tests not yet implemented
        in GTK port.  See https://bugs.webkit.org/show_bug.cgi?id=36003.
        * platform/mac-tiger/Skipped: DRT support needed by tests not possible
        to implement in Tiger.
        * platform/qt/Skipped: DRT support for tests not yet implemented in Qt
        port.  See https://bugs.webkit.org/show_bug.cgi?id=36004.
        * platform/win/Skipped: DRT support for tests not yet implemented in
        Windows port.  See https://bugs.webkit.org/show_bug.cgi?id=36002.

2010-03-15  Jian Li  <jianli@chromium.org>

        Reviewed by Sam Weinig.

        Add DOMFormData.idl to expose FormData interface
        https://bugs.webkit.org/show_bug.cgi?id=36024
        
        Add a layout test to test sending FormData via XMLHttpRequest. Also
        changed all test results that are affected by exposing FormData.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/constructed-objects-prototypes-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * http/tests/local/resources/send-form-data.js: Added.
        * http/tests/local/send-form-data-expected.txt: Added.
        * http/tests/local/send-form-data.html: Added.
        * http/tests/xmlhttprequest/resources/multipart-post-echo.php: Added.
        * platform/gtk/Skipped:
        * platform/gtk/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/Skipped:
        * platform/qt/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/qt/fast/dom/prototype-inheritance-expected.txt:
        * platform/qt/fast/js/global-constructors-expected.txt:
        * platform/win/Skipped:

2010-03-15  Patrik Persson  <patrik.j.persson@ericsson.com>

        Reviewed by Darin Adler.

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

        Revised test of storage/databases in sandboxed iframes.
        
        Verify that SECURITY_ERR is raised on access to
        window.localStorage or window.openDatabase(). Also verify that
        window.sessionStorage is now allowed in sandboxed iframes.

        WebKit would previously return null references in these cases.  The
        new behavior is in accordance with HTML5:

        - http://dev.w3.org/html5/webstorage/   (sections 4.2 and 4.3)
        - http://dev.w3.org/html5/webdatabase/  (section 4.1)
        - http://www.mail-archive.com/whatwg@lists.whatwg.org/msg19786.html

        * fast/frames/resources/sandboxed-iframe-storage-disallowed.html: expect exceptions, not null
        * fast/frames/sandboxed-iframe-storage-expected.txt: expect exceptions, not null

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

        Reviewed by Darin Adler.

        option-pageup/down should move cursor on chromium mac
        https://bugs.webkit.org/show_bug.cgi?id=36108

        Remove waitUntilDone/notifyDone from the layout test, it's not needed
        and causes timeouts on failure.

        * editing/input/option-page-up-down.html:

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

        Reviewed by Eric Carlson.

        media/video-preload.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35793

        Unskip the test that now passes.

        * platform/gtk/Skipped:

2010-03-15  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] Change and add expected results after the fix and also remove the test from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=36060

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/fillrect-gradient-zero-stops-expected.checksum: Added.
        * platform/qt/fast/canvas/fillrect-gradient-zero-stops-expected.png: Added.
        * platform/qt/fast/canvas/fillrect-gradient-zero-stops-expected.txt:

2010-03-15  MORITA Hajime  <morrita@google.com>

        Reviewed by Alexey Proskuryakov.

        Selection.modify extends too far with 'lineboundary'.
        https://bugs.webkit.org/show_bug.cgi?id=33413

        * editing/selection/extend-selection-expected.txt:
        * platform/win/editing/selection/extend-selection-expected.txt: 
        Updated result to correct expectation that described the wrong
        behaviour for the selection expansion with 'lineboundary'
        granularity.
        
2010-03-14  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Shinichiro Hamaji.

        Always call PrintContext.end() from PrintContext::pageNumberForElement().

        Without this change, WebKit remains in printing mode after determining the page number if the specified element is found.

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

        * platform/gtk/Skipped:
        * platform/mac/printing/return-from-printing-mode-expected.checksum: Added.
        * platform/mac/printing/return-from-printing-mode-expected.png: Added.
        * platform/mac/printing/return-from-printing-mode-expected.txt: Added.
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/return-from-printing-mode.html: Added.

2010-03-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        Support for HTMLProgressElement
        https://bugs.webkit.org/show_bug.cgi?id=35937

        * fast/dom/HTMLProgressElement: Added.
        * fast/dom/HTMLProgressElement/progress-element.html: Added.
        * fast/dom/HTMLProgressElement/script-tests: Added.
        * fast/dom/HTMLProgressElement/script-tests/TEMPLATE.html: Added.
        * fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js: Added.
        * fast/dom/HTMLProgressElement/set-progress-properties.html: Added.
        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/fast/dom/HTMLProgressElement: Added.
        * platform/qt/fast/dom/HTMLProgressElement/progress-element-expected.checksum: Added.
        * platform/qt/fast/dom/HTMLProgressElement/progress-element-expected.png: Added.
        * platform/qt/fast/dom/HTMLProgressElement/progress-element-expected.txt: Added.
        * platform/qt/fast/dom/HTMLProgressElement/set-progress-properties-expected.txt: Added.

2010-03-14  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        REGRESSION(r53287): drop event is not fired if dataTransfer.dropEffect is not explicitly set
        https://bugs.webkit.org/show_bug.cgi?id=36095

        Correct this test to cover the somewhat bizarre "correct" handling
        of undefined dropEffect

        * fast/events/drag-and-drop-expected.txt:
        * fast/events/drag-and-drop.html:

2010-03-12  Shu Chang  <chang.shu@nokia.com>

        Reviewed by David Levin.

        [Qt] Rebaseline the test and remove it from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=36057

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/canvas-size-change-after-layout-expected.checksum: Added.
        * platform/qt/fast/canvas/canvas-size-change-after-layout-expected.png: Added.
        * platform/qt/fast/canvas/canvas-size-change-after-layout-expected.txt:

2010-03-12  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG Glyphs - transform path not context
        https://bugs.webkit.org/show_bug.cgi?id=36070

        Some tests don't look pixel perfect after the SVGFont changes (difference of 0.1%).
        They just need an update.
        Tests for the changes on other platforms than CG are
            * svg/batik/text/textEffect.svg
            * svg/batik/text/textEffect3.svg
            * svg/W3C-SVG-1.1/pservers-grad-08-b.svg

        * platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.checksum:
        * platform/mac-leopard/svg/custom/svg-fonts-in-html-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * platform/mac/svg/batik/text/textEffect-expected.checksum:
        * platform/mac/svg/batik/text/textEffect-expected.png:
        * platform/mac/svg/batik/text/textEffect3-expected.checksum:
        * platform/mac/svg/batik/text/textEffect3-expected.png:
        * platform/mac/svg/text/selection-doubleclick-expected.png:
        * platform/mac/svg/text/selection-tripleclick-expected.png:

2010-03-12  Enrica Casucci  <enrica@apple.com>

        Reviewed by Simon Fraser.

        Content of 3D tests appears at the bottom right corner sometimes.
        <rdar://problem/7556244>
        <https://bugs.webkit.org/show_bug.cgi?id=36027>

        * compositing/geometry/horizontal-scroll-composited.html: Added.
        * compositing/geometry/vertical-scroll-composited.html: Added.
        * compositing/resources/apple.jpg: Added.
        * platform/mac/compositing/geometry/horizontal-scroll-composited-expected.checksum: Added.
        * platform/mac/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
        * platform/mac/compositing/geometry/horizontal-scroll-composited-expected.txt: Added.
        * platform/mac/compositing/geometry/vertical-scroll-composited-expected.checksum: Added.
        * platform/mac/compositing/geometry/vertical-scroll-composited-expected.png: Added.
        * platform/mac/compositing/geometry/vertical-scroll-composited-expected.txt: Added.

2010-03-12  Dirk Schulze  <krit@webkit.org>

        Unreviewed LayoutTest update.

        Result was not updated with r55930.

        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:

2010-03-12  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG fallback color doesn't work for bogus gradients.
        https://bugs.webkit.org/show_bug.cgi?id=35479

        We now use a fallback color on ignored gradients for one dimensional objects,
        either a given fallback color or black as default.
        This causes a change of one LayoutTest, because it was done manually in the
        gradient PaintServer, without respecting a given fallback color.

        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt:
        * platform/mac/svg/custom/gradient-with-1d-boundingbox-expected.checksum: Added.
        * platform/mac/svg/custom/gradient-with-1d-boundingbox-expected.png: Added.
        * platform/mac/svg/custom/gradient-with-1d-boundingbox-expected.txt: Added.
        * svg/custom/gradient-with-1d-boundingbox.svg: Added.

2010-03-12  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, build fix.

        Reverts 55920 and 55921. Landing for Jian Li.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/constructed-objects-prototypes-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * http/tests/local/resources/send-form-data.js: Removed.
        * http/tests/local/send-form-data-expected.txt: Removed.
        * http/tests/local/send-form-data.html: Removed.
        * http/tests/xmlhttprequest/resources/multipart-post-echo.php: Removed.
        * platform/gtk/Skipped:
        * platform/gtk/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/Skipped:
        * platform/qt/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/qt/fast/dom/prototype-inheritance-expected.txt:
        * platform/qt/fast/js/global-constructors-expected.txt:
        * platform/win/Skipped:

2010-03-11  Antonio Gomes  <tonikitoo@webkit.org>

        Rubber-stamped by Kenneth Christiansen.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Make the timeout in 'snav-unit-overflow-and-scroll-in-direction.html' 10x shorter (from 500ms to 50ms)

        * fast/events/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html:

2010-03-12  Jian Li  <jianli@chromium.org>

        Reviewed by Sam Weinig.

        Add DOMFormData.idl to expose FormData interface
        https://bugs.webkit.org/show_bug.cgi?id=36024
        
        Add a layout test to test sending FormData via XMLHttpRequest. Also
        changed all test results that are affected by exposing FormData.

        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/constructed-objects-prototypes-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/js/global-constructors-expected.txt:
        * http/tests/local/resources/send-form-data.js: Added.
        * http/tests/local/send-form-data-expected.txt: Added.
        * http/tests/local/send-form-data.html: Added.
        * http/tests/xmlhttprequest/resources/multipart-post-echo.php: Added.
        * platform/gtk/Skipped:
        * platform/gtk/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/Skipped:
        * platform/qt/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/qt/fast/dom/prototype-inheritance-expected.txt:
        * platform/qt/fast/js/global-constructors-expected.txt:
        * platform/win/Skipped:

2010-03-12  Alpha Lam  <hclam@chromium.org>

        Reviewed by Eric Carlson.

        HTMLMediaElement crash when it is used after resource loading is canceled.
        https://bugs.webkit.org/show_bug.cgi?id=35992

        Adding a test to access the duration property of a video element after
        resource loading was canceled.

        * http/tests/media/video-cancel-load-expected.txt: Added.
        * http/tests/media/video-cancel-load.html: Added.

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

        Reviewed by David Levin.

        Tests for smartdelete should only occur after double-click
        https://bugs.webkit.org/show_bug.cgi?id=35314

        Fixes the tests to make selections using the mouse in order
        to force smart-delete. It also adds/modifies tests to have them correctly
        identify cases where we are smart-deleting, but shouldn't be.

        Fixing to smart-delete only on mouse-based selections will be a followup patch.

        * editing/deleting/5390681-2.html:
        * editing/deleting/non-smart-delete.html: Added.
        * editing/deleting/smart-delete-001.html:
        * editing/deleting/smart-delete-002.html:
        * editing/deleting/smart-delete-003.html:
        * editing/deleting/smart-delete-004.html:
        * editing/editing.js:
        (doubleClick):
        (doubleClickAtSelectionStart):
        * editing/pasteboard/4944770-2.html:
        * editing/pasteboard/drag-drop-modifies-page.html:
        * editing/pasteboard/smart-drag-drop.html: Added.
        * editing/pasteboard/smart-paste-001.html:
        * editing/pasteboard/smart-paste-002.html:
        * editing/pasteboard/smart-paste-003.html:
        * editing/pasteboard/smart-paste-004.html:
        * editing/pasteboard/smart-paste-005.html:
        * editing/pasteboard/smart-paste-007.html:
        * editing/pasteboard/smart-paste-008.html:
        * editing/selection/delete-word-granularity-text-control-expected.txt: Added.
        * editing/selection/delete-word-granularity-text-control.html: Added.
        * editing/selection/script-tests/delete-word-granularity-text-control.js: Added.
        * editing/style/style-boundary-005.html:
        * platform/mac/editing/deleting/non-smart-delete-expected.checksum: Added.
        * platform/mac/editing/deleting/non-smart-delete-expected.png: Added.
        * platform/mac/editing/deleting/non-smart-delete-expected.txt: Added.
        * platform/mac/editing/deleting/smart-delete-001-expected.txt:
        * platform/mac/editing/deleting/smart-delete-002-expected.txt:
        * platform/mac/editing/deleting/smart-delete-003-expected.txt:
        * platform/mac/editing/deleting/smart-delete-004-expected.txt:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.checksum:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.png:
        * platform/mac/editing/pasteboard/drag-drop-modifies-page-expected.txt:
        * platform/mac/editing/pasteboard/smart-drag-drop-expected.checksum: Added.
        * platform/mac/editing/pasteboard/smart-drag-drop-expected.png: Added.
        * platform/mac/editing/pasteboard/smart-drag-drop-expected.txt: Added.
        * platform/mac/editing/pasteboard/smart-paste-001-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-002-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-003-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-004-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-005-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-007-expected.txt:
        * platform/mac/editing/pasteboard/smart-paste-008-expected.txt:
        * platform/mac/editing/style/style-boundary-005-expected.checksum:
        * platform/mac/editing/style/style-boundary-005-expected.png:
        * platform/mac/editing/style/style-boundary-005-expected.txt:

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

        Reviewed by Darin Adler.

        <rdar://problem/7694674> Hover states not updated when overflow section scrolls under stationary mouse pointer
        https://bugs.webkit.org/show_bug.cgi?id=35949

        * fast/events/overflow-scroll-fake-mouse-move-expected.txt: Added.
        * fast/events/overflow-scroll-fake-mouse-move.html: Added.
        * fast/events/touch/basic-multi-touch-events.html:
        * fast/events/touch/basic-single-touch-events.html:

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

        [Qt] css1/box_properties/acid_test.html failed in release mode (32 bit).
        But it passes in debug mode (32 and 64 bit) and in release mode (64 bit).

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

        * platform/qt/Skipped: css1/box_properties/acid_test.html skipped again.

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

        [Qt] Now css1/box_properties/acid_test.html passes, so we can unskip it.
        original bug: https://bugs.webkit.org/show_bug.cgi?id=33834

        * platform/qt/Skipped: css1/box_properties/acid_test.html unskipped.

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

        [Qt] DRT failing on test introduced in r55499
        https://bugs.webkit.org/show_bug.cgi?id=35729

        Now fast/events/zoom-dblclick.html passes, so we can unskip it.

        * platform/qt/Skipped: fast/events/zoom-dblclick.html unskipped.

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

        Reviewed by Eric Carlson.

        [GTK] DRT does not handle cookie policy setting
        https://bugs.webkit.org/show_bug.cgi?id=36056

        Fix tests to request that the cookie acceptance policy always allows cookies.

        * http/tests/media/video-cookie.html:
        * http/tests/media/video-referer.html:

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

        [GTK] Fails fast/dom/Geolocation/maximum-age.htm
        https://bugs.webkit.org/show_bug.cgi?id=36053

        Skip new failing test.

        * platform/gtk/Skipped:

2010-03-12  Dan Winship  <danw@gnome.org>

        Reviewed by Gustavo Noronha.

        Revert previous; the test passes now.

        * platform/gtk/Skipped:

2010-03-12  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Jeremy Orlow.

        Test for referrer information being stripped when the header is removed in willSendRequest
        https://bugs.webkit.org/show_bug.cgi?id=35920

        * http/tests/security/no-referrer-expected.txt: Added.
        * http/tests/security/no-referrer.html: Added.
        * http/tests/security/resources/no-referrer-frame.php: Added.
        * http/tests/security/resources/no-referrer.php: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:

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

        Rubber-stamped by Dirk Schulze.

        Update two tests, whose pixel hash fail with --tolerance 0. No visible differences.

        * platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.checksum:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.png:

2010-03-11  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by David Levin.

        [Qt] Rebaseline the test and remove it from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=35969

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/canvas-resize-reset-expected.txt:

2010-03-11  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Applying h1 format to text node after HR tag fails to include first letter of text node.
        https://bugs.webkit.org/show_bug.cgi?id=30148

        This patch adds a test case to the above bug, which has been fixed by
        http://trac.webkit.org/changeset/55705.

        * editing/style/heading-text-after-hr-expected.txt: Added.
        * editing/style/heading-text-after-hr.html: Added.

2010-03-11  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Add more test cases for Blob.slice.
        https://bugs.webkit.org/show_bug.cgi?id=36038

        * http/tests/local/resources/abe.png: Copied from LayoutTests/editing/resources/abe.png.
        * http/tests/local/resources/empty.txt: Copied from LayoutTests/http/tests/appcache/resources/empty.txt.
        * http/tests/local/resources/send-sliced-dragged-file.js:
        * http/tests/local/send-sliced-dragged-file-expected.txt:
        * http/tests/resources/post-and-verify.cgi: Added.
        * http/tests/resources/write-temp-file.php:

2010-03-11  Jian Li  <jianli@chromium.org>

        Unreviewed. Added the test that time out on Tiger bot to mac-tiger/Skipped.

        * platform/mac-tiger/Skipped:

2010-03-11  Simon Fraser  <simon.fraser@apple.com>

        No review.

        Need to turn on WebGL explicitly for these tests for Leopard.

        * compositing/webgl/webgl-background-color.html:
        * compositing/webgl/webgl-reflection.html:

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

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=35965
        <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in

        * plugins/round-trip-npobject-expected.txt: Added.
        * plugins/round-trip-npobject.html: Added.

2010-03-11  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Make appcache layouttests top-frame-*.html more robust for async checking event
        https://bugs.webkit.org/show_bug.cgi?id=32047

        Modified the tests to watch for all termination conditions, eliminating the hardcoded
        assumed order of the events from separate async event sources.
        Also added check for "noupdate" event.

        * http/tests/appcache/top-frame-2.html: Modified to be consistent with the other 2 tests.
        * http/tests/appcache/top-frame-3-expected.txt:
        * http/tests/appcache/top-frame-3.html: Used logic similar to top-frame-2.html to avoid assumption of the events order.
        * http/tests/appcache/top-frame-4-expected.txt:
        * http/tests/appcache/top-frame-4.html: Ditto.

2010-03-11  Martin Robinson  <mrobinson@webkit.org>

        Reviewed by Adam Barth

        Convert editing/selection/5136696.html to dumpAsText
        https://bugs.webkit.org/show_bug.cgi?id=34306

        * editing/selection/5136696-expected.txt: Added.
        * editing/selection/5136696.html: Use dumpAsText now.
        * platform/gtk/Skipped: Unskip this test in GTK+ now that it has expected result.
        * platform/mac/editing/selection/5136696-expected.checksum: Removed.
        * platform/mac/editing/selection/5136696-expected.png: Removed.
        * platform/mac/editing/selection/5136696-expected.txt: Removed.
        * platform/qt/editing/selection/5136696-expected.txt: Removed.
        * platform/win/editing/selection/5136696-expected.txt: Removed.

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

        Reviewed by Darin Adler.

        support lang attribute on <option> elements
        https://bugs.webkit.org/show_bug.cgi?id=36021

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

2010-03-11  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Simon Hausmann.

        [Qt] Access key modifier should be Ctrl+Alt for Darwin derived OS and Alt for the others
        https://bugs.webkit.org/show_bug.cgi?id=35993

        * platform/qt/Skipped:

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

        Unreviewed.

        VoiceOver can navigate to hidden content in widget (WAI-ARIA)
        https://bugs.webkit.org/show_bug.cgi?id=35986

        Wrong files were placed in skipped lists.

        * platform/gtk/Skipped:

2010-03-10  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        Implements Geolocation maximumAge property
        https://bugs.webkit.org/show_bug.cgi?id=30676

        * fast/dom/Geolocation/resources/maximum-age.js: Added. Checks that a cached position is used only when it should be.
        * fast/dom/Geolocation/maximum-age.html: Added. HTML wraper for above test.
        * fast/dom/Geolocation/maximum-age-expected.txt: Added. Expected result for above test.

2010-03-11  Philippe Normand  <pnormand@igalia.com>

        Unreviewed.

        Unskip the fixed test that was (accidently?) re-skipped in r54205.

        * platform/gtk/Skipped:

2010-03-11  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] storage/open-database-creation-callback-isolated-world.html was introduced in r55823,
        but layoutTestController.evaluateScriptInIsolatedWorld() is unimplemented now.

        * platform/qt/Skipped: storage/open-database-creation-callback-isolated-world.html skipped.

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

        Unreviewed.

        VoiceOver can navigate to hidden content in widget (WAI-ARIA)
        https://bugs.webkit.org/show_bug.cgi?id=35986

        Wrong files were placed in skipped lists.

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

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

        Unreviewed.

        VoiceOver can navigate to hidden content in widget (WAI-ARIA)
        https://bugs.webkit.org/show_bug.cgi?id=35986

        Skip this test since it uses tables and lists, which are not
        supported on Tiger/Leopard.

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

2010-03-10  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Darin Adler.

        While calculating alpha channel, convert the floating point value to
        an integer in [0, 256) with equal distribution.
        Updated test results based on this new behavior.
        https://bugs.webkit.org/show_bug.cgi?id=22150

        * fast/canvas/canvas-alphaImageData-behavior-expected.txt:
        * fast/canvas/canvas-alphaImageData-behavior.js:
        * platform/qt/Skipped:

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

        Unreviewed.

        http/tests/security/xss-DENIED-window-open-javascript-url.html timed out on Windows Debug Bot
        https://bugs.webkit.org/show_bug.cgi?id=33349

        Remove another test that has the same problem.  We need to find a way
        to relaibly test what happens when you mix JavaScript URLs and
        window.open.

        * http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char-expected.txt: Removed.
        * http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html: Removed.

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

        Reviewed by Adam Barth.

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

        Also, fixing fast/frames/sandboxed-iframe-storage.html: calling
        openDatabase() without at least 4 parameters should always fail,
        because the database name, version, description and estimated size
        are not optional according to the spec.

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

        * fast/frames/resources/sandboxed-iframe-storage-allowed.html:
        * fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
        * fast/frames/sandboxed-iframe-storage-expected.txt:
        * platform/qt/Skipped:
        * storage/open-database-creation-callback-expected.txt: Added.
        * storage/open-database-creation-callback.html: Added.
        * storage/open-database-creation-callback-isolated-world-expected.txt: Added.
        * storage/open-database-creation-callback-isolated-world.html: Added.
 
2010-03-10  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Adam Barth.

        Make Chrome consistently handle leading format characters in URLs

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

        * http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char-expected.txt: Added.
        * http/tests/security/xss-DENIED-window-open-javascript-url-leading-format-char.html: Added.

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

        Skipping test on GTK and WIN. No Review.

        VoiceOver can navigate to hidden content in widget (WAI-ARIA)
        https://bugs.webkit.org/show_bug.cgi?id=35986

        Thought this test might pass on the other platforms, but no.

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

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

        Reviewed by Beth Dakin.

        VoiceOver can navigate to hidden content in widget (WAI-ARIA)
        https://bugs.webkit.org/show_bug.cgi?id=35986

        * accessibility/aria-hidden-with-elements-expected.txt: Added.
        * accessibility/aria-hidden-with-elements.html: Added.

2010-03-10  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Darin Adler.

        Make Document::postTask to use a single queue of tasks, to fire them in order
        https://bugs.webkit.org/show_bug.cgi?id=35943

        Updated the test since the order of events coming from independent task sources has changed.
        This is a behavior change, but is consistent with the spec (which specifically says these events may be fired
        in any order) and the last version of FF (3.5.8) which was completing the test successfully.

        * http/tests/appcache/top-frame-2-expected.txt:
        * http/tests/appcache/top-frame-2.html:

2010-03-10  Antonio Gomes  <tonikitoo@webkit.org>

        The test was introduced in r55796, it has been failing in Gtk bots since then.

        Filed bug https://bugs.webkit.org/show_bug.cgi?id=35984.

        * platform/gtk/Skipped: fast/events/spatial-navigation/snav-iframe-with-offscreen-focusable-element.html skipped until fix.

2010-03-10  Robert Hogan  <robert@webkit.org>

        Reviewed by Simon Hausmann.

        [Qt] Add Support for WebKitEnableCaretBrowsing to Qt DRT

        Unskip test fast/events/multiline-link-arrow-navigation.html

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

        * platform/qt/Skipped:

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

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=35977
        
        Turns out the previous attempt to clear/reset cookies wasn't working because of the way
        the URLs for the .js and its .cgi were being resolved.

        So this is a better way to make the cookies consistent both before and after these tests.
        
        If this fails to make cookie-related tests reliable, then we might have to bite the bullet
        and give DRT itself the ability to forcibly remove cookies via API methods.
        
        This would be bulletproof and could be automatic if a test declares itself "cookie sensitive"
        but we'd lose the ability to reliably run these tests in the browser.  :(

        * http/tests/cookies/resources/resetCookies.js: Added.
        * http/tests/cookies/resources/third-party-cookie-relaxing-iframe.html:
        * http/tests/cookies/third-party-cookie-relaxing.html:
        * http/tests/plugins/resources/third-party-cookie-accept-policy-iframe.html:
        * http/tests/plugins/third-party-cookie-accept-policy.html:

2010-03-10  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Dave Hyatt.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Extend keyboard navigation to allow directional navigation (LayoutTests - part V)
        https://bugs.webkit.org/show_bug.cgi?id=18662

        This patch adds three LayoutTests that ensure the correctness of Spatial Navigation algorithm
        in the following iframe related traversals:

        1) All focusable elements in a <iframe> should be accessible.
        2) Focusable elements in an <iframe> should be accessible even when
           current focused element is in another <iframe> in the same page.

        * fast/events/spatial-navigation/snav-iframe-no-focusable-content.html: Added.
        * fast/events/spatial-navigation/snav-iframe-no-scrollable-content.html: Added.
        * fast/events/spatial-navigation/snav-iframe-with-offscreen-focusable-element.html: Added.

2010-03-10  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Dave Hyatt.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Extend keyboard navigation to allow directional navigation (LayoutTests - part IV)
        https://bugs.webkit.org/show_bug.cgi?id=18662

        This patch adds a LayoutTest that ensures that:

        1) There is no unit overflow in the Spatial Navigation algorithm while
           calculating the best node candidate to move focus to. To test that this
           page positions some elements 10000000 pixels far from each other (distance
           that can considered large enough for most of the Web Pages on the
           Internet).

        2) A best focusable candidate only gets focused if it is visible in the
           current Viewport. Scroll-in-direction is performed otherwise.

        * fast/events/spatial-navigation/snav-unit-overflow-and-scroll-in-direction.html: Added.

2010-03-10  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Dave Hyatt.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Extend keyboard navigation to allow directional navigation (LayoutTests - part III)
        https://bugs.webkit.org/show_bug.cgi?id=18662

        This patch adds two LayoutTests to ensure the correctness of the "Fully aligned"
        precedence logic implemented by Spatial Navigation algorithm, either vertically or
        horizontally: targets whose middle falls between the top and bottom of the current
        focused element are preferably to move focus to, even if it is not the shortest distance.

        * fast/events/spatial-navigation/snav-fully-aligned-vertically.html: Added.
        * fast/events/spatial-navigation/snav-fully-aligned-horizontally.html: Added.

2010-03-05  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Sam Weinig.

        Add one more parent check during node removal.
        https://bugs.webkit.org/show_bug.cgi?id=35818

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

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

        [Qt] fast/multicol/hit-test-above-or-below.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35973

        The test was introduced in r55546, it has been failing since then.

        * platform/qt/Skipped: fast/multicol/hit-test-above-or-below.html skipped until fix.

2010-03-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Darin Adler.

        [CAIRO] DoS on iexploder test with high text stroke width.
        https://bugs.webkit.org/show_bug.cgi?id=33759

        Add a test case with the -webkit-text-stroke-width attribute
        set to a high value to illustrate the issue.

        * fast/text/text-stroke-width-cairo-dos-expected.txt: Added.
        * fast/text/text-stroke-width-cairo-dos.html: Added.

2010-03-10  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by David Levin.

        Bug 28293 -  [Chromium] event.datatransfer.getdata("text/uri-list") is treated the same as getdata("URL")
        https://bugs.webkit.org/show_bug.cgi?id=28293
        
        Change ChromiumDataObject such that it treats types "URL" and "text/uri-list"
        correctly for event.dataTransfer.getData/setData. Currently both are treated
        as synonyms, but for "URL", getData is supposed to only return the first valid URL
        contained within the data for "text/uri-list" (see HTML5 spec).
        
        Layout test checks various combinations in a drag-n-drop operation.
        Skipping on all other platforms since they don't implement this correctly, either.

        * editing/pasteboard/dataTransfer-setData-getData.html: Added.
        * editing/pasteboard/script-tests/dataTransfer-setData-getData.js: Added.
        (dragTarget):
        (moveMouseToCenterOfElement):
        (dragOntoDragTarget):
        (doDrop):
        (test):
        (runTest):
        * platform/mac/Skipped:
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

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

        Reviewed by Adam Barth.

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

        Fix an editing bug where replacing a selection would result in the
        new text ending up inside nodes that were not visibly included in the
        selection.  Instead, move our destination position out of nodes that
        were not visibly included.

        Two new tests to verify the new behavior.  Because we're now inserting
        outside of some formatting nodes, some span tags are no longer necessary
        for undoing formatting caused by these formatting nodes.

        * editing/deleting/backspace-avoid-preceding-style-expected.txt: Added.
        * editing/deleting/backspace-avoid-preceding-style.html: Added.
        * editing/inserting/replace-at-visible-boundary-expected.txt: Added.
        * editing/inserting/replace-at-visible-boundary.html: Added.
        * platform/mac/editing/deleting/delete-3857753-fix-expected.txt:
        * platform/mac/editing/inserting/insert-div-026-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-at-tabspan-001-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-at-tabspan-002-expected.txt:
        * platform/mac/editing/style/font-family-with-space-expected.txt:
        * platform/mac/editing/style/smoosh-styles-001-expected.txt:
        * platform/mac/editing/style/style-boundary-005-expected.txt:

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

        [Qt] http/tests/plugins/third-party-cookie-accept-policy.html was introduced in r55738,
        but layoutTestController.setAlwaysAcceptCookies() is missing.

        * platform/qt/Skipped: http/tests/plugins/third-party-cookie-accept-policy.html skipped.


2010-03-03  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Adam Barth.

        undo after smartdelete should select the deleted space
        https://bugs.webkit.org/show_bug.cgi?id=35713

        * editing/undo/undo-smart-delete-reversed-selection-expected.txt: Added.
        * editing/undo/undo-smart-delete-reversed-selection.html: Added.
        * editing/undo/undo-smart-delete-word-expected.txt: Added.
        * editing/undo/undo-smart-delete-word.html: Added.

2010-03-09  Anton Muhin  <antonm@chromium.org>

        Reviewed by Darin Fisher.

        Accept and bailout NULL widgets in ChromiumBridge
        https://bugs.webkit.org/show_bug.cgi?id=35796

        * fast/frames/iframe-access-screen-of-deleted-expected.txt: Added.
        * fast/frames/iframe-access-screen-of-deleted.html: Added.

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

        [GTK] Fails http/tests/plugins/third-party-cookie-accept-policy.html
        https://bugs.webkit.org/show_bug.cgi?id=35942

        Unreviewed. Skip test that fails, while we look for the
        problem. This is likely a bug in soup.

        * platform/gtk/Skipped:

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

        Reviewed by Alexey Proskuryakov.

        Fix my layouttest failures by resetting cookies before and after these new tests.    
        https://bugs.webkit.org/show_bug.cgi?id=26391

        * http/tests/cookies/third-party-cookie-relaxing.html:
        * http/tests/plugins/resources/third-party-cookie-accept-policy-iframe.html:
        * http/tests/plugins/third-party-cookie-accept-policy.html:

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

        Reviewed by Darin Adler.

        Plug-ins don't always respect the cookie accept policy.
        <rdar://problem/7338359> and https://bugs.webkit.org/show_bug.cgi?id=26391

        * http/tests/cookies/resources/cookie-utility.php:
        * http/tests/plugins/resources/third-party-cookie-accept-policy-iframe.html: Added.
        * http/tests/plugins/third-party-cookie-accept-policy.html: Added.

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

        Reviewed by Adele Peterson.

        Create a test for https://bugs.webkit.org/show_bug.cgi?id=34700.  This
        test required implementing scroll wheel event dispatch in DRT and
        currently only works on OS X 10.5+.  Skip this test on other platforms
        for the time being.

        * fast/events/remove-child-onscroll-expected.txt: Added.
        * fast/events/remove-child-onscroll.html: Added.
        * platform/gtk/Skipped: Skip remove-child-onscroll.html
        * platform/mac-tiger/Skipped: Skip remove-child-onscroll.html
        * platform/qt/Skipped: Skip remove-child-onscroll.html
        * platform/win/Skipped: Skip remove-child-onscroll.html

2010-03-09  Garret Kelly  <gdk@chromium.org>

        Reviewed by Darin Adler.

        Fix send-oncancel-event. It uses js-test-post, not
        js-test-post-function.
        https://bugs.webkit.org/show_bug.cgi?id=35880

        * fast/events/touch/script-tests/send-oncancel-event.js:
        (touchcancelHandler):

2010-03-09  Simon Fraser  <simon.fraser@apple.com>

        Skip media/video-source-error.html on SnowLeopard, beacuse it fails sporadically.
        This is covered by https://bugs.webkit.org/show_bug.cgi?id=32270.

        * platform/mac-snowleopard/Skipped:

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

        Reviewed by Darin Adler.

        AX: hit testing a list box doesn't work anymore
        https://bugs.webkit.org/show_bug.cgi?id=35893

        * platform/mac/accessibility/listbox-hit-test-expected.txt: Added.
        * platform/mac/accessibility/listbox-hit-test.html: Added.

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

        [Qt] editing/execCommand/move-selection-back-line.html fails in DRT.
        https://bugs.webkit.org/show_bug.cgi?id=35921

        * platform/qt/Skipped: editing/execCommand/move-selection-back-line.html skipped until fix.

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

        Unreviewed trivial fix.

        [Qt] perl websocket test(s) time out
        https://bugs.webkit.org/show_bug.cgi?id=34879
        It was fixed by r55719, so we can unskip websocket/tests/cookies/httponly-cookie.pl.

        storage/open-database-creation-callback-isolated-world.html removed
        from Skipped list, because it was removed from tree by r55635.

        * platform/qt/Skipped:
         - websocket/tests/cookies/httponly-cookie.pl unskipped.
         - storage/open-database-creation-callback-isolated-world.html unskipped.

2010-03-03  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        pywebsocket should support html and cgi in the same directory.
        https://bugs.webkit.org/show_bug.cgi?id=34879

        * websocket/tests/cookies: Removed.
        * websocket/tests/cookies/echo-cookie_wsh.py: Removed.
        * websocket/tests/cookies/httponly-cookie-expected.txt: Removed.
        * websocket/tests/cookies/httponly-cookie.pl: Removed.
        * websocket/tests/echo-cookie_wsh.py: Copied from LayoutTests/websocket/tests/cookies/echo-cookie_wsh.py.
        * websocket/tests/httponly-cookie-expected.txt: Copied from LayoutTests/websocket/tests/cookies/httponly-cookie-expected.txt.
        * websocket/tests/httponly-cookie.pl: Copied from LayoutTests/websocket/tests/cookies/httponly-cookie.pl.

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

        Reviewed by Adam Barth.

        Implement HTML5 <hgroup> element.
        https://bugs.webkit.org/show_bug.cgi?id=33369

        The new test file tests:
        - <p> closing,
        - Residual style, and
        - FormatBlock.

        * fast/html/hgroup-element-expected.txt: Added.
        * fast/html/hgroup-element.html: Added.
        * fast/html/script-tests/hgroup-element.js: Added.

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

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=32131
        Work around a crash when inserting an ordered list.  This was caused
        by incorrect logic when trying to restore a range from a location.
        We compute the offset using TextIterator, but were sometimes using
        VisiblePosition::next() to iterate instead.

        * editing/execCommand/insert-ordered-list-expected.txt: Added.
        * editing/execCommand/insert-ordered-list.html: Added.

2010-03-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Reset multiple form submission protection on mouse events.
        https://bugs.webkit.org/show_bug.cgi?id=35128

        * fast/forms/multiple-form-submission-protection-mouse-expected.txt: Copied from LayoutTests/editing/execCommand/copy-without-selection-expected.txt.
        * fast/forms/multiple-form-submission-protection-mouse.html: Added.

2010-03-08  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Xan Lopez.

        https://bugs.webkit.org/show_bug.cgi?id=30895
        [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk

        * platform/gtk/accessibility/table-hierarchy.html:
        * platform/gtk/accessibility/table-hierarchy-expected.txt:

2010-03-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Nate Chapin.

        [V8] Block popups from inline script
        https://bugs.webkit.org/show_bug.cgi?id=35474

        Test that we block popups generated from <script>window.open(...)</script>.

        * http/tests/security/popup-blocked-from-window-open-expected.txt: Added.
        * http/tests/security/popup-blocked-from-window-open.html: Added.

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

        Reviewed by Anders Carlsson.

        Relax the 3rd party cookie policy in cases where it won't add a new tracking vector.
        <rdar://problem/7163012> and https://bugs.webkit.org/show_bug.cgi?id=35824

        * http/tests/cookies/resources/cookie-utility.php: Added.
        * http/tests/cookies/resources/third-party-cookie-relaxing-iframe.html: Added.
        * http/tests/cookies/third-party-cookie-relaxing-expected.txt: Added.
        * http/tests/cookies/third-party-cookie-relaxing.html: Added.

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

2010-03-08  Jian Li  <jianli@chromium.org>

        Reviewed by Dmitry Titov.

        Blob.slice support.
        https://bugs.webkit.org/show_bug.cgi?id=32993

        Add a new layout test to test slicing and sending a file. In addition,
        two new scripts are introduced to create and touch the temp file.

        Move some code from send-dragged-file.js to a new file
        setup-file-input-element-for-drag.js so that it can be used by both
        send-dragged-file.js and send-sliced-dragged-file.js to setup the input
        element for the file dragging.

        Since the Blob.slice is only enabled for Mac, we disable the new test
        for all other platforms.

        * fast/dom/Window/window-properties.html:
        * http/tests/local/resources/file-for-drag-to-send.txt:
        * http/tests/local/resources/send-dragged-file.js:
        * http/tests/local/resources/send-sliced-dragged-file.js: Added.
        * http/tests/local/resources/setup-file-input-element-for-drag.js: Added.
        * http/tests/local/send-dragged-file.html:
        * http/tests/local/send-sliced-dragged-file-expected.txt: Added.
        * http/tests/local/send-sliced-dragged-file.html: Added.
        * http/tests/resources/touch-temp-file.php: Added.
        * http/tests/resources/write-temp-file.php: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-03-08  Daniel Bates  <dbates@rim.com>

        Reviewed by Simon Fraser.

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

        Tests that we do not repaint the caret rectangle when the associated selection is
        not in a content editable element.

        * fast/repaint/no-caret-repaint-in-non-content-editable-element.html: Added.
        * platform/mac/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.checksum: Added.
        * platform/mac/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.png: Added.
        * platform/mac/fast/repaint/no-caret-repaint-in-non-content-editable-element-expected.txt: Added.

2010-03-08  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Holger Freyther.

        [Qt] Added expected results and remove the test from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=35810

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/canvas-incremental-repaint-2-expected.checksum: Added.
        * platform/qt/fast/canvas/canvas-incremental-repaint-2-expected.png: Added.
        * platform/qt/fast/canvas/canvas-incremental-repaint-2-expected.txt: Added.

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

        No review, rolling out r55662.
        http://trac.webkit.org/changeset/55662
        https://bugs.webkit.org/show_bug.cgi?id=35863

        Need to be coordinated with bots setup

        * http/conf/apache2-debian-httpd.conf:

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

        Reviewed by Holger Freyther.

        [GTK] Tests fail when running with ipv6 addresses available, on Debian systems
        https://bugs.webkit.org/show_bug.cgi?id=35863

        Also listen for SSL requests on the ipv6 address.

        * http/conf/apache2-debian-httpd.conf:

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

        [GTK] DRT needs to support synthesizing double clicks
        https://bugs.webkit.org/show_bug.cgi?id=35862

        Skip test that needs a new feature in DRT.

        * platform/gtk/Skipped:

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

        Unreviewed. Rebaseline two tests that had their expected results
        changed.

        * platform/gtk/inspector/timeline-network-resource-expected.txt:
        * platform/gtk/svg/css/getComputedStyle-basic-expected.txt:

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

        Reviewed by Eric Seidel.

        Fix a bug that validity.valueMissing for a radio button with required
        in a form element always returns true.
        https://bugs.webkit.org/show_bug.cgi?id=35472

        Add tests for radio buttons in a form element, and merge an existing
        radio button test to ValidityState-valueMissing-radio.html.

        * fast/forms/ValidityState-valueMissing-007-expected.txt: Removed.
        * fast/forms/ValidityState-valueMissing-007.html: Removed.
        * fast/forms/ValidityState-valueMissing-radio-expected.txt: Added.
        * fast/forms/ValidityState-valueMissing-radio.html: Added.
        * fast/forms/script-tests/ValidityState-valueMissing-radio.js: Added.

2010-03-07  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Remove inconsistent "Too few arguments" handling for window.atob() and window.btoa()
        https://bugs.webkit.org/show_bug.cgi?id=35848

        * fast/dom/Window/atob-btoa-expected.txt:
        * fast/dom/Window/atob-btoa.html:

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

        Reviewed by Simon Fraser.

        <rdar://problem/7722008> Column breaking ignores floats
        https://bugs.webkit.org/show_bug.cgi?id=35837

        * fast/multicol/float-truncation-expected.txt: Added.
        * fast/multicol/float-truncation.html: Added.

2010-03-07  Dmitry Titov  <dimich@chromium.org>

        Not reviewed. Revert of r55593 which caused a regression of worker-cloneports.html.

        REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=35819

        * fast/frames/resources/sandboxed-iframe-storage-allowed.html:
        * fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
        * fast/frames/sandboxed-iframe-storage-expected.txt:
        * storage/open-database-creation-callback-expected.txt: Removed.
        * storage/open-database-creation-callback-isolated-world-expected.txt: Removed.
        * storage/open-database-creation-callback-isolated-world.html: Removed.
        * storage/open-database-creation-callback.html: Removed.
        * platform/qt/Skipped:
        * platform/mac-leopard/Skipped: Enable the temporarily disabled test back.

2010-03-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=30895
        [Gtk] The accessible hierarchy of tables is significantly incorrect for Atk

        * platform/gtk/accessibility/table-hierarchy.html: Added.
        * platform/gtk/accessibility/table-hierarchy-expected.txt: Added.

2010-03-06  Hironori Bono  <hbono@chromium.org>

        Reviewed by Eric Seidel.

        [Chromium] Typing into Flash with wmode = opaque|transparent and
        non-latin language active outputs as if US keyboard layout active

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

        Added a layout test that verifies a plugin can receive keyboard events.
        Unfortunately, this test works only on Mac.

        * platform/gtk/Skipped: Skipped the new test because of the lack of eventSender.
        * platform/qt/Skipped: ditto.
        * platform/win/Skipped: Skipped the new test because NPP_HandleEvent() is not implemented.
        * plugins/keyboard-events-expected.txt: Added.
        * plugins/keyboard-events.html: Added.

2010-03-06  MORITA Hajime  <morrita@google.com>
        
        Reviewed by Darin Adler.

        Moved implementations of window.btoa() and window.atob() from
        JSDOMWindow to DOMWindow, and make V8DOMWindow use DOMWindow
        functions instead of having a separate implementation. As a side effect, the
        error message has changed from "Cannot decode base64" to one that
        indicates DOM Exception, which is compatible to Firefox.
        
        Refactoring: window.btoa() and window.atob() should be implemented on DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=35723

        * fast/dom/Window/atob-btoa-expected.txt:
          Rebaselined expectation due to change of error message.
        
2010-03-06  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Added expected results and removed the test from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=35806

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/canvasDrawingIntoSelf-expected.checksum: Added.
        * platform/qt/fast/canvas/canvasDrawingIntoSelf-expected.png: Added.
        * platform/qt/fast/canvas/canvasDrawingIntoSelf-expected.txt: Added.

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

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=33247
        Backwards cursor movement incorrect when previous block ends with <br>.

        If the cursor is trying to move into a node that has a height of 0,
        skip over it.

        * editing/execCommand/move-selection-back-line-expected.txt: Added.
        * editing/execCommand/move-selection-back-line.html: Added.

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

        Reviewed by Eric Seidel.

        WAI-ARIA live region doesn't appear when <div> only has a <div> child
        https://bugs.webkit.org/show_bug.cgi?id=35751

        * platform/mac/accessibility/div-containing-div-with-aria-expected.txt: Added.
        * platform/mac/accessibility/div-containing-div-with-aria.html: Added.

2010-03-05  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        [v8] Remove wrong assert in GC callback
        https://bugs.webkit.org/show_bug.cgi?id=35757

        * fast/workers/resources/wrapper-map-gc.js: Added.
        * fast/workers/wrapper-map-gc.html: Added.
        * fast/workers/wrapper-map-gc-expected.txt: Added.

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

        Reviewed by Kenneth Rohde Christiansen.

        Added tests for row and operator stretching.
        Updated over, underover, and subsup due to row/operators in use.

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

2010-03-05  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=35772
        Animation fill modes should be supported in the shorthand property

        Testcase for animation shorthand property (appears to be
        the first of its kind).

        * animations/animation-shorthand-expected.txt: Added.
        * animations/animation-shorthand.html: Added.

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

        No review.  Skipping recently regressed test to unblock the commit-queue (20 patches waiting).

        REGRESSION(55593?): fast/workers/worker-cloneport.html is timing out on Leopard
        https://bugs.webkit.org/show_bug.cgi?id=35819

        * platform/mac-leopard/Skipped:

2010-03-05  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser

        https://bugs.webkit.org/show_bug.cgi?id=35815
        Animation fill mode tests break on Windows

        * animations/fill-mode-transform-expected.txt:
        * animations/fill-mode-transform.html:
            - use the real expected values, rather than
              try to get the test to pass on Snow Leopard.
        * platform/mac-leopard/Skipped:
            - remove the skip entry for the test above
        * platform/mac-snowleopard/Skipped:
            - skip this test on Snow Leopard while
              hardware acceleration gives the wrong
              value for computed style.
              See bug 35714.

2010-03-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
        https://bugs.webkit.org/show_bug.cgi?id=34065
        <rdar://problem/7573509>
        
        Testcase with an object element and a RenderLayer sibling.

        * compositing/geometry/object-clip-rects-assertion-expected.txt: Added.
        * compositing/geometry/object-clip-rects-assertion.html: Added.

2010-03-05  Dean Jackson  <dino@apple.com>

        No review.

        Disabling animations/fill-mode-transform.html on Leopard
        due to https://bugs.webkit.org/show_bug.cgi?id=35714

        * platform/mac-leopard/Skipped:

2010-03-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        MobileMe movie page is missing playback controls
        https://bugs.webkit.org/show_bug.cgi?id=35805
        <rdar://problem/7653169>
        
        Testcase with a layer that becomes composited as a result of clipping a
        video element, with a later sibling that should get composited.

        * compositing/overflow/overflow-compositing-descendant.html: Added.
        * platform/mac/compositing/overflow/overflow-compositing-descendant-expected.checksum: Added.
        * platform/mac/compositing/overflow/overflow-compositing-descendant-expected.png: Added.
        * platform/mac/compositing/overflow/overflow-compositing-descendant-expected.txt: Added.

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

        Reviewed by Adam Barth.

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

        Also, fixing fast/frames/sandboxed-iframe-storage.html: calling
        openDatabase() without at least 4 parameters should always fail,
        because the database name, version, description and estimated size
        are not optional according to the spec.

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

        * fast/frames/resources/sandboxed-iframe-storage-allowed.html:
        * fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
        * fast/frames/sandboxed-iframe-storage-expected.txt:
        * platform/qt/Skipped:
        * storage/open-database-creation-callback-expected.txt: Added.
        * storage/open-database-creation-callback.html: Added.
        * storage/open-database-creation-callback-isolated-world-expected.txt: Added.
        * storage/open-database-creation-callback-isolated-world.html: Added.

2010-03-05  Brian Weinstein  <bweinstein@apple.com>

        Update getComputedStyle results on Windows.

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

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

        Unreviewed, build fix.

        Use a movie that will hopefully fail to open less often on a headless 
        SnowLeopard buildbot.

        * media/video-preload-expected.txt:
        * media/video-preload.html: Use test.mp4 instead of silence.mpg.

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

        Unreviewed, build fix.

        media/video-preload.html fails on GTK, skip it.

        * platform/gtk/Skipped:

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

        Reviewed by Adele Peterson.

        <rdar://problem/7718442> Implement 'preload=none'
        https://bugs.webkit.org/show_bug.cgi?id=35789

        Functional test of the 'proload' attribute.

        * media/video-preload-expected.txt: Added.
        * media/video-preload.html: Added.
        * platform/win/Skipped: Skip on Windows for now.

2010-03-03  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Holger Freyther
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        [Gtk] Implement setSpatialNavigationEnabled in DRT.
        https://bugs.webkit.org/show_bug.cgi?id=35705

        * platform/gtk/Skipped:

2010-03-03  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Kenneth Christiansen.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Extend keyboard navigation to allow directional navigation (LayoutTests - part II)
        https://bugs.webkit.org/show_bug.cgi?id=18662

        This patch adds two LayoutTest to ensure the basic table traversal correctness of
        Spatial Navigation (SNav) algorithm: focusable elements in a <table> should be accessible.

        * fast/events/spatial-navigation/snav-table-traversal.html: Added.
          Makes sure all elements in a <table> are accessible via Spatial Navigation.
        * fast/events/spatial-navigation/snav-tiny-table-traversal.html: Added.
          Tests the similar table traversal scenario as above, but in this case the elements
          in the <table> are styled with 'font-size: small'. That way this test also validades
          that overlapping rects of elements too closed from each other are correctly handled.

2010-03-02  Antonio Gomes  <tonikitoo@webkit.org>

        Reviewed by Kenneth Christiansen.
        Patch by Antonio Gomes <tonikitoo@webkit.org>

        Extend keyboard navigation to allow directional navigation (LayoutTests - part I)
        https://bugs.webkit.org/show_bug.cgi?id=18662

        This patch adds support for auto testing the spatial navigation feature by:

        1) Creating the directory where the tests are going to live in, named
           fast/events/spatial-navigation/.
        2) Skipping this directory by Mac, Qt, Gtk and Win.
        3) Adding a JS file drives the test execution by processing, for each test,
           a given set of arrow key actions and verify if the right expected Element
           got the focus after each event processed. This file is
           fast/events/spatial-navigation/resources/spatial-navigation-utils.js

        * LayoutTests/fast/events/spatial-navigation/snav-vertical-superprecedence.html: Added.

2010-03-05  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser and Chris Marrin.

        Bug 26869: Add fill modes for CSS Animations
        https://bugs.webkit.org/show_bug.cgi?id=26869

        Add tests for -webkit-animation-fill-mode property,
        and update existing computed style tests with the
        new property.

        * animations/computed-style-expected.txt:
        * animations/computed-style.html:
        * animations/fill-mode-expected.txt: Added.
        * animations/fill-mode-removed-expected.txt: Added.
        * animations/fill-mode-removed.html: Added.
        * animations/fill-mode-transform-expected.txt: Added.
        * animations/fill-mode-transform.html: Added.
        * animations/fill-mode.html: Added.
        * animations/fill-unset-properties-expected.txt:
        * animations/fill-unset-properties.html:
        * fast/css/getComputedStyle/computed-style-expected.txt:
        * fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
        * platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
        * svg/css/getComputedStyle-basic-expected.txt:

2010-03-05  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket test to transfer null character
        https://bugs.webkit.org/show_bug.cgi?id=35715

        * websocket/tests/null-character-expected.txt: Added.
        * websocket/tests/null-character.html: Added.
        * websocket/tests/script-tests/null-character.js: Added.

2010-03-05  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket onmessageerror event handler
        https://bugs.webkit.org/show_bug.cgi?id=35570

        * websocket/tests/error-detect-expected.txt: Added.
        * websocket/tests/error-detect.html: Added.
        * websocket/tests/script-tests/error-detect.js: Added.
        * websocket/tests/unknown-frame-type_wsh.py: Added.

2010-03-04  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket crash bug when reloading the page while the WebSocket is busy
        https://bugs.webkit.org/show_bug.cgi?id=35732

        * websocket/tests/reload-crash-expected.txt: Added.
        * websocket/tests/reload-crash.html: Added.
        * websocket/tests/resoures/reload-crash-iframe.html: Added.

2010-03-04  MORITA Hajime <morrita@google.com>

        Reviewed by Alexey Proskuryakov.

        Refactoring: XMLHTTPRequest.open() should have all overloaded implementations
        https://bugs.webkit.org/show_bug.cgi?id=35630

        * http/tests/xmlhttprequest/open-async-overload-expected.txt: Added.
        * http/tests/xmlhttprequest/open-async-overload.html: Added.

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

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=18819
        Pressing option+page{down,up} should move the cursor and scroll in
        content editable areas.  On other platforms, pressing page{down,up}
        should move the cursor and scroll in content editable areas.

        * editing/input/option-page-up-down-expected.txt: Added.
        * editing/input/option-page-up-down.html: Added.

2010-03-03  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        Allow static property getters to interact with JSCs caching
        https://bugs.webkit.org/show_bug.cgi?id=35716

        Add tests to ensure nothing horrifying happens to static property
        getters if they're in a path where we end up caching lookups.

        * fast/js/pic/cached-named-property-getter-expected.txt: Added.
        * fast/js/pic/cached-named-property-getter.html: Added.

2010-03-04  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        Tests for setting an select's options.length attribute.
        https://bugs.webkit.org/show_bug.cgi?id=33983

        * fast/forms/script-tests/select-set-length-optgroup.js: Added.
        * fast/forms/script-tests/select-set-length-with-mutation-remove.js: Added.
        (gc):
        (onRemove):
        * fast/forms/script-tests/select-set-length-with-mutation-reorder.js: Added.
        (onRemove):
        * fast/forms/script-tests/select-set-length-with-mutation-reparent.js: Added.
        (onRemove):
        * fast/forms/script-tests/select-set-length-with-mutation.js: Added.
        (sel):
        * fast/forms/script-tests/select-set-length.js: Added.
        * fast/forms/select-set-length-expected.txt: Added.
        * fast/forms/select-set-length-optgroup-expected.txt: Added.
        * fast/forms/select-set-length-optgroup.html: Added.
        * fast/forms/select-set-length-with-mutation-expected.txt: Added.
        * fast/forms/select-set-length-with-mutation-remove-expected.txt: Added.
        * fast/forms/select-set-length-with-mutation-remove.html: Added.
        * fast/forms/select-set-length-with-mutation-reorder-expected.txt: Added.
        * fast/forms/select-set-length-with-mutation-reorder.html: Added.
        * fast/forms/select-set-length-with-mutation-reparent-expected.txt: Added.
        * fast/forms/select-set-length-with-mutation-reparent.html: Added.
        * fast/forms/select-set-length-with-mutation.html: Added.
        * fast/forms/select-set-length.html: Added.

2010-03-04  Nate Chapin  <japhet@chromium.org>

        Reviewed by Kenneth Rohde Christiansen.

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

        * fast/loader/repeat-same-document-navigation-expected.txt: Added.
        * fast/loader/repeat-same-document-navigation.html: Added.

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

        Reviewed by Simon Fraser.

        Added test for hit-testing points above or below the column rect.

        * fast/multicol/hit-test-above-or-below-expected.txt: Added.
        * fast/multicol/hit-test-above-or-below.html: Added.

2010-03-04  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Simon Hausmann.

        Make Qt DumpRenderTree EventSender able to send double click events

        LayoutTests:
            fast/events/dblclick-addEventListener.html

        [Qt] DRT: Send double click event from EventSender
        https://bugs.webkit.org/show_bug.cgi?id=35255

        * platform/qt/Skipped:

2010-03-04  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Rebaseline the test and remove it from Skipped.
        https://bugs.webkit.org/show_bug.cgi?id=35687

        * platform/qt/Skipped:
        * platform/qt/fast/canvas/quadraticCurveTo-expected.checksum:
        * platform/qt/fast/canvas/quadraticCurveTo-expected.png:
        * platform/qt/fast/canvas/quadraticCurveTo-expected.txt:

2010-03-04  Antoine Quint  <ml@graougraou.com>

        Reviewed by Darin Adler.

        DOM insertion mutation events should dispatch after a node is attached to the render tree
        https://bugs.webkit.org/show_bug.cgi?id=35590

        * fast/events/domnodeinsertedintodocument-dispatched-post-rendering-expected.txt: Added.
        * fast/events/domnodeinsertedintodocument-dispatched-post-rendering.html: Added.

2010-03-04  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed.

        [Qt] storage/open-database-creation-callback-isolated-world.html was removed
        from tree by r55488, so it should be removed from Qt Skipped list too.

        * platform/qt/Skipped: storage/open-database-creation-callback-isolated-world.html removed.

2010-03-04  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] DRT is failing on new test introduced in r55499
        Skipping it until fix.
        https://bugs.webkit.org/show_bug.cgi?id=35729

        * platform/qt/Skipped: fast/events/zoom-dblclick.html skipped

2010-03-04  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Oliver Hunt.

        Update existing test to check that getUniformLocation() returns
        null if the uniform requested is not found.
        https://bugs.webkit.org/show_bug.cgi?id=34669
        
        * fast/canvas/webgl/script-tests/uniform-location.js:
        * fast/canvas/webgl/uniform-location-expected.txt:

2010-03-04  John Abd-El-Malek  <jam@chromium.org>

        Reviewed by Adam Barth.

        Fix incorrect setup of DateExtension.
        https://bugs.webkit.org/show_bug.cgi?id=35710

        * fast/dom/Window/resources/slow_unload_handler1.html:

2010-03-04  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=35603
        SVG incorrectly allows nested <use> elements in a <use> shadow tree

        Add test cases for various combinations of <use> and targets that aren't present.

        * platform/mac/svg/custom/use-empty-reference-expected.txt: Added.
        * svg/custom/use-nested-disallowed-target-expected.txt: Added.
        * svg/custom/use-nested-disallowed-target.svg: Added.
        * svg/custom/use-nested-missing-target-added-expected.txt: Added.
        * svg/custom/use-nested-missing-target-added.svg: Added.
        * svg/custom/use-nested-missing-target-expected.txt: Added.
        * svg/custom/use-nested-missing-target-removed-expected.txt: Added.
        * svg/custom/use-nested-missing-target-removed.svg: Added.
        * svg/custom/use-nested-missing-target.svg: Added.
        * svg/custom/use-nested-notarget-expected.txt: Added.
        * svg/custom/use-nested-notarget.svg: Added.

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

        Reviewed by David Levin.

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

        This test passes if it doesn't crash.

        * platform/mac/Skipped: Skip the test on Mac, where it crashes.
        * svg/custom/tiling-regular-hexagonal-crash-expected.txt: Added.
        * svg/custom/tiling-regular-hexagonal-crash.svg: Added.

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

        Reviewed by Kenneth Rohde Christiansen.

        Make keyIdentifierForQtKeyCode return the unicode backspace value on Qt PlatformKeyboardEvent

        LayoutTests:
            fast/events/key-events-in-input-text.html
            fast/events/special-key-events-in-input-text.html

        [Qt] Return the unicode backspace value in keyIdentifierForQtKeyCode on Qt PlatformKeyboardEvent
        https://bugs.webkit.org/show_bug.cgi?id=35694

        * platform/qt/Skipped:

2010-03-03  Chad Faragher  <wyck@chromium.org>

        Reviewed by Darin Adler.

        Changed the double-click framework code to pass adjusted page
        coordinates for zoomed pages.  Added a new test to expose
        mistreatment of mouse click coordinates during a double-click.

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

        * fast/events/zoom-dblclick-expected.txt: Added.
        * fast/events/zoom-dblclick.html: Added.

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

        Reviewed by Dimitri Glazkov.

        Making database-lock-after-reload.html a bit more robust and
        cleaning up some style issues.

        * storage/database-lock-after-reload.html:
        * storage/resources/database-lock-after-reload-2.html:

2010-03-03  David Levin  <levin@chromium.org>

        No review, rolling out r55474.

        The patch broke fast/frames/sandboxed-iframe-storage.html

        Unfortunately, (the webkit-patch rollout and) I missed these in r55485.

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

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

        Not reviewed.

        Try better to fix Java tests on Tiger bot.

        * platform/mac-tiger/Skipped:
        * platform/mac-tiger/java/lc3/JavaArray/ToString-001-expected.txt: Removed.
        This test gets different resultson each run when it fails, so it needs to be disabled on
        Tiger.

        * platform/mac-tiger/java/lc3/JavaObject/JavaObjectToString-001-expected.txt: Added a
        newline I didn't get when copying actual results from buildbot.

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

        [Qt] Skip new test introduced in r55474, because of
        missing layoutTestController.evaluateScriptInIsolatedWorld()

        * platform/qt/Skipped: storage/open-database-creation-callback-isolated-world.html skipped.

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

        Rubber-stamped by Dan Bernstein.

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

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

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

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

        Reviewed by Adam Barth.

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

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

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

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

        Not reviewed.

        Two newly added Java tests fail on Tiger build bot.

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

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

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

        Reviewed by Darin Adler.

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

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

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

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

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

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

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

        Unreviewed, build fix.

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

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

        Reviewed by Simon Fraser.

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

        * platform/win/Skipped:

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

        Reviewed by Adele Peterson.

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

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

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

        Reviewed by Sam Weinig.

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

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

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

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

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

        * platform/gtk/Skipped:

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

        Not reviewed, test fix.

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

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

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

        Reviewed by David Levin.

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

        This test passes if it doesn't crash.

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

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

        Reviewed by Gustavo Noronha Silva.

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

        * platform/gtk/Skipped:

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

        Reviewed by Maciej Stachowiak.

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

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

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

        Reviewed by Darin Adler.

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

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

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

        Reviewed by Oliver Hunt.

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

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

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

        Reviewed by Adam Roben.

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

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

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

        Reviewed by Sam Weinig.

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

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

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

        Reviewed by Beth Dakin.

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

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

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

        Reviewed by Shinichiro Hamaji.

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

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

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

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

        Reviewed by Sam Weinig.

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

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

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

        Fixing layout test problems. No review.

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

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

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

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

        Reviewed by Gustavo Noronha.

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

        Unskip test after taking code from PluginViewQt.cpp

        * platform/gtk/Skipped:

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

        Reviewed by Darin Adler.

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

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

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

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

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

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

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

        Reviewed by Eric Seidel.

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

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

        * platform/gtk/Skipped:

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

        Reviewed by Darin Adler.

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

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

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

        Reviewed by Gustavo Noronha Silva.

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

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

        * platform/gtk/Skipped:

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

        Reviewed by Kenneth Rohde Christiansen.

        Added test for basic msubsup support.

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

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

        Reviewed by Darin Fisher.

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

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

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

        Reviewed by Oliver Hunt.

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

        Add test case.

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

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

        Reviewed by Oliver Hunt.

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

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

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

        Reviewed by Sam Weinig.

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

        Reviewed by Simon Hausmann.

        [Qt] Support private browsing mode in plugins

        Add support for NPNVprivateModeBool property in plugins.

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

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

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

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

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

        Rubber-stamped by Gustavo Noronha.

        Unskip test that we seem to pass now.

        * platform/gtk/Skipped:

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

        Reviewed by Gustavo Noronha.

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

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

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

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

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

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

        Reviewed by Maciej Stachowiak.

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

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

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

        Reviewed by Gustavo Noronha.

        We now pass this test, unskip.

        * platform/gtk/Skipped:

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

        Reviewed by Anders Carlsson.

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

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

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

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

        Reviewed by Alexey Proskuryakov.

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

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

        Basic tests for munder, munderover, and mover elements.

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

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

        Reviewed by Xan Lopez.

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

        Unskip tests that now pass.

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

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

        Rebaseline of platform-specific results for test.

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

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

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

        Unreviewed LayoutTest fix.

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

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

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

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

        Unreviewed trivial fix.

        [Qt] Update platform specific expected file after r55289.

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

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

        Reviewed by Nikolas Zimmermann.

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

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

        Reviewed by Darin Fisher.

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

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

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

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

        Reviewed by David Levin.

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

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

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

        Reviewed by David Levin.

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

        Rubber-stamped by Xan Lopez.

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

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

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

        Reviewed by Pavel Feldman.

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

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

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

        Unreviewed. Skip failing tests.

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

        * platform/qt/Skipped:

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

        Reviewed by Eric Seidel.

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

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

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

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

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

        Rubber-stamped by Xan Lopez.

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

        * platform/gtk/Skipped: Skipping crasher.

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

        Rubber-stamped by Xan Lopez.

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

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

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

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

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

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

        Reviewed by Eric Seidel.

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

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

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

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

        Reviewed by Adele Peterson.

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

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

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

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

        Reviewed by Anders Carlsson.

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

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

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

        Reviewed by Nikolas Zimmermann.

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

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

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

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

        Reviewed by Nikolas Zimmermann.

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

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

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

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

        Reviewed by Dmitry Titov.

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

        Update the layout test to test File.type.

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

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

        Reviewed by Maciej Stachowiak.

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

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

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

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

        Tiger build fix.

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

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

        Reviewed by Geoffrey Garen.

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

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

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

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

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

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

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

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

        Reviewed by Gustavo Noronha.

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

        * platform/gtk/Skipped:

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

        Reviewed by Darin Adler.

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

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

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

        Rubber-stamped by Anders Carlsson.

        Keep this test’s behavior the same after r55203.

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

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

        Reviewed by Anders Carlsson.

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

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

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

        Reviewed by Geoffrey Garen.

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

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

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

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

        Reviewed by Gustavo Noronha.

        Unskip 3 passing cookies tests.

        * platform/gtk/Skipped:

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

        Reviewed by Simon Fraser.

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

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

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

        Rubber-stamped by Xan Lopez.

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

        Skip test that fails in GTK+.

        * platform/gtk/Skipped:

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

        Rubber-stamped by Xan Lopez.

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

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

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

        Rubber-stamped by Simon Hausmann.

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

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

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

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

        Reviewed by Maciej Stachowiak.

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

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

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

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

        Reviewed by Simon Fraser.

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

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

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

        Reviewed by Eric Seidel.

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

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

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

        Reviewed by Mark Rowe.

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

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

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

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

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

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

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

        Add expected result

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

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

        Reviewed by Maciej Stachowiak.

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

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

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

        Reviewed by Tim Hatcher and Pavel Feldman.

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

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

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

        Reviewed by Darin Adler.

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

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

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

        Rubber-stamped by Simon Fraser.

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

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

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

        Reviewed by Alexey Proskuryakov.

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

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

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

        Reviewed by Eric Seidel.

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

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

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

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

        Reviewed by Eric Seidel.

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

        * platform/gtk/Skipped:

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

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

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

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

        Reviewed by Dan Bernstein.

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

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

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

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

        Reviewed by Eric Seidel.

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

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

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

        Reviewed by Eric Seidel.

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

        Original patch by Eric Carlson.

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

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

        Reviewed by Darin Adler.

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

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

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

        Rubber-stamped by Alexey Proskuryakov.

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

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

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

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

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

        Reviewed by Eric Seidel.

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

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

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

        Reviewed by Alexey Proskuryakov.

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

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

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

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

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

        Fixing Layout test failure. Not reviewed.

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

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

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

        Reviewed by Dan Bernstein.

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

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

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

        Reviewed by Beth Dakin.

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

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

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

        Reviewed by Eric Seidel.

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

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

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

        Reviewed by Dimitri Glazkov.

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

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

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

        Reviewed by Dimitri Glazkov.

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

        * platform/mac-tiger/Skipped:

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

        Reviewed by Dan Bernstein.

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

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

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

        Rubber-stamped by Gustavo Noronha Silva.

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

        * platform/gtk/Skipped: Skip failing test

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

        Reviewed by Pavel Feldman.

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

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

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

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

        r5993 should be r54993.

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

        Rubber-stamped by Kenneth Rohde Christiansen.

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

        * platform/qt/Skipped:

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

        * platform/qt/Skipped:

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

        Reviewed by Kenneth Rohde Christiansen.

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

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

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

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

        Rubber-stamped by Xan Lopez.

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

        * platform/gtk/Skipped: Skip failing test.

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

        Rubber-stamped by Xan Lopez.

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

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

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

        Rubber-stamped by Xan Lopez.

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

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

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

        Rubber-stamped by Simon Hausmann.

        [Qt] Update platform specific expected files after r54991.

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

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

        Reviewed by Darin Adler.

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

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

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

        Reviewed by Dan Bernstein.

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

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

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

        Reviewed by John Sullivan.

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

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

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

        Reviewed by Nikolas Zimmermann.

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

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

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

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

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

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

        * platform/gtk/Skipped:

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

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

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

        * platform/gtk/Skipped:

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

        Reviewed by Simon Fraser.

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

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

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

        Reviewed by NOBODY Darin Adler.

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

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

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

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

        Reviewed by Adam Barth.

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

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

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

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

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

        Unreviewed, build fix.

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

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

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

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

        Unskipping that now passes, after r54912.

        * platform/gtk/Skipped:

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

        Reviewed by Sam Weinig.

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

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

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

        Reviewed by Eric Seidel.

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

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

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

        Reviewed by Eric Seidel.

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

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

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

        Rubber-stamped by Kenneth Rohde Christiansen.

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

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

        * platform/qt/Skipped:

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

        Rubber-stamped by Xan Lopez.

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

        Unskip test that is now
        fixed (fast/frames/iframe-reparenting.html)

        * platform/gtk/Skipped:

2010-02-18  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html fails (DRT sideeffect)
        https://bugs.webkit.org/show_bug.cgi?id=35086

        fast/xmlhttprequest/xmlhttprequest-no-file-access.html cause
        this fail indirectly, but both of them pass in separated DRT.

        * platform/qt/Skipped: fast/xmlhttprequest/xmlhttprequest-no-file-access.html
        skipped until fix to make buildbot happy.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Not reviewed, adding a GTK layout test result for a new test
        added in r54926.

        * platform/gtk/fast/css/first-letter-first-line-hover-expected.txt: Added.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        plugins/iframe-shims.html crashing on GTK Debug bots
        https://bugs.webkit.org/show_bug.cgi?id=35085

        * platform/gtk/Skipped: Skip crashing tests.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        fast/frames/iframe-reparenting.html crashing on GTK Debug bots
        https://bugs.webkit.org/show_bug.cgi?id=35081

        * platform/gtk/Skipped: Skip crashing test.

2010-02-18  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Xan Lopez.

        fast/css/font-face-opentype.html crashing on GTK bots
        https://bugs.webkit.org/show_bug.cgi?id=35080

        * platform/gtk/Skipped: Skip crashing test.

2010-02-18  Chris Evans  <cevans@chromium.org>

        Reviewed by Adam Barth.

        Add the promised test for the unique file:// origins support.
        See https://bugs.webkit.org/show_bug.cgi?id=34778 for more details.

        * fast/xmlhttprequest/xmlhttprequest-no-file-access.html: Added.
        * fast/xmlhttprequest/resources/xmlhttprequest-no-file-access-real.html: Added.
        * fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt: Added.

2010-02-18  Tony Chang  <tony@chromium.org>

        Not reviewed, adding a QT layout test result for a new test
        added in r54932.

        * platform/qt/editing/pasteboard/page-zoom-expected.txt: Copied from LayoutTests/platform/gtk/editing/pasteboard/page-zoom-expected.txt.

2010-02-18  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] editing/pasteboard/page-zoom.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35077

        * platform/qt/Skipped: editing/pasteboard/page-zoom.html skipped until fix.

2010-02-17  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin, Darin Fisher, Simon Hausmann.

        When a live iframe element is moved between pages, it still depends on the old page.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * fast/frames/iframe-reparenting-new-page-expected.txt: Added.
        * fast/frames/iframe-reparenting-new-page.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-1.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-2.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Added.
        * fast/frames/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/canvas/script-tests/TEMPLATE.html.
        * fast/frames/script-tests/iframe-reparenting-new-page.js: Added.

2010-02-17  Csaba Osztrogonác  <ossy@webkit.org>

         [Qt] DRT: Get total number of pages to be printed
         https://bugs.webkit.org/show_bug.cgi?id=34955

         Fix landed in r54902, so we can unskip the test.

        * platform/qt/Skipped: printing/numberOfPages.html unskipped.

2010-02-17  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Fails glyph reordering test fast/text/glyph-reordering.html
        https://bugs.webkit.org/show_bug.cgi?id=34918

        Fix landed in r54912, so we can unskip the test.

        * platform/qt/Skipped: fast/text/glyph-reordering.html unskipped.

2010-02-17  Tony Chang  <tony@chromium.org>

        Not reviewed, adding a GTK+ layout test result for a new test
        added in r54932.

        https://bugs.webkit.org/show_bug.cgi?id=34914

        * platform/gtk/editing/pasteboard/page-zoom-expected.txt: Added.

2010-02-17  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26937
        No longer allow span styles to surround block elements like
        divs when pasting (see paste-text-012 and 5065605 which had divs in
        spans).  This also causes a few cases of empty spans to be removed
        (see 19089 and 5245519).

        * editing/execCommand/19089-expected.txt:
        * editing/pasteboard/5245519-expected.txt:
        * editing/pasteboard/5245519.html:
        * platform/mac/editing/pasteboard/5065605-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-011-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-012-expected.txt:

2010-02-17  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=34914
        When pasting absolute font sizes into a content editable area with
        page zoom, adjust the font sizes to be the same after page zoom is
        applied.

        * editing/pasteboard/page-zoom-expected.txt: Added.
        * editing/pasteboard/page-zoom.html: Added.

2010-02-17  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=34737
        Test to verify that pasting styled list items works
        the same as pasting unstyle list items.

        * editing/pasteboard/paste-list-003-expected.txt: Added.
        * editing/pasteboard/paste-list-003.html: Added.

2010-02-17  Hayato Ito  <hayato@chromium.org>

        Reviewed by Eric Seidel.

        Support CSS page-break-inside with a value of 'avoid'.

        https://bugs.webkit.org/show_bug.cgi?id=34080

        * printing/page-break-inside-expected.txt: Added.
        * printing/page-break-inside.html: Added.
        * printing/script-tests/page-break-inside.js: Added.
        (createParagraph):
        (pageNumber):

2010-02-17  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket bufferedAmount should not be 0 when send after close.
        https://bugs.webkit.org/show_bug.cgi?id=34633

        * websocket/tests/bufferedAmount-after-close-expected.txt: Added.
        * websocket/tests/bufferedAmount-after-close.html: Added.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Added.

2010-02-17  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        In diffing render styles, consider all pseudo style changes.
        Without this patch, only :before and :after are considered. This is the cause of the following bug.
        https://bugs.webkit.org/show_bug.cgi?id=32187

        * fast/css/first-letter-first-line-hover.html: Added.
        * platform/mac/fast/css/first-letter-first-line-hover-expected.checksum: Added.
        * platform/mac/fast/css/first-letter-first-line-hover-expected.png: Added.
        * platform/mac/fast/css/first-letter-first-line-hover-expected.txt: Added.

2010-02-17  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        [Win] Implement layoutTestController.pageNumberForElementById
        https://bugs.webkit.org/show_bug.cgi?id=34570

        * platform/win/Skipped:

2010-02-17  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Dan Bernstein.

        Unskip glyph-reordering, because now it passes on Windows.

        * platform/win/Skipped:

2010-02-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Eric Seidel.

        [GTK][Qt] Fails glyph reordering test fast/text/glyph-reordering.html
        https://bugs.webkit.org/show_bug.cgi?id=34918

        Made the test less dependent on the complex text implementation.

        * fast/text/glyph-reordering-expected.txt:
        * fast/text/glyph-reordering.html:

2010-02-17  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Dimitri Glazkov.

        Add a test that verifies that null transaction callbacks are
        accepted and treated as no callbacks.

        https://bugs.webkit.org/show_bug.cgi?id=35047

        * storage/null-callbacks-expected.txt: Added.
        * storage/null-callbacks.html: Added.

2010-02-17  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Move SVGResources to Renderers, starting with Masker
        https://bugs.webkit.org/show_bug.cgi?id=35020

        With the move from SVGResourceMasker to RenderSVGResourceMasker, I changed
        the way DRT dumps resources. DRT is now able to dump multi-access
        of resources.
        Also the size of a Mask resource (depending of the object) and the access of
        the resource (togeter with the resource name) is pointed out as an insertion
        under the object.

        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/custom/empty-mask-expected.txt:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
        * platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-creation-expected.txt:
        * platform/mac/svg/custom/mask-changes-expected.txt:
        * platform/mac/svg/custom/mask-child-changes-expected.txt:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/mask-inside-defs-expected.txt:
        * platform/mac/svg/custom/mask-invalidation-expected.txt:
        * platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
        * platform/mac/svg/custom/mask-with-all-units-expected.txt:
        * platform/mac/svg/custom/mask-with-default-value-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/visibility-override-mask-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * svg/custom/transformedMaskFails-expected.txt:

2010-02-17  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Refactor texImage2D and texSubImage2D taking Image to use common code
        https://bugs.webkit.org/show_bug.cgi?id=34458

        Merged the Safari and Chromium code which extracts the data from
        Image objects into common entry points on GraphicsContext3D. This
        immediately fixes the following three problems:
          - Chromium not implementing texSubImage2D taking Image.
          - Safari not obeying the flipY parameter to texImage2D or
            texSubImage2D taking Image.
          - Safari not obeying the premultipyAlpha parameter to texImage2D
            or texSubImage2D taking Image.
        Added new test verifying the behavior of texImage2D and
        texSubImage2D and the flipY parameter. The premultiplyAlpha
        parameter can not be tested yet as the implementation is not yet
        spec compliant. This will be fixed in a follow-on bug.

        Ran all WebGL demos in demo repository on Safari and Chromium;
        textures are now the right way up in both browsers, and
        transparent textures in Particles demo now look correct in Safari.

        * fast/canvas/webgl/resources/red-green.png: Added.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt: Added.
        * fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html: Added.

2010-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to turn windows slaves again, by skipping two websocket tests that fail reliable.

        * platform/win/Skipped:

2010-02-17  Gustavo Noronha Silva  <gns@gnome.org>

        Typo in test name.

        * platform/qt/Skipped:

2010-02-17  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] Add platform specific expected files for new tests pass in fast/css.

        Rendertree results compared to Mac expected files with --ignore-metrics,
        pixel results compared to Mac png files.

        fast/css/font-face-opentype.html introduced in r54855.
        fast/css/inline-element-line-break.html introduced in r54544.
        fast/css/pseudo-element-line-break.html introduced in r54544.

        * platform/qt/fast/css/font-face-opentype-expected.txt: Added.
        * platform/qt/fast/css/inline-element-line-break-expected.txt: Added.
        * platform/qt/fast/css/pseudo-element-line-break-expected.txt: Added.

2010-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to turn SnowLeopard slave green again. Skipping media/video-load-networkState.html - already filed a bug last year.

        * platform/mac-snowleopard/Skipped:

2010-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Try to turn Tiger slave green again. Skipping media/video-display-aspect-ratio.html - already skipped on the other mac variants & win.

        * platform/mac-tiger/Skipped:

2010-02-17  Gustavo Noronha Silva  <gns@gnome.org>

        Skipping new test that does not pass on Qt.

        * platform/qt/Skipped:

2010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        Does not send an Accept header for subresources, causing some sites to break
        https://bugs.webkit.org/show_bug.cgi?id=33242

        * http/tests/misc/image-checks-for-accept-expected.txt: Added.
        * http/tests/misc/image-checks-for-accept.html: Added.
        * http/tests/misc/resources/image-checks-for-accept.php: Added.
        * platform/mac/Skipped:
        * platform/win/Skipped:

2010-02-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Skip a number of new tests.

        * platform/gtk/Skipped:

2010-01-07  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] Should handle BUFFERING messages
        https://bugs.webkit.org/show_bug.cgi?id=30004

        Draw the buffering status in the media controls. The timebar is
        now 2 pixels shorter so dragging it at same absolute position than
        before produces a seek at a new position in the media, this
        explains the rebaselining of the controls-drag-timebar test.

        * platform/gtk/media/controls-after-reload-expected.txt:
        * platform/gtk/media/controls-drag-timebar-expected.txt:
        * platform/gtk/media/controls-strict-expected.txt:
        * platform/gtk/media/controls-styling-expected.txt:
        * platform/gtk/media/video-controls-rendering-expected.txt:
        Re-baselined due to 1px left/right border added in controls timeline.

2010-02-17  Xan Lopez  <xlopez@igalia.com>

        Skip tests requiring new results.

        * platform/gtk/Skipped:

2010-02-16  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Nikolas Zimmermann.

        SVG not rendered as background-image from data URI
        https://bugs.webkit.org/show_bug.cgi?id=33630

        * platform/mac/svg/css/background-image-svg-expected.checksum: Added.
        * platform/mac/svg/css/background-image-svg-expected.png: Added.
        * platform/qt/svg/css/background-image-svg-expected.checksum: Added.
        * platform/qt/svg/css/background-image-svg-expected.png: Added.
        * svg/css/background-image-svg.html: Added.
        * svg/css/background-image-svg-expected.txt: Added.

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Correct typo in test name in Skipped list. Should turn SL slave green again.

        * platform/mac-snowleopard/Skipped:

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Attempt to fix win slave. Skip same tests failing on SL, add bug references to skipped list.

        * platform/mac-snowleopard/Skipped:
        * platform/win/Skipped:

2010-02-16  Bryan Yeung  <bryeung@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Add a new layout test for large stroke widths in SVG.
        This regression tests a bug in the Skia platform where the width was
        limited to 512.

        https://bugs.webkit.org/show_bug.cgi?id=34954

        * platform/mac/svg/custom/stroke-width-large-expected.checksum: Added.
        * platform/mac/svg/custom/stroke-width-large-expected.png: Added.
        * platform/mac/svg/custom/stroke-width-large-expected.txt: Added.
        * svg/custom/stroke-width-large.svg: Added.

2010-02-16  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Nikolas Zimmermann.

        REGRESSION: SVG text disappaears after double click
        https://bugs.webkit.org/show_bug.cgi?id=34880
        
        * platform/mac/svg/text/selection-doubleclick-expected.checksum: Added.
        * platform/mac/svg/text/selection-doubleclick-expected.png: Added.
        * platform/mac/svg/text/selection-doubleclick-expected.txt: Added.
        * platform/mac/svg/text/selection-tripleclick-expected.checksum: Added.
        * platform/mac/svg/text/selection-tripleclick-expected.png: Added.
        * platform/mac/svg/text/selection-tripleclick-expected.txt: Added.
        * svg/text/selection-doubleclick.svg: Added.
        * svg/text/selection-tripleclick.svg: Added.

2010-02-16  Yusuke Sato  <yusukes@chromium.org>

        Reviewed by Dimitri Glazkov.

        [Chromium] OpenType font with CFF glyphs is not handled correctly on Windows XP
        https://bugs.webkit.org/show_bug.cgi?id=34735

        * fast/css/font-face-opentype.html: Added.
        * fast/css/resources/Ahem.otf: Added. Ahem font which has CFF glyphs, converted from Ahem.ttf by FontForge (http://fontforge.sourceforge.net/).
        * platform/mac/fast/css/font-face-opentype-expected.checksum: Added.
        * platform/mac/fast/css/font-face-opentype-expected.png: Added.
        * platform/mac/fast/css/font-face-opentype-expected.txt: Added.

2010-02-16  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Simon Fraser.

        Change quota-tracking.html to open databases only as they're
        needed. Otherwise, open databases end up using more space from
        this origin than the test expects.

        * storage/quota-tracking.html:

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Simon Fraser.

        Skip svg/zoom/(page|text)/zoom-coords-viewattr-01-b.svg on SnowLeopard.
        svg/W3C-SVG-1.1/coords-viewattr* fail on SL and are already Skipped, seems related to entity parsing, not SVG.

        * platform/mac-snowleopard/Skipped:

2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Nikolas Zimmermann.

        Make this test more robust to slow-loading media.

        * media/video-load-networkState.html:

2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=34999
        Compositing layers inside overflow:scroll divs are not always updated on scrolling
        
        New testcase with specific compositing configuration involving overflow:scroll.

        * compositing/overflow/scroll-ancestor-update.html: Added.
        * platform/mac/compositing/overflow/scroll-ancestor-update-expected.checksum: Added.
        * platform/mac/compositing/overflow/scroll-ancestor-update-expected.png: Added.
        * platform/mac/compositing/overflow/scroll-ancestor-update-expected.txt: Added.

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Dirk Schulze.

        Add missing .checksum file in platform/mac/svg/zoom/page. All parts of the original patch for bug 14004 have been landed.

        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.

2010-02-16  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by David Hyatt.

        SVG units don't stay consistently sized on zoom
        https://bugs.webkit.org/show_bug.cgi?id=14004

        * platform/mac/svg/zoom: Added.
        * platform/mac/svg/zoom/page: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/page/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.checksum: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.png: Added.
        * platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Added.
        * platform/mac/svg/zoom/text: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-no-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/absolute-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.checksum: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.png: Added.
        * platform/mac/svg/zoom/text/relative-sized-document-scrollbars-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-mixed-009-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.checksum: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.png: Added.
        * platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
        * svg/zoom: Added.
        * svg/zoom/NOTE: Added.
        * svg/zoom/page: Added.
        * svg/zoom/page/absolute-sized-document-no-scrollbars.svg: Added.
        * svg/zoom/page/absolute-sized-document-scrollbars.svg: Added.
        * svg/zoom/page/relative-sized-document-scrollbars.svg: Added.
        * svg/zoom/page/zoom-coords-viewattr-01-b.svg: Added.
        * svg/zoom/page/zoom-foreignObject.svg: Added.
        * svg/zoom/page/zoom-hixie-mixed-008.xml: Added.
        * svg/zoom/page/zoom-hixie-mixed-009.xml: Added.
        * svg/zoom/page/zoom-hixie-rendering-model-004.xhtml: Added.
        * svg/zoom/page/zoom-svg-float-border-padding.xml: Added.
        * svg/zoom/resources: Added.
        * svg/zoom/resources/testPageZoom.js: Added.
        * svg/zoom/resources/testTextZoom.js: Added.
        * svg/zoom/text: Added.
        * svg/zoom/text/absolute-sized-document-no-scrollbars.svg: Added.
        * svg/zoom/text/absolute-sized-document-scrollbars.svg: Added.
        * svg/zoom/text/relative-sized-document-scrollbars.svg: Added.
        * svg/zoom/text/zoom-coords-viewattr-01-b.svg: Added.
        * svg/zoom/text/zoom-foreignObject.svg: Added.
        * svg/zoom/text/zoom-hixie-mixed-008.xml: Added.
        * svg/zoom/text/zoom-hixie-mixed-009.xml: Added.
        * svg/zoom/text/zoom-hixie-rendering-model-004.xhtml: Added.
        * svg/zoom/text/zoom-svg-float-border-padding.xml: Added.

2010-02-16  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] REGRESSION(r54811) fast/canvas/drawImage-with-negative-source-destination.html fails
        https://bugs.webkit.org/show_bug.cgi?id=35005

        * platform/qt/Skipped:
         - fast/canvas/drawImage-with-negative-source-destination.html skipped until fix.
         - inspector/timeline-paint.html skipped because it is flakey.

2010-02-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Carlson.

        Autoplaying video with poster doesn't reliably show up
        https://bugs.webkit.org/show_bug.cgi?id=34966
        
        Testcase that has an autoplaying video with a poster.

        * media/video-replaces-poster.html: Added.
        * platform/mac/media/video-replaces-poster-expected.checksum: Added.
        * platform/mac/media/video-replaces-poster-expected.png: Added.
        * platform/mac/media/video-replaces-poster-expected.txt: Added.

2010-02-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Elements Panel: Limit the number of initially loaded element children
        https://bugs.webkit.org/show_bug.cgi?id=34421

        * inspector/elements-panel-limited-children-expected.txt: Added.
        * inspector/elements-panel-limited-children.html: Added.

2010-02-16  Ben Murdoch  <benm@google.com>

        Reviewed by Simon Hausmann.

        Refactor and split up basic-touch-events test
        https://bugs.webkit.org/show_bug.cgi?id=34476

        Split the basic-touch-events test into two separate tests, one for single and another for multi touch. Also refactor the tests to run in an asynchronous manner.

        * fast/events/touch/basic-multi-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same multi touch tests cases from the old basic-touch-events test.
        * fast/events/touch/basic-multi-touch-events-expected.txt: Added.
        * fast/events/touch/script-tests/basic-multi-touch-events.js: Added.
        * fast/events/touch/basic-single-touch-events.html: Copied from LayoutTests/fast/events/touch/basic-touch-events.html. Tests the same single touch tests cases from the old basic-touch-events test.
        * fast/events/touch/script-tests/basic-single-touch-events.js: Added.
        * fast/events/touch/basic-single-touch-events-expected.txt: Added. 
        * fast/events/touch/basic-touch-events.html: Removed.
        * fast/events/touch/script-tests/basic-touch-events.js: Removed.
        * fast/events/touch/basic-touch-events-expected.txt: Removed.

2010-02-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Add test case for <rdar://problem/7645609> [webView selectionRect] API is broken for multicolumn layout

        * fast/multicol/client-rects-expected.checksum:
        * fast/multicol/client-rects-expected.png:
        * fast/multicol/client-rects-expected.txt:
        * fast/multicol/client-rects.html:

2010-02-15  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Dan Bernstein.

        Skipped glyph-reordering on Windows since it has failed since it was landed. Left a comment
        in <https://bugs.webkit.org/show_bug.cgi?id=34865> to track the failure.

        * platform/win/Skipped:

2010-02-15  Alexey Proskuryakov  <ap@apple.com>

        Skip more plugin tests on Snow Leopard buildbot, as they need updated closed source components.

        * platform/mac-snowleopard/Skipped: Skip netscape-dom-access.html and netscape-browser-object-identity.html.

2010-02-15  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/multicol/client-rects.html fails in QtLauncher
        https://bugs.webkit.org/show_bug.cgi?id=34959

        * platform/qt/Skipped: fast/multicol/client-rects.html skipped until fix.

2010-02-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when going back to a page that has data: URIs, with page cache enabled
        https://bugs.webkit.org/show_bug.cgi?id=34944

        * fast/harness/page-cache-crash-on-data-urls-expected.txt: Added.
        * fast/harness/page-cache-crash-on-data-urls.html: Added.
        * fast/harness/resources/cached-page-with-data-urls.html: Added.

2010-02-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7647300> Incorrect client rects for blocks the span multiple columns and their descendants
        https://bugs.webkit.org/show_bug.cgi?id=34923

        * fast/multicol/client-rects-expected.checksum: Added.
        * fast/multicol/client-rects-expected.png: Added.
        * fast/multicol/client-rects-expected.txt: Added.
        * fast/multicol/client-rects.html: Added.

2010-02-12  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/7130641> Browser objects identity is not preserved by Safari

        * plugins/netscape-browser-object-identity-expected.txt: Added.
        * plugins/netscape-browser-object-identity.html: Added.
        * plugins/script-tests/netscape-browser-object-identity.js: Added.

2010-02-15  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: incorrect syntax highlighting as HTML in a script tag.

        https://bugs.webkit.org/show_bug.cgi?id=34934

        * inspector/syntax-highlight-html-expected.txt: Added.
        * inspector/syntax-highlight-html.html: Added.

2010-02-15  Robert Hogan  <robert@roberthogan.net>

        Reviewed by Simon Hausmann.

        [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().

        Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.

        https://bugs.webkit.org/show_bug.cgi?id=33096

        This allows the following tests to pass:

        inspector/console-format-collections.html
        inspector/styles-iframe.html
        inspector/syntax-highlight-css.html
        inspector/syntax-highlight-javascript.html
        inspector/timeline-enum-stability.html
        inspector/timeline-layout.html
        inspector/timeline-mark-timeline.html
        inspector/timeline-paint.html
        inspector/timeline-parse-html.html
        inspector/timeline-recalculate-styles.html
        inspector/timeline-script-tag-1.html
        inspector/timeline-script-tag-2.html
        inspector/timeline-trivial.html
        inspector/cookie-resource-match.html
        inspector/elements-img-tooltip.html
        inspector/elements-panel-selection-on-refresh.html
        inspector/inspected-objects-not-overriden.html
        inspector/timeline-event-dispatch.html
        inspector/timeline-network-resource.html
        inspector/elements-panel-rewrite-href.html
        inspector/console-dir.html
        inspector/console-dirxml.html
        inspector/console-format.html
        inspector/console-tests.html
        inspector/elements-panel-structure.html
        inspector/evaluate-in-frontend.html
        inspector/console-clear.html

        * platform/qt/Skipped:

2010-02-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: XPathResult objects are not expanded in console.

        https://bugs.webkit.org/show_bug.cgi?id=34926

        * inspector/console-dir-expected.txt:
        * inspector/console-dir.html:

2010-02-15  Philippe Normand  <pnormand@igalia.com>

        media/video-display-aspect-ratio.html fails
        https://bugs.webkit.org/show_bug.cgi?id=34933

        Skipped the new test that fails.

        * platform/mac-leopard/Skipped:
        * platform/mac-snowleopard/Skipped:
        * platform/win/Skipped:

2010-02-12  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] wrong video aspect ratio
        https://bugs.webkit.org/show_bug.cgi?id=34790

        Test checking the size of a 4:3 video with a 16:9 pixel aspect
        ratio.

        * media/content/test-par-16-9.mp4: Added.
        * media/video-display-aspect-ratio-expected.txt: Added.
        * media/video-display-aspect-ratio.html: Added.

2010-02-14  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        HTML5 iframe sandbox bypass of window.top.location navigation via <form target="_top">
        https://bugs.webkit.org/show_bug.cgi?id=33277

        Add a test that _top is covered by @sandbox.

        * http/tests/security/resources/fail.html: Added.
        * http/tests/security/resources/sandboxed-iframe-form-top.html: Added.
        * http/tests/security/sandboxed-iframe-form-top-expected.txt: Added.
        * http/tests/security/sandboxed-iframe-form-top.html: Added.

2010-02-14  Shu Chang  <Chang.Shu@nokia.com>

        Reviewed by Adam Barth.

        [Qt] The original test case failed on Qt because its real output
        "A B C DE F" did not match the expected "A B C D E F". The input
        field between D and E failed to generate the space in the dumped
        text as it normally would if it was broken into a new line.
        This DRT issue can be addressed in a seperate bug if necessary
        but shrinking the size of font so as to fit all fields into one
        line is an immediate fix to pass the test case.
        https://bugs.webkit.org/show_bug.cgi?id=33093

        * fast/html/text-field-input-types.html:
        * platform/qt/Skipped:

2010-02-14  Chang Shu  <Chang.Shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable http/tests/appcache but skip the failed cases.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

2010-02-13  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Skip new test that fails. See https://webkit.org/b/34918.

        * platform/qt/Skipped: fast/text/glyph-reordering.html skipped.

2010-02-13  Gustavo Noronha Silva  <gns@gnome.org>

        Skip new test that fails. See https://webkit.org/b/34918.

        * platform/gtk/Skipped:

2010-02-12  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Dan Bernstein.

        text-control-intrinsic-widths.html failing on tiger bot
        https://bugs.webkit.org/show_bug.cgi?id=34917

        Final cleanup for http://trac.webkit.org/changeset/54748.
        Some MS fonts don't come with a default install of Tiger, but do
        come with a default Leopard/SnowLeopard install. As a result we naturally
        get different metrics a page uses these fonts.

        * platform/mac-tiger/fast/forms/text-control-intrinsic-widths-expected.txt: Added.

2010-02-12  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Maciej Stachowiak.

        Four textcontrol tests fail after http://trac.webkit.org/changeset/54748
        https://bugs.webkit.org/show_bug.cgi?id=34916

        -Put the baseline for text-control-intrinsic-widths in the right place!
        -I missed perspective-non-layer.html because we don't run it on Leopard.
        -Accidentally deleted drag-text-delay-expected.txt and text-control-intrinsic-widths-expected.txt
        instead of updating their results.

        * platform/mac-leopard/fast/forms/text-control-intrinsic-widths-expected.txt: Removed.
        * platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
        * platform/mac/transforms/3d/general/perspective-non-layer-expected.txt:
        * platform/win/editing/selection/drag-text-delay-expected.txt: Added.
        * platform/win/fast/forms/text-control-intrinsic-widths-expected.txt: Added.

2010-01-05  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Eric Seidel.

        Improve text control instrinsic widths.
        https://bugs.webkit.org/show_bug.cgi?id=25566
        https://bugs.webkit.org/show_bug.cgi?id=25581
        https://bugs.webkit.org/show_bug.cgi?id=25958

        Excluding list of updated results as the list is so long.

2010-02-12  Eric Seidel  <eric@webkit.org>

        No review, rolling out r54694.
        http://trac.webkit.org/changeset/54694
        https://bugs.webkit.org/show_bug.cgi?id=34633

        This appears to have caused crashes on the Leopard bot.  See
        bug 34898.

        * websocket/tests/bufferedAmount-after-close-expected.txt: Removed.
        * websocket/tests/bufferedAmount-after-close.html: Removed.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Removed.

2010-02-12  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        Repaint bug on Text selection in foreignObject
        https://bugs.webkit.org/show_bug.cgi?id=16939

        Update SVG tests that contain <foreignObject> - now that it's reporting proper repaint rects.
        Some of our tests use <foreignObject> to draw XHTML text (logging facility) - all these tests
        were missing width/height attributes on <foreignObject>, fix that otherwhise they won't show
        up anymore - as expected.

        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.checksum:
        * platform/mac-leopard/svg/custom/foreign-object-skew-expected.png:
        * platform/mac/svg/custom/baseval-animval-equality-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
        * platform/mac/svg/custom/fill-SVGPaint-interface-expected.txt:
        * platform/mac/svg/custom/foreign-object-skew-expected.txt:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/mac/svg/custom/getPresentationAttribute-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.checksum:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.png:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.checksum:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.png:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
        * platform/mac/svg/hixie/mixed/008-expected.txt:
        * platform/mac/svg/overflow/overflow-on-foreignObject-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-foreignObject-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-foreignObject-expected.txt: Added.
        * platform/mac/svg/text/foreignObject-repaint-expected.txt:
        * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.checksum: Added.
        * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.png: Added.
        * platform/mac/svg/text/foreignObject-text-clipping-bug-expected.txt: Added.
        * svg/custom/baseval-animval-equality.svg:
        * svg/custom/dominant-baseline-hanging.svg:
        * svg/custom/dynamic-svg-document-creation.svg:
        * svg/custom/fill-SVGPaint-interface.svg:
        * svg/custom/getPresentationAttribute.svg:
        * svg/overflow/overflow-on-foreignObject.svg: Added.
        * svg/text/foreignObject-text-clipping-bug.xml: Added.

2010-02-12  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7609268> REGRESSION (r50301): Problem selecting text in a Devanagari website
        https://bugs.webkit.org/show_bug.cgi?id=34865

        * fast/text/glyph-reordering-expected.txt: Added.
        * fast/text/glyph-reordering.html: Added.

2010-02-12  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed trivial fix.
        Set Content-Type header.

        * websocket/tests/cookies/httponly-cookie.pl:

2010-02-12  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Qt DRT now dump the frame loader callbacks when LayoutTestController()
        method is called.

        LayoutTests:
            http/tests/security/mixedContent/data-url-script-in-iframe.html
            http/tests/security/mixedContent/empty-url-plugin-in-frame.html
            http/tests/security/mixedContent/insecure-css-in-iframe.html
            http/tests/security/mixedContent/insecure-iframe-in-iframe.html
            http/tests/security/mixedContent/insecure-image-in-iframe.html
            http/tests/security/mixedContent/insecure-plugin-in-iframe.html
            http/tests/security/mixedContent/insecure-script-in-iframe.html
            http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
            http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html

        [Qt] Make possible Qt DRT dump frame load callbacks
        https://bugs.webkit.org/show_bug.cgi?id=34702

        * platform/qt/Skipped:

2010-02-12  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Support frameset flattening
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Add expected results of the FrameSet Flattening tests.

        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.
        * platform/mac/Skipped:

2010-02-12  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] perl websocket test(s) time out
        https://bugs.webkit.org/show_bug.cgi?id=34882

        * platform/qt/Skipped: websocket/tests/cookies/httponly-cookie.pl skipped until fix.

2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket ignores HttpOnly cookies, but should use in Handshake.
        https://bugs.webkit.org/show_bug.cgi?id=34289

        * websocket/tests/cookies/echo-cookie_wsh.py: Added.
        * websocket/tests/cookies/httponly-cookie-expected.txt: Added.
        * websocket/tests/cookies/httponly-cookie.pl: Added.

2010-02-11  Eric Seidel  <eric@webkit.org>

        Reviewed by Adam Barth.

        webkitdirs.pm has a crazy amount of duplicated feature detection code
        https://bugs.webkit.org/show_bug.cgi?id=34869

        In editing run-webkit-tests I found these tests were
        skipped on all platforms.  Removing them since no one is running them.
        If we ever need them we can dig them out of SVN history.

        * fast/wcss/marquee-dir.xhtml: Removed.
        * fast/wcss/marquee-loop.xhtml: Removed.
        * fast/wcss/marquee-speed.xhtml: Removed.
        * fast/wcss/marquee-style.xhtml: Removed.

2010-02-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix two issues on maxLength.
        https://bugs.webkit.org/show_bug.cgi?id=34783

        - Add grapheme test cases
        - Improve test result readability

        * fast/forms/ValidityState-tooLong-input-expected.txt:
        * fast/forms/ValidityState-tooLong-textarea-expected.txt:
        * fast/forms/script-tests/ValidityState-tooLong-input.js:
        * fast/forms/script-tests/ValidityState-tooLong-textarea.js:

2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket bufferedAmount should not be 0 when send after close.
        https://bugs.webkit.org/show_bug.cgi?id=34633

        * websocket/tests/bufferedAmount-after-close-expected.txt: Added.
        * websocket/tests/bufferedAmount-after-close.html: Added.
        * websocket/tests/script-tests/bufferedAmount-after-close.js: Added.

2010-02-11  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket in Worker failed to close
        https://bugs.webkit.org/show_bug.cgi?id=34785

        * websocket/tests/workers/close-in-shared-worker-expected.txt: Added.
        * websocket/tests/workers/close-in-shared-worker.html: Added.
        * websocket/tests/workers/close-in-worker-expected.txt: Added.
        * websocket/tests/workers/close-in-worker.html: Added.
        * websocket/tests/workers/resources/close-in-worker.js: Added.
        * websocket/tests/workers/resources/echo_wsh.py: Copied from LayoutTests/websocket/tests/echo_wsh.py.

2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Oops, move mac-lepard results for mask-invalidation.svg into the correct folder.

        * platform/mac-leopard/mask-invalidation-expected.checksum: Removed.
        * platform/mac-leopard/mask-invalidation-expected.png: Removed.
        * platform/mac-leopard/svg/custom/mask-invalidation-expected.checksum: Copied from platform/mac-leopard/mask-invalidation-expected.checksum.
        * platform/mac-leopard/svg/custom/mask-invalidation-expected.png: Copied from platform/mac-leopard/mask-invalidation-expected.png.

2010-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>

        Rubber-stamped by Dirk Schulze.

        Add special mac-leopard pixel test results for svg/mask-invalidation.svg - has marginal 0.01% diff to snow leopard baseline.

        * platform/mac-leopard/mask-invalidation-expected.checksum: Added.
        * platform/mac-leopard/mask-invalidation-expected.png: Added.

2010-02-11  Gustavo Noronha Silva  <gns@gnome.org>

        Remove platform-specific expected results that only existed
        because we diverged from other ports regarding enabling
        GeoLocation (Apple ports now enable it).

        * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt: Removed.
        * platform/gtk/fast/dom/prototype-inheritance-2-expected.txt: Removed.

2010-02-11  Gustavo Noronha Silva  <gns@gnome.org>

        Rebaseline test after 54646, and skip tests that need results
        generated.

        * platform/gtk/Skipped:
        * platform/gtk/fast/dom/Window/window-property-descriptors-expected.txt:

2010-02-11  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Test that Web Inspector can inspect styles of elements in iframe from a domain
        different from main frame domain.

        inspector-tests.js moved to LayoutTests/http/tests/inspector because it can
        be referenced by relative path from LayoutTests/inspector but not vice versa
        (html files served from LayoutTests/http/tests cannot refer it because WebKit
        tests httpd doesn't serve content not under LayoutTests/http). 

        https://bugs.webkit.org/show_bug.cgi?id=31587

        * http/tests/inspector/inspect-iframe-from-different-domain-expected.txt: Added.
        * http/tests/inspector/inspect-iframe-from-different-domain.html: Added.
        * http/tests/inspector/inspector-test.js: Renamed from LayoutTests/inspector/inspector-test.js.
        (onload):
        (evaluateInWebInspector):
        (notifyDone):
        (output):
        (didEvaluateForTestInFrontend):
        * http/tests/inspector/resources/iframe-from-different-domain-data.html: Added.
        * inspector/console-clear.html:
        * inspector/console-dir.html:
        * inspector/console-dirxml.html:
        * inspector/console-format-collections-expected.txt:
        * inspector/console-format-collections.html:
        * inspector/console-format.html:
        * inspector/console-log-before-inspector-open.html:
        * inspector/console-tests.html:
        * inspector/cookie-resource-match.html:
        * inspector/elements-img-tooltip.html:
        * inspector/elements-panel-rewrite-href-expected.txt:
        * inspector/elements-panel-rewrite-href.html:
        * inspector/elements-panel-selection-on-refresh.html:
        * inspector/elements-panel-structure.html:
        * inspector/evaluate-in-frontend.html:
        * inspector/inspected-objects-not-overriden.html:
        * inspector/styles-iframe.html:
        * inspector/syntax-highlight-css.html:
        * inspector/syntax-highlight-javascript.html:
        * inspector/timeline-enum-stability.html:
        * inspector/timeline-event-dispatch.html:
        * inspector/timeline-layout.html:
        * inspector/timeline-mark-timeline.html:
        * inspector/timeline-network-resource.html:
        * inspector/timeline-paint.html:
        * inspector/timeline-parse-html.html:
        * inspector/timeline-recalculate-styles.html:
        * inspector/timeline-script-tag-1.html:
        * inspector/timeline-script-tag-2.html:
        * inspector/timeline-trivial.html:
        * platform/qt/Skipped:

2010-02-11  Andras Becsi  <abecsi@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Update expected results for the following tests after r54646 because of ImageData support.

        * platform/qt/fast/dom/Window/window-properties-expected.txt:
        * platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:
        * platform/qt/fast/dom/prototype-inheritance-expected.txt:
        * platform/qt/fast/js/global-constructors-expected.txt:

2010-02-11  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Step attribute support for date&time types.
        https://bugs.webkit.org/show_bug.cgi?id=30847

        Add tests for ValidityState.stepMismatch, stepUp() and stepDown()
        for date, datetime, datetime-local, month, time, week types.
        Update valueAsDate and valueAsNumber tests for a string representation
        change.

        * fast/forms/ValidityState-stepMismatch-expected.txt: Added.
        * fast/forms/ValidityState-stepMismatch.html: Added.
        * fast/forms/input-stepup-stepdown-expected.txt: Added.
        * fast/forms/input-stepup-stepdown.html: Added.
        * fast/forms/input-valueasdate-datetime-expected.txt:
        * fast/forms/input-valueasdate-time-expected.txt:
        * fast/forms/input-valueasnumber-datetime-expected.txt:
        * fast/forms/input-valueasnumber-datetimelocal-expected.txt:
        * fast/forms/input-valueasnumber-time-expected.txt:
        * fast/forms/script-tests/ValidityState-stepMismatch.js: Added.
        * fast/forms/script-tests/input-stepup-stepdown.js: Added.
        * fast/forms/script-tests/input-valueasdate-datetime.js:
        * fast/forms/script-tests/input-valueasnumber-datetime.js:

2010-02-10  Oliver Hunt  <oliver@apple.com>

        Reviewed by Gavin Barraclough.

        postMessage does not send ImageData
        https://bugs.webkit.org/show_bug.cgi?id=34825

        Add test for postMessage passing ImageData

        Update a few other tests to cover the fact that ImageData's constructor
        is now available on the window object.

        * fast/dom/Window/window-postmessage-clone-expected.txt:
        * fast/dom/Window/window-postmessage-clone.html:
        * fast/dom/Window/window-properties-expected.txt:
        * fast/dom/Window/window-property-descriptors-expected.txt:
        * fast/dom/prototype-inheritance-2-expected.txt:
        * fast/dom/prototype-inheritance-expected.txt:
        * fast/js/global-constructors-expected.txt:

2010-02-10  Beth Dakin  <bdakin@apple.com>

        Reviewed by Simon Fraser and Darin Adler.

        Test for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 
        Mask not invalidating

        * platform/mac/svg/custom/mask-invalidation-expected.checksum: Added.
        * platform/mac/svg/custom/mask-invalidation-expected.png: Added.
        * platform/mac/svg/custom/mask-invalidation-expected.txt: Added.
        * svg/custom/mask-invalidation.svg: Added.

2010-02-10  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Roll out r54626, because it broke GTK and Win build.
        https://bugs.webkit.org/show_bug.cgi?id=32717

        * platform/mac/Skipped:
        * platform/mac/fast/frames/flattening: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Removed.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Removed.

2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Support frameset flattening
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Add expected results of the FrameSet Flattening tests.

        * platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.
        * platform/mac/Skipped:

2010-02-10  Kenneth Russell  <kbr@google.com>

        Reviewed by Oliver Hunt.

        Remove automatic viewport resizing
        https://bugs.webkit.org/show_bug.cgi?id=34766

        Removed automatic viewport resizing per conclusions on the WebGL
        mailing list. Added test verifying new behavior and updated a
        couple of previous tests failing after this change.

        * fast/canvas/webgl/gl-get-calls-expected.txt:
        * fast/canvas/webgl/gl-get-calls.html:
        * fast/canvas/webgl/texImage2DImageDataTest.html:
        * fast/canvas/webgl/viewport-unchanged-upon-resize-expected.txt: Added.
        * fast/canvas/webgl/viewport-unchanged-upon-resize.html: Added.

2010-02-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
        https://bugs.webkit.org/show_bug.cgi?id=34773

        * fast/frames/frame-crash-with-page-cache.html: Added.
        * fast/frames/resources/cached-page-1.html: Added.
        * fast/frames/resources/cached-page-2.html: Added.
        * fast/frames/resources/cached-page-3.html: Added.
        * fast/frames/resources/cached-page-iframe.html: Added.

2010-02-09  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Geoffrey Garen.

        https://bugs.webkit.org/show_bug.cgi?id=34490
        WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions

        * fast/images/destroyed-image-load-event-expected.txt: Added.
        * fast/images/destroyed-image-load-event.html: Added.

2010-02-08  Jon Honeycutt  <jhoneycutt@apple.com>

        <rdar://problem/7436875> Crash in Flash when visiting
        http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]

        Reviewed by Darin Adler.

        * platform/win/plugins/plugin-delayed-destroy-expected.txt: Added.
        * platform/win/plugins/plugin-delayed-destroy.html: Added.

2010-02-10  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        Implement pageNumberForElementById() method in Qt DRT LayoutTestController,
        to make Qt DRT able to get page number.

        LayoutTests:
            printing/page-break-always.html
            printing/pageNumerForElementById.html
            printing/css2.1/page-break-before-000.html
            printing/css2.1/page-break-after-000.html
            printing/css2.1/page-break-after-004.html
            printing/css2.1/page-break-before-001.html
            printing/css2.1/page-break-after-001.html
            printing/css2.1/page-break-after-002.html
            printing/css2.1/page-break-before-002.html
            printing/css2.1/page-break-inside-000.html

        [Qt] Make possible Qt DRT get a page number for element by ID
        https://bugs.webkit.org/show_bug.cgi?id=34777

        * platform/qt/Skipped:

2010-02-10  Jeremy Orlow  <jorlow@chromium.org>

        Revert 54599 because it breaks a lot of tests on Windows Chrome

        * inspector/elements-panel-limited-children-expected.txt: Removed.
        * inspector/elements-panel-limited-children.html: Removed.
        * platform/qt/Skipped:

2010-02-10  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Add test to ensure that a call to history.forward() at the top of
        a page doesn't prevent the page from loading when there is no
        forward list.

        https://bugs.webkit.org/show_bug.cgi?id=34722

        * fast/history/forward-during-load-expected.txt: Added.
        * fast/history/forward-during-load.html: Added.

2010-02-10  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Elements Panel: Limit the number of initially loaded element children
        https://bugs.webkit.org/show_bug.cgi?id=34421

        * inspector/elements-panel-limited-children-expected.txt: Added.
        * inspector/elements-panel-limited-children.html: Added.
        * platform/qt/Skipped:

2010-02-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Freeze sandbox attributes on creation
        https://bugs.webkit.org/show_bug.cgi?id=34184

        Test that allow-forms is frozen on document creation.

        * fast/frames/resources/sandboxed-iframe-form-dynamic-allowed.html: Added.
        * fast/frames/resources/sandboxed-iframe-form-dynamic-disallowed.html: Added.
        * fast/frames/sandboxed-iframe-forms-dynamic-expected.txt: Added.
        * fast/frames/sandboxed-iframe-forms-dynamic.html: Added.

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed. Roll-out r54543, because layout tests crash in debug mode.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed trivial fix.

        platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt updated 
        by r54560. Qt platform specific expected file should be updated too.

        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt: Updated.

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/events/multiline-link-arrow-navigation.html introduced in r54566, but our
        LayoutTestController::overridePreference() does not support the 'WebKitEnableCaretBrowsing' preference now.

        * platform/qt/Skipped: fast/events/multiline-link-arrow-navigation.html skipped.

2010-02-09  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] window.showModalDialog implemented by r54550. Some tests pass now, so expected files updated.
        (We need some new platform specific expected file, because this feature works only on Qt port now.)
        https://bugs.webkit.org/show_bug.cgi?id=25585

        * platform/qt/fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Copied from LayoutTests/fast/dom/Window/window-function-frame-getter-precedence-expected.txt.
        * platform/qt/fast/dom/Window/window-function-name-getter-precedence-expected.txt: Copied from LayoutTests/fast/dom/Window/window-function-name-getter-precedence-expected.txt.
        * platform/qt/fast/dom/Window/window-lookup-precedence-expected.txt: Copied from LayoutTests/fast/dom/Window/window-lookup-precedence-expected.txt.
        * platform/qt/fast/dom/Window/window-properties-expected.txt: Updated.
        * platform/qt/fast/dom/prototype-inheritance-expected.txt: Updated.
        * platform/qt/http/tests/security/cross-frame-access-call-expected.txt: Copied from LayoutTests/http/tests/security/cross-frame-access-call-expected.txt.
         -  cross-frame-access-call-expected.txt might be a false expected file, it needs more investigation.
        * platform/qt/http/tests/security/cross-frame-access-get-expected.txt: Copied from LayoutTests/http/tests/security/cross-frame-access-get-expected.txt.

2010-02-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
        https://bugs.webkit.org/show_bug.cgi?id=34776

        * plugins/instance-available-before-stylesheets-loaded-expected.txt: Added.
        * plugins/instance-available-before-stylesheets-loaded-object-expected.txt: Added.
        * plugins/instance-available-before-stylesheets-loaded-object.html: Added.
        * plugins/instance-available-before-stylesheets-loaded.html: Added.

2010-02-09  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Darin Adler.

        Problems navigating by caret in links whose text wraps onto
        subsequent lines.
        https://bugs.webkit.org/show_bug.cgi?id=25676

        Added tests showing the problem.

        * fast/events/multiline-link-arrow-navigation.html
        * fast/events/multiline-link-arrow-navigation-expected.txt

2010-02-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        SVG patterns with some scale patternTransform are not displayed correctly for small elements
        https://bugs.webkit.org/show_bug.cgi?id=25484

        The old DRT results gave back a pattern size of 1x1. That was not very useful.
        The new reuslts are much more useful.

        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
        * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-expected.txt:
        * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
        * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.png: Added.
        * platform/mac/svg/custom/pattern-excessive-malloc-expected.txt: Added.
        * platform/mac/svg/custom/pattern-in-defs-expected.txt:
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.png: Added.
        * platform/mac/svg/custom/pattern-size-bigger-than-target-size-expected.txt: Added.
        * platform/mac/svg/custom/pattern-skew-transformed-expected.checksum: Added.
        * platform/mac/svg/custom/pattern-skew-transformed-expected.png: Added.
        * platform/mac/svg/custom/pattern-skew-transformed-expected.txt: Added.
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.png:
        * platform/mac/svg/custom/stroked-pattern-expected.txt:
        * platform/mac/svg/custom/transformedMaskFails-expected.png:
        * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * svg/custom/pattern-excessive-malloc.svg: Added.
        * svg/custom/pattern-size-bigger-than-target-size.svg: Added.
        * svg/custom/pattern-skew-transformed.svg: Added.

2010-02-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Update Qt specific DRT result after AffineTransform patch.

        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:

2010-02-09  MORITA Hajime  <morrita@gmail.com>

        Reviewed by Nikolas Zimmermann.

        SVG selection text foreground colour does not respect user settings
        https://bugs.webkit.org/show_bug.cgi?id=15997

        Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
        SVGTextPaintSubphaseGlyphStrokeSelection for painting SVG text
        selection. texts are painted with style from getCachedPseudoStyle() instead of style().

        * platform/mac/svg/text/selection-styles-expected.checksum: Added.
        * platform/mac/svg/text/selection-styles-expected.png: Added.
        * platform/mac/svg/text/selection-styles-expected.txt: Added.
        * platform/mac/svg/text/text-deco-01-b-expected.checksum: Updated pixel tests to account for marginal painting differences.
        * platform/mac/svg/text/text-deco-01-b-expected.png: Ditto.
        * platform/mac/svg/text/text-path-01-b-expected.checksum: Dito.
        * platform/mac/svg/text/text-path-01-b-expected.png: Ditto.
        * platform/mac/svg/text/text-text-03-b-expected.checksum: Ditto.
        * platform/mac/svg/text/text-text-03-b-expected.png: Ditto.
        * svg/text/selection-styles.xhtml: Added.

2010-02-09  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        No scroll bars are displayed for standalone SVG image
        https://bugs.webkit.org/show_bug.cgi?id=11225

        Height and width defined for svg element are not honored
        https://bugs.webkit.org/show_bug.cgi?id=24033

        SVG file does not pan and has no scroll bars
        https://bugs.webkit.org/show_bug.cgi?id=24448

        Modify some tests to account that overflow is now properly handled. Add new results for several overflow tests.

        * platform/mac/svg/custom/baseval-animval-equality-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/mac/svg/custom/path-bad-data-expected.txt:
        * platform/mac/svg/overflow: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-defaults-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-defaults-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-defaults-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-inner-svg-element-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-defaults-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll-expected.txt: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.checksum: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png: Added.
        * platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Added.
        * platform/mac/svg/text/text-gradient-positioning-expected.checksum:
        * platform/mac/svg/text/text-gradient-positioning-expected.png:
        * platform/mac/svg/text/text-gradient-positioning-expected.txt:
        * svg/custom/focus-ring.svg: Shrink viewport size to avoid displaying scrollbars.
        * svg/custom/foreignObject-crash-on-hover.xml: Ditto.
        * svg/custom/path-bad-data.svg: Ditto.
        * svg/overflow: Added.
        * svg/overflow/overflow-on-inner-svg-element-defaults.svg: Added.
        * svg/overflow/overflow-on-inner-svg-element.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-defaults.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml: Added.
        * svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml: Added.
        * svg/text/text-gradient-positioning.svg: Shrink viewport size to avoid displaying scrollbars.

2010-02-09  Yuzo Fujishima  <yuzo@google.com>

        Unreviewed.

        Fix build brekage introduced by r54536.

        Add the following two to Skipped:
        fast/css/inline-element-line-break.html and
        fast/css/pseudo-element-line-break.html

        * platform/gtk/Skipped:

2010-02-09  Chang Shu  <Chang.Shu@nokia.com>

        Reviewed by Laszlo Gombos.

        [Qt] Enable http/tests/appcache but skip the failed cases.
        https://bugs.webkit.org/show_bug.cgi?id=34713

        * platform/qt/Skipped:

2010-02-09  Eric Seidel  <eric@webkit.org>

        Reviewed by Shinichiro Hamaji.

        storage/database-lock-after-reload.html is flakey
        https://bugs.webkit.org/show_bug.cgi?id=29154

        * platform/mac/Skipped: Skip for now to keep the bots green until someone can take a look.

2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Add modified version of CSS2.1 test suite for paged media
        https://bugs.webkit.org/show_bug.cgi?id=34695

        Note that page-break-inside-000 is failing now.

        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/css2.1/README.txt: Added.
        * printing/css2.1/page-break-after-000-expected.txt: Added.
        * printing/css2.1/page-break-after-000.html: Added.
        * printing/css2.1/page-break-after-001-expected.txt: Added.
        * printing/css2.1/page-break-after-001.html: Added.
        * printing/css2.1/page-break-after-002-expected.txt: Added.
        * printing/css2.1/page-break-after-002.html: Added.
        * printing/css2.1/page-break-after-004-expected.txt: Added.
        * printing/css2.1/page-break-after-004.html: Added.
        * printing/css2.1/page-break-before-000-expected.txt: Added.
        * printing/css2.1/page-break-before-000.html: Added.
        * printing/css2.1/page-break-before-001-expected.txt: Added.
        * printing/css2.1/page-break-before-001.html: Added.
        * printing/css2.1/page-break-before-002-expected.txt: Added.
        * printing/css2.1/page-break-before-002.html: Added.
        * printing/css2.1/page-break-inside-000-expected.txt: Added.
        * printing/css2.1/page-break-inside-000.html: Added.
        * printing/resources/paged-media-test-utils.js: Added.
        (pageNumberShouldBe):

2010-02-07  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Dan Bernstein.

        Fix the following bugs:
        https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
        https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail

        css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.html and css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.html have been rebaselined
        because the original expected values are incorrect, judging from the test description and how IE 8.0, Firefox 3.6, and Opera 10.10 render the pages.
        fast/dom/clone-node-dynamic-style-expected.html have been also rebaselined because the original expected values assumes a line break.
        Expected values under platform/qt need not be updated because the tests are in the Skipped file for the platform.

        * fast/css/inline-element-line-break.html: Added.
        * fast/css/pseudo-element-line-break.html: Added.
        * platform/mac/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.checksum:
        * platform/mac/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.png:
        * platform/mac/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.txt:
        * platform/mac/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.checksum:
        * platform/mac/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.png:
        * platform/mac/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.txt:
        * platform/mac/fast/css/inline-element-line-break-expected.checksum: Added.
        * platform/mac/fast/css/inline-element-line-break-expected.png: Added.
        * platform/mac/fast/css/inline-element-line-break-expected.txt: Added.
        * platform/mac/fast/css/pseudo-element-line-break-expected.checksum: Added.
        * platform/mac/fast/css/pseudo-element-line-break-expected.png: Added.
        * platform/mac/fast/css/pseudo-element-line-break-expected.txt: Added.
        * platform/mac/fast/dom/clone-node-dynamic-style-expected.checksum:
        * platform/mac/fast/dom/clone-node-dynamic-style-expected.png:
        * platform/mac/fast/dom/clone-node-dynamic-style-expected.txt:

2010-02-09  Avi Drissman  <avi@chromium.org>

        Reviewed by David Levin.

        Chromium Mac: Control-A shouldn't select all/Control-C shouldn't copy
        https://bugs.webkit.org/show_bug.cgi?id=34615

        * fast/events/attempt-select-all-with-wrong-modifier-expected.txt: Added.
        * fast/events/attempt-select-all-with-wrong-modifier.html: Added.

2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Provide a way to get total number of pages to be printed
        https://bugs.webkit.org/show_bug.cgi?id=34699

        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/numberOfPages-expected.txt: Added.
        * printing/numberOfPages.html: Added.
        * printing/script-tests/numberOfPages.js: Added.
        (createParagraph):

2010-02-09  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>

        Reviewed by Oliver Hunt.

        Add numerous parse-only tests.
        https://bugs.webkit.org/show_bug.cgi?id=34019

        The input file contains a lot of strings, and tests whether they are
        valid JavaScript code snippets or contains various syntax errors.
        No semantic checks: even if a tests throws an exception, which is not
        syntax error, it is considered successfull.

        * fast/js/parser-syntax-check-expected.txt: Added.
        * fast/js/parser-syntax-check.html: Added.
        * fast/js/script-tests/parser-syntax-check.js: Added.
        (runTest):
        (valid):
        (invalid):

2010-02-08  Shinichiro Hamaji  <hamaji@chromium.org>

        Unreviewed GTK+ test fix.

        Web site is stuck loading forever
        https://bugs.webkit.org/show_bug.cgi?id=31227

        It seems the following bug is addressing this issue.
        [GTK] Needs proper reporting of frame loader callbacks, in DRT
        https://bugs.webkit.org/show_bug.cgi?id=32170

        * platform/gtk/Skipped:

2010-02-08  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Schedule a loading request when there are many in-flight requests beyond
        the limit to avoid forever page loading.

        https://bugs.webkit.org/show_bug.cgi?id=31227

        * http/tests/loading/load-javascript-after-many-xhrs-expected.txt: Added.
        * http/tests/loading/load-javascript-after-many-xhrs.html: Added.
        * http/tests/loading/resources/zero-length.js: Added.
        * http/tests/loading/resources/zero-length.txt: Added.

2010-02-08  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Crash due to layout not done in case involving removal of absolute positioning
        https://bugs.webkit.org/show_bug.cgi?id=34734
        rdar://problem/7588280

        * fast/dynamic/position-change-layout-expected.txt: Added.
        * fast/dynamic/position-change-layout.html: Added.

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34727
        Assertion crashes and freezes when plug-in property access results in an exception

        * plugins/netscape-plugin-property-access-exception-expected.txt: Added.
        * plugins/netscape-plugin-property-access-exception.html: Added.
        The test expectations are a compromise between common sense and Firefox behavior.

        * platform/mac-snowleopard/Skipped: In OOP case, this test needs newer Safari.

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Put the test back on skipped list - it needs a newer version of Safari to pass.

        * platform/mac-snowleopard/Skipped:

2010-02-08  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/6530010> OOP: Support NPN_SetException

        * platform/mac-snowleopard/Skipped: Unskipped plugins/netscape-throw-exception.html.

2010-02-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Add back an AffineTransform class for use by SVG
        https://bugs.webkit.org/show_bug.cgi?id=33750

        Some negative zero problems fixed, but new one were added on other places. A seperate
        patch should fix it all at once.
        use-on-disallowed-foreign-object-3 and 4 had wrong results. The old SVG code
        with TransformationMatrix used translateRight, that was wrong at this place and is
        fixed now.

        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * svg/dom/SVGMatrix-interface-expected.txt:
        * svg/dom/SVGMatrix-interface.xhtml:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fix last problematic SVG testcase, update coords-trans-01-b.svg win results, marking the end of the baseline regeneration for all platforms.

        * platform/win/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Should turn Qt slave green again, all platform specific results updated.

        * platform/qt/svg/filters/subRegion-one-effect-expected.txt:
        * platform/qt/svg/filters/subRegion-two-effects-expected.txt:
        * platform/qt/svg/text/selection-background-color-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Hopefully the last set of updates for Gtk/Qt/Win/Mac.

        * platform/gtk/svg/custom/text-zoom-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt:
        * platform/qt/svg/filters/feComposite-expected.txt:
        * platform/qt/svg/filters/feGaussianBlur-expected.txt:
        * platform/qt/svg/filters/feMerge-expected.txt:
        * platform/qt/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/qt/svg/filters/feOffset-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/filters/filter-source-position-expected.txt:
        * platform/qt/svg/filters/shadow-on-filter-expected.txt:
        * platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/qt/svg/filters/sourceAlpha-expected.txt:
        * platform/qt/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/win/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/win/svg/hixie/mixed/003-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Attempt to fix all mac/win bots (expect for leopard which already passes)

        * platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
        * platform/mac/svg/custom/junk-data-expected.txt:
        * platform/mac/svg/custom/missing-xlink-expected.txt:
        * platform/mac/svg/hixie/error/012-expected.txt:
        * platform/mac/svg/text/text-intro-05-t-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Next set of Qt DRT result updates.

        * platform/qt/svg/custom/js-update-image-and-display-expected.txt:
        * platform/qt/svg/custom/js-update-image-and-display3-expected.txt:
        * platform/qt/svg/custom/marker-opacity-expected.txt:
        * platform/qt/svg/custom/marker-referencePoint-expected.txt:
        * platform/qt/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/qt/svg/custom/mask-with-default-value-expected.txt:
        * platform/qt/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/qt/svg/custom/text-xy-updates-SVGList-expected.txt:
        * platform/qt/svg/custom/transformedMaskFails-expected.txt:
        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update mac-tiger specific SVG results.

        * platform/mac-tiger/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/mac-tiger/svg/hixie/text/003-expected.txt:
        * platform/mac-tiger/svg/hixie/text/003a-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
        * platform/mac-tiger/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Fixing first set of platform specific SVG results for the Qt port.
        Unfortunately the bots exit after 20 test failures, so I can't fix the whole set of expected txt files in one go :(

        * platform/qt/svg/css/arrow-with-shadow-expected.txt:
        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/qt/svg/css/clippath-with-shadow-expected.txt:
        * platform/qt/svg/css/mask-with-shadow-expected.txt:
        * platform/qt/svg/css/path-with-shadow-expected.txt:
        * platform/qt/svg/css/shadow-and-opacity-expected.txt: Added.
        * platform/qt/svg/css/shadow-with-large-radius-expected.txt: Added.
        * platform/qt/svg/css/shadow-with-negative-offset-expected.txt: Added.
        * platform/qt/svg/css/stars-with-shadow-expected.txt:
        * platform/qt/svg/custom/createImageElement-expected.txt:
        * platform/qt/svg/custom/createImageElement2-expected.txt:
        * platform/qt/svg/custom/empty-mask-expected.txt:
        * platform/qt/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt: Added.
        * platform/qt/svg/custom/js-update-image-and-display2-expected.txt:

2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>

        Reviewed by Dirk Schulze.

        All SVG *-expected.txt files contain wrong results
        https://bugs.webkit.org/show_bug.cgi?id=34703

        Regenerate SVG render tree results after fixing SVGRenderTreeAsText to dump absoluteClippedOverflowRect().
        Finally meaningful results are available and any repaint rect changes will be noticed, w/o pixel tests!

        * platform/mac-leopard/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
        * platform/mac-leopard/svg/custom/junk-data-expected.txt:
        * platform/mac-leopard/svg/custom/missing-xlink-expected.txt:
        * platform/mac-leopard/svg/hixie/error/012-expected.txt:
        * platform/mac-leopard/svg/text/text-intro-05-t-expected.txt:
        * platform/mac/fast/repaint/moving-shadow-on-container-expected.checksum:
        * platform/mac/fast/repaint/moving-shadow-on-container-expected.png:
        * platform/mac/fast/repaint/moving-shadow-on-container-expected.txt:
        * platform/mac/fast/repaint/moving-shadow-on-path-expected.checksum:
        * platform/mac/fast/repaint/moving-shadow-on-path-expected.png:
        * platform/mac/fast/repaint/moving-shadow-on-path-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-30-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-coord-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-coord-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-glyph-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-fill-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.checksum:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-08-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-09-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-image-10-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-02-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-04-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-05-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-align-06-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-03-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-07-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt:
        * platform/mac/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt:
        * platform/mac/svg/batik/filters/feTile-expected.txt:
        * platform/mac/svg/batik/filters/filterRegions-expected.txt:
        * platform/mac/svg/batik/masking/maskRegions-expected.txt:
        * platform/mac/svg/batik/paints/gradientLimit-expected.txt:
        * platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegionA-expected.txt:
        * platform/mac/svg/batik/paints/patternRegions-expected.txt:
        * platform/mac/svg/batik/text/longTextOnPath-expected.txt:
        * platform/mac/svg/batik/text/textAnchor-expected.txt:
        * platform/mac/svg/batik/text/textAnchor2-expected.txt:
        * platform/mac/svg/batik/text/textAnchor3-expected.txt:
        * platform/mac/svg/batik/text/textDecoration2-expected.txt:
        * platform/mac/svg/batik/text/textEffect-expected.checksum:
        * platform/mac/svg/batik/text/textEffect-expected.png:
        * platform/mac/svg/batik/text/textEffect-expected.txt:
        * platform/mac/svg/batik/text/textEffect2-expected.txt:
        * platform/mac/svg/batik/text/textEffect3-expected.checksum:
        * platform/mac/svg/batik/text/textEffect3-expected.png:
        * platform/mac/svg/batik/text/textEffect3-expected.txt:
        * platform/mac/svg/batik/text/textFeatures-expected.txt:
        * platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt:
        * platform/mac/svg/batik/text/textLayout-expected.txt:
        * platform/mac/svg/batik/text/textLayout2-expected.txt:
        * platform/mac/svg/batik/text/textLength-expected.txt:
        * platform/mac/svg/batik/text/textOnPath-expected.txt:
        * platform/mac/svg/batik/text/textOnPath2-expected.txt:
        * platform/mac/svg/batik/text/textOnPath3-expected.txt:
        * platform/mac/svg/batik/text/textOnPathSpaces-expected.txt:
        * platform/mac/svg/batik/text/textPCDATA-expected.txt:
        * platform/mac/svg/batik/text/textPosition-expected.txt:
        * platform/mac/svg/batik/text/textPosition2-expected.txt:
        * platform/mac/svg/batik/text/textProperties-expected.txt:
        * platform/mac/svg/batik/text/textProperties2-expected.txt:
        * platform/mac/svg/batik/text/textStyles-expected.txt:
        * platform/mac/svg/batik/text/verticalText-expected.txt:
        * platform/mac/svg/batik/text/verticalTextOnPath-expected.txt:
        * platform/mac/svg/batik/text/xmlSpace-expected.txt:
        * platform/mac/svg/carto.net/button-expected.txt:
        * platform/mac/svg/carto.net/colourpicker-expected.txt:
        * platform/mac/svg/carto.net/combobox-expected.txt:
        * platform/mac/svg/carto.net/scrollbar-expected.txt:
        * platform/mac/svg/carto.net/selectionlist-expected.txt:
        * platform/mac/svg/carto.net/slider-expected.txt:
        * platform/mac/svg/carto.net/tabgroup-expected.txt:
        * platform/mac/svg/carto.net/textbox-expected.txt:
        * platform/mac/svg/carto.net/window-expected.txt:
        * platform/mac/svg/css/arrow-with-shadow-expected.png:
        * platform/mac/svg/css/arrow-with-shadow-expected.txt:
        * platform/mac/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/mac/svg/css/clippath-with-shadow-expected.png:
        * platform/mac/svg/css/clippath-with-shadow-expected.txt:
        * platform/mac/svg/css/composite-shadow-example-expected.txt:
        * platform/mac/svg/css/composite-shadow-with-opacity-expected.txt:
        * platform/mac/svg/css/group-with-shadow-expected.txt:
        * platform/mac/svg/css/mask-with-shadow-expected.txt:
        * platform/mac/svg/css/path-with-shadow-expected.png:
        * platform/mac/svg/css/path-with-shadow-expected.txt:
        * platform/mac/svg/css/shadow-and-opacity-expected.png:
        * platform/mac/svg/css/shadow-and-opacity-expected.txt:
        * platform/mac/svg/css/shadow-with-large-radius-expected.png:
        * platform/mac/svg/css/shadow-with-large-radius-expected.txt:
        * platform/mac/svg/css/shadow-with-negative-offset-expected.png:
        * platform/mac/svg/css/shadow-with-negative-offset-expected.txt:
        * platform/mac/svg/css/stars-with-shadow-expected.png:
        * platform/mac/svg/css/stars-with-shadow-expected.txt:
        * platform/mac/svg/custom/SVGMatrix-interface-expected.txt:
        * platform/mac/svg/custom/SVGNumber-interface-expected.txt:
        * platform/mac/svg/custom/SVGPoint-interface-expected.txt:
        * platform/mac/svg/custom/SVGPoint-matrixTransform-expected.txt:
        * platform/mac/svg/custom/SVGRect-interface-expected.txt:
        * platform/mac/svg/custom/absolute-sized-svg-in-xhtml-expected.txt:
        * platform/mac/svg/custom/alignment-baseline-modes-expected.txt:
        * platform/mac/svg/custom/altglyph-expected.txt:
        * platform/mac/svg/custom/animate-path-discrete-expected.txt:
        * platform/mac/svg/custom/animate-path-morphing-expected.txt:
        * platform/mac/svg/custom/baseval-animval-equality-expected.txt:
        * platform/mac/svg/custom/circle-move-invalidation-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-1-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-2-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-3-expected.txt:
        * platform/mac/svg/custom/circular-marker-reference-4-expected.txt:
        * platform/mac/svg/custom/class-baseValue-expected.txt:
        * platform/mac/svg/custom/class-selector-expected.txt:
        * platform/mac/svg/custom/clip-path-child-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-display-none-child-expected.txt:
        * platform/mac/svg/custom/clip-path-href-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-referencing-use-expected.txt:
        * platform/mac/svg/custom/clip-path-referencing-use2-expected.txt:
        * platform/mac/svg/custom/clip-path-units-changes-expected.txt:
        * platform/mac/svg/custom/clip-path-with-transform-expected.txt:
        * platform/mac/svg/custom/conditional-processing-outside-switch-expected.txt:
        * platform/mac/svg/custom/container-opacity-clip-viewBox-expected.txt:
        * platform/mac/svg/custom/control-points-for-S-and-T-expected.txt:
        * platform/mac/svg/custom/coords-relative-units-transforms-expected.txt:
        * platform/mac/svg/custom/create-metadata-element-expected.txt:
        * platform/mac/svg/custom/createImageElement-expected.txt:
        * platform/mac/svg/custom/createImageElement2-expected.txt:
        * platform/mac/svg/custom/createelement-expected.txt:
        * platform/mac/svg/custom/css-pixels-dpi-expected.txt:
        * platform/mac/svg/custom/dasharrayOrigin-expected.txt:
        * platform/mac/svg/custom/deep-dynamic-updates-expected.txt:
        * platform/mac/svg/custom/display-none-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.checksum:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.png:
        * platform/mac/svg/custom/dominant-baseline-hanging-expected.txt:
        * platform/mac/svg/custom/dominant-baseline-modes-expected.txt:
        * platform/mac/svg/custom/dynamic-empty-path-expected.txt:
        * platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
        * platform/mac/svg/custom/dynamic-viewBox-expected.txt:
        * platform/mac/svg/custom/empty-clip-path-expected.txt:
        * platform/mac/svg/custom/empty-mask-expected.txt:
        * platform/mac/svg/custom/empty-merge-expected.txt:
        * platform/mac/svg/custom/evt-onload-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt:
        * platform/mac/svg/custom/feComponentTransfer-Table-expected.txt:
        * platform/mac/svg/custom/feDisplacementMap-01-expected.txt:
        * platform/mac/svg/custom/fill-SVGPaint-interface-expected.txt:
        * platform/mac/svg/custom/fill-fallback-expected.txt:
        * platform/mac/svg/custom/fill-update-expected.txt:
        * platform/mac/svg/custom/focus-ring-expected.txt:
        * platform/mac/svg/custom/font-face-cascade-order-expected.txt:
        * platform/mac/svg/custom/font-face-simple-expected.txt:
        * platform/mac/svg/custom/foreign-object-skew-expected.txt:
        * platform/mac/svg/custom/foreignObject-crash-on-hover-expected.txt:
        * platform/mac/svg/custom/fractional-rects-expected.txt:
        * platform/mac/svg/custom/getPresentationAttribute-expected.txt:
        * platform/mac/svg/custom/getTransformToElement-expected.txt:
        * platform/mac/svg/custom/getscreenctm-in-mixed-content-expected.txt:
        * platform/mac/svg/custom/glyph-selection-lang-attribute-expected.txt:
        * platform/mac/svg/custom/gradient-add-stops-expected.txt:
        * platform/mac/svg/custom/gradient-attr-update-expected.txt:
        * platform/mac/svg/custom/gradient-cycle-detection-expected.txt:
        * platform/mac/svg/custom/gradient-deep-referencing-expected.txt:
        * platform/mac/svg/custom/gradient-rotated-bbox-expected.txt:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.checksum:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.png:
        * platform/mac/svg/custom/gradient-stop-corner-cases-expected.txt:
        * platform/mac/svg/custom/gradient-stop-style-change-expected.txt:
        * platform/mac/svg/custom/gradient-stroke-width-expected.txt:
        * platform/mac/svg/custom/grayscale-gradient-mask-expected.txt:
        * platform/mac/svg/custom/group-opacity-expected.txt:
        * platform/mac/svg/custom/hit-test-unclosed-subpaths-expected.txt:
        * platform/mac/svg/custom/image-parent-translation-expected.txt:
        * platform/mac/svg/custom/image-small-width-height-expected.txt:
        * platform/mac/svg/custom/image-with-aspect-ratio-stretch-expected.txt:
        * platform/mac/svg/custom/image-with-transform-clip-filter-expected.txt:
        * platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt:
        * platform/mac/svg/custom/inner-percent-expected.txt:
        * platform/mac/svg/custom/inner-svg-hit-test-expected.txt:
        * platform/mac/svg/custom/invalid-css-expected.txt:
        * platform/mac/svg/custom/invalid-fill-expected.txt:
        * platform/mac/svg/custom/invalid-fill-hex-expected.txt:
        * platform/mac/svg/custom/invalid-lengthlist-expected.txt:
        * platform/mac/svg/custom/invisible-text-after-scrolling-expected.txt:
        * platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-clipPath-creation-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.checksum:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.checksum:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.png:
        * platform/mac/svg/custom/js-late-gradient-creation-expected.txt:
        * platform/mac/svg/custom/js-late-marker-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-marker-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-mask-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-creation-expected.txt:
        * platform/mac/svg/custom/js-repaint-rect-on-path-with-stroke-expected.txt:
        * platform/mac/svg/custom/js-update-bounce-expected.txt:
        * platform/mac/svg/custom/js-update-container-expected.txt:
        * platform/mac/svg/custom/js-update-container2-expected.txt:
        * platform/mac/svg/custom/js-update-gradient-expected.txt:
        * platform/mac/svg/custom/js-update-image-and-display-expected.txt:
        * platform/mac/svg/custom/js-update-image-and-display2-expected.txt:
        * platform/mac/svg/custom/js-update-image-and-display3-expected.txt:
        * platform/mac/svg/custom/js-update-image-expected.txt:
        * platform/mac/svg/custom/js-update-path-changes-expected.txt:
        * platform/mac/svg/custom/js-update-path-removal-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-child-expected.txt:
        * platform/mac/svg/custom/js-update-pattern-expected.txt:
        * platform/mac/svg/custom/js-update-polygon-changes-expected.txt:
        * platform/mac/svg/custom/js-update-polygon-removal-expected.txt:
        * platform/mac/svg/custom/js-update-stop-expected.txt:
        * platform/mac/svg/custom/js-update-style-expected.txt:
        * platform/mac/svg/custom/js-update-transform-addition-expected.txt:
        * platform/mac/svg/custom/js-update-transform-changes-expected.txt:
        * platform/mac/svg/custom/large-bounding-box-percents-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-all-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-preserveAspectRatio-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-transform-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-viewBox-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-viewBox-transform-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-viewTarget-expected.txt:
        * platform/mac/svg/custom/linking-a-03-b-zoomAndPan-expected.txt:
        * platform/mac/svg/custom/marker-changes-expected.txt:
        * platform/mac/svg/custom/marker-child-changes-expected.txt:
        * platform/mac/svg/custom/marker-default-width-height-expected.txt:
        * platform/mac/svg/custom/marker-opacity-expected.txt:
        * platform/mac/svg/custom/marker-overflow-clip-expected.txt:
        * platform/mac/svg/custom/marker-referencePoint-expected.txt:
        * platform/mac/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/mac/svg/custom/marker-viewBox-changes-expected.txt:
        * platform/mac/svg/custom/mask-changes-expected.txt:
        * platform/mac/svg/custom/mask-child-changes-expected.txt:
        * platform/mac/svg/custom/mask-excessive-malloc-expected.txt:
        * platform/mac/svg/custom/mask-inside-defs-expected.txt:
        * platform/mac/svg/custom/mask-on-multiple-objects-expected.txt:
        * platform/mac/svg/custom/mask-with-all-units-expected.txt:
        * platform/mac/svg/custom/mask-with-default-value-expected.txt:
        * platform/mac/svg/custom/no-inherited-dashed-stroke-expected.txt:
        * platform/mac/svg/custom/non-circular-marker-reference-expected.txt:
        * platform/mac/svg/custom/non-opaque-filters-expected.txt:
        * platform/mac/svg/custom/path-bad-data-expected.txt:
        * platform/mac/svg/custom/path-textPath-simulation-expected.txt:
        * platform/mac/svg/custom/path-update-expected.txt:
        * platform/mac/svg/custom/pattern-cycle-detection-expected.txt:
        * platform/mac/svg/custom/pattern-deep-referencing-expected.txt:
        * platform/mac/svg/custom/pattern-rotate-expected.txt:
        * platform/mac/svg/custom/pattern-with-transformation-expected.txt:
        * platform/mac/svg/custom/pattern-y-offset-expected.txt:
        * platform/mac/svg/custom/percentage-rect-expected.txt:
        * platform/mac/svg/custom/percentage-rect2-expected.txt:
        * platform/mac/svg/custom/pointer-events-image-expected.txt:
        * platform/mac/svg/custom/pointer-events-path-expected.txt:
        * platform/mac/svg/custom/pointer-events-text-expected.txt:
        * platform/mac/svg/custom/poly-identify-expected.txt:
        * platform/mac/svg/custom/polyline-hittest-expected.txt:
        * platform/mac/svg/custom/polyline-invalid-points-expected.txt:
        * platform/mac/svg/custom/polyline-setattribute-points-null-expected.txt:
        * platform/mac/svg/custom/preserve-aspect-ratio-syntax-expected.txt:
        * platform/mac/svg/custom/prevent-default-expected.txt:
        * platform/mac/svg/custom/recursive-clippath-expected.txt:
        * platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/mac/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/mac/svg/custom/repaint-on-image-bounds-change-expected.txt:
        * platform/mac/svg/custom/resource-client-removal-expected.txt:
        * platform/mac/svg/custom/resource-invalidate-on-target-update-expected.txt:
        * platform/mac/svg/custom/rgbcolor-syntax-expected.txt:
        * platform/mac/svg/custom/root-container-opacity-clip-viewBox-expected.txt:
        * platform/mac/svg/custom/rootelement-expected.txt:
        * platform/mac/svg/custom/rounded-rects-expected.txt:
        * platform/mac/svg/custom/scroll-hit-test-expected.txt:
        * platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
        * platform/mac/svg/custom/second-inline-text-expected.txt:
        * platform/mac/svg/custom/shape-rendering-expected.txt:
        * platform/mac/svg/custom/shapes-supporting-markers-expected.txt:
        * platform/mac/svg/custom/sheet-title-expected.txt:
        * platform/mac/svg/custom/stroke-fallback-expected.txt:
        * platform/mac/svg/custom/stroked-pattern-expected.txt:
        * platform/mac/svg/custom/struct-use-09-b-expected.txt:
        * platform/mac/svg/custom/style-attribute-font-size-expected.txt:
        * platform/mac/svg/custom/svg-float-border-padding-expected.txt:
        * platform/mac/svg/custom/svgpolyparser-extra-space-expected.txt:
        * platform/mac/svg/custom/text-clip-expected.txt:
        * platform/mac/svg/custom/text-ctm-expected.txt:
        * platform/mac/svg/custom/text-decoration-visibility-expected.txt:
        * platform/mac/svg/custom/text-dom-01-f-expected.txt:
        * platform/mac/svg/custom/text-filter-expected.txt:
        * platform/mac/svg/custom/text-hit-test-expected.txt:
        * platform/mac/svg/custom/text-image-opacity-expected.txt:
        * platform/mac/svg/custom/text-letter-spacing-expected.txt:
        * platform/mac/svg/custom/text-linking-expected.txt:
        * platform/mac/svg/custom/text-repaint-including-stroke-expected.txt:
        * platform/mac/svg/custom/text-whitespace-handling-expected.txt:
        * platform/mac/svg/custom/text-x-dx-lists-expected.txt:
        * platform/mac/svg/custom/text-x-override-in-tspan-child-expected.txt:
        * platform/mac/svg/custom/text-xy-updates-SVGList-expected.txt:
        * platform/mac/svg/custom/text-xy-updates-expected.txt:
        * platform/mac/svg/custom/transform-invalid-expected.txt:
        * platform/mac/svg/custom/transform-removeAttributeNS-expected.txt:
        * platform/mac/svg/custom/transform-scale-parse-expected.txt:
        * platform/mac/svg/custom/tref-update-expected.txt:
        * platform/mac/svg/custom/use-clipped-hit-expected.checksum:
        * platform/mac/svg/custom/use-clipped-hit-expected.png:
        * platform/mac/svg/custom/use-clipped-hit-expected.txt:
        * platform/mac/svg/custom/use-css-events-expected.txt:
        * platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt:
        * platform/mac/svg/custom/use-detach-expected.txt:
        * platform/mac/svg/custom/use-dynamic-append-expected.txt:
        * platform/mac/svg/custom/use-empty-reference-expected.txt:
        * platform/mac/svg/custom/use-event-handler-on-referenced-element-expected.txt:
        * platform/mac/svg/custom/use-event-handler-on-use-element-expected.txt:
        * platform/mac/svg/custom/use-events-crash-expected.txt:
        * platform/mac/svg/custom/use-forward-refs-expected.txt:
        * platform/mac/svg/custom/use-instanceRoot-modifications-expected.txt:
        * platform/mac/svg/custom/use-modify-container-in-target-expected.txt:
        * platform/mac/svg/custom/use-modify-target-container-expected.txt:
        * platform/mac/svg/custom/use-modify-target-symbol-expected.txt:
        * platform/mac/svg/custom/use-nested-transform-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-2-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-4-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-5-expected.txt:
        * platform/mac/svg/custom/use-on-disallowed-foreign-object-6-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-foreignObject-and-image-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-symbol-expected.txt:
        * platform/mac/svg/custom/use-on-g-containing-use-expected.txt:
        * platform/mac/svg/custom/use-on-g-expected.txt:
        * platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
        * platform/mac/svg/custom/use-on-rect-expected.txt:
        * platform/mac/svg/custom/use-on-symbol-expected.txt:
        * platform/mac/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/mac/svg/custom/use-on-text-expected.txt:
        * platform/mac/svg/custom/use-on-use-expected.txt:
        * platform/mac/svg/custom/use-property-changes-through-dom-expected.txt:
        * platform/mac/svg/custom/use-property-changes-through-svg-dom-expected.txt:
        * platform/mac/svg/custom/use-recalcStyle-crash-expected.txt:
        * platform/mac/svg/custom/use-recursion-1-expected.txt:
        * platform/mac/svg/custom/use-recursion-2-expected.txt:
        * platform/mac/svg/custom/use-recursion-3-expected.txt:
        * platform/mac/svg/custom/use-recursion-4-expected.txt:
        * platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.txt:
        * platform/mac/svg/custom/use-symbol-overflow-expected.txt:
        * platform/mac/svg/custom/use-transform-expected.txt:
        * platform/mac/svg/custom/viewBox-hit-expected.txt:
        * platform/mac/svg/custom/viewbox-syntax-expected.txt:
        * platform/mac/svg/custom/viewport-clip-expected.txt:
        * platform/mac/svg/custom/viewport-em-expected.txt:
        * platform/mac/svg/custom/viewport-no-width-height-expected.txt:
        * platform/mac/svg/custom/viewport-update-expected.txt:
        * platform/mac/svg/custom/viewport-update2-expected.txt:
        * platform/mac/svg/custom/visibility-override-clip-expected.txt:
        * platform/mac/svg/custom/visibility-override-expected.txt:
        * platform/mac/svg/custom/visibility-override-filter-expected.txt:
        * platform/mac/svg/custom/visibility-override-mask-expected.txt:
        * platform/mac/svg/custom/width-full-percentage-expected.txt:
        * platform/mac/svg/custom/xml-stylesheet-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-2-expected.txt:
        * platform/mac/svg/filters/big-sized-filter-expected.txt:
        * platform/mac/svg/filters/feComposite-expected.txt:
        * platform/mac/svg/filters/feDisplacementMap-expected.txt:
        * platform/mac/svg/filters/feGaussianBlur-expected.txt:
        * platform/mac/svg/filters/feMerge-expected.txt:
        * platform/mac/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/mac/svg/filters/feOffset-expected.txt:
        * platform/mac/svg/filters/feTile-expected.txt:
        * platform/mac/svg/filters/filter-clip-expected.txt:
        * platform/mac/svg/filters/filter-source-position-expected.txt:
        * platform/mac/svg/filters/filterRes-expected.txt:
        * platform/mac/svg/filters/shadow-on-filter-expected.txt:
        * platform/mac/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/mac/svg/filters/sourceAlpha-expected.txt:
        * platform/mac/svg/filters/subRegion-in-userSpace-expected.txt:
        * platform/mac/svg/filters/subRegion-one-effect-expected.txt:
        * platform/mac/svg/filters/subRegion-two-effects-expected.txt:
        * platform/mac/svg/hixie/cascade/001-broken-expected.txt:
        * platform/mac/svg/hixie/cascade/002-expected.txt:
        * platform/mac/svg/hixie/data-types/001-expected.txt:
        * platform/mac/svg/hixie/data-types/002-expected.txt:
        * platform/mac/svg/hixie/dynamic/002-expected.txt:
        * platform/mac/svg/hixie/error/001-expected.txt:
        * platform/mac/svg/hixie/error/002-expected.txt:
        * platform/mac/svg/hixie/error/003-expected.txt:
        * platform/mac/svg/hixie/error/007-expected.txt:
        * platform/mac/svg/hixie/error/008-expected.txt:
        * platform/mac/svg/hixie/error/009-expected.txt:
        * platform/mac/svg/hixie/error/010-expected.txt:
        * platform/mac/svg/hixie/error/011-expected.txt:
        * platform/mac/svg/hixie/error/013-expected.txt:
        * platform/mac/svg/hixie/error/014-expected.txt:
        * platform/mac/svg/hixie/error/014-test-expected.txt:
        * platform/mac/svg/hixie/error/017-expected.txt:
        * platform/mac/svg/hixie/links/001-expected.txt:
        * platform/mac/svg/hixie/links/002-expected.txt:
        * platform/mac/svg/hixie/links/003-broken-expected.txt:
        * platform/mac/svg/hixie/mixed/003-expected.txt:
        * platform/mac/svg/hixie/mixed/004-expected.txt:
        * platform/mac/svg/hixie/mixed/005-expected.txt:
        * platform/mac/svg/hixie/mixed/006-expected.txt:
        * platform/mac/svg/hixie/mixed/007-expected.txt:
        * platform/mac/svg/hixie/mixed/009-expected.txt:
        * platform/mac/svg/hixie/mixed/011-expected.txt:
        * platform/mac/svg/hixie/painting/001-expected.txt:
        * platform/mac/svg/hixie/perf/003-expected.txt:
        * platform/mac/svg/hixie/perf/004-expected.txt:
        * platform/mac/svg/hixie/perf/005-expected.txt:
        * platform/mac/svg/hixie/perf/006-expected.txt:
        * platform/mac/svg/hixie/perf/007-expected.txt:
        * platform/mac/svg/hixie/processing-model/005-expected.txt:
        * platform/mac/svg/hixie/rendering-model/001-expected.txt:
        * platform/mac/svg/hixie/rendering-model/002-expected.txt:
        * platform/mac/svg/hixie/shapes/path/001-expected.txt:
        * platform/mac/svg/hixie/text/002-expected.txt:
        * platform/mac/svg/hixie/text/003-expected.txt:
        * platform/mac/svg/hixie/text/003a-expected.txt:
        * platform/mac/svg/hixie/text/003b-expected.txt:
        * platform/mac/svg/hixie/use/001-expected.txt:
        * platform/mac/svg/hixie/use/002-expected.txt:
        * platform/mac/svg/hixie/use/002-test-expected.txt:
        * platform/mac/svg/hixie/viewbox/001-expected.txt:
        * platform/mac/svg/hixie/viewbox/002-expected.txt:
        * platform/mac/svg/hixie/viewbox/003-expected.txt:
        * platform/mac/svg/hixie/viewbox/004-expected.txt:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt:
        * platform/mac/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt:
        * platform/mac/svg/text/foreignObject-repaint-expected.txt:
        * platform/mac/svg/text/kerning-expected.txt:
        * platform/mac/svg/text/multichar-glyph-expected.txt:
        * platform/mac/svg/text/selection-background-color-expected.checksum:
        * platform/mac/svg/text/selection-background-color-expected.png:
        * platform/mac/svg/text/selection-background-color-expected.txt:
        * platform/mac/svg/text/text-align-01-b-expected.txt:
        * platform/mac/svg/text/text-align-02-b-expected.txt:
        * platform/mac/svg/text/text-align-03-b-expected.txt:
        * platform/mac/svg/text/text-align-04-b-expected.txt:
        * platform/mac/svg/text/text-align-05-b-expected.txt:
        * platform/mac/svg/text/text-align-06-b-expected.txt:
        * platform/mac/svg/text/text-altglyph-01-b-expected.txt:
        * platform/mac/svg/text/text-deco-01-b-expected.txt:
        * platform/mac/svg/text/text-fonts-01-t-expected.txt:
        * platform/mac/svg/text/text-fonts-02-t-expected.txt:
        * platform/mac/svg/text/text-gradient-positioning-expected.txt:
        * platform/mac/svg/text/text-path-01-b-expected.txt:
        * platform/mac/svg/text/text-repaint-rects-expected.txt:
        * platform/mac/svg/text/text-spacing-01-b-expected.png:
        * platform/mac/svg/text/text-spacing-01-b-expected.txt:
        * platform/mac/svg/text/text-text-01-b-expected.txt:
        * platform/mac/svg/text/text-text-03-b-expected.txt:
        * platform/mac/svg/text/text-text-04-t-expected.txt:
        * platform/mac/svg/text/text-text-05-t-expected.txt:
        * platform/mac/svg/text/text-text-06-t-expected.txt:
        * platform/mac/svg/text/text-text-07-t-expected.txt:
        * platform/mac/svg/text/text-text-08-b-expected.txt:
        * platform/mac/svg/text/text-tref-01-b-expected.txt:
        * platform/mac/svg/text/text-tselect-01-b-expected.txt:
        * platform/mac/svg/text/text-tselect-02-f-expected.txt:
        * platform/mac/svg/text/text-tspan-01-b-expected.txt:
        * platform/mac/svg/text/text-ws-01-t-expected.txt:
        * platform/mac/svg/text/text-ws-02-t-expected.txt:
        * platform/mac/svg/text/textPathBoundsBug-expected.txt:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.checksum:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.png:
        * platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.txt:
        * platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.txt:
        * svg/custom/glyph-setting-d-attribute-expected.txt:
        * svg/custom/radial-gradient-with-outstanding-focalPoint-expected.txt:
        * svg/custom/text-dom-removal-expected.txt:
        * svg/custom/text-zoom-expected.png:
        * svg/custom/text-zoom-expected.txt:
        * svg/custom/transformedMaskFails-expected.txt:
        * svg/custom/use-clipped-transform-expected.txt:
        * svg/custom/use-elementInstance-event-target-expected.txt:
        * svg/custom/use-elementInstance-methods-expected.txt:
        * svg/custom/use-setAttribute-crash-expected.txt:
        * svg/dom/SVGRectElement/rect-modify-rx-expected.txt:

2010-02-08  Xan Lopez  <xlopez@igalia.com>

        Try to do some clean-up in our Skipped list.

        * platform/gtk/Skipped:

2010-02-08  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        Generate new results for this test.

        * platform/gtk/editing/execCommand/indent-paragraphs-expected.txt:

2010-02-08  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Convert editing/execCommand/indent-paragraphs.html to use dumpAsText.
        The test copies HTML to the text output, so it doesn't really need
        to dump the render tree.

        The test was added in r49985, but didn't include pixel results.
        https://bugs.webkit.org/show_bug.cgi?id=34625

        * platform/mac/editing/execCommand/indent-paragraphs-expected.txt: Modified.

2010-02-07  Tony Chang  <tony@chromium.org>

        Reviewed by Darin Adler.

        Fix 2 pixel test baselines that are incorrect but passing
        the fuzzy image diff.

        editing/deleting/5390681.html should show a cursor, but doesn't.
        In r42549, whitespace collapsing was changed but
        editing/pasteboard/5387578.html's result wasn't updated to
        reflect the collapsed whitespace.
        https://bugs.webkit.org/show_bug.cgi?id=34632

        * platform/mac/editing/deleting/5390681-2-expected.checksum:
        * platform/mac/editing/deleting/5390681-2-expected.png:
        * platform/mac/editing/pasteboard/5387578-expected.checksum:
        * platform/mac/editing/pasteboard/5387578-expected.png:

2010-02-07  Daniel Bates  <dbates@webkit.org>

        Unreviewed, fix Tiger layout test failure.

        https://bugs.webkit.org/show_bug.cgi?id=34402

        Adds expected layout test results for Tiger build.

        * platform/mac-tiger/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.

2010-02-07  Daniel Bates  <dbates@webkit.org>

        Unreviewed, fix layout test bots.

        https://bugs.webkit.org/show_bug.cgi?id=34402

        Adds expected layout test results for Leopard, Windows, and Qt ports.

        * platform/mac-leopard/fast/lists: Added.
        * platform/mac-leopard/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.
        * platform/qt/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.
        * platform/win/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.

2010-02-07  Daniel Bates  <dbates@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34402

        Tests that all of the numeric CSS3 list-style-types are supported.

        * fast/lists/w3-css3-list-styles-numeric.html: Added.
        * platform/mac/fast/lists/w3-css3-list-styles-numeric-expected.txt: Added.

2010-02-07  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Fragment-held Elements Not Shown in Inspector.

        https://bugs.webkit.org/show_bug.cgi?id=34680

        * inspector/console-dirxml-expected.txt:
        * inspector/console-dirxml.html:

2010-02-07  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Missing fast/frames/flattening/resources/frameset-flattening-subframe-resize.html
        https://bugs.webkit.org/show_bug.cgi?id=34662

        Missing file added from the original bug: https://bugs.webkit.org/show_bug.cgi?id=32717

        * fast/frames/flattening/resources: Added.
        * fast/frames/flattening/resources/frameset-flattening-subframe-resize.html: Added.
        * platform/qt/Skipped: frameset-flattening-subframe-resize.html unskipped.

2010-02-05  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Gustavo Noronha Silva.

        [Gtk] Implement layoutTestController.pageNumberForElementById
        https://bugs.webkit.org/show_bug.cgi?id=34572

        * platform/gtk/Skipped:

2010-02-05  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Beth Dakin.

        Removed these special Windows expected results because they represented
        incorrect behavior, fixed by a recent patch of mine.

        * platform/win/fast/events/mouse-drag-from-frame-to-other-frame-expected.txt: Removed.

2010-02-05  Eric Carlson  <eric.carlson@apple.com>

        Unreviewed revert of r54454, until I can generate new results

        * media/video-loop-expected.txt:
        * media/video-loop.html:

2010-02-05  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=33671
        [GTK] media/video-loop.html fails intermittently on Gtk Bots

        Rewrite test to make it less timing dependent.

        * media/video-loop-expected.txt:
        * media/video-loop.html:

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Missing fast/frames/flattening/resources/frameset-flattening-subframe-resize.html
        https://bugs.webkit.org/show_bug.cgi?id=34662

        * platform/qt/Skipped: fast/frames/flattening/frameset-flattening-subframe-resize.html skipped until fix.

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        Update expected results after r54441 to make buildbot happy.

        * platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Updated.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Updated.

2010-02-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Unreviewed, missed in earlier commit.

        Add expected frame flattening results for Qt.

        * platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.

2010-01-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Dave Hyatt.

        Implement flattening of framesets
        https://bugs.webkit.org/show_bug.cgi?id=32717

        Frameset flattening layout test, plus expected result for Qt.

        * fast/frames/flattening/frameset-flattening-advanced.html: Added.
        * fast/frames/flattening/frameset-flattening-grid.html: Added.
        * fast/frames/flattening/frameset-flattening-simple.html: Added.
        * fast/frames/flattening/frameset-flattening-subframe-resize.html: Added.
        * fast/frames/flattening/frameset-flattening-subframesets.html: Added.
        * fast/frames/flattening/resources/frameset-flattening-subframe-resize.html: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-advanced-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-grid-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-simple-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: Added.
        * platform/qt/fast/frames/flattening/frameset-flattening-subframesets-expected.txt: Added.

2010-02-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Changing display type of parent of input on focus causes input field to not receive key events
        https://bugs.webkit.org/show_bug.cgi?id=34620
        <rdar://problem/7584572>
        
        Testcase that tests input into a text field after changing layout.

        * fast/forms/restore-selection-after-layout-expected.txt: Added.
        * fast/forms/restore-selection-after-layout.html: Added.

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Dirk Schulze.
        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Modifying SVG path dumping to equal to other ports
        https://bugs.webkit.org/show_bug.cgi?id=33784

        Expected files updated.

        * platform/qt/svg/css/arrow-with-shadow-expected.txt:
        * platform/qt/svg/css/circle-in-mask-with-shadow-expected.txt:
        * platform/qt/svg/css/clippath-with-shadow-expected.txt:
        * platform/qt/svg/css/mask-with-shadow-expected.txt:
        * platform/qt/svg/css/path-with-shadow-expected.txt:
        * platform/qt/svg/css/stars-with-shadow-expected.txt:
        * platform/qt/svg/custom/empty-mask-expected.txt:
        * platform/qt/svg/custom/gradient-userSpaceOnUse-with-percentage-expected.txt:
        * platform/qt/svg/custom/marker-opacity-expected.txt:
        * platform/qt/svg/custom/marker-referencePoint-expected.txt:
        * platform/qt/svg/custom/marker-strokeWidth-changes-expected.txt:
        * platform/qt/svg/custom/mask-with-default-value-expected.txt:
        * platform/qt/svg/custom/relative-sized-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-shadow-tree-content-expected.txt:
        * platform/qt/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt:
        * platform/qt/svg/custom/relative-sized-use-on-symbol-expected.txt:
        * platform/qt/svg/custom/transformedMaskFails-expected.txt:
        * platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
        * platform/qt/svg/filters/feComposite-expected.txt:
        * platform/qt/svg/filters/feGaussianBlur-expected.txt:
        * platform/qt/svg/filters/feMerge-expected.txt:
        * platform/qt/svg/filters/feMerge-wrong-input-expected.txt:
        * platform/qt/svg/filters/feOffset-expected.txt:
        * platform/qt/svg/filters/feTile-expected.txt:
        * platform/qt/svg/filters/shadow-on-filter-expected.txt:
        * platform/qt/svg/filters/shadow-on-rect-with-filter-expected.txt:
        * platform/qt/svg/filters/subRegion-one-effect-expected.txt:
        * platform/qt/svg/filters/subRegion-two-effects-expected.txt:

2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Tor Arne Vestbø.

        [Qt] fast/css/dashboard-regions-attr-crash.html skipped,
        because ENABLE_DASHBOARD_SUPPORT=0 is the default option.

        * platform/qt/Skipped:

2010-02-05  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        send() should return false, after frame that opened a WebSokcet is detached
        https://bugs.webkit.org/show_bug.cgi?id=34630

        * websocket/tests/send-after-close-on-unload-expected.txt: Added.
        * websocket/tests/send-after-close-on-unload.html: Added.

2010-02-05  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24872
        Add a test to make sure copying from a list and pasting into a list
        keeps the list at the same indention level rather than nesting.

        * editing/pasteboard/paste-list-002-expected.txt: Added.
        * editing/pasteboard/paste-list-002.html: Added.

2010-02-04  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        should not crash when document opened websocket is unloaded
        https://bugs.webkit.org/show_bug.cgi?id=34562

        * websocket/tests/close-on-unload-and-force-gc-expected.txt: Added.
        * websocket/tests/close-on-unload-and-force-gc.html: Added.
        * websocket/tests/close-on-unload-reference-in-parent-expected.txt: Added.
        * websocket/tests/close-on-unload-reference-in-parent.html: Added.
        * websocket/tests/resources/close-on-unload-iframe-reference-in-parent.html: Added.

2010-02-04  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Shinichiro Hamaji.

        websocket/tests/close-on-unload.html failed on Mac Tiger
        https://bugs.webkit.org/show_bug.cgi?id=34563

        * platform/mac-tiger/Skipped: remove websocket/tests/close-on-unload*.html
        * websocket/tests/close-on-unload_wsh.py: use dict instead of set.

2010-01-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Alexey Proskuryakov and Darin Adler.

        REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
        https://bugs.webkit.org/show_bug.cgi?id=33383
        <rdar://problem/7559449>

        * fast/events/bogus-event-listener-invalidation-expected.txt: Added.
        * fast/events/bogus-event-listener-invalidation.html: Added.

2010-02-04  Tony Chang  <tony@chromium.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=25002
        When inserting a new paragraph, avoid nesting empty divs.  When
        pasting near the end of a paragraph, this prevents each paste
        command for getting nested one level deeper.

        Three paste tests have been rebaselined since this causes the pasted
        content to be outside the last div instead of inside.  E.g.,
        <div>foo<div>bar</div>[pasted content]</div> is now
        <div>foo<div>bar</div></div><div>[pasted content]</div>

        The new test verifies this behavior.

        * editing/inserting/paragraph-outside-nested-divs-expected.txt: Added.
        * editing/inserting/paragraph-outside-nested-divs.html: Added.
        * platform/mac/editing/pasteboard/paste-text-012-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-013-expected.txt:
        * platform/mac/editing/pasteboard/paste-text-017-expected.txt:

2010-02-04  Dumitru Daniliuc  <dumi@chromium.org>

        Reviewed by Eric Seidel.

        1. Enhance quota-tracking.html: if sqlite automatically rolls back
        a transaction because of a statement failure, make sure the rest
        of the statements in the transaction are not executed.
        2. Fix the expectations for quota-tracking.html. Sqlite cannot
        recover from reaching a DB's max size.

        * storage/quota-tracking-expected.txt:
        * storage/quota-tracking.html:

2010-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed typo fix for r54379.

        * platform/qt/Skipped:

2010-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        editing/pasteboard/drop-inputtext-acquires-style.html
        introduced in r54368 skipped because of missing DnD support.

        * platform/gtk/Skipped:
        * platform/qt/Skipped:

2010-02-04  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
        https://bugs.webkit.org/show_bug.cgi?id=34520

        * fast/dom/HTMLInputElement/cloned-input-checked-state-expected.txt: Added.
        * fast/dom/HTMLInputElement/cloned-input-checked-state.html: Added.

2010-02-04  Enrica Casucci  <enrica@apple.com>

        Reviewed by Oliver Hunt.

        REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
        <rdar://problem/7595685>
        https://bugs.webkit.org/show_bug.cgi?id=34609

        * editing/pasteboard/drop-inputtext-acquires-style-expected.txt: Added.
        * editing/pasteboard/drop-inputtext-acquires-style.html: Added.

2010-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Xan Lopez.

        [GTK] Crashes when an invalid hostname is pre-fetched
        https://bugs.webkit.org/show_bug.cgi?id=34602

        * http/tests/misc/dns-prefetch-control-expected.txt:
        * http/tests/misc/dns-prefetch-control.html: Add broken hostname test case.

2010-02-04  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Dan Bernstein.

        Add Windows expected results to the new scrollbar test because Windows was trying
        to compare to platform/mac first instead of cross-platform.

        * platform/win/fast/events/scrollbar-double-click-expected.txt: Added.

2010-02-04  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
        https://bugs.webkit.org/show_bug.cgi?id=34371

        * platform/mac/fast/events/scrollbar-double-click-expected.txt: Added.

2010-02-04  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/workers/shared-worker-frame-lifecycle.html failed on Qt Bot
        https://bugs.webkit.org/show_bug.cgi?id=34281

        * platform/qt/Skipped: fast/workers/shared-worker-frame-lifecycle.html skipped until fix.

2010-02-03  Fumitoshi Ukai  <ukai@chromium.org>

        Unreviewed fix.

        websocket/tests/close-on-unload.html and
        close-on-navigate-new-location.html will fail on mac tiger,
        because python on the platform doesn't support set(), which is
        used in websocket handler for these tests.

        * platform/mac-tiger/Skipped: skip websocket/tests/close-on-unload.html and websocket/tests/close-on-navigate-new-location.html

2010-02-03  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        navigating a frame to new location closes websocket in the frame
        https://bugs.webkit.org/show_bug.cgi?id=34557

        * websocket/tests/close-on-navigate-new-location-expected.txt: Added.
        * websocket/tests/close-on-navigate-new-location.html: Added.

2010-02-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
        <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550

        * fast/loader/document-with-fragment-url-1-expected.txt: Added.
        * fast/loader/document-with-fragment-url-1.html: Added.
        * fast/loader/document-with-fragment-url-2-expected.txt: Added.
        * fast/loader/document-with-fragment-url-2.html: Added.
        * fast/loader/document-with-fragment-url-3-expected.txt: Added.
        * fast/loader/document-with-fragment-url-3.html: Added.
        * fast/loader/document-with-fragment-url-4-expected.txt: Added.
        * fast/loader/document-with-fragment-url-4.html: Added.
        * fast/loader/resources/document-with-fragment-url-test.html: Added.

2010-02-03  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket should close the connection when unloading the document
        https://bugs.webkit.org/show_bug.cgi?id=33248

        * websocket/tests/close-on-unload-expected.txt: Added.
        * websocket/tests/close-on-unload.html: Added.
        * websocket/tests/close-on-unload_wsh.py: Added.
        * websocket/tests/resources/close-on-unload-iframe.html: Added.

2010-02-03  Adele Peterson  <adele@apple.com>

        Reviewed by Simon Fraser.

        Test for: <rdar://problem/7594212> 
        https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
        CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319

        * fast/css/counters/counter-before-selector-crash-expected.txt: Added.
        * fast/css/counters/counter-before-selector-crash.html: Added.

2010-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Ariya Hidayat.

        Roll back r53889 again, because roll out didn't solve flakeyness on the Windows Test bots
        https://bugs.webkit.org/show_bug.cgi?id=34399

        * platform/win/Skipped:

2010-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Ariya Hidayat.

        Rolling out r53889, because it might caused flakeyness on the Windows Test bots
        https://bugs.webkit.org/show_bug.cgi?id=34399

        * platform/win/Skipped:

2010-02-03  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Adam Barth.

        http/tests/security/xss-DENIED-window-open-javascript-url.html timed out on Windows Debug Bot
        https://bugs.webkit.org/show_bug.cgi?id=33349

        * platform/win/Skipped: http/tests/security/xss-DENIED-window-open-javascript-url.html skipped.

2010-02-02  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix a bug that changes for some constraint attributes doesn't
        update validation CSS selectors.
        https://bugs.webkit.org/show_bug.cgi?id=31716

        Add tests for maxLength changes and step changes.

        * fast/forms/input-live-pseudo-selectors-expected.txt:
        * fast/forms/resources/input-live-pseudo-selectors.js:
        * fast/forms/resources/textarea-live-pseudo-selectors.js:
        * fast/forms/textarea-live-pseudo-selectors-expected.txt:

2010-02-02  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Adele Peterson.

        Bug 34198 -  Ruby text should not inherit line-height
        (https://bugs.webkit.org/show_bug.cgi?id=34198)
        
        Resetting line-height to 'normal' in the default UA style sheet.
        Adding layout-test to check for this.

        * fast/ruby/script-tests: Added.
        * fast/ruby/script-tests/ruby-line-height.js: Added.
        * fast/ruby/ruby-line-height-expected.txt: Added.
        * fast/ruby/ruby-line-height.html: Added.

2010-02-02  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        rangeOverflow/rangeUnderflow support for type=datetime, datetime-local,
        month, time and week
        https://bugs.webkit.org/show_bug.cgi?id=34483

        Add tests for datetime, datetime-local, month, time and week, and
        merge existing tests into one test file.

        * fast/forms/ValidityState-rangeOverflow-date-expected.txt: Removed.
        * fast/forms/ValidityState-rangeOverflow-date.html: Removed.
        * fast/forms/ValidityState-rangeOverflow-expected.txt: Added.
        * fast/forms/ValidityState-rangeOverflow-number-expected.txt: Removed.
        * fast/forms/ValidityState-rangeOverflow-number.html: Removed.
        * fast/forms/ValidityState-rangeOverflow-range-expected.txt: Removed.
        * fast/forms/ValidityState-rangeOverflow-range.html: Removed.
        * fast/forms/ValidityState-rangeOverflow.html: Added.
        * fast/forms/ValidityState-rangeUnderflow-date-expected.txt: Removed.
        * fast/forms/ValidityState-rangeUnderflow-date.html: Removed.
        * fast/forms/ValidityState-rangeUnderflow-expected.txt: Added.
        * fast/forms/ValidityState-rangeUnderflow-number-expected.txt: Removed.
        * fast/forms/ValidityState-rangeUnderflow-number.html: Removed.
        * fast/forms/ValidityState-rangeUnderflow-range-expected.txt: Removed.
        * fast/forms/ValidityState-rangeUnderflow-range.html: Removed.
        * fast/forms/ValidityState-rangeUnderflow.html: Added.
        * fast/forms/script-tests/ValidityState-rangeOverflow-date.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeOverflow-number.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeOverflow-range.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeOverflow.js: Added.
        * fast/forms/script-tests/ValidityState-rangeUnderflow-date.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeUnderflow-number.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeUnderflow-range.js: Removed.
        * fast/forms/script-tests/ValidityState-rangeUnderflow.js: Added.

2010-02-02  James Robinson  <jamesr@chromium.org>

        Reviewed by Dmitry Titov.

        Test that the combination of border-bottom:1px; and -webkit-gradient(linear) doesn't crash
        https://bugs.webkit.org/show_bug.cgi?id=34510

        * fast/gradients/crash-on-1px-border.html: Added.

2010-02-02  Fumitoshi Ukai  <ukai@chromium.org> 
        Reviewed by Alexey Proskuryakov.

        WebSocket wrapper can be collected even if events are pending
        https://bugs.webkit.org/show_bug.cgi?id=34014

        * websocket/tests/websocket-pending-activity-expected.txt: Added.
        * websocket/tests/websocket-pending-activity.html: Added.

2010-02-02  Eric Seidel  <eric@webkit.org>

        Reviewed by Gustavo Noronha Silva.

        http/tests/incremental/split-hex-entities.pl timed out on Gtk Linux 32-bit Debug Bot
        https://bugs.webkit.org/show_bug.cgi?id=33445

        * platform/gtk/Skipped: Skip this test to keep the bots green until someone with Gtk knowledge can examine why it intermittently times out.

2010-02-02  Hayato Ito  <hayato@chromium.org>

        Reviewed by Darin Adler.

        Move misplaced JS files to the proper location.

        https://bugs.webkit.org/show_bug.cgi?id=34256

        * fast/events/script-tests/basic-touch-events.js: Removed.
        * fast/events/script-tests/create-touch-event.js: Removed.
        * fast/events/script-tests/send-oncancel-event.js: Removed.
        * fast/events/touch/basic-touch-events.html:
        * fast/events/touch/create-touch-event.html:
        * fast/events/touch/script-tests: Added.
        * fast/events/touch/script-tests/TEMPLATE.html: Copied from LayoutTests/fast/events/script-tests/TEMPLATE.html.
        * fast/events/touch/script-tests/basic-touch-events.js: Copied from LayoutTests/fast/events/script-tests/basic-touch-events.js.
        * fast/events/touch/script-tests/create-touch-event.js: Copied from LayoutTests/fast/events/script-tests/create-touch-event.js.
        * fast/events/touch/script-tests/send-oncancel-event.js: Copied from LayoutTests/fast/events/script-tests/send-oncancel-event.js.
        * fast/events/touch/send-oncancel-event.html:

2010-02-02  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=34076
        <rdar://problem/7594601> Crash in mangleme in WebCore::Element::getAttribute

        * fast/forms/misplaced-img-form-registration-expected.txt: Added.
        * fast/forms/misplaced-img-form-registration.html: Added.

2010-02-02  Adam Roben  <aroben@apple.com>

        Stop skipping some tests that were failing due to buggy versions of
        CFNetwork

        Rubber-stamped by Eric Carlson.

        * platform/win/Skipped:

2010-02-02  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] fast/frames/set-unloaded-frame-location.html timed out on Qt Linux Release Build Bot
        https://bugs.webkit.org/show_bug.cgi?id=33303

        fast/frames/sandboxed-iframe-navigation-windowopen.html made fast/frames/set-unloaded-frame-location.html
        time out, but now it works correctly, so we can unskip the test.

        * platform/qt/Skipped: fast/frames/sandboxed-iframe-navigation-windowopen.html unskipped.

2010-02-01  Brian Weinstein  <bweinstein@apple.com>

        Check in new expected results for a test that has been failing on Windows
        since it was originally landed. This appears to be a font issue, but commenting
        on bug <https://bugs.webkit.org/show_bug.cgi?id=34234> to make sure.

        * platform/win/fast/text/international/hebrew-vowels-expected.txt: Added.

2010-02-01  Dmitry Titov  <dimich@chromium.org>

        Not reviewed, revert r54194 that fails new test on Qt and Chromium.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * fast/frames/iframe-reparenting-new-page-expected.txt: Removed.
        * fast/frames/iframe-reparenting-new-page.html: Removed.
        * fast/frames/resources/iframe-reparenting-new-page-1.html: Removed.
        * fast/frames/resources/iframe-reparenting-new-page-2.html: Removed.
        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Removed.
        * fast/frames/script-tests/TEMPLATE.html: Removed.
        * fast/frames/script-tests/iframe-reparenting-new-page.js: Removed.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Eric Seidel.

        Provide a way to get page number with layoutTestController
        https://bugs.webkit.org/show_bug.cgi?id=33840

        * platform/gtk/Skipped:
        * platform/mac/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:
        * printing/page-break-always-expected.txt: Added.
        * printing/page-break-always.html: Added.
        * printing/pageNumerForElementById-expected.txt: Added.
        * printing/pageNumerForElementById.html: Added.
        * printing/script-tests/TEMPLATE.html: Added.
        * printing/script-tests/page-break-always.js: Added.
        (createParagraph):
        * printing/script-tests/pageNumerForElementById.js: Added.
        (createParagraph):

2010-02-01  Daniel Bates  <dbates@webkit.org>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=27312

        Tests that the header "X-XSS-Protection: full-block" leads to a full page block
        when an XSS attack is detected.

        * http/tests/security/xssAuditor/full-block-base-href-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-base-href.html: Added.
        * http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-get-from-iframe.html: Added.
        * http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-iframe-javascript-url.html: Added.
        * http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-iframe-no-inherit.php: Added.
        * http/tests/security/xssAuditor/full-block-javascript-link-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-javascript-link.html: Added.
        * http/tests/security/xssAuditor/full-block-link-onclick-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-link-onclick.html: Added.
        * http/tests/security/xssAuditor/full-block-object-tag-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-object-tag.html: Added.
        * http/tests/security/xssAuditor/full-block-post-from-iframe-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-post-from-iframe.html: Added.
        * http/tests/security/xssAuditor/full-block-script-tag-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt: Added.
        * http/tests/security/xssAuditor/full-block-script-tag-with-source.html: Added.
        * http/tests/security/xssAuditor/full-block-script-tag.html: Added.
        * http/tests/security/xssAuditor/malformed-xss-protection-header-expected.txt: Added.
        * http/tests/security/xssAuditor/malformed-xss-protection-header.html: Added.
        * http/tests/security/xssAuditor/resources/echo-head-base-href.pl: Modified to optionally
        enable full page blocking.
        * http/tests/security/xssAuditor/resources/echo-intertag-click-and-notify.pl: Ditto.
        * http/tests/security/xssAuditor/resources/echo-intertag.pl: Ditto.
        * http/tests/security/xssAuditor/resources/utilities.js:
        (checkIfFrameLocationMatchesURLAndCallDone): Added.
        (sendRequestFromIFrame): Modified to optionally call callback function when done.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Dmitry Titov.

        Convert textarea-rows-cols.html to dumpAsText()
        https://bugs.webkit.org/show_bug.cgi?id=34074

        Remove checks for the size of scrollbar as scrollbar doesn't
        appear on Windows.

        * fast/forms/script-tests/textarea-rows-cols.js:
        * fast/forms/textarea-rows-cols-expected.txt:

2010-02-01  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Date.UTC() should apply TimeClip operation.
        https://bugs.webkit.org/show_bug.cgi?id=34461

        Add tests for corner cases of Date.UTC().

        * fast/js/date-utc-timeclip-expected.txt: Added.
        * fast/js/date-utc-timeclip.html: Added.
        * fast/js/script-tests/date-utc-timeclip.js: Added.

2010-02-01  Kent Tamura  <tkent@chromium.org>

        Unreviewed. Add two more test cases which I forgot to add in r54197.
        https://bugs.webkit.org/show_bug.cgi?id=34462

        * fast/js/math-expected.txt:
        * fast/js/script-tests/math.js:

2010-02-01  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix a bug that Math.round() retunrs incorrect results for huge integers
        https://bugs.webkit.org/show_bug.cgi?id=34462

        * fast/js/math-expected.txt:
        * fast/js/script-tests/math.js: Add test cases for Math.round() for huge numbers.

2010-02-01  Dmitry Titov  <dimich@chromium.org>

        Reviewed by David Levin.

        When a live iframe element is moved between pages, it still depends on the old page.
        https://bugs.webkit.org/show_bug.cgi?id=34382

        * fast/frames/iframe-reparenting-new-page-expected.txt: Added.
        * fast/frames/iframe-reparenting-new-page.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-1.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-2.html: Added.
        * fast/frames/resources/iframe-reparenting-new-page-iframe.html: Added.

2010-02-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Tim Hatcher.

        Add common IRC ports to port blocking.
        <rdar://problem/7593895> and https://bugs.webkit.org/show_bug.cgi?id=34451
        * platform/mac-tiger/security/block-test-expected.txt:
        * platform/mac/security/block-test-expected.txt:
        * security/block-test.html:

2010-02-01  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig.

        Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds

        * http/tests/security/isolatedWorld/resources/userGestureEvents-second-window.html: Added.
        * http/tests/security/isolatedWorld/userGestureEvents-expected.txt: Added.
        * http/tests/security/isolatedWorld/userGestureEvents.html: Added.

2010-02-01  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION: editing/selection/doubleclick-beside-cr-span.html times out on Windows
        https://bugs.webkit.org/show_bug.cgi?id=34069

        Make the sleep time shorter as this test timed out on Windows bot.

        * editing/selection/doubleclick-beside-cr-span.html:

2010-02-01  Diego Gonzalez  <diego.gonzalez@openbossa.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] DRT Provide global flag ability
        https://bugs.webkit.org/show_bug.cgi?id=34418

        Add the globalFlag property to the Qt LayoutTestController to allow
        cross-domain indications.

        * platform/qt/Skipped:

2010-02-01  Brian Weinstein  <bweinstein@apple.com>

        Rubber-stamped by Oliver Hunt.

        Check in (failing) expected results for fast/dom/Window/window-postmessage-clone-frames.
        This fails because of <rdar://problem/5230396> eventSender.beginDragWithFiles is unimplemented.

        * platform/win/fast/dom/Window/window-postmessage-clone-frames-expected.txt: Added.

2010-02-01  Eric Carlson  <eric.carlson@apple.com>

        No review, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=34447
        http/tests/media/video-referer.html fails on Windows

        * platform/win/Skipped:

2010-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed trivial fix.
        Platform dependent expected file updated after r54143.

        * platform/qt/fast/dom/Window/window-properties-expected.txt:

2010-02-01  Brady Eidson  <beidson@apple.com>

        Reviewed by Adele Peterson.

        Crash in Safari opening new tabs to "same page"
        <rdar://problem/7593857> and https://bugs.webkit.org/show_bug.cgi?id=34444

        * fast/loader/crash-copying-backforwardlist-expected.txt: Added.
        * fast/loader/crash-copying-backforwardlist.html: Added.
        * platform/gtk/Skipped:
        * platform/qt/Skipped:
        * platform/win/Skipped:

2010-02-01  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        Fullscreen API should be on HTMLVideoElement
        https://bugs.webkit.org/show_bug.cgi?id=34438

        Update fullscreen tests now that <audio> doesn't have fullscreen API.

        * fast/dom/Window/window-properties-expected.txt:
        * media/media-fullscreen-inline-expected.txt:
        * media/media-fullscreen-not-in-document-expected.txt:
        * media/media-fullscreen.js:
        (buttonClickHandler):
        (canplaythrough):

2010-02-01  Ben Murdoch  <benm@google.com>

        Reviewed by Darin Adler.

        ScriptCallFrame's do not get line numbers/source id's if the caller is unkown.
        https://bugs.webkit.org/show_bug.cgi?id=34335

        Update layout tests that did not have source and line number information for their console messages, as this information is now available to the ScriptCallFrame and thus can be passed to the inspector, for example.

        * fast/js/console-non-string-values-expected.txt: Add console line number/source.
        * userscripts/script-not-run-for-fragments-expected.txt: ditto.
        * userscripts/script-run-at-start-expected.txt: ditto.
        * platform/gtk/inspector/console-log-before-inspector-open-expected.txt: Removed as platform workarounds no longer necessary.
        * platform/mac/inspector/console-log-before-inspector-open-expected.txt: ditto.
        * platform/win/inspector/console-log-before-inspector-open-expected.txt: ditto.
 

2010-02-01  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by Kenneth Rohde Christiansen.

        [Qt] Platform dependent expected file added for test introduced in r53868,
        because this test passes. Compared to png file and Mac expected file.

        * platform/qt/fast/lists/anonymous-items-expected.txt: Added.

2010-02-01  Oliver Hunt  <oliver@apple.com>

        Reviewed by Maciej Stachowiak.

        JSC is failing to propagate anonymous slot count on some transitions
        https://bugs.webkit.org/show_bug.cgi?id=34321

        Add test case for modifying DOM objects with anonymous storage.

        * fast/dom/Window/anonymous-slot-with-changes-expected.txt: Added.
        * fast/dom/Window/anonymous-slot-with-changes.html: Added.

2010-01-31  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        [Win] Fix a bug of round() with huge integral numbers
        https://bugs.webkit.org/show_bug.cgi?id=34297

        Add a test case to call round(8639999913600001).

        * fast/forms/input-valueasnumber-datetime-expected.txt:
        * fast/forms/script-tests/input-valueasnumber-datetime.js:

2010-01-31  Kent Tamura  <tkent@chromium.org>

        Reviewed by Darin Adler.

        Fix valueAsNumber calculation for type=month.
        https://bugs.webkit.org/show_bug.cgi?id=34304

        valueAsNumber calculation for type=month which was checked in as
        r53893 was the number of milliseconds since UNIX epoch, and it was
        wrong. The correct way is the number months since UNIX epoch.

        * fast/forms/input-valueasnumber-month-expected.txt:
        * fast/forms/script-tests/input-valueasnumber-month.js:

2010-01-28  Ojan Vafai  <ojan@chromium.org>

        Reviewed by Darin Adler.

        Implement CSSOM Range.getClientRects for collapsed selections
        https://bugs.webkit.org/show_bug.cgi?id=34239

        Adds two cases to getClientRects test. 

        * fast/dom/Range/getClientRects-expected.txt:
        * fast/dom/Range/getClientRects.html:

2010-01-31  Oliver Hunt  <oliver@apple.com>

        Reviewed by Simon Fraser.

        Animated scaling of background-image is too slow
        https://bugs.webkit.org/show_bug.cgi?id=33808

        Update checksum.

        * platform/mac/fast/backgrounds/size/backgroundSize16-expected.checksum:

2010-01-30  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        Do color animations on premultiplied colors
        https://bugs.webkit.org/show_bug.cgi?id=34383
        
        Testcase for animating from transparent colors.

        * transitions/color-transition-premultiplied-expected.txt: Added.
        * transitions/color-transition-premultiplied.html: Added.

== Rolled over to ChangeLog-2010-01-29 ==
