Ignore:
Timestamp:
Nov 4, 2013, 11:04:50 PM (12 years ago)
Author:
Alan Bujtas
Message:

Do not call setFrameRect on Widget unless its boundaries changed.
https://bugs.webkit.org/show_bug.cgi?id=123781

Reviewed by Andreas Kling.

Call Widget:setFrameRect only when the frame's rect actually changes. It also
cleans up the related weak reference code a bit.

Covered by existing tests.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::setWidgetGeometry):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/rendering/RenderWidget.cpp

    r158163 r158651  
    133133
    134134    WeakPtr<RenderWidget> weakThis = createWeakPtr();
    135 
    136     // This call *may* cause this renderer to disappear from underneath...
    137     m_widget->setFrameRect(newFrame);
    138 
     135    // These calls *may* cause this renderer to disappear from underneath...
     136    if (boundsChanged)
     137        m_widget->setFrameRect(newFrame);
     138    else if (clipChanged)
     139        m_widget->clipRectChanged();
    139140    // ...so we follow up with a sanity check.
    140141    if (!weakThis)
    141142        return true;
    142 
    143     if (clipChanged && !boundsChanged) {
    144         // This call *may* cause this renderer to disappear from underneath...
    145         m_widget->clipRectChanged();
    146 
    147         // ...so here's another sanity check.
    148         if (!weakThis)
    149             return true;
    150     }
    151143
    152144#if USE(ACCELERATED_COMPOSITING)
Note: See TracChangeset for help on using the changeset viewer.