Changeset 84454 in webkit
- Timestamp:
- Apr 20, 2011 7:13:10 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r84451 r84454 1 2011-04-20 Dan Bernstein <mitz@apple.com> 2 3 Reviewed by Maciej Stachowiak. 4 5 <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails 6 https://bugs.webkit.org/show_bug.cgi?id=59046 7 8 * fast/transforms/selection-bounds-in-transformed-view-expected.txt: Added. 9 * fast/transforms/selection-bounds-in-transformed-view.html: Added. 10 1 11 2011-04-20 Dirk Pranke <dpranke@chromium.org> 2 12 -
trunk/Source/WebCore/ChangeLog
r84452 r84454 1 2011-04-20 Dan Bernstein <mitz@apple.com> 2 3 Reviewed by Maciej Stachowiak. 4 5 <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails 6 https://bugs.webkit.org/show_bug.cgi?id=59046 7 8 Test: fast/transforms/selection-bounds-in-transformed-view.html 9 10 * rendering/RenderObject.cpp: 11 (WebCore::RenderObject::repaintUsingContainer): If the repaint container is the RenderView, and 12 it has a composited layer that paints straight to the window, then translate from view coordinates 13 to window coordinates here. 14 * rendering/RenderView.cpp: 15 (WebCore::RenderView::mapLocalToContainer): Do not apply our transform if we are the painting root. 16 (WebCore::RenderView::computeRectForRepaint): Ditto. Applying the transform here was compensating 17 for not applying it in RenderObject::repaintUsingContainer(), but for purposes other than repainting, 18 such as computing selection bounds, this function was returning the wrong results. 19 1 20 2011-04-20 Dan Bernstein <mitz@apple.com> 2 21 -
trunk/Source/WebCore/rendering/RenderObject.cpp
r84273 r84454 1158 1158 if (repaintContainer->isRenderView()) { 1159 1159 ASSERT(repaintContainer == v); 1160 if (!v->hasLayer() || !v->layer()->isComposited() || v->layer()->backing()->paintingGoesToWindow()) { 1161 v->repaintViewRectangle(r, immediate); 1160 bool viewHasCompositedLayer = v->hasLayer() && v->layer()->isComposited(); 1161 if (!viewHasCompositedLayer || v->layer()->backing()->paintingGoesToWindow()) { 1162 IntRect repaintRectangle = r; 1163 if (viewHasCompositedLayer && v->layer()->transform()) 1164 repaintRectangle = v->layer()->transform()->mapRect(r); 1165 v->repaintViewRectangle(repaintRectangle, immediate); 1162 1166 return; 1163 1167 } -
trunk/Source/WebCore/rendering/RenderView.cpp
r83140 r84454 141 141 // If a container was specified, and was not 0 or the RenderView, 142 142 // then we should have found it by now. 143 ASSERT_ UNUSED(repaintContainer, !repaintContainer || repaintContainer == this);144 145 if ( useTransforms && shouldUseTransformFromContainer(0)) {143 ASSERT_ARG(repaintContainer, !repaintContainer || repaintContainer == this); 144 145 if (!repaintContainer && useTransforms && shouldUseTransformFromContainer(0)) { 146 146 TransformationMatrix t; 147 147 getTransformFromContainer(0, IntSize(), t); … … 300 300 // If a container was specified, and was not 0 or the RenderView, 301 301 // then we should have found it by now. 302 ASSERT_ UNUSED(repaintContainer, !repaintContainer || repaintContainer == this);302 ASSERT_ARG(repaintContainer, !repaintContainer || repaintContainer == this); 303 303 304 304 if (printing()) … … 318 318 319 319 // Apply our transform if we have one (because of full page zooming). 320 if ( m_layer && m_layer->transform())320 if (!repaintContainer && m_layer && m_layer->transform()) 321 321 rect = m_layer->transform()->mapRect(rect); 322 322 }
Note: See TracChangeset
for help on using the changeset viewer.