Changeset 183461 in webkit


Ignore:
Timestamp:
Apr 27, 2015, 11:52:20 PM (10 years ago)
Author:
Simon Fraser
Message:

Eliminate styleDidChange with StyleDifferenceEqual when updates are actually necessary
https://bugs.webkit.org/show_bug.cgi?id=144198

Followup: fix assertions seen in fullscreen and pseudo-element tests. These code
paths set the style to the existing pointer, but with a SyntheticStyleChange.
We have to avoid an early return in this case.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setStyle):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r183454 r183461  
     12015-04-27  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Eliminate styleDidChange with StyleDifferenceEqual when updates are actually necessary
     4        https://bugs.webkit.org/show_bug.cgi?id=144198
     5
     6        Followup: fix assertions seen in fullscreen and pseudo-element tests. These code
     7        paths set the style to the existing pointer, but with a SyntheticStyleChange.
     8        We have to avoid an early return in this case.
     9
     10        * rendering/RenderElement.cpp:
     11        (WebCore::RenderElement::setStyle):
     12
    1132015-04-25  Simon Fraser  <simon.fraser@apple.com>
    214
  • trunk/Source/WebCore/rendering/RenderElement.cpp

    r183454 r183461  
    402402    ASSERT(m_hasInitializedStyle || isRenderView());
    403403
    404     if (m_style.ptr() == style.ptr()) {
     404    if (m_style.ptr() == style.ptr() && minimalStyleDifference != StyleDifferenceEqual) {
    405405        // FIXME: Can we change things so we never hit this code path?
    406406        // We need to run through adjustStyleDifference() for iframes, plugins, and canvas so
     
    409409        ASSERT(!isEmbeddedObject());
    410410        ASSERT(!isCanvas());
    411         ASSERT(minimalStyleDifference == StyleDifferenceEqual);
    412411        return;
    413412    }
Note: See TracChangeset for help on using the changeset viewer.