Correct FrameView::scrollableAreaBoundingBox() calculation in the presence of transforms
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Jan 2013 00:51:30 +0000 (00:51 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Jan 2013 00:51:30 +0000 (00:51 +0000)
commitbb39e3fb491f11c2888df413fe9617e38614d34d
treede03d87c2d1f1df9295ea81f54ef84fc2b380196
parent92382f17b70be3a4e38842b15c6b965514ee22ca
Correct FrameView::scrollableAreaBoundingBox() calculation in the presence of transforms
https://bugs.webkit.org/show_bug.cgi?id=105075

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-14
Reviewed by Simon Fraser.

As mentioned by the FIXME comment, we need to ask the renderer for the
absolute bounding box of a frame for correct transformation.
This fixes the bug that iframe cannot be scrolled properly when it is
transformed.

Source/WebCore:

Tests: scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html
       scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html

* page/FrameView.cpp:
(WebCore::FrameView::scrollableAreaBoundingBox):

LayoutTests:

* platform/mac/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added.
* platform/mac/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
* platform/mac/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added.
* platform/mac/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.
* scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added.
* scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
* scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html: Added.
* scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added.
* scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.
* scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html: Added.
* scrollingcoordinator/resources/non-fast-scrollable-region-testing.js: Added.
(runNonFastScrollableRegionTest):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@139686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed:
LayoutTests/ChangeLog
LayoutTests/platform/mac/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt [new file with mode: 0644]
LayoutTests/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png [new file with mode: 0644]
LayoutTests/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt [new file with mode: 0644]
LayoutTests/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe.html [new file with mode: 0644]
LayoutTests/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png [new file with mode: 0644]
LayoutTests/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt [new file with mode: 0644]
LayoutTests/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe.html [new file with mode: 0644]
LayoutTests/scrollingcoordinator/resources/non-fast-scrollable-region-testing.js [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/page/FrameView.cpp