Title: [145645] trunk/Source/WebCore
Revision
145645
Author
[email protected]
Date
2013-03-12 17:56:52 -0700 (Tue, 12 Mar 2013)

Log Message

Don't send events to plugins that are being snapshotted
https://bugs.webkit.org/show_bug.cgi?id=112215
<rdar://problem/13386224>

Reviewed by Tim Horton.

If a plugin is in the process of being snapshotted, do not forward it
any events. This avoids the case where we can accidentally capture some
custom mouse pointers, as well as trigger a plugin menu.

The next step will be to detect if the event should stop the snapshotting
(restart the plugin).

* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler): Return early if the plugin is snapshotting.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (145644 => 145645)


--- trunk/Source/WebCore/ChangeLog	2013-03-13 00:56:32 UTC (rev 145644)
+++ trunk/Source/WebCore/ChangeLog	2013-03-13 00:56:52 UTC (rev 145645)
@@ -1,3 +1,21 @@
+2013-03-12  Dean Jackson  <[email protected]>
+
+        Don't send events to plugins that are being snapshotted
+        https://bugs.webkit.org/show_bug.cgi?id=112215
+        <rdar://problem/13386224>
+
+        Reviewed by Tim Horton.
+
+        If a plugin is in the process of being snapshotted, do not forward it
+        any events. This avoids the case where we can accidentally capture some
+        custom mouse pointers, as well as trigger a plugin menu.
+
+        The next step will be to detect if the event should stop the snapshotting
+        (restart the plugin).
+
+        * html/HTMLPlugInElement.cpp:
+        (WebCore::HTMLPlugInElement::defaultEventHandler): Return early if the plugin is snapshotting.
+
 2013-03-12  Tim Horton  <[email protected]>
 
         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.

Modified: trunk/Source/WebCore/html/HTMLPlugInElement.cpp (145644 => 145645)


--- trunk/Source/WebCore/html/HTMLPlugInElement.cpp	2013-03-13 00:56:32 UTC (rev 145644)
+++ trunk/Source/WebCore/html/HTMLPlugInElement.cpp	2013-03-13 00:56:52 UTC (rev 145645)
@@ -202,6 +202,8 @@
             toRenderEmbeddedObject(r)->handleUnavailablePluginIndicatorEvent(event);
             return;
         }
+        if (displayState() < HTMLPlugInElement::Playing)
+            return;
     } else if (r && r->isSnapshottedPlugIn() && displayState() < PlayingWithPendingMouseClick) {
         toRenderSnapshottedPlugIn(r)->handleEvent(event);
         HTMLFrameOwnerElement::defaultEventHandler(event);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to