Changeset 86196 in webkit


Ignore:
Timestamp:
May 10, 2011 5:06:35 PM (13 years ago)
Author:
eae@chromium.org
Message:

2011-05-10 Emil A Eklund <eae@chromium.org>

Reviewed by Eric Seidel.

Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=60409

Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes.

Refactoring, covered by existing tests.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::updateLayerPositions): (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::scrollTo): (WebCore::RenderLayer::visibleHeight): (WebCore::RenderLayer::visibleWidth): (WebCore::RenderLayer::scrollWidth): (WebCore::RenderLayer::scrollHeight): (WebCore::RenderLayer::computeScrollDimensions): (WebCore::RenderLayer::updateScrollInfoAfterLayout):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::x): (WebCore::RenderLayer::y): (WebCore::RenderLayer::setLocation): (WebCore::RenderLayer::width): (WebCore::RenderLayer::height): (WebCore::RenderLayer::size): (WebCore::RenderLayer::setWidth): (WebCore::RenderLayer::setHeight): (WebCore::RenderLayer::scrolledContentOffset): (WebCore::RenderLayer::scrollXOffset): (WebCore::RenderLayer::scrollYOffset): (WebCore::RenderLayer::scrollOffset): (WebCore::RenderLayer::scrollToXOffset): (WebCore::RenderLayer::scrollToYOffset): (WebCore::RenderLayer::relativePositionOffset):
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r86195 r86196  
     12011-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
    1402011-05-10  Levi Weintraub  <leviw@chromium.org>
    241
  • trunk/Source/WebCore/rendering/RenderLayer.cpp

    r86195 r86196  
    136136    , m_first(0)
    137137    , 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)
    150138    , m_inResizeMode(false)
    151139    , m_posZOrderList(0)
     
    283271            oldCachedOffset = *cachedOffset;
    284272            // 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 cached
     273            // we just update the cache using our offset to our parent (which is m_topLeft). Otherwise, regenerated cached
    286274            // offsets to the root from the render tree.
    287275            if (!m_parent || m_parent->renderer() == renderer()->containingBlock())
    288                 cachedOffset->move(m_x, m_y); // Fast case
     276                cachedOffset->move(m_topLeft.x(), m_topLeft.y()); // Fast case
    289277            else {
    290278                int x = 0;
     
    720708    }
    721709       
    722     m_relX = m_relY = 0;
    723710    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();
    727715    }
    728716
     
    13391327    // is either occluded by another layer or clipped by an enclosing
    13401328    // 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;
    13471333
    13481334    // Update the positions of our child layers. Don't have updateLayerPositions() update
     
    17871773int RenderLayer::visibleHeight() const
    17881774{
    1789     return m_height;
     1775    return m_layerSize.height();
    17901776}
    17911777
    17921778int RenderLayer::visibleWidth() const
    17931779{
    1794     return m_width;
     1780    return m_layerSize.width();
    17951781}
    17961782
     
    20372023    if (m_scrollDimensionsDirty)
    20382024        computeScrollDimensions();
    2039     return m_scrollWidth;
     2025    return m_scrollSize.width();
    20402026}
    20412027
     
    20442030    if (m_scrollDimensionsDirty)
    20452031        computeScrollDimensions();
    2046     return m_scrollHeight;
     2032    return m_scrollSize.height();
    20472033}
    20482034
     
    20862072    m_scrollDimensionsDirty = false;
    20872073
    2088     m_scrollLeftOverflow = overflowLeft() - box->borderLeft();
    2089     m_scrollTopOverflow = overflowTop() - box->borderTop();
    2090 
    2091     m_scrollWidth = overflowRight() - overflowLeft();
    2092     m_scrollHeight = overflowBottom() - overflowTop();
    2093    
    2094     m_scrollOrigin = IntPoint(-m_scrollLeftOverflow, -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());
    20952081
    20962082    if (needHBar)
    2097         *needHBar = m_scrollWidth > box->clientWidth();
     2083        *needHBar = m_scrollSize.width() > box->clientWidth();
    20982084    if (needVBar)
    2099         *needVBar = m_scrollHeight > box->clientHeight();
     2085        *needVBar = m_scrollSize.height() > box->clientHeight();
    21002086}
    21012087
     
    22142200        int pageStep = max(max<int>(clientWidth * Scrollbar::minFractionToStepWhenPaging(), clientWidth - Scrollbar::maxOverlapBetweenPages()), 1);
    22152201        m_hBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep);
    2216         m_hBar->setProportion(clientWidth, m_scrollWidth);
     2202        m_hBar->setProportion(clientWidth, m_scrollSize.width());
    22172203    }
    22182204    if (m_vBar) {
     
    22202206        int pageStep = max(max<int>(clientHeight * Scrollbar::minFractionToStepWhenPaging(), clientHeight - Scrollbar::maxOverlapBetweenPages()), 1);
    22212207        m_vBar->setSteps(Scrollbar::pixelsPerLineStep(), pageStep);
    2222         m_vBar->setProportion(clientHeight, m_scrollHeight);
     2208        m_vBar->setProportion(clientHeight, m_scrollSize.height());
    22232209    }
    22242210 
  • trunk/Source/WebCore/rendering/RenderLayer.h

    r85890 r86196  
    212212    }
    213213   
    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(); }
    216216    void setLocation(int x, int y)
    217217    {
    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); }
    228227
    229228    int scrollWidth();
     
    235234    void scrollByRecursively(int xDelta, int yDelta);
    236235
    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()); }
    241241
    242242    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); }
    245245    void scrollRectToVisible(const IntRect&, bool scrollToAnchor = false, const ScrollAlignment& alignX = ScrollAlignment::alignCenterIfNeeded, const ScrollAlignment& alignY = ScrollAlignment::alignCenterIfNeeded);
    246246
     
    308308    void updateTransform();
    309309
    310     void relativePositionOffset(int& relX, int& relY) const { relX += m_relX; 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; }
    312312
    313313    void clearClipRectsIncludingDescendants();
     
    624624
    625625    // Our current relative position offset.
    626     int m_relX;
    627     int m_relY;
     626    IntSize m_relativeOffset;
    628627
    629628    // Our (x,y) coordinates are in our parent layer's coordinate space.
    630     int m_x;
    631     int m_y;
     629    IntPoint m_topLeft;
    632630
    633631    // The layer's width/height
    634     int m_width;
    635     int m_height;
     632    IntSize m_layerSize;
    636633
    637634    // 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;
    643638   
    644639    // The width/height of our scrolled area.
    645     int m_scrollWidth;
    646     int m_scrollHeight;
     640    IntSize m_scrollSize;
    647641
    648642    // For layers with overflow, we have a pair of scrollbars.
Note: See TracChangeset for help on using the changeset viewer.