<rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe...
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 21 Feb 2011 03:06:48 +0000 (03:06 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 21 Feb 2011 03:06:48 +0000 (03:06 +0000)
commitd2e3585feedbcc786a8c74e6ad5af3ece8ce4a3d
tree6ae40ff4ff7ddf5209f4fe937a35e0601533e887
parent01ba300d80522f77f1c292ab7cf33b3f64b304e5
<rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor

Reviewed by Maciej Stachowiak.

Source/WebCore:

Test: fast/frames/iframe-scale-applied-twice.html

* page/FrameView.cpp:
(WebCore::FrameView::create): Set the initial bounds of the view to match the
frame size.
* platform/ScrollView.cpp:
(WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
(WebCore::ScrollView::updateScrollbars): Ditto.
(WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
change to setBoundsSize().
(WebCore::ScrollView::setBoundsSize): Added.
(WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
not update anything.
(WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
(WebCore::ScrollView::scrollbarCornerPresent): Ditto.
* platform/ScrollView.h:
(WebCore::ScrollView::boundsSize): Added this getter.
* platform/Widget.h:
(WebCore::Widget::resize): Set the bounds size to the frame size.
* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
path where the buffer rect was resized to capture only the damaged part, but was
still drawn in the original location.

LayoutTests:

* fast/frames/iframe-scale-applied-twice-expected.txt: Added.
* fast/frames/iframe-scale-applied-twice.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/fast/frames/iframe-scale-applied-twice-expected.txt [new file with mode: 0644]
LayoutTests/fast/frames/iframe-scale-applied-twice.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/page/FrameView.cpp
Source/WebCore/platform/ScrollView.cpp
Source/WebCore/platform/ScrollView.h
Source/WebCore/platform/Widget.h
Source/WebCore/platform/mac/ScrollbarThemeMac.mm