Title: [148109] tags/Safari-537.35.11/Source/WebCore
Revision
148109
Author
[email protected]
Date
2013-04-10 11:03:58 -0700 (Wed, 10 Apr 2013)

Log Message

Merged r147977.  <rdar://problem/13604480>

Modified Paths

Diff

Modified: tags/Safari-537.35.11/Source/WebCore/ChangeLog (148108 => 148109)


--- tags/Safari-537.35.11/Source/WebCore/ChangeLog	2013-04-10 17:55:30 UTC (rev 148108)
+++ tags/Safari-537.35.11/Source/WebCore/ChangeLog	2013-04-10 18:03:58 UTC (rev 148109)
@@ -1,3 +1,22 @@
+2013-04-10  Lucas Forschler  <[email protected]>
+
+        Merge r147977
+
+    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  Lucas Forschler  <[email protected]>
 
         Merge r147806

Modified: tags/Safari-537.35.11/Source/WebCore/html/HTMLPlugInImageElement.cpp (148108 => 148109)


--- tags/Safari-537.35.11/Source/WebCore/html/HTMLPlugInImageElement.cpp	2013-04-10 17:55:30 UTC (rev 148108)
+++ tags/Safari-537.35.11/Source/WebCore/html/HTMLPlugInImageElement.cpp	2013-04-10 18:03:58 UTC (rev 148109)
@@ -94,16 +94,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
@@ -411,7 +413,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

Reply via email to