Skip to content
  • commit-queue@webkit.org's avatar
    [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset. · 9dc3f4b2
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=83428
    
    Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-04-12
    Reviewed by Kenneth Rohde Christiansen.
    
    Source/WebCore:
    
    When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
    coordinates. It is already done at ScrollView base class and this patch copies the logic to the
    FrameView subclass.
    Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
    
    Test: touchadjustment/iframe-with-mainframe-scroll-offset.html
    
    * page/EventHandler.cpp:
    (WebCore::EventHandler::bestClickableNodeForTouchPoint):
    (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
    * page/EventHandler.h:
    (EventHandler):
    * page/FrameView.cpp:
    (WebCore::FrameView::convertFromRenderer):
    (WebCore::FrameView::convertToRenderer):
    * page/GestureTapHighlighter.cpp:
    * testing/Internals.cpp:
    (WebCore::Internals::setDelegatesScrolling):
    (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
    (WebCore::Internals::bestZoomableAreaForTouchPoint):
    * testing/Internals.h:
    (Internals):
    * testing/Internals.idl:
    
    Source/WebKit2:
    
    When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
    coordinates. It is already done at ScrollView base class and this patch copies the logic to the
    FrameView subclass.
    Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
    
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::highlightPotentialActivation):
    (WebKit::WebPage::findZoomableAreaForPoint):
    
    LayoutTests:
    
    * touchadjustment/scroll-delegation/iframe-with-mainframe-scroll-offset-expected.txt: Added.
    * touchadjustment/scroll-delegation/iframe-with-mainframe-scroll-offset.html: Added.
    * touchadjustment/zoom-basic.html:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@113962 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    9dc3f4b2