Title: [197065] releases/WebKitGTK/webkit-2.12/Source/WebCore
- Revision
- 197065
- Author
- carlo...@webkit.org
- Date
- 2016-02-25 00:37:49 -0800 (Thu, 25 Feb 2016)
Log 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):
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog (197064 => 197065)
--- releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog 2016-02-25 07:45:13 UTC (rev 197064)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/ChangeLog 2016-02-25 08:37:49 UTC (rev 197065)
@@ -1,3 +1,26 @@
+2016-02-19 Zalan Bujtas <za...@apple.com>
+
+ 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):
+
2016-02-19 Philippe Normand <pnorm...@igalia.com>
[GStreamer] clean-up various leaks
Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.cpp (197064 => 197065)
--- releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.cpp 2016-02-25 07:45:13 UTC (rev 197064)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.cpp 2016-02-25 08:37:49 UTC (rev 197065)
@@ -99,7 +99,6 @@
RenderEmbeddedObject::RenderEmbeddedObject(HTMLFrameOwnerElement& element, Ref<RenderStyle>&& style)
: RenderWidget(element, WTFMove(style))
, m_isPluginUnavailable(false)
- , m_isUnavailablePluginIndicatorHidden(false)
, m_unavailablePluginIndicatorIsPressed(false)
, m_mouseDownWasInUnavailablePluginIndicator(false)
{
@@ -192,7 +191,6 @@
{
if (m_unavailablePluginIndicatorIsPressed == pressed)
return;
-
m_unavailablePluginIndicatorIsPressed = pressed;
repaint();
}
@@ -342,10 +340,10 @@
void RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden(bool hidden)
{
- if (m_isUnavailablePluginIndicatorHidden == hidden)
+ auto newState = hidden ? UnavailablePluginIndicatorState::Hidden : UnavailablePluginIndicatorState::Visible;
+ if (m_isUnavailablePluginIndicatorState == newState)
return;
-
- m_isUnavailablePluginIndicatorHidden = hidden;
+ m_isUnavailablePluginIndicatorState = newState;
repaint();
}
Modified: releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.h (197064 => 197065)
--- releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.h 2016-02-25 07:45:13 UTC (rev 197064)
+++ releases/WebKitGTK/webkit-2.12/Source/WebCore/rendering/RenderEmbeddedObject.h 2016-02-25 08:37:49 UTC (rev 197065)
@@ -50,7 +50,7 @@
WEBCORE_EXPORT void setPluginUnavailabilityReasonWithDescription(PluginUnavailabilityReason, const String& description);
bool isPluginUnavailable() const { return m_isPluginUnavailable; }
- bool showsUnavailablePluginIndicator() const { return isPluginUnavailable() && !m_isUnavailablePluginIndicatorHidden; }
+ bool showsUnavailablePluginIndicator() const { return isPluginUnavailable() && m_isUnavailablePluginIndicatorState == UnavailablePluginIndicatorState::Visible; }
WEBCORE_EXPORT void setUnavailablePluginIndicatorIsHidden(bool);
@@ -93,7 +93,8 @@
virtual bool canHaveWidget() const { return true; }
bool m_isPluginUnavailable;
- bool m_isUnavailablePluginIndicatorHidden;
+ enum class UnavailablePluginIndicatorState { Uninitialized, Hidden, Visible };
+ UnavailablePluginIndicatorState m_isUnavailablePluginIndicatorState { UnavailablePluginIndicatorState::Uninitialized };
PluginUnavailabilityReason m_pluginUnavailabilityReason;
String m_unavailablePluginReplacementText;
bool m_unavailablePluginIndicatorIsPressed;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes