Changeset 228493 in webkit


Ignore:
Timestamp:
Feb 14, 2018 3:50:04 PM (6 years ago)
Author:
jmarcell@apple.com
Message:

Cherry-pick r228476. rdar://problem/37549912

Location:
tags/Safari-605.1.27.2.1/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tags/Safari-605.1.27.2.1/Source/WebCore/ChangeLog

    r228469 r228493  
     12018-02-14  Jason Marcell  <jmarcell@apple.com>
     2
     3        Cherry-pick r228476. rdar://problem/37549912
     4
     5    2018-02-14  Dean Jackson  <dino@apple.com>
     6
     7            CrashTracer: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot + 618
     8            https://bugs.webkit.org/show_bug.cgi?id=182798
     9            <rdar://problem/23337253>
     10
     11            Reviewed by Eric Carlson.
     12
     13            Speculative fix for a crash in HTMLPlugInImageElement::didAddUserAgentShadowRoot.
     14            The guess is that the m_swapRendererTimer is set, and the display state changes to
     15            something that does not require a shadow root, but before the timer fires.
     16            Fix this by ensuring that the timer is reset on every display state change.
     17
     18            * html/HTMLPlugInElement.cpp:
     19            (WebCore::HTMLPlugInElement::setDisplayState): Guard for sets that wouldn't
     20            actually change value, and make sure we always reset the timer.
     21
    1222018-02-14  Jason Marcell  <jmarcell@apple.com>
    223
  • tags/Safari-605.1.27.2.1/Source/WebCore/html/HTMLPlugInElement.cpp

    r224390 r228493  
    287287void HTMLPlugInElement::setDisplayState(DisplayState state)
    288288{
     289    if (state == m_displayState)
     290        return;
     291
    289292    m_displayState = state;
    290293   
    291     if ((state == DisplayingSnapshot || displayState() == PreparingPluginReplacement) && !m_swapRendererTimer.isActive())
     294    m_swapRendererTimer.stop();
     295    if (state == DisplayingSnapshot || displayState() == PreparingPluginReplacement)
    292296        m_swapRendererTimer.startOneShot(0_s);
    293297}
Note: See TracChangeset for help on using the changeset viewer.