⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 197065 in webkit


Ignore:
Timestamp:
Feb 25, 2016, 12:37:49 AM (11 years ago)
Author:
Carlos Garcia Campos
Message:

Merge r196813 - Blocked plug-in placeholder is sometimes not shown.
​https://bugs.webkit.org/show_bug.cgi?id=154434
<rdar://problem/22584973>

Reviewed by Brent Fulgham.

m_isUnavailablePluginIndicatorHidden was set to false incorrectly as initial value.
It prevented RenderEmbeddedObject from issuing repaint when the plugin indicator
was set to visible (m_isUnavailablePluginIndicatorHidden <- false) the first time.
(The reason why the indicator showed up most of the time was because some renderer
triggered repaint on the view.)

Unable to test.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Deleted.
(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed): Deleted.

  • rendering/RenderEmbeddedObject.h:

(WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):

Location:
releases/WebKitGTK/webkit-2.12/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog

    r196815 r197065  
     12016-02-19  Zalan Bujtas  <zalan@apple.com>
     2
     3        Blocked plug-in placeholder is sometimes not shown.
     4        https://bugs.webkit.org/show_bug.cgi?id=154434
     5        <rdar://problem/22584973>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        m_isUnavailablePluginIndicatorHidden was set to false incorrectly as initial value.
     10        It prevented RenderEmbeddedObject from issuing repaint when the plugin indicator
     11        was set to visible (m_isUnavailablePluginIndicatorHidden <- false) the first time.
     12        (The reason why the indicator showed up most of the time was because some renderer
     13        triggered repaint on the view.)
     14
     15        Unable to test.
     16
     17        * rendering/RenderEmbeddedObject.cpp:
     18        (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):
     19        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Deleted.
     20        (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed): Deleted.
     21        * rendering/RenderEmbeddedObject.h:
     22        (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
     23
    1242016-02-19  Philippe Normand  <pnormand@igalia.com>
    225
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.cpp

    r195848 r197065  
    100100    : RenderWidget(element, WTFMove(style))
    101101    , m_isPluginUnavailable(false)
    102     , m_isUnavailablePluginIndicatorHidden(false)
    103102    , m_unavailablePluginIndicatorIsPressed(false)
    104103    , m_mouseDownWasInUnavailablePluginIndicator(false)
    … …  
    193192    if (m_unavailablePluginIndicatorIsPressed == pressed)
    194193        return;
    195 
    196194    m_unavailablePluginIndicatorIsPressed = pressed;
    197195    repaint();
    … …  
    343341void RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden(bool hidden)
    344342{
    345     if (m_isUnavailablePluginIndicatorHidden == hidden)
    346         return;
    347 
    348     m_isUnavailablePluginIndicatorHidden = hidden;
     343    auto newState = hidden ? UnavailablePluginIndicatorState::Hidden : UnavailablePluginIndicatorState::Visible;
     344    if (m_isUnavailablePluginIndicatorState == newState)
     345        return;
     346    m_isUnavailablePluginIndicatorState = newState;
    349347    repaint();
    350348}
  • releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.h

    r191049 r197065  
    5151
    5252    bool isPluginUnavailable() const { return m_isPluginUnavailable; }
    53     bool showsUnavailablePluginIndicator() const { return isPluginUnavailable() && !m_isUnavailablePluginIndicatorHidden; }
     53    bool showsUnavailablePluginIndicator() const { return isPluginUnavailable() && m_isUnavailablePluginIndicatorState == UnavailablePluginIndicatorState::Visible; }
    5454
    5555    WEBCORE_EXPORT void setUnavailablePluginIndicatorIsHidden(bool);
    … …  
    9494
    9595    bool m_isPluginUnavailable;
    96     bool m_isUnavailablePluginIndicatorHidden;
     96    enum class UnavailablePluginIndicatorState { Uninitialized, Hidden, Visible };
     97    UnavailablePluginIndicatorState m_isUnavailablePluginIndicatorState { UnavailablePluginIndicatorState::Uninitialized };
    9798    PluginUnavailabilityReason m_pluginUnavailabilityReason;
    9899    String m_unavailablePluginReplacementText;
Note: See TracChangeset for help on using the changeset viewer.