Title: [211114] trunk/Source/WebCore
Revision
211114
Author
[email protected]
Date
2017-01-24 15:25:38 -0800 (Tue, 24 Jan 2017)

Log Message

When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!)
https://bugs.webkit.org/show_bug.cgi?id=167391
rdar://problem/29857388

Reviewed by Sam Weinig.

* page/Page.cpp:
(WebCore::Page::refreshPlugins):
Remove an unused variable.

* plugins/PluginInfoProvider.cpp:
(WebCore::PluginInfoProvider::refresh):
Make sure to call refreshPlugins(). Instead of reloading subframes, just reload all the main frames with
subframes that contain plug-ins.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (211113 => 211114)


--- trunk/Source/WebCore/ChangeLog	2017-01-24 23:24:35 UTC (rev 211113)
+++ trunk/Source/WebCore/ChangeLog	2017-01-24 23:25:38 UTC (rev 211114)
@@ -1,3 +1,20 @@
+2017-01-24  Anders Carlsson  <[email protected]>
+
+        When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!)
+        https://bugs.webkit.org/show_bug.cgi?id=167391
+        rdar://problem/29857388
+
+        Reviewed by Sam Weinig.
+
+        * page/Page.cpp:
+        (WebCore::Page::refreshPlugins):
+        Remove an unused variable.
+
+        * plugins/PluginInfoProvider.cpp:
+        (WebCore::PluginInfoProvider::refresh):
+        Make sure to call refreshPlugins(). Instead of reloading subframes, just reload all the main frames with
+        subframes that contain plug-ins.
+
 2017-01-24  Joseph Pecoraro  <[email protected]>
 
         Clean up Performance IDL interfaces so they are easier to read

Modified: trunk/Source/WebCore/page/Page.cpp (211113 => 211114)


--- trunk/Source/WebCore/page/Page.cpp	2017-01-24 23:24:35 UTC (rev 211113)
+++ trunk/Source/WebCore/page/Page.cpp	2017-01-24 23:25:38 UTC (rev 211114)
@@ -537,8 +537,6 @@
 
     HashSet<PluginInfoProvider*> pluginInfoProviders;
 
-    Vector<Ref<Frame>> framesNeedingReload;
-
     for (auto& page : *allPages)
         pluginInfoProviders.add(&page->pluginInfoProvider());
 

Modified: trunk/Source/WebCore/plugins/PluginInfoProvider.cpp (211113 => 211114)


--- trunk/Source/WebCore/plugins/PluginInfoProvider.cpp	2017-01-24 23:24:35 UTC (rev 211113)
+++ trunk/Source/WebCore/plugins/PluginInfoProvider.cpp	2017-01-24 23:25:38 UTC (rev 211114)
@@ -39,8 +39,10 @@
 
 void PluginInfoProvider::refresh(bool reloadPages)
 {
-    Vector<Ref<Frame>> framesNeedingReload;
+    refreshPlugins();
 
+    Vector<Ref<MainFrame>> framesNeedingReload;
+
     for (auto& page : m_pages) {
         page->clearPluginData();
 
@@ -49,7 +51,7 @@
 
         for (Frame* frame = &page->mainFrame(); frame; frame = frame->tree().traverseNext()) {
             if (frame->loader().subframeLoader().containsPlugins())
-                framesNeedingReload.append(*frame);
+                framesNeedingReload.append(page->mainFrame());
         }
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to