Add a new PluginInfoProvider class, to replace PluginStrategy
authorandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 8 Aug 2016 23:43:50 +0000 (23:43 +0000)
committerandersca@apple.com <andersca@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 8 Aug 2016 23:43:50 +0000 (23:43 +0000)
commit531352cbffab350b461dc2e06257e3e92d755b2f
tree06d5ea00e855825d52e5fb0ae7b6d65cb91e2506
parent2d7ea249ba630e1442853fd4893bf8c4c4cfa142
Add a new PluginInfoProvider class, to replace PluginStrategy
https://bugs.webkit.org/show_bug.cgi?id=160670

Reviewed by Sam Weinig.

Source/WebCore:

Add a per page PluginInfoProvider class that's going to ultimately replace the plug-in strategy.

* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::refreshPlugins):
(WebCore::Page::pluginData):
(WebCore::Page::pluginInfoProvider):
* page/Page.h:
* page/PageConfiguration.cpp:
* page/PageConfiguration.h:
* plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::refresh):
* plugins/DOMPluginArray.h:
* plugins/PluginData.cpp:
(WebCore::PluginData::PluginData):
(WebCore::PluginData::webVisiblePlugins):
(WebCore::PluginData::publiclyVisiblePlugins):
(WebCore::PluginData::initPlugins):
(WebCore::PluginData::refresh): Deleted.
* plugins/PluginData.h:
(WebCore::PluginData::create):
(WebCore::PluginData::PluginData): Deleted.
* plugins/PluginInfoProvider.cpp: Added.
(WebCore::PluginInfoProvider::~PluginInfoProvider):
(WebCore::PluginInfoProvider::addPage):
(WebCore::PluginInfoProvider::removePage):
* plugins/PluginInfoProvider.h: Added.
* replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PluginData>::decodeValue):
(JSC::DeserializedPluginData::DeserializedPluginData): Deleted.

Source/WebKit:

Add new files.

* PlatformWin.cmake:
* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Add a new WebPluginInfoProvider - it just calls through to the plug-in strategy for now.

* WebCoreSupport/WebPluginInfoProvider.h: Added.
* WebCoreSupport/WebPluginInfoProvider.mm: Added.
(WebPluginInfoProvider::singleton):
(WebPluginInfoProvider::WebPluginInfoProvider):
(WebPluginInfoProvider::~WebPluginInfoProvider):
(WebPluginInfoProvider::refreshPlugins):
(WebPluginInfoProvider::getPluginInfo):
(WebPluginInfoProvider::getWebVisiblePluginInfo):
(WebPluginInfoProvider::setPluginLoadClientPolicy):
(WebPluginInfoProvider::clearPluginClientPolicies):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit/win:

Add a new WebPluginInfoProvider - it just calls through to the plug-in strategy for now.

* WebCoreSupport/WebPluginInfoProvider.cpp: Added.
(WebPluginInfoProvider::singleton):
(WebPluginInfoProvider::WebPluginInfoProvider):
(WebPluginInfoProvider::~WebPluginInfoProvider):
(WebPluginInfoProvider::refreshPlugins):
(WebPluginInfoProvider::getPluginInfo):
(WebPluginInfoProvider::getWebVisiblePluginInfo):
* WebCoreSupport/WebPluginInfoProvider.h: Added.

Source/WebKit2:

Add a new WebPluginInfoProvider - it just calls through to the plug-in strategy for now.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/WebPluginInfoProvider.cpp: Added.
(WebKit::WebPluginInfoProvider::singleton):
(WebKit::WebPluginInfoProvider::WebPluginInfoProvider):
(WebKit::WebPluginInfoProvider::~WebPluginInfoProvider):
(WebKit::WebPluginInfoProvider::refreshPlugins):
(WebKit::WebPluginInfoProvider::getPluginInfo):
(WebKit::WebPluginInfoProvider::getWebVisiblePluginInfo):
(WebKit::WebPluginInfoProvider::setPluginLoadClientPolicy):
(WebKit::WebPluginInfoProvider::clearPluginClientPolicies):
* WebProcess/Plugins/WebPluginInfoProvider.h: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_userInterfaceLayoutDirection):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@204268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
31 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/loader/EmptyClients.cpp
Source/WebCore/page/Page.cpp
Source/WebCore/page/Page.h
Source/WebCore/page/PageConfiguration.cpp
Source/WebCore/page/PageConfiguration.h
Source/WebCore/plugins/DOMPluginArray.cpp
Source/WebCore/plugins/DOMPluginArray.h
Source/WebCore/plugins/PluginData.cpp
Source/WebCore/plugins/PluginData.h
Source/WebCore/plugins/PluginInfoProvider.cpp [new file with mode: 0644]
Source/WebCore/plugins/PluginInfoProvider.h [new file with mode: 0644]
Source/WebCore/replay/SerializationMethods.cpp
Source/WebKit/ChangeLog
Source/WebKit/PlatformWin.cmake
Source/WebKit/WebKit.xcodeproj/project.pbxproj
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebPluginInfoProvider.h [new file with mode: 0644]
Source/WebKit/mac/WebCoreSupport/WebPluginInfoProvider.mm [new file with mode: 0644]
Source/WebKit/mac/WebView/WebView.mm
Source/WebKit/win/ChangeLog
Source/WebKit/win/WebCoreSupport/WebPluginInfoProvider.cpp [new file with mode: 0644]
Source/WebKit/win/WebCoreSupport/WebPluginInfoProvider.h [new file with mode: 0644]
Source/WebKit2/CMakeLists.txt
Source/WebKit2/ChangeLog
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
Source/WebKit2/WebProcess/Plugins/WebPluginInfoProvider.cpp [new file with mode: 0644]
Source/WebKit2/WebProcess/Plugins/WebPluginInfoProvider.h [new file with mode: 0644]
Source/WebKit2/WebProcess/WebPage/WebPage.cpp