Title: [147977] trunk/Source/WebCore
- Revision
- 147977
- Author
- [email protected]
- Date
- 2013-04-08 19:43:24 -0700 (Mon, 08 Apr 2013)
Log Message
Don't try to remove a non-existent snapshot
https://bugs.webkit.org/show_bug.cgi?id=114226
<rdar://problem/13604480>
Reviewed by Darin Adler.
We don't need to trigger the timer to remove a snapshot
if there was never a snapshot displayed.
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::setDisplayState): Detect if we're moving from the DisplayingSnapshot state.
(WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Guard against a missing renderer.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (147976 => 147977)
--- trunk/Source/WebCore/ChangeLog 2013-04-09 02:26:38 UTC (rev 147976)
+++ trunk/Source/WebCore/ChangeLog 2013-04-09 02:43:24 UTC (rev 147977)
@@ -1,3 +1,18 @@
+2013-04-08 Dean Jackson <[email protected]>
+
+ Don't try to remove a non-existent snapshot
+ https://bugs.webkit.org/show_bug.cgi?id=114226
+ <rdar://problem/13604480>
+
+ Reviewed by Darin Adler.
+
+ We don't need to trigger the timer to remove a snapshot
+ if there was never a snapshot displayed.
+
+ * html/HTMLPlugInImageElement.cpp:
+ (WebCore::HTMLPlugInImageElement::setDisplayState): Detect if we're moving from the DisplayingSnapshot state.
+ (WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired): Guard against a missing renderer.
+
2013-04-08 Patrick Gansterer <[email protected]>
Do not define CAN_THEME_URL_ICON for PLATFORM(WIN_CAIRO)
Modified: trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp (147976 => 147977)
--- trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp 2013-04-09 02:26:38 UTC (rev 147976)
+++ trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp 2013-04-09 02:43:24 UTC (rev 147977)
@@ -93,16 +93,18 @@
void HTMLPlugInImageElement::setDisplayState(DisplayState state)
{
- HTMLPlugInElement::setDisplayState(state);
- if (displayState() == DisplayingSnapshot)
- m_swapRendererTimer.startOneShot(0);
-
#if PLATFORM(MAC)
- if (displayState() == RestartingWithPendingMouseClick || displayState() == Restarting) {
+ if (state == RestartingWithPendingMouseClick || state == Restarting) {
m_restartedPlugin = true;
- m_removeSnapshotTimer.startOneShot(removeSnapshotTimerDelay);
+ if (displayState() == DisplayingSnapshot)
+ m_removeSnapshotTimer.startOneShot(removeSnapshotTimerDelay);
}
#endif
+
+ HTMLPlugInElement::setDisplayState(state);
+
+ if (state == DisplayingSnapshot)
+ m_swapRendererTimer.startOneShot(0);
}
RenderEmbeddedObject* HTMLPlugInImageElement::renderEmbeddedObject() const
@@ -415,7 +417,8 @@
{
m_snapshotImage = nullptr;
m_restartedPlugin = false;
- renderer()->repaint();
+ if (renderer())
+ renderer()->repaint();
}
static void addPlugInsFromNodeListMatchingPlugInOrigin(HTMLPlugInImageElementList& plugInList, PassRefPtr<NodeList> collection, const String& plugInOrigin, const String& mimeType)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes