Title: [175104] branches/safari-600.3-branch/Source/WebKit2

Diff

Modified: branches/safari-600.3-branch/Source/WebKit2/ChangeLog (175103 => 175104)


--- branches/safari-600.3-branch/Source/WebKit2/ChangeLog	2014-10-23 09:20:27 UTC (rev 175103)
+++ branches/safari-600.3-branch/Source/WebKit2/ChangeLog	2014-10-23 09:21:41 UTC (rev 175104)
@@ -1,5 +1,30 @@
 2014-10-23  Babak Shafiei  <[email protected]>
 
+        Merge r172645.
+
+    2014-08-15  Gavin Barraclough  <[email protected]>
+
+            Fix plugin visibility check.
+            https://bugs.webkit.org/show_bug.cgi?id=135991
+
+            Reviewed by Andreas Kling.
+
+            We should only take a UserActivity if the plugin is in a visible window,
+            and also is itself visible.
+
+            * PluginProcess/PluginControllerProxy.cpp:
+            (WebKit::PluginControllerProxy::PluginControllerProxy):
+                - initialize member state.
+            (WebKit::PluginControllerProxy::visibilityDidChange):
+            (WebKit::PluginControllerProxy::windowVisibilityChanged):
+                - update member state & call updateVisiblityActivity.
+            (WebKit::PluginControllerProxy::updateVisiblityActivity):
+                - enable the UserActivity only if both visibilities are true.
+            * PluginProcess/PluginControllerProxy.h:
+                - added m_isVisible, m_isWindowVisible, updateVisibilityActivity.
+
+2014-10-23  Babak Shafiei  <[email protected]>
+
         Merge r172637.
 
     2014-08-15  Gavin Barraclough  <[email protected]>

Modified: branches/safari-600.3-branch/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp (175103 => 175104)


--- branches/safari-600.3-branch/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp	2014-10-23 09:20:27 UTC (rev 175103)
+++ branches/safari-600.3-branch/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp	2014-10-23 09:21:41 UTC (rev 175104)
@@ -61,6 +61,8 @@
     , m_isPrivateBrowsingEnabled(creationParameters.isPrivateBrowsingEnabled)
     , m_isAcceleratedCompositingEnabled(creationParameters.isAcceleratedCompositingEnabled)
     , m_isInitializing(false)
+    , m_isVisibile(false)
+    , m_isWindowVisibile(false)
     , m_paintTimer(RunLoop::main(), this, &PluginControllerProxy::paint)
     , m_pluginDestructionProtectCount(0)
     , m_pluginDestroyTimer(RunLoop::main(), this, &PluginControllerProxy::destroy)
@@ -430,8 +432,12 @@
 
 void PluginControllerProxy::visibilityDidChange(bool isVisible)
 {
+    m_isVisibile = isVisible;
+    
     ASSERT(m_plugin);
     m_plugin->visibilityDidChange(isVisible);
+
+    updateVisiblityActivity();
 }
 
 void PluginControllerProxy::windowFocusChanged(bool hasFocus)
@@ -442,10 +448,17 @@
 
 void PluginControllerProxy::windowVisibilityChanged(bool isVisible)
 {
+    m_isWindowVisibile = isVisible;
+
     ASSERT(m_plugin);
     m_plugin->windowVisibilityChanged(isVisible);
 
-    if (isVisible)
+    updateVisiblityActivity();
+}
+
+void PluginControllerProxy::updateVisiblityActivity()
+{
+    if (m_isVisibile && m_isWindowVisibile)
         m_visiblityActivity.start();
     else
         m_visiblityActivity.stop();

Modified: branches/safari-600.3-branch/Source/WebKit2/PluginProcess/PluginControllerProxy.h (175103 => 175104)


--- branches/safari-600.3-branch/Source/WebKit2/PluginProcess/PluginControllerProxy.h	2014-10-23 09:20:27 UTC (rev 175103)
+++ branches/safari-600.3-branch/Source/WebKit2/PluginProcess/PluginControllerProxy.h	2014-10-23 09:21:41 UTC (rev 175104)
@@ -151,6 +151,7 @@
 
     void windowFocusChanged(bool);
     void windowVisibilityChanged(bool);
+    void updateVisiblityActivity();
 
 #if PLATFORM(COCOA)
     void windowAndViewFramesChanged(const WebCore::IntRect& windowFrameInScreenCoordinates, const WebCore::IntRect& viewFrameInWindowCoordinates);
@@ -176,6 +177,8 @@
     bool m_isPrivateBrowsingEnabled;
     bool m_isAcceleratedCompositingEnabled;
     bool m_isInitializing;
+    bool m_isVisibile;
+    bool m_isWindowVisibile;
 
     RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> m_initializationReply;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to