2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        When compositing is enabled, painting and hit testing end up using different
        clipping roots, because, for painting, every composited layer is a clipping root,
        but for hit testing only layers with transforms are. To fix this, we use
        temporary clip rects for hit testing, if the page is in compositing mode.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt

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

        When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect
        into the coordinate space of the layer, and doing so can result in pathalogical quads
        that break hit testing. In that case, simply use the same bounds as used for painting,
        which are the composited bounds for this layer.

        Test: transforms/3d/hit-testing/rotated-hit-test.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTestLayer):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly

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

        Reviewed by Darin Adler.

WebCore:

        Test: fast/frames/iframe-no-src-set-location.html

        * dom/Document.cpp:
        (WebCore::Document::completeURL): If m_baseURL is empty or is
        about:blank and we have a parent document, use the parent
        document's URL for the base when completing a new URL.

LayoutTests:

        * fast/frames/iframe-no-src-set-location-expected.txt: Added.
        * fast/frames/iframe-no-src-set-location.html: Added.
        * fast/frames/resources/iframe-no-src-set-location-pass.html: Copied from LayoutTests/fast/dom/Document/early-document-access-expected.txt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Correct warnings which in some environments are treated as errors.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Pamela Greene  <pam@chromium.org>

        Reviewed by Sam Weinig.

        Add tests of font choices and metrics, to isolate those dependencies.

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

        * fonts: Added.
        * fonts/cursive.html: Added.
        * fonts/default.html: Added.
        * fonts/fantasy.html: Added.
        * fonts/monospace.html: Added.
        * fonts/sans-serif.html: Added.
        * fonts/serif.html: Added.
        * platform/mac/fonts: Added.
        * platform/mac/fonts/cursive-expected.checksum: Added.
        * platform/mac/fonts/cursive-expected.png: Added.
        * platform/mac/fonts/cursive-expected.txt: Added.
        * platform/mac/fonts/default-expected.checksum: Added.
        * platform/mac/fonts/default-expected.png: Added.
        * platform/mac/fonts/default-expected.txt: Added.
        * platform/mac/fonts/fantasy-expected.checksum: Added.
        * platform/mac/fonts/fantasy-expected.png: Added.
        * platform/mac/fonts/fantasy-expected.txt: Added.
        * platform/mac/fonts/monospace-expected.checksum: Added.
        * platform/mac/fonts/monospace-expected.png: Added.
        * platform/mac/fonts/monospace-expected.txt: Added.
        * platform/mac/fonts/sans-serif-expected.checksum: Added.
        * platform/mac/fonts/sans-serif-expected.png: Added.
        * platform/mac/fonts/sans-serif-expected.txt: Added.
        * platform/mac/fonts/serif-expected.checksum: Added.
        * platform/mac/fonts/serif-expected.png: Added.
        * platform/mac/fonts/serif-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use a different platform search path for tests and skip lists, so that Tiger doesn't end up
using the Leopard skip list.  Tests and skip lists are now looked for in the directory for
the current OS and the generic "mac" directory.  Tests and skip lists for newer OS versions are
ignored.

Reviewed by Sam Weinig.

* Scripts/run-webkit-tests:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41956 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip some more media tests for now.

* platform/mac-snowleopard/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the list of files touched in r41951 in the Changelog.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip fast/forms/search-zoomed.html as it currently fails due to <rdar://problem/6718460>.

Rubber-stamped by Sam Weinig.

* platform/mac-snowleopard/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41959 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Adam Langley  <agl@google.com>

        Reviewed by Darin Fisher.

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

        The Skia drawLine function takes subpixel values and attempts to draw
        a line with subpixel precision. This is complex and slow for drawing
        scrollbars which use only vertical and horizontal lines.

        This changes the Chromium Linux scrollbar code to use drawIRect.

        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit):
        (WebCore::drawVertLine):
        (WebCore::drawHorizLine):
        (WebCore::drawBox):
        (WebCore::ScrollbarThemeChromium::paintTrackPiece):
        (WebCore::ScrollbarThemeChromium::paintThumb):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41960 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!)

        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create): Added a null check.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore:

2009-03-24  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=24707
        <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

        * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed):
        After breaking out of an empty mail blockquote, we still want continue with the deletion
        so actual content will get deleted, and not just the quote style.

LayoutTests:

2009-03-24  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Updated tests for https://bugs.webkit.org/show_bug.cgi?id=24707
        <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line

        * editing/deleting/2610675-1-expected.txt:
        * editing/deleting/2610675-1.html:
        * editing/deleting/2610675-2-expected.txt:
        * editing/deleting/2610675-2.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti Koivisto.

        Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies

        *  WebCore/html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having
        network state of NETWORK_NO_SOURCE.

        *  WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since
        some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK
        corresponds to HaveFutureData, not HaveEnoughData.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-24  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Move variable into proper platform block to quiet warning.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skip some more tests that are failing.

Rubber-stamped by Oliver Hunt.

* platform/mac-snowleopard/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Explicitly map NSNotFound to -1 so that the result of-characterIndexForPointX:Y: does not differ between 32- and 64-bit.

Reviewed by Jon "The Most Boring Man in the World" Honeycutt.

* DumpRenderTree/mac/TextInputController.m:
(-[TextInputController characterIndexForPointX:Y:]):

Update test result for change to explicitly map NSNotFound to -1 in textInputController.characterIndexForPoint.

* platform/mac/fast/dom/character-index-for-point-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the Tiger build.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the Tiger build some more.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-23  Alejandro Garcia Castro  <alex@igalia.com>

        Reviewed by Holger Freyther.

        [Gtk] Current API does not allow us to open target="_blank" links
        in new tabs instead of windows
        https://bugs.webkit.org/show_bug.cgi?id=23932

        Added a signal to the API (new-window-policy-decision-requested)
        that allows the browser to decide the policy for the new window
        request, if the signal is not handled we open the new window as
        usual.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:
        (WebKit::getNavigationAction):
        (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        * webkit/webkitwebview.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2009-03-25  Eli Fidler  <eli.fidler@torchmobile.com>

        Reviewed by George Staikos.

        Fix ambiguous else cases by adding braces to nested if()s with elses.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41970 268f45cc-cd09-0410-ab3c-d52691b4dbfc