Diff
Modified: trunk/Source/WebKit2/ChangeLog (185462 => 185463)
--- trunk/Source/WebKit2/ChangeLog 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/ChangeLog 2015-06-11 18:33:51 UTC (rev 185463)
@@ -1,5 +1,57 @@
2015-06-11 Anders Carlsson <[email protected]>
+ Remove WebPluginSiteDataManager
+ https://bugs.webkit.org/show_bug.cgi?id=145884
+
+ Reviewed by Andreas Kling.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::clearSiteData): Deleted.
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/PluginProcess.messages.in:
+ * UIProcess/API/C/WKAPICast.h:
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKPluginSiteDataManager.cpp:
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::clearSiteData): Deleted.
+ * UIProcess/Plugins/PluginProcessManager.h:
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::clearSiteData): Deleted.
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Deleted.
+ (WebKit::PluginProcessProxy::didFinishLaunching): Deleted.
+ (WebKit::PluginProcessProxy::didClearSiteData): Deleted.
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ * UIProcess/Plugins/PluginProcessProxy.messages.in:
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp: Removed.
+ (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::GetSitesWithDataState): Deleted.
+ (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::getSitesWithDataForNextPlugin): Deleted.
+ (WebKit::WebPluginSiteDataManager::GetSitesWithDataState::didGetSitesWithDataForSinglePlugin): Deleted.
+ (WebKit::WebPluginSiteDataManager::ClearSiteDataState::ClearSiteDataState): Deleted.
+ (WebKit::WebPluginSiteDataManager::ClearSiteDataState::clearSiteDataForNextPlugin): Deleted.
+ (WebKit::WebPluginSiteDataManager::ClearSiteDataState::didClearSiteDataForSinglePlugin): Deleted.
+ (WebKit::WebPluginSiteDataManager::create): Deleted.
+ (WebKit::WebPluginSiteDataManager::WebPluginSiteDataManager): Deleted.
+ (WebKit::WebPluginSiteDataManager::~WebPluginSiteDataManager): Deleted.
+ (WebKit::WebPluginSiteDataManager::invalidate): Deleted.
+ (WebKit::WebPluginSiteDataManager::getSitesWithData): Deleted.
+ (WebKit::WebPluginSiteDataManager::didGetSitesWithData): Deleted.
+ (WebKit::WebPluginSiteDataManager::clearSiteData): Deleted.
+ (WebKit::WebPluginSiteDataManager::didClearSiteData): Deleted.
+ (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin): Deleted.
+ (WebKit::WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins): Deleted.
+ (WebKit::WebPluginSiteDataManager::didClearSiteDataForSinglePlugin): Deleted.
+ (WebKit::WebPluginSiteDataManager::didClearSiteDataForAllPlugins): Deleted.
+ * UIProcess/Plugins/WebPluginSiteDataManager.h: Removed.
+ (WebKit::WebPluginSiteDataManager::processPool): Deleted.
+ (WebKit::WebPluginSiteDataManager::clearProcessPool): Deleted.
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::~WebProcessPool): Deleted.
+ * UIProcess/WebProcessPool.h:
+ * UIProcess/WebProcessProxy.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+
+2015-06-11 Anders Carlsson <[email protected]>
+
Make WKWebsiteDataStoreRef backed by an API::WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=145882
Modified: trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp (185462 => 185463)
--- trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/PluginProcess/PluginProcess.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -199,21 +199,6 @@
parentProcessConnection()->send(Messages::PluginProcessProxy::DidGetSitesWithData(sites, callbackID), 0);
}
-void PluginProcess::clearSiteData(const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
-{
- if (NetscapePluginModule* module = netscapePluginModule()) {
- if (sites.isEmpty()) {
- // Clear everything.
- module->clearSiteData(String(), flags, maxAgeInSeconds);
- } else {
- for (size_t i = 0; i < sites.size(); ++i)
- module->clearSiteData(sites[i], flags, maxAgeInSeconds);
- }
- }
-
- parentProcessConnection()->send(Messages::PluginProcessProxy::DidClearSiteData(callbackID), 0);
-}
-
void PluginProcess::deleteWebsiteData(std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID)
{
if (auto* module = netscapePluginModule()) {
Modified: trunk/Source/WebKit2/PluginProcess/PluginProcess.h (185462 => 185463)
--- trunk/Source/WebKit2/PluginProcess/PluginProcess.h 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/PluginProcess/PluginProcess.h 2015-06-11 18:33:51 UTC (rev 185463)
@@ -100,7 +100,6 @@
void createWebProcessConnection();
void getSitesWithData(uint64_t callbackID);
- void clearSiteData(const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
void deleteWebsiteData(std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID);
void deleteWebsiteDataForHostNames(const Vector<String>& hostNames, uint64_t callbackID);
Modified: trunk/Source/WebKit2/PluginProcess/PluginProcess.messages.in (185462 => 185463)
--- trunk/Source/WebKit2/PluginProcess/PluginProcess.messages.in 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/PluginProcess/PluginProcess.messages.in 2015-06-11 18:33:51 UTC (rev 185463)
@@ -35,10 +35,6 @@
# DidGetSitesWithData message with the sites.
GetSitesWithData(uint64_t callbackID)
- # Asks the plug-in to clear data for the given sites. The plug-in process sends back
- # a DidClearSiteData message when done.
- ClearSiteData(Vector<String> sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
-
DeleteWebsiteData(std::chrono::system_clock::time_point modifiedSince, uint64_t callbackID)
DeleteWebsiteDataForHostNames(Vector<String> hostNames, uint64_t callbackID)
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h 2015-06-11 18:33:51 UTC (rev 185463)
@@ -102,7 +102,6 @@
class WebOriginDataManagerProxy;
class WebPageGroup;
class WebPageProxy;
-class WebPluginSiteDataManager;
class WebPreferences;
class WebProcessPool;
class WebProtectionSpace;
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKContext.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -39,7 +39,6 @@
#include "WKRetainPtr.h"
#include "WebCertificateInfo.h"
#include "WebIconDatabase.h"
-#include "WebPluginSiteDataManager.h"
#include "WebProcessPool.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -28,7 +28,6 @@
#include "APIObject.h"
#include "WKAPICast.h"
-#include "WebPluginSiteDataManager.h"
#include "WebProcessPool.h"
#include "WebsiteDataRecord.h"
Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -115,12 +115,6 @@
pluginProcess->deleteWebsiteDataForHostNames(hostNames, WTF::move(completionHandler));
}
-void PluginProcessManager::clearSiteData(const PluginModuleInfo& plugin, WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
-{
- PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(pluginProcessToken(plugin, PluginProcessTypeNormal, PluginProcessSandboxPolicyNormal));
- pluginProcess->clearSiteData(webPluginSiteDataManager, sites, flags, maxAgeInSeconds, callbackID);
-}
-
PluginProcessProxy* PluginProcessManager::getOrCreatePluginProcess(uint64_t pluginProcessToken)
{
for (size_t i = 0; i < m_pluginProcesses.size(); ++i) {
Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.h 2015-06-11 18:33:51 UTC (rev 185463)
@@ -49,7 +49,6 @@
class PluginInfoStore;
class PluginProcessProxy;
class WebProcessProxy;
-class WebPluginSiteDataManager;
class PluginProcessManager {
WTF_MAKE_NONCOPYABLE(PluginProcessManager);
@@ -65,7 +64,6 @@
void fetchWebsiteData(const PluginModuleInfo&, std::function<void (Vector<String>)> completionHandler);
void deleteWebsiteData(const PluginModuleInfo&, std::chrono::system_clock::time_point modifiedSince, std::function<void ()> completionHandler);
void deleteWebsiteDataForHostNames(const PluginModuleInfo&, const Vector<String>& hostNames, std::function<void ()> completionHandler);
- void clearSiteData(const PluginModuleInfo&, WebPluginSiteDataManager*, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
#if PLATFORM(COCOA)
inline ProcessSuppressionDisabledToken processSuppressionDisabledToken();
Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -33,7 +33,6 @@
#include "PluginProcessManager.h"
#include "PluginProcessMessages.h"
#include "WebCoreArgumentCoders.h"
-#include "WebPluginSiteDataManager.h"
#include "WebProcessPool.h"
#include "WebProcessProxy.h"
#include <WebCore/NotImplemented.h>
@@ -149,25 +148,6 @@
m_connection->send(Messages::PluginProcess::DeleteWebsiteDataForHostNames(hostNames, callbackID), 0);
}
-void PluginProcessProxy::clearSiteData(WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
-{
- ASSERT(!m_pendingClearSiteDataReplies.contains(callbackID));
- m_pendingClearSiteDataReplies.set(callbackID, webPluginSiteDataManager);
-
- if (state() == State::Launching) {
- ClearSiteDataRequest request;
- request.sites = sites;
- request.flags = flags;
- request.maxAgeInSeconds = maxAgeInSeconds;
- request.callbackID = callbackID;
- m_pendingClearSiteDataRequests.append(request);
- return;
- }
-
- // Ask the plug-in process to clear the site data.
- m_connection->send(Messages::PluginProcess::ClearSiteData(sites, flags, maxAgeInSeconds, callbackID), 0);
-}
-
void PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch()
{
// The plug-in process must have crashed or exited, send any pending sync replies we might have.
@@ -198,9 +178,6 @@
callback();
m_pendingDeleteWebsiteDataForHostNamesCallbacks.clear();
- while (!m_pendingClearSiteDataReplies.isEmpty())
- didClearSiteData(m_pendingClearSiteDataReplies.begin()->key);
-
// Tell the plug-in process manager to forget about this plug-in process proxy. This may cause us to be deleted.
m_pluginProcessManager->removePluginProcessProxy(this);
}
@@ -273,12 +250,6 @@
m_connection->send(Messages::PluginProcess::DeleteWebsiteDataForHostNames(request.hostNames, request.callbackID), 0);
m_pendingDeleteWebsiteDataForHostNamesRequests.clear();
- for (size_t i = 0; i < m_pendingClearSiteDataRequests.size(); ++i) {
- const ClearSiteDataRequest& request = m_pendingClearSiteDataRequests[i];
- m_connection->send(Messages::PluginProcess::ClearSiteData(request.sites, request.flags, request.maxAgeInSeconds, request.callbackID), 0);
- }
- m_pendingClearSiteDataRequests.clear();
-
for (unsigned i = 0; i < m_numPendingConnectionRequests; ++i)
m_connection->send(Messages::PluginProcess::CreateWebProcessConnection(), 0);
@@ -312,14 +283,6 @@
callback(sites);
}
-void PluginProcessProxy::didClearSiteData(uint64_t callbackID)
-{
- RefPtr<WebPluginSiteDataManager> webPluginSiteDataManager = m_pendingClearSiteDataReplies.take(callbackID);
- ASSERT(webPluginSiteDataManager);
-
- webPluginSiteDataManager->didClearSiteDataForSinglePlugin(callbackID);
-}
-
void PluginProcessProxy::didDeleteWebsiteData(uint64_t callbackID)
{
auto callback = m_pendingDeleteWebsiteDataCallbacks.take(callbackID);
Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.h 2015-06-11 18:33:51 UTC (rev 185463)
@@ -46,7 +46,6 @@
namespace WebKit {
class PluginProcessManager;
-class WebPluginSiteDataManager;
class WebProcessProxy;
struct PluginProcessCreationParameters;
@@ -83,9 +82,6 @@
void deleteWebsiteData(std::chrono::system_clock::time_point modifiedSince, std::function<void ()> completionHandler);
void deleteWebsiteDataForHostNames(const Vector<String>& hostNames, std::function<void ()> completionHandler);
- // Asks the plug-in process to clear the data for the given sites.
- void clearSiteData(WebPluginSiteDataManager*, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID);
-
bool isValid() const { return m_connection; }
#if PLATFORM(COCOA)
@@ -129,7 +125,6 @@
// Message handlers
void didCreateWebProcessConnection(const IPC::Attachment&, bool supportsAsynchronousPluginInitialization);
void didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID);
- void didClearSiteData(uint64_t callbackID);
void didDeleteWebsiteData(uint64_t callbackID);
void didDeleteWebsiteDataForHostNames(uint64_t callbackID);
@@ -184,15 +179,6 @@
Vector<DeleteWebsiteDataForHostNamesRequest> m_pendingDeleteWebsiteDataForHostNamesRequests;
HashMap<uint64_t, std::function<void ()>> m_pendingDeleteWebsiteDataForHostNamesCallbacks;
- struct ClearSiteDataRequest {
- Vector<String> sites;
- uint64_t flags;
- uint64_t maxAgeInSeconds;
- uint64_t callbackID;
- };
- Vector<ClearSiteDataRequest> m_pendingClearSiteDataRequests;
- HashMap<uint64_t, RefPtr<WebPluginSiteDataManager>> m_pendingClearSiteDataReplies;
-
// If createPluginConnection is called while the process is still launching we'll keep count of it and send a bunch of requests
// when the process finishes launching.
unsigned m_numPendingConnectionRequests;
Modified: trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.messages.in 2015-06-11 18:33:51 UTC (rev 185463)
@@ -26,7 +26,6 @@
DidCreateWebProcessConnection(IPC::Attachment connectionIdentifier, bool supportsAsynchronousPluginInitialization)
DidGetSitesWithData(Vector<String> sites, uint64_t callbackID)
- DidClearSiteData(uint64_t callbackID)
DidDeleteWebsiteData(uint64_t callbackID)
DidDeleteWebsiteDataForHostNames(uint64_t callbackID)
Deleted: trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -1,255 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "WebPluginSiteDataManager.h"
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#include "APIArray.h"
-#include "PluginProcessManager.h"
-#include "WebProcessMessages.h"
-#include "WebProcessPool.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-class WebPluginSiteDataManager::GetSitesWithDataState {
-public:
- explicit GetSitesWithDataState(WebPluginSiteDataManager* webPluginSiteDataManager, uint64_t callbackID)
- : m_webPluginSiteDataManager(webPluginSiteDataManager)
- , m_callbackID(callbackID)
- , m_plugins(webPluginSiteDataManager->m_processPool->pluginInfoStore().plugins())
- {
- }
-
- void getSitesWithDataForNextPlugin()
- {
- if (m_plugins.isEmpty()) {
- Vector<String> sites;
- copyToVector(m_sites, sites);
-
- m_webPluginSiteDataManager->didGetSitesWithDataForAllPlugins(sites, m_callbackID);
- return;
- }
-
- RefPtr<WebPluginSiteDataManager> webPluginSiteDataManager = m_webPluginSiteDataManager;
- uint64_t callbackID = m_callbackID;
- PluginProcessManager::singleton().fetchWebsiteData(m_plugins.last(), [webPluginSiteDataManager, callbackID](Vector<String> hostNames) {
- webPluginSiteDataManager->didGetSitesWithDataForSinglePlugin(hostNames, callbackID);
- });
-
- m_plugins.removeLast();
- }
-
- void didGetSitesWithDataForSinglePlugin(const Vector<String>& sites)
- {
- for (size_t i = 0; i < sites.size(); ++i)
- m_sites.add(sites[i]);
-
- getSitesWithDataForNextPlugin();
- }
-
-private:
- WebPluginSiteDataManager* m_webPluginSiteDataManager;
- uint64_t m_callbackID;
- Vector<PluginModuleInfo> m_plugins;
- HashSet<String> m_sites;
-};
-
-class WebPluginSiteDataManager::ClearSiteDataState {
-public:
- explicit ClearSiteDataState(WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID)
- : m_webPluginSiteDataManager(webPluginSiteDataManager)
- , m_sites(sites)
- , m_flags(flags)
- , m_maxAgeInSeconds(maxAgeInSeconds)
- , m_callbackID(callbackID)
- , m_plugins(webPluginSiteDataManager->m_processPool->pluginInfoStore().plugins())
- {
- }
-
- void clearSiteDataForNextPlugin()
- {
- if (m_plugins.isEmpty()) {
- m_webPluginSiteDataManager->didClearSiteDataForAllPlugins(m_callbackID);
- return;
- }
-
- PluginProcessManager::singleton().clearSiteData(m_plugins.last(), m_webPluginSiteDataManager, m_sites, m_flags, m_maxAgeInSeconds, m_callbackID);
- m_plugins.removeLast();
- }
-
- void didClearSiteDataForSinglePlugin()
- {
- clearSiteDataForNextPlugin();
- }
-
-private:
- WebPluginSiteDataManager* m_webPluginSiteDataManager;
- Vector<String> m_sites;
- uint64_t m_flags;
- uint64_t m_maxAgeInSeconds;
- uint64_t m_callbackID;
- Vector<PluginModuleInfo> m_plugins;
-};
-
-PassRefPtr<WebPluginSiteDataManager> WebPluginSiteDataManager::create(WebProcessPool* processPool)
-{
- return adoptRef(new WebPluginSiteDataManager(processPool));
-}
-
-WebPluginSiteDataManager::WebPluginSiteDataManager(WebProcessPool* processPool)
- : m_processPool(processPool)
-{
-}
-
-WebPluginSiteDataManager::~WebPluginSiteDataManager()
-{
- ASSERT(m_arrayCallbacks.isEmpty());
- ASSERT(m_voidCallbacks.isEmpty());
- ASSERT(m_pendingGetSitesWithData.isEmpty());
- ASSERT(m_pendingClearSiteData.isEmpty());
-}
-
-void WebPluginSiteDataManager::invalidate()
-{
- invalidateCallbackMap(m_arrayCallbacks, CallbackBase::Error::OwnerWasInvalidated);
-
- m_pendingGetSitesWithData.clear();
- m_pendingClearSiteData.clear();
-}
-
-void WebPluginSiteDataManager::getSitesWithData(std::function<void (API::Array*, CallbackBase::Error)> callbackFunction)
-{
- RefPtr<ArrayCallback> callback = ArrayCallback::create(WTF::move(callbackFunction));
-
- if (!m_processPool) {
- callback->invalidate();
- return;
- }
-
- uint64_t callbackID = callback->callbackID();
- m_arrayCallbacks.set(callbackID, callback.release());
-
- ASSERT(!m_pendingGetSitesWithData.contains(callbackID));
-
- GetSitesWithDataState* state = new GetSitesWithDataState(this, callbackID);
- m_pendingGetSitesWithData.set(callbackID, std::unique_ptr<GetSitesWithDataState>(state));
- state->getSitesWithDataForNextPlugin();
-}
-
-void WebPluginSiteDataManager::didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID)
-{
- RefPtr<ArrayCallback> callback = m_arrayCallbacks.take(callbackID);
- if (!callback) {
- // FIXME: Log error or assert.
- return;
- }
-
- callback->performCallbackWithReturnValue(API::Array::createStringArray(sites).ptr());
-}
-
-void WebPluginSiteDataManager::clearSiteData(API::Array* sites, uint64_t flags, uint64_t maxAgeInSeconds, std::function<void (CallbackBase::Error)> callbackFunction)
-{
- RefPtr<VoidCallback> callback = VoidCallback::create(WTF::move(callbackFunction));
- if (!m_processPool) {
- // FIXME: If the context is invalid we should not call the callback. It'd be better to just return false from clearSiteData.
- callback->invalidate(CallbackBase::Error::OwnerWasInvalidated);
- return;
- }
-
- Vector<String> sitesVector;
-
- // If the array is empty, don't do anything.
- if (sites) {
- if (!sites->size()) {
- callback->performCallback();
- return;
- }
-
- for (size_t i = 0; i < sites->size(); ++i) {
- if (API::String* site = sites->at<API::String>(i))
- sitesVector.append(site->string());
- }
- }
-
- uint64_t callbackID = callback->callbackID();
- m_voidCallbacks.set(callbackID, callback.release());
-
- ASSERT(!m_pendingClearSiteData.contains(callbackID));
-
- ClearSiteDataState* state = new ClearSiteDataState(this, sitesVector, flags, maxAgeInSeconds, callbackID);
- m_pendingClearSiteData.set(callbackID, std::unique_ptr<ClearSiteDataState>(state));
- state->clearSiteDataForNextPlugin();
-}
-
-void WebPluginSiteDataManager::didClearSiteData(uint64_t callbackID)
-{
- RefPtr<VoidCallback> callback = m_voidCallbacks.take(callbackID);
- if (!callback) {
- // FIXME: Log error or assert.
- return;
- }
-
- callback->performCallback();
-}
-
-void WebPluginSiteDataManager::didGetSitesWithDataForSinglePlugin(const Vector<String>& sites, uint64_t callbackID)
-{
- GetSitesWithDataState* state = m_pendingGetSitesWithData.get(callbackID);
- ASSERT(state);
-
- state->didGetSitesWithDataForSinglePlugin(sites);
-}
-
-void WebPluginSiteDataManager::didGetSitesWithDataForAllPlugins(const Vector<String>& sites, uint64_t callbackID)
-{
- std::unique_ptr<GetSitesWithDataState> state = m_pendingGetSitesWithData.take(callbackID);
- ASSERT(state);
-
- didGetSitesWithData(sites, callbackID);
-}
-
-void WebPluginSiteDataManager::didClearSiteDataForSinglePlugin(uint64_t callbackID)
-{
- ClearSiteDataState* state = m_pendingClearSiteData.get(callbackID);
- ASSERT(state);
-
- state->didClearSiteDataForSinglePlugin();
-}
-
-void WebPluginSiteDataManager::didClearSiteDataForAllPlugins(uint64_t callbackID)
-{
- std::unique_ptr<ClearSiteDataState> state = m_pendingClearSiteData.take(callbackID);
- ASSERT(state);
-
- didClearSiteData(callbackID);
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
Deleted: trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.h 2015-06-11 18:33:51 UTC (rev 185463)
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef WebPluginSiteDataManager_h
-#define WebPluginSiteDataManager_h
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#include "APIObject.h"
-#include "Arguments.h"
-#include "GenericCallback.h"
-#include <memory>
-#include <wtf/HashMap.h>
-#include <wtf/PassRefPtr.h>
-
-namespace WebKit {
-
-class WebProcessPool;
-class WebProcessProxy;
-
-typedef GenericCallback<API::Array*> ArrayCallback;
-
-class WebPluginSiteDataManager : public API::ObjectImpl<API::Object::Type::PluginSiteDataManager> {
-public:
- static PassRefPtr<WebPluginSiteDataManager> create(WebProcessPool*);
- virtual ~WebPluginSiteDataManager();
-
- WebProcessPool& processPool() { return *m_processPool; }
-
- void invalidate();
- void clearProcessPool() { m_processPool = nullptr; }
-
- void getSitesWithData(std::function<void (API::Array*, CallbackBase::Error)>);
- void didGetSitesWithData(const Vector<String>& sites, uint64_t callbackID);
-
- void clearSiteData(API::Array* sites, uint64_t flags, uint64_t maxAgeInSeconds, std::function<void (CallbackBase::Error)>);
- void didClearSiteData(uint64_t callbackID);
-
- void didGetSitesWithDataForSinglePlugin(const Vector<String>& sites, uint64_t callbackID);
- void didClearSiteDataForSinglePlugin(uint64_t callbackID);
-
-private:
- explicit WebPluginSiteDataManager(WebProcessPool*);
-
- WebProcessPool* m_processPool;
- HashMap<uint64_t, RefPtr<ArrayCallback>> m_arrayCallbacks;
- HashMap<uint64_t, RefPtr<VoidCallback>> m_voidCallbacks;
-
- void didGetSitesWithDataForAllPlugins(const Vector<String>& sites, uint64_t callbackID);
- void didClearSiteDataForAllPlugins(uint64_t callbackID);
-
- class GetSitesWithDataState;
- HashMap<uint64_t, std::unique_ptr<GetSitesWithDataState>> m_pendingGetSitesWithData;
-
- class ClearSiteDataState;
- HashMap<uint64_t, std::unique_ptr<ClearSiteDataState>> m_pendingClearSiteData;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-#endif // WebPluginSiteDataManager_h
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -52,7 +52,6 @@
#include "WebMemorySampler.h"
#include "WebNotificationManagerProxy.h"
#include "WebPageGroup.h"
-#include "WebPluginSiteDataManager.h"
#include "WebPreferences.h"
#include "WebProcessCreationParameters.h"
#include "WebProcessMessages.h"
@@ -194,9 +193,6 @@
// NOTE: These sub-objects must be initialized after m_messageReceiverMap..
m_iconDatabase = WebIconDatabase::create(this);
-#if ENABLE(NETSCAPE_PLUGIN_API)
- m_pluginSiteDataManager = WebPluginSiteDataManager::create(this);
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
addSupplement<WebApplicationCacheManagerProxy>();
addSupplement<WebCookieManagerProxy>();
@@ -261,11 +257,6 @@
WebIconDatabase* rawIconDatabase = m_iconDatabase.release().leakRef();
rawIconDatabase->derefWhenAppropriate();
-#if ENABLE(NETSCAPE_PLUGIN_API)
- m_pluginSiteDataManager->invalidate();
- m_pluginSiteDataManager->clearProcessPool();
-#endif
-
invalidateCallbackMap(m_dictionaryCallbacks, CallbackBase::Error::OwnerWasInvalidated);
platformInvalidateContext();
Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h 2015-06-11 18:33:51 UTC (rev 185463)
@@ -232,9 +232,6 @@
WebContextClient& client() { return m_client; }
WebIconDatabase* iconDatabase() const { return m_iconDatabase.get(); }
-#if ENABLE(NETSCAPE_PLUGIN_API)
- WebPluginSiteDataManager* pluginSiteDataManager() const { return m_pluginSiteDataManager.get(); }
-#endif
struct Statistics {
unsigned wkViewCount;
@@ -481,9 +478,6 @@
double m_memorySamplerInterval;
RefPtr<WebIconDatabase> m_iconDatabase;
-#if ENABLE(NETSCAPE_PLUGIN_API)
- RefPtr<WebPluginSiteDataManager> m_pluginSiteDataManager;
-#endif
const RefPtr<API::WebsiteDataStore> m_websiteDataStore;
Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (185462 => 185463)
--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp 2015-06-11 18:33:51 UTC (rev 185463)
@@ -45,7 +45,6 @@
#include "WebPageGroup.h"
#include "WebPageProxy.h"
#include "WebPasteboardProxy.h"
-#include "WebPluginSiteDataManager.h"
#include "WebProcessMessages.h"
#include "WebProcessPool.h"
#include "WebProcessProxyMessages.h"
Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (185462 => 185463)
--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2015-06-11 18:30:43 UTC (rev 185462)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj 2015-06-11 18:33:51 UTC (rev 185463)
@@ -451,8 +451,6 @@
1AC75380183BE50F0072CB15 /* DataReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC7537E183BE50F0072CB15 /* DataReference.h */; };
1AC86FF3130B46D3002C1257 /* WKPluginSiteDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */; };
1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */; };
- 1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */; };
1ACC87BA1981C341003D1AF4 /* WKNavigationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACC87B91981C341003D1AF4 /* WKNavigationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
1ACECD2417162DB1001FC9EF /* StorageAreaMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */; };
1ACECD2517162DB1001FC9EF /* StorageAreaMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */; };
@@ -2613,8 +2611,6 @@
1AC7537E183BE50F0072CB15 /* DataReference.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataReference.h; sourceTree = "<group>"; };
1AC86FF1130B46D3002C1257 /* WKPluginSiteDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPluginSiteDataManager.cpp; sourceTree = "<group>"; };
1AC86FF2130B46D3002C1257 /* WKPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPluginSiteDataManager.h; sourceTree = "<group>"; };
- 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginSiteDataManager.h; sourceTree = "<group>"; };
- 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPluginSiteDataManager.cpp; sourceTree = "<group>"; };
1ACC87B91981C341003D1AF4 /* WKNavigationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNavigationPrivate.h; sourceTree = "<group>"; };
1ACECD2217162DB1001FC9EF /* StorageAreaMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StorageAreaMap.cpp; sourceTree = "<group>"; };
1ACECD2317162DB1001FC9EF /* StorageAreaMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StorageAreaMap.h; sourceTree = "<group>"; };
@@ -5063,8 +5059,6 @@
1A0EC75D124BC7B2007EF4A5 /* PluginProcessProxy.cpp */,
1A0EC75C124BC7B2007EF4A5 /* PluginProcessProxy.h */,
1A043B4C124D5E3600FFBFB5 /* PluginProcessProxy.messages.in */,
- 1AC8702C130B49A2002C1257 /* WebPluginSiteDataManager.cpp */,
- 1AC8702B130B49A2002C1257 /* WebPluginSiteDataManager.h */,
);
path = Plugins;
sourceTree = "<group>";
@@ -8163,7 +8157,6 @@
7C4694CA1A4B4EA100AD5845 /* WebPasteboardProxyMessages.h in Headers */,
1A3E736111CC2659007BD539 /* WebPlatformStrategies.h in Headers */,
31D5929F166E060000E6BF02 /* WebPlugInClient.h in Headers */,
- 1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */,
BC5744F012638FB3006F0F12 /* WebPopupItem.h in Headers */,
D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */,
BC574E631267D080006F0F12 /* WebPopupMenuProxy.h in Headers */,
@@ -10018,7 +10011,6 @@
C0337DDD127A521C008FF4F4 /* WebPlatformTouchPoint.cpp in Sources */,
2DA944A21884E4F000ED86DB /* WebPlatformTouchPointIOS.cpp in Sources */,
31D5929E166E060000E6BF02 /* WebPlugInClient.cpp in Sources */,
- 1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */,
BC5744EF12638FB3006F0F12 /* WebPopupItem.cpp in Sources */,
D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */,
BCC43AC7127B99DE00317F16 /* WebPopupMenuMac.mm in Sources */,