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