Changeset 211143 in webkit
- Timestamp:
- Jan 25, 2017, 8:45:58 AM (10 years ago)
- Location:
- branches/safari-603-branch/Source
- Files:
-
- 8 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/page/Page.cpp (modified) (2 diffs)
-
WebCore/page/Page.h (modified) (1 diff)
-
WebCore/plugins/PluginInfoProvider.cpp (modified) (2 diffs)
-
WebCore/plugins/PluginInfoProvider.h (modified) (1 diff)
-
WebKit2/ChangeLog (modified) (1 diff)
-
WebKit2/WebProcess/Plugins/WebPluginInfoProvider.h (modified) (2 diffs)
-
WebKit2/WebProcess/WebProcess.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-603-branch/Source/WebCore/ChangeLog
r211107 r211143 1 2017-01-25 Matthew Hanson <matthew_hanson@apple.com> 2 3 Merge r211052. rdar://problem/29857388 4 5 2017-01-20 Anders Carlsson <andersca@apple.com> 6 7 When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!) 8 https://bugs.webkit.org/show_bug.cgi?id=167268 9 rdar://problem/29857388 10 11 Reviewed by Sam Weinig. 12 13 * page/Page.cpp: 14 (WebCore::Page::refreshPlugins): 15 Call PluginInfoProvider::refresh instead. 16 17 (WebCore::Page::clearPluginData): 18 Add new setter. 19 20 * page/Page.h: 21 Declare new members. 22 23 * plugins/PluginInfoProvider.cpp: 24 (WebCore::PluginInfoProvider::refresh): 25 Put the logic to clear plug-in data and reload frames here. 26 27 * plugins/PluginInfoProvider.h: 28 Add new members. 29 1 30 2017-01-24 Matthew Hanson <matthew_hanson@apple.com> 2 31 -
branches/safari-603-branch/Source/WebCore/page/Page.cpp
r210964 r211143 539 539 Vector<Ref<Frame>> framesNeedingReload; 540 540 541 for (auto& page : *allPages) {541 for (auto& page : *allPages) 542 542 pluginInfoProviders.add(&page->pluginInfoProvider()); 543 page->m_pluginData = nullptr;544 545 if (!reload)546 continue;547 548 for (Frame* frame = &page->mainFrame(); frame; frame = frame->tree().traverseNext()) {549 if (frame->loader().subframeLoader().containsPlugins())550 framesNeedingReload.append(*frame);551 }552 }553 543 554 544 for (auto& pluginInfoProvider : pluginInfoProviders) 555 pluginInfoProvider->refreshPlugins(); 556 557 for (auto& frame : framesNeedingReload) 558 frame->loader().reload(); 545 pluginInfoProvider->refresh(reload); 559 546 } 560 547 … … 564 551 m_pluginData = PluginData::create(*this); 565 552 return *m_pluginData; 553 } 554 555 void Page::clearPluginData() 556 { 557 m_pluginData = nullptr; 566 558 } 567 559 -
branches/safari-603-branch/Source/WebCore/page/Page.h
r210964 r211143 167 167 static void refreshPlugins(bool reload); 168 168 WEBCORE_EXPORT PluginData& pluginData(); 169 void clearPluginData(); 169 170 170 171 WEBCORE_EXPORT void setCanStartMedia(bool); -
branches/safari-603-branch/Source/WebCore/plugins/PluginInfoProvider.cpp
r204268 r211143 27 27 #include "PluginInfoProvider.h" 28 28 29 #include "MainFrame.h" 30 #include "Page.h" 31 #include "SubframeLoader.h" 32 29 33 namespace WebCore { 30 34 … … 32 36 { 33 37 ASSERT(m_pages.isEmpty()); 38 } 39 40 void PluginInfoProvider::refresh(bool reloadPages) 41 { 42 Vector<Ref<Frame>> framesNeedingReload; 43 44 for (auto& page : m_pages) { 45 page->clearPluginData(); 46 47 if (!reloadPages) 48 continue; 49 50 for (Frame* frame = &page->mainFrame(); frame; frame = frame->tree().traverseNext()) { 51 if (frame->loader().subframeLoader().containsPlugins()) 52 framesNeedingReload.append(*frame); 53 } 54 } 55 56 for (auto& frame : framesNeedingReload) 57 frame->loader().reload(); 34 58 } 35 59 -
branches/safari-603-branch/Source/WebCore/plugins/PluginInfoProvider.h
r204287 r211143 35 35 virtual ~PluginInfoProvider(); 36 36 37 void refresh Plugins(bool reloadPages);37 void refresh(bool reloadPages); 38 38 39 39 void addPage(Page&); 40 40 void removePage(Page&); 41 41 42 virtual void refreshPlugins() = 0;43 42 virtual void getPluginInfo(Page&, Vector<PluginInfo>&) = 0; 44 43 virtual void getWebVisiblePluginInfo(Page&, Vector<PluginInfo>&) = 0; 45 44 46 45 private: 46 virtual void refreshPlugins() = 0; 47 47 48 HashSet<Page*> m_pages; 48 49 }; -
branches/safari-603-branch/Source/WebKit2/ChangeLog
r211117 r211143 1 2017-01-25 Matthew Hanson <matthew_hanson@apple.com> 2 3 Merge r211052. rdar://problem/29857388 4 5 2017-01-20 Anders Carlsson <andersca@apple.com> 6 7 When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!) 8 https://bugs.webkit.org/show_bug.cgi?id=167268 9 rdar://problem/29857388 10 11 Reviewed by Sam Weinig. 12 13 * WebProcess/Plugins/WebPluginInfoProvider.h: 14 Make refreshPlugins() private. 15 16 * WebProcess/WebProcess.cpp: 17 (WebKit::WebProcess::refreshPlugins): 18 Call the newly added PluginInfoProvider::refresh(). 19 1 20 2017-01-24 Matthew Hanson <matthew_hanson@apple.com> 2 21 -
branches/safari-603-branch/Source/WebKit2/WebProcess/Plugins/WebPluginInfoProvider.h
r209840 r211143 43 43 #endif 44 44 45 void refreshPlugins() override;46 47 45 private: 48 46 WebPluginInfoProvider(); … … 50 48 void getPluginInfo(WebCore::Page&, Vector<WebCore::PluginInfo>&) override; 51 49 void getWebVisiblePluginInfo(WebCore::Page&, Vector<WebCore::PluginInfo>&) override; 50 void refreshPlugins() override; 52 51 53 52 #if ENABLE(NETSCAPE_PLUGIN_API) -
branches/safari-603-branch/Source/WebKit2/WebProcess/WebProcess.cpp
r209865 r211143 922 922 { 923 923 #if ENABLE(NETSCAPE_PLUGIN_API) 924 WebPluginInfoProvider::singleton().refresh Plugins();924 WebPluginInfoProvider::singleton().refresh(false); 925 925 #endif 926 926 }
Note:
See TracChangeset
for help on using the changeset viewer.