Changeset 86196 in webkit
- Timestamp:
- May 10, 2011 5:06:35 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r86195 r86196 1 2011-05-10 Emil A Eklund <eae@chromium.org> 2 3 Reviewed by Eric Seidel. 4 5 Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer 6 https://bugs.webkit.org/show_bug.cgi?id=60409 7 8 Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes. 9 10 Refactoring, covered by existing tests. 11 12 * rendering/RenderLayer.cpp: 13 (WebCore::RenderLayer::RenderLayer): 14 (WebCore::RenderLayer::updateLayerPositions): 15 (WebCore::RenderLayer::updateLayerPosition): 16 (WebCore::RenderLayer::scrollTo): 17 (WebCore::RenderLayer::visibleHeight): 18 (WebCore::RenderLayer::visibleWidth): 19 (WebCore::RenderLayer::scrollWidth): 20 (WebCore::RenderLayer::scrollHeight): 21 (WebCore::RenderLayer::computeScrollDimensions): 22 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 23 * rendering/RenderLayer.h: 24 (WebCore::RenderLayer::x): 25 (WebCore::RenderLayer::y): 26 (WebCore::RenderLayer::setLocation): 27 (WebCore::RenderLayer::width): 28 (WebCore::RenderLayer::height): 29 (WebCore::RenderLayer::size): 30 (WebCore::RenderLayer::setWidth): 31 (WebCore::RenderLayer::setHeight): 32 (WebCore::RenderLayer::scrolledContentOffset): 33 (WebCore::RenderLayer::scrollXOffset): 34 (WebCore::RenderLayer::scrollYOffset): 35 (WebCore::RenderLayer::scrollOffset): 36 (WebCore::RenderLayer::scrollToXOffset): 37 (WebCore::RenderLayer::scrollToYOffset): 38 (WebCore::RenderLayer::relativePositionOffset): 39 1 40 2011-05-10 Levi Weintraub <leviw@chromium.org> 2 41 -
trunk/Source/WebCore/rendering/RenderLayer.cpp
r86195 r86196 136 136 , m_first(0) 137 137 , m_last(0) 138 , m_relX(0)139 , m_relY(0)140 , m_x(0)141 , m_y(0)142 , m_width(0)143 , m_height(0)144 , m_scrollX(0)145 , m_scrollY(0)146 , m_scrollLeftOverflow(0)147 , m_scrollTopOverflow(0)148 , m_scrollWidth(0)149 , m_scrollHeight(0)150 138 , m_inResizeMode(false) 151 139 , m_posZOrderList(0) … … 283 271 oldCachedOffset = *cachedOffset; 284 272 // Frequently our parent layer's renderer will be the same as our renderer's containing block. In that case, 285 // we just update the cache using our offset to our parent (which is m_ x / m_y).Otherwise, regenerated cached273 // we just update the cache using our offset to our parent (which is m_topLeft). Otherwise, regenerated cached 286 274 // offsets to the root from the render tree. 287 275 if (!m_parent || m_parent->renderer() == renderer()->containingBlock()) 288 cachedOffset->move(m_ x, m_y); // Fast case276 cachedOffset->move(m_topLeft.x(), m_topLeft.y()); // Fast case 289 277 else { 290 278 int x = 0; … … 720 708 } 721 709 722 m_relX = m_relY = 0;723 710 if (renderer()->isRelPositioned()) { 724 m_relX = renderer()->relativePositionOffsetX(); 725 m_relY = renderer()->relativePositionOffsetY(); 726 localPoint.move(m_relX, m_relY); 711 m_relativeOffset = renderer()->relativePositionOffset(); 712 localPoint.move(m_relativeOffset); 713 } else { 714 m_relativeOffset = IntSize(); 727 715 } 728 716 … … 1339 1327 // is either occluded by another layer or clipped by an enclosing 1340 1328 // layer or contains fixed backgrounds, etc.). 1341 int newScrollX = x - m_scrollOrigin.x(); 1342 int newScrollY = y - m_scrollOrigin.y(); 1343 if (m_scrollY == newScrollY && m_scrollX == newScrollX) 1344 return; 1345 m_scrollX = newScrollX; 1346 m_scrollY = newScrollY; 1329 IntSize newScrollOffset = IntSize(x - m_scrollOrigin.x(), y - m_scrollOrigin.y()); 1330 if (m_scrollOffset == newScrollOffset) 1331 return; 1332 m_scrollOffset = newScrollOffset; 1347 1333 1348 1334 // Update the positions of our child layers. Don't have updateLayerPositions() update … … 1787 1773 int RenderLayer::visibleHeight() const 1788 1774 { 1789 return m_ height;1775 return m_layerSize.height(); 1790 1776 } 1791 1777 1792 1778 int RenderLayer::visibleWidth() const 1793 1779 { 1794 return m_ width;1780 return m_layerSize.width(); 1795 1781 } 1796 1782 … … 2037 2023 if (m_scrollDimensionsDirty) 2038 2024 computeScrollDimensions(); 2039 return m_scroll Width;2025 return m_scrollSize.width(); 2040 2026 } 2041 2027 … … 2044 2030 if (m_scrollDimensionsDirty) 2045 2031 computeScrollDimensions(); 2046 return m_scroll Height;2032 return m_scrollSize.height(); 2047 2033 } 2048 2034 … … 2086 2072 m_scrollDimensionsDirty = false; 2087 2073 2088 m_scroll LeftOverflow = overflowLeft() - box->borderLeft();2089 m_scroll TopOverflow = overflowTop() - box->borderTop();2090 2091 m_scroll Width = overflowRight() - overflowLeft();2092 m_scroll Height = overflowBottom() - overflowTop();2093 2094 m_scrollOrigin = IntPoint(-m_scroll LeftOverflow, -m_scrollTopOverflow);2074 m_scrollOverflow.setWidth(overflowLeft() - box->borderLeft()); 2075 m_scrollOverflow.setHeight(overflowTop() - box->borderTop()); 2076 2077 m_scrollSize.setWidth(overflowRight() - overflowLeft()); 2078 m_scrollSize.setHeight(overflowBottom() - overflowTop()); 2079 2080 m_scrollOrigin = IntPoint(-m_scrollOverflow.width(), -m_scrollOverflow.height()); 2095 2081 2096 2082 if (needHBar) 2097 *needHBar = m_scroll Width> box->clientWidth();2083 *needHBar = m_scrollSize.width() > box->clientWidth(); 2098 2084 if (needVBar) 2099 *needVBar = m_scroll Height> box->clientHeight();2085 *needVBar = m_scrollSize.height() > box->clientHeight(); 2100 2086 } 2101 2087 … … 2214 2200 int pageStep = max(max<int>(clientWidth * Scrollbar::minFractionToStepWhenPaging(), clientWidth - Scrollbar::maxOverlapBetweenPages()), 1); 2215 2201 m_hBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep); 2216 m_hBar->setProportion(clientWidth, m_scroll Width);2202 m_hBar->setProportion(clientWidth, m_scrollSize.width()); 2217 2203 } 2218 2204 if (m_vBar) { … … 2220 2206 int pageStep = max(max<int>(clientHeight * Scrollbar::minFractionToStepWhenPaging(), clientHeight - Scrollbar::maxOverlapBetweenPages()), 1); 2221 2207 m_vBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep); 2222 m_vBar->setProportion(clientHeight, m_scroll Height);2208 m_vBar->setProportion(clientHeight, m_scrollSize.height()); 2223 2209 } 2224 2210 -
trunk/Source/WebCore/rendering/RenderLayer.h
r85890 r86196 212 212 } 213 213 214 int x() const { return m_ x; }215 int y() const { return m_ y; }214 int x() const { return m_topLeft.x(); } 215 int y() const { return m_topLeft.y(); } 216 216 void setLocation(int x, int y) 217 217 { 218 m_x = x; 219 m_y = y; 220 } 221 222 int width() const { return m_width; } 223 int height() const { return m_height; } 224 IntSize size() const { return IntSize(m_width, m_height); } 225 226 void setWidth(int w) { m_width = w; } 227 void setHeight(int h) { m_height = h; } 218 m_topLeft = IntPoint(x, y); 219 } 220 221 int width() const { return m_layerSize.width(); } 222 int height() const { return m_layerSize.height(); } 223 const IntSize& size() const { return m_layerSize; } 224 225 void setWidth(int w) { m_layerSize.setWidth(w); } 226 void setHeight(int h) { m_layerSize.setHeight(h); } 228 227 229 228 int scrollWidth(); … … 235 234 void scrollByRecursively(int xDelta, int yDelta); 236 235 237 IntSize scrolledContentOffset() const { return IntSize(scrollXOffset() + m_scrollLeftOverflow, scrollYOffset() + m_scrollTopOverflow); } 238 239 int scrollXOffset() const { return m_scrollX + m_scrollOrigin.x(); } 240 int scrollYOffset() const { return m_scrollY + m_scrollOrigin.y(); } 236 IntSize scrolledContentOffset() const { return scrollOffset() + m_scrollOverflow; } 237 238 int scrollXOffset() const { return m_scrollOffset.width() + m_scrollOrigin.x(); } 239 int scrollYOffset() const { return m_scrollOffset.height() + m_scrollOrigin.y(); } 240 IntSize scrollOffset() const { return IntSize(scrollXOffset(), scrollYOffset()); } 241 241 242 242 void scrollToOffset(int x, int y); 243 void scrollToXOffset(int x) { scrollToOffset(x, m_scrollY + m_scrollOrigin.y()); }244 void scrollToYOffset(int y) { scrollToOffset( m_scrollX + m_scrollOrigin.x(), y); }243 void scrollToXOffset(int x) { scrollToOffset(x, scrollYOffset()); } 244 void scrollToYOffset(int y) { scrollToOffset(scrollXOffset(), y); } 245 245 void scrollRectToVisible(const IntRect&, bool scrollToAnchor = false, const ScrollAlignment& alignX = ScrollAlignment::alignCenterIfNeeded, const ScrollAlignment& alignY = ScrollAlignment::alignCenterIfNeeded); 246 246 … … 308 308 void updateTransform(); 309 309 310 void relativePositionOffset(int& relX, int& relY) const { relX += m_rel X; relY += m_relY; }311 IntSize relativePositionOffset() const { return IntSize(m_relX, m_relY); }310 void relativePositionOffset(int& relX, int& relY) const { relX += m_relativeOffset.width(); relY += m_relativeOffset.height(); } 311 const IntSize& relativePositionOffset() const { return m_relativeOffset; } 312 312 313 313 void clearClipRectsIncludingDescendants(); … … 624 624 625 625 // Our current relative position offset. 626 int m_relX; 627 int m_relY; 626 IntSize m_relativeOffset; 628 627 629 628 // Our (x,y) coordinates are in our parent layer's coordinate space. 630 int m_x; 631 int m_y; 629 IntPoint m_topLeft; 632 630 633 631 // The layer's width/height 634 int m_width; 635 int m_height; 632 IntSize m_layerSize; 636 633 637 634 // Our scroll offsets if the view is scrolled. 638 int m_scrollX; 639 int m_scrollY; 640 641 int m_scrollLeftOverflow; 642 int m_scrollTopOverflow; 635 IntSize m_scrollOffset; 636 637 IntSize m_scrollOverflow; 643 638 644 639 // The width/height of our scrolled area. 645 int m_scrollWidth; 646 int m_scrollHeight; 640 IntSize m_scrollSize; 647 641 648 642 // For layers with overflow, we have a pair of scrollbars.
Note: See TracChangeset
for help on using the changeset viewer.