Diff
Modified: trunk/Source/WebKit/CMakeLists.txt (219712 => 219713)
--- trunk/Source/WebKit/CMakeLists.txt 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/CMakeLists.txt 2017-07-21 04:10:54 UTC (rev 219713)
@@ -311,8 +311,6 @@
UIProcess/WebGeolocationManagerProxy.cpp
UIProcess/WebGeolocationProvider.cpp
UIProcess/WebGrammarDetail.cpp
- UIProcess/WebIconDatabase.cpp
- UIProcess/WebIconDatabaseClient.cpp
UIProcess/WebInspectorProxy.cpp
UIProcess/WebInspectorUtilities.cpp
UIProcess/WebNavigationState.cpp
@@ -463,8 +461,6 @@
WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp
WebProcess/Geolocation/WebGeolocationManager.cpp
- WebProcess/IconDatabase/WebIconDatabaseProxy.cpp
-
WebProcess/InjectedBundle/InjectedBundle.cpp
WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp
WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.cpp
@@ -616,7 +612,6 @@
UIProcess/WebCookieManagerProxy.messages.in
UIProcess/WebFullScreenManagerProxy.messages.in
UIProcess/WebGeolocationManagerProxy.messages.in
- UIProcess/WebIconDatabase.messages.in
UIProcess/WebInspectorProxy.messages.in
UIProcess/WebPageProxy.messages.in
UIProcess/WebPasteboardProxy.messages.in
@@ -652,8 +647,6 @@
WebProcess/Geolocation/WebGeolocationManager.messages.in
- WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in
-
WebProcess/Network/webrtc/WebRTCMonitor.messages.in
WebProcess/Network/webrtc/WebRTCResolver.messages.in
WebProcess/Network/webrtc/WebRTCSocket.messages.in
Modified: trunk/Source/WebKit/ChangeLog (219712 => 219713)
--- trunk/Source/WebKit/ChangeLog 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/ChangeLog 2017-07-21 04:10:54 UTC (rev 219713)
@@ -1,3 +1,76 @@
+2017-07-20 Brady Eidson <beid...@apple.com>
+
+ Get rid of IconDatabase related code in WebKit.
+ https://bugs.webkit.org/show_bug.cgi?id=174693
+
+ Reviewed by Tim Horton.
+
+ This leaves the C-API class but guts it.
+
+ No explanations of the other changes are needed.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextGetIconDatabase):
+ (WKContextSetIconDatabasePath):
+ * UIProcess/API/C/WKIconDatabase.cpp:
+ (WKIconDatabaseSetIconDatabaseClient):
+ (WKIconDatabaseRetainIconForURL):
+ (WKIconDatabaseReleaseIconForURL):
+ (WKIconDatabaseSetIconDataForIconURL):
+ (WKIconDatabaseSetIconURLForPageURL):
+ (WKIconDatabaseCopyIconURLForPageURL):
+ (WKIconDatabaseCopyIconDataForPageURL):
+ (WKIconDatabaseEnableDatabaseCleanup):
+ (WKIconDatabaseRemoveAllIcons):
+ (WKIconDatabaseCheckIntegrityBeforeOpening):
+ (WKIconDatabaseClose):
+ * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
+ (WKIconDatabaseTryGetCGImageForURL):
+ (WKIconDatabaseTryCopyCGImageArrayForURL):
+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+ (WebKit::WebProcessPool::platformDefaultIconDatabasePath): Deleted.
+ * UIProcess/WebIconDatabase.cpp: Removed.
+ * UIProcess/WebIconDatabase.h:
+ (WebKit::WebIconDatabase::clearProcessPool): Deleted.
+ * UIProcess/WebIconDatabase.messages.in: Removed.
+ * UIProcess/WebIconDatabaseClient.cpp: Removed.
+ * UIProcess/WebIconDatabaseClient.h: Removed.
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::m_hiddenPageThrottlingTimer):
+ (WebKit::WebProcessPool::~WebProcessPool):
+ (WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):
+ (WebKit::WebProcessPool::createNewWebProcess):
+ (WebKit::WebProcessPool::setIconDatabasePath): Deleted.
+ (WebKit::WebProcessPool::iconDatabasePath): Deleted.
+ * UIProcess/WebProcessPool.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::processWillShutDown):
+ (WebKit::WebProcessProxy::retainIconForPageURL): Deleted.
+ (WebKit::WebProcessProxy::releaseIconForPageURL): Deleted.
+ (WebKit::WebProcessProxy::releaseRemainingIconsForPageURLs): Deleted.
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebProcessProxy.messages.in:
+ * UIProcess/gtk/WebProcessPoolGtk.cpp:
+ (WebKit::WebProcessPool::platformDefaultIconDatabasePath): Deleted.
+ * UIProcess/wpe/WebProcessPoolWPE.cpp:
+ (WebKit::WebProcessPool::platformDefaultIconDatabasePath): Deleted.
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: Removed.
+ * WebProcess/IconDatabase/WebIconDatabaseProxy.h: Removed.
+ * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in: Removed.
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ (WebKit::WebProcess::getWebCoreStatistics):
+ * WebProcess/WebProcess.h:
+
2017-07-20 David Quesada <david_ques...@apple.com>
Add SPI to notify WKNavigationDelegate about client redirects
Modified: trunk/Source/WebKit/DerivedSources.make (219712 => 219713)
--- trunk/Source/WebKit/DerivedSources.make 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/DerivedSources.make 2017-07-21 04:10:54 UTC (rev 219713)
@@ -142,8 +142,6 @@
WebGeolocationManagerProxy \
WebIDBConnectionToClient \
WebIDBConnectionToServer \
- WebIconDatabase \
- WebIconDatabaseProxy \
WebInspector \
WebInspectorInterruptDispatcher \
WebInspectorProxy \
Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp (219712 => 219713)
--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -89,7 +89,6 @@
encoder << shouldUseFontSmoothing;
encoder << resourceLoadStatisticsEnabled;
encoder << fontWhitelist;
- encoder << iconDatabaseEnabled;
encoder << terminationTimeout;
encoder << languages;
encoder << textCheckerState;
@@ -232,8 +231,6 @@
return false;
if (!decoder.decode(parameters.fontWhitelist))
return false;
- if (!decoder.decode(parameters.iconDatabaseEnabled))
- return false;
if (!decoder.decode(parameters.terminationTimeout))
return false;
if (!decoder.decode(parameters.languages))
Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.h (219712 => 219713)
--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.h 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.h 2017-07-21 04:10:54 UTC (rev 219713)
@@ -117,7 +117,6 @@
bool shouldSuppressMemoryPressureHandler { false };
bool shouldUseFontSmoothing { true };
bool resourceLoadStatisticsEnabled { false };
- bool iconDatabaseEnabled { false };
bool fullKeyboardAccessEnabled { false };
bool memoryCacheDisabled { false };
Modified: trunk/Source/WebKit/UIProcess/API/C/WKContext.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/API/C/WKContext.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/API/C/WKContext.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -40,7 +40,6 @@
#include "WKRetainPtr.h"
#include "WebCertificateInfo.h"
#include "WebContextInjectedBundleClient.h"
-#include "WebIconDatabase.h"
#include "WebProcessPool.h"
#include <wtf/RefPtr.h>
#include <wtf/text/WTFString.h>
@@ -419,9 +418,9 @@
return toAPI(toImpl(contextRef)->supplement<WebGeolocationManagerProxy>());
}
-WKIconDatabaseRef WKContextGetIconDatabase(WKContextRef contextRef)
+WKIconDatabaseRef WKContextGetIconDatabase(WKContextRef)
{
- return toAPI(toImpl(contextRef)->iconDatabase());
+ return nullptr;
}
WKKeyValueStorageManagerRef WKContextGetKeyValueStorageManager(WKContextRef context)
@@ -459,9 +458,8 @@
toImpl(contextRef)->stopMemorySampler();
}
-void WKContextSetIconDatabasePath(WKContextRef contextRef, WKStringRef iconDatabasePath)
+void WKContextSetIconDatabasePath(WKContextRef, WKStringRef)
{
- toImpl(contextRef)->setIconDatabasePath(toImpl(iconDatabasePath)->string());
}
void WKContextAllowSpecificHTTPSCertificateForHost(WKContextRef contextRef, WKCertificateInfoRef certificateRef, WKStringRef hostRef)
Modified: trunk/Source/WebKit/UIProcess/API/C/WKIconDatabase.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/API/C/WKIconDatabase.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/API/C/WKIconDatabase.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -29,7 +29,6 @@
#include "APIData.h"
#include "WKAPICast.h"
#include "WebIconDatabase.h"
-#include "WebIconDatabaseClient.h"
using namespace WebKit;
@@ -38,59 +37,48 @@
return toAPI(WebIconDatabase::APIType);
}
-void WKIconDatabaseSetIconDatabaseClient(WKIconDatabaseRef iconDatabaseRef, const WKIconDatabaseClientBase* wkClient)
+void WKIconDatabaseSetIconDatabaseClient(WKIconDatabaseRef, const WKIconDatabaseClientBase*)
{
- toImpl(iconDatabaseRef)->setClient(std::make_unique<WebIconDatabaseClient>(wkClient));
}
-void WKIconDatabaseRetainIconForURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURLRef)
+void WKIconDatabaseRetainIconForURL(WKIconDatabaseRef, WKURLRef)
{
- toImpl(iconDatabaseRef)->retainIconForPageURL(toWTFString(pageURLRef));
}
-void WKIconDatabaseReleaseIconForURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURLRef)
+void WKIconDatabaseReleaseIconForURL(WKIconDatabaseRef, WKURLRef)
{
- toImpl(iconDatabaseRef)->releaseIconForPageURL(toWTFString(pageURLRef));
}
-void WKIconDatabaseSetIconDataForIconURL(WKIconDatabaseRef iconDatabaseRef, WKDataRef iconDataRef, WKURLRef iconURLRef)
+void WKIconDatabaseSetIconDataForIconURL(WKIconDatabaseRef, WKDataRef, WKURLRef)
{
- toImpl(iconDatabaseRef)->setIconDataForIconURL(toImpl(iconDataRef)->dataReference(), toWTFString(iconURLRef));
}
-void WKIconDatabaseSetIconURLForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef iconURLRef, WKURLRef pageURLRef)
+void WKIconDatabaseSetIconURLForPageURL(WKIconDatabaseRef, WKURLRef, WKURLRef)
{
- toImpl(iconDatabaseRef)->setIconURLForPageURL(toWTFString(iconURLRef), toWTFString(pageURLRef));
}
-WKURLRef WKIconDatabaseCopyIconURLForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURLRef)
+WKURLRef WKIconDatabaseCopyIconURLForPageURL(WKIconDatabaseRef, WKURLRef)
{
- String iconURLString;
- toImpl(iconDatabaseRef)->synchronousIconURLForPageURL(toWTFString(pageURLRef), iconURLString);
- return toCopiedURLAPI(iconURLString);
+ return nullptr;
}
-WKDataRef WKIconDatabaseCopyIconDataForPageURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef pageURL)
+WKDataRef WKIconDatabaseCopyIconDataForPageURL(WKIconDatabaseRef, WKURLRef)
{
- return toAPI(toImpl(iconDatabaseRef)->iconDataForPageURL(toWTFString(pageURL)).leakRef());
+ return nullptr;
}
-void WKIconDatabaseEnableDatabaseCleanup(WKIconDatabaseRef iconDatabaseRef)
+void WKIconDatabaseEnableDatabaseCleanup(WKIconDatabaseRef)
{
- toImpl(iconDatabaseRef)->enableDatabaseCleanup();
}
-void WKIconDatabaseRemoveAllIcons(WKIconDatabaseRef iconDatabaseRef)
+void WKIconDatabaseRemoveAllIcons(WKIconDatabaseRef)
{
- toImpl(iconDatabaseRef)->removeAllIcons();
}
-void WKIconDatabaseCheckIntegrityBeforeOpening(WKIconDatabaseRef iconDatabaseRef)
+void WKIconDatabaseCheckIntegrityBeforeOpening(WKIconDatabaseRef)
{
- toImpl(iconDatabaseRef)->checkIntegrityBeforeOpening();
}
-void WKIconDatabaseClose(WKIconDatabaseRef iconDatabaseRef)
+void WKIconDatabaseClose(WKIconDatabaseRef)
{
- toImpl(iconDatabaseRef)->close();
}
Modified: trunk/Source/WebKit/UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -34,5 +34,5 @@
cairo_surface_t* WKIconDatabaseTryGetCairoSurfaceForURL(WKIconDatabaseRef iconDatabase, WKURLRef url)
{
- return toImpl(iconDatabase)->nativeImageForPageURL(toWTFString(url)).get();
+ return nullptr;
}
Modified: trunk/Source/WebKit/UIProcess/API/C/cg/WKIconDatabaseCG.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/API/C/cg/WKIconDatabaseCG.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/API/C/cg/WKIconDatabaseCG.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -26,7 +26,6 @@
#include "config.h"
#include "WKIconDatabaseCG.h"
-#include "WebIconDatabase.h"
#include "WKAPICast.h"
#include "WKSharedAPICast.h"
#include <WebCore/Image.h>
@@ -34,25 +33,12 @@
using namespace WebKit;
using namespace WebCore;
-CGImageRef WKIconDatabaseTryGetCGImageForURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef urlRef, WKSize size)
+CGImageRef WKIconDatabaseTryGetCGImageForURL(WKIconDatabaseRef, WKURLRef, WKSize)
{
- Image* image = toImpl(iconDatabaseRef)->imageForPageURL(toWTFString(urlRef));
- return image ? image->nativeImageOfSize(IntSize(static_cast<int>(size.width), static_cast<int>(size.height))).get() : nullptr;
+ return nullptr;
}
-CFArrayRef WKIconDatabaseTryCopyCGImageArrayForURL(WKIconDatabaseRef iconDatabaseRef, WKURLRef urlRef)
+CFArrayRef WKIconDatabaseTryCopyCGImageArrayForURL(WKIconDatabaseRef, WKURLRef)
{
- Image* image = toImpl(iconDatabaseRef)->imageForPageURL(toWTFString(urlRef));
- if (!image)
- return nullptr;
-
- auto nativeImages = image->framesNativeImages();
- if (!nativeImages.size())
- return nullptr;
-
- CFMutableArrayRef array = CFArrayCreateMutable(nullptr, nativeImages.size(), &kCFTypeArrayCallBacks);
- for (auto nativeImage : nativeImages)
- CFArrayAppendValue(array, nativeImage.get());
-
- return static_cast<CFArrayRef>(array);
+ return nullptr;
}
Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitWebContext.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -896,12 +896,12 @@
// Use default if 0 is passed as parameter.
String directoryPath = WebCore::stringFromFileSystemRepresentation(path);
priv->faviconDatabaseDirectory = directoryPath.isEmpty()
- ? priv->processPool->iconDatabasePath().utf8()
+ ? ""
: directoryPath.utf8();
// Build the full path to the icon database file on disk.
GUniquePtr<gchar> faviconDatabasePath(g_build_filename(priv->faviconDatabaseDirectory.data(),
- WebCore::IconDatabase::defaultDatabaseFilename().utf8().data(), nullptr));
+ "WebpageIcons.db", nullptr));
// Setting the path will cause the icon database to be opened.
webkitFaviconDatabaseOpen(priv->faviconDatabase.get(), WebCore::stringFromFileSystemRepresentation(faviconDatabasePath.get()));
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2017-07-21 04:10:54 UTC (rev 219713)
@@ -505,11 +505,6 @@
#endif
}
-String WebProcessPool::platformDefaultIconDatabasePath() const
-{
- return "";
-}
-
bool WebProcessPool::omitPDFSupport()
{
// Since this is a "secret default" we don't bother registering it.
Deleted: trunk/Source/WebKit/UIProcess/WebIconDatabase.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebIconDatabase.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebIconDatabase.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -1,342 +0,0 @@
-/*
- * Copyright (C) 2011 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 "WebIconDatabase.h"
-
-#include "APIIconDatabaseClient.h"
-#include "Logging.h"
-#include "WebIconDatabaseMessages.h"
-#include "WebIconDatabaseProxyMessages.h"
-#include "WebProcessPool.h"
-#include <WebCore/FileSystem.h>
-#include <WebCore/IconDatabase.h>
-#include <WebCore/Image.h>
-#include <WebCore/SharedBuffer.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-Ref<WebIconDatabase> WebIconDatabase::create(WebProcessPool* processPool)
-{
- return adoptRef(*new WebIconDatabase(*processPool));
-}
-
-WebIconDatabase::~WebIconDatabase()
-{
-}
-
-WebIconDatabase::WebIconDatabase(WebProcessPool& processPool)
- : m_processPool(&processPool)
- , m_urlImportCompleted(false)
- , m_databaseCleanupDisabled(false)
- , m_shouldDerefWhenAppropriate(false)
- , m_client(std::make_unique<API::IconDatabaseClient>())
-{
- m_processPool->addMessageReceiver(Messages::WebIconDatabase::messageReceiverName(), *this);
-}
-
-void WebIconDatabase::invalidate()
-{
- setGlobalIconDatabase(nullptr);
-}
-
-void WebIconDatabase::setDatabasePath(const String& path)
-{
- if (isOpen()) {
- LOG_ERROR("Icon database already has a path and is already open. We don't currently support changing its path and reopening.");
- return;
- }
-
- m_iconDatabaseImpl = std::make_unique<IconDatabase>();
- m_iconDatabaseImpl->setClient(this);
- IconDatabase::delayDatabaseCleanup();
- m_databaseCleanupDisabled = true;
- m_iconDatabaseImpl->setEnabled(true);
-
- // FIXME: WebIconDatabases are per-ProcessPool but ProcessPools's don't have their own notion of the current private browsing setting.
- // As we clean up private browsing throughout the stack we need to clean it up here.
- m_iconDatabaseImpl->setPrivateBrowsingEnabled(WebPreferences::anyPagesAreUsingPrivateBrowsing());
-
- if (!m_iconDatabaseImpl->open(directoryName(path), pathGetFileName(path))) {
- LOG_ERROR("Unable to open WebKit2 icon database on disk");
- m_iconDatabaseImpl = nullptr;
- setGlobalIconDatabase(nullptr);
- IconDatabase::allowDatabaseCleanup();
- m_databaseCleanupDisabled = false;
- }
- setGlobalIconDatabase(m_iconDatabaseImpl.get());
-}
-
-void WebIconDatabase::enableDatabaseCleanup()
-{
- if (!m_iconDatabaseImpl) {
- LOG_ERROR("Cannot enabled Icon Database cleanup - it hasn't been opened yet.");
- return;
- }
-
- if (!m_databaseCleanupDisabled) {
- LOG_ERROR("Attempt to enable database cleanup, but it's already enabled.");
- ASSERT_NOT_REACHED();
- return;
- }
-
- IconDatabase::allowDatabaseCleanup();
- m_databaseCleanupDisabled = false;
-}
-
-void WebIconDatabase::retainIconForPageURL(const String& pageURL)
-{
- if (m_iconDatabaseImpl)
- m_iconDatabaseImpl->retainIconForPageURL(pageURL);
-}
-
-void WebIconDatabase::releaseIconForPageURL(const String& pageURL)
-{
- if (m_iconDatabaseImpl)
- m_iconDatabaseImpl->releaseIconForPageURL(pageURL);
-}
-
-void WebIconDatabase::setIconURLForPageURL(const String& iconURL, const String& pageURL)
-{
- LOG(IconDatabase, "WK2 UIProcess setting icon URL %s for page URL %s", iconURL.ascii().data(), pageURL.ascii().data());
- if (m_iconDatabaseImpl)
- m_iconDatabaseImpl->setIconURLForPageURL(iconURL, pageURL);
-}
-
-void WebIconDatabase::setIconDataForIconURL(const IPC::DataReference& iconData, const String& iconURL)
-{
- LOG(IconDatabase, "WK2 UIProcess setting icon data (%i bytes) for page URL %s", (int)iconData.size(), iconURL.ascii().data());
- if (!m_iconDatabaseImpl)
- return;
- m_iconDatabaseImpl->setIconDataForIconURL(SharedBuffer::create(iconData.data(), iconData.size()).ptr(), iconURL);
-}
-
-void WebIconDatabase::synchronousIconDataForPageURL(const String&, IPC::DataReference& iconData)
-{
- iconData = IPC::DataReference();
-}
-
-void WebIconDatabase::synchronousIconURLForPageURL(const String& pageURL, String& iconURL)
-{
- if (!m_iconDatabaseImpl) {
- iconURL = String();
- return;
- }
- iconURL = m_iconDatabaseImpl->synchronousIconURLForPageURL(pageURL);
-}
-
-void WebIconDatabase::synchronousIconDataKnownForIconURL(const String&, bool& iconDataKnown) const
-{
- iconDataKnown = false;
-}
-
-void WebIconDatabase::synchronousLoadDecisionForIconURL(const String&, int& loadDecision) const
-{
- loadDecision = static_cast<int>(IconLoadNo);
-}
-
-void WebIconDatabase::getLoadDecisionForIconURL(const String& iconURL, uint64_t callbackID)
-{
- LOG(IconDatabase, "WK2 UIProcess getting load decision for icon URL %s with callback ID %lli", iconURL.ascii().data(), static_cast<long long>(callbackID));
-
- if (!m_processPool)
- return;
-
- if (!m_iconDatabaseImpl || !m_iconDatabaseImpl->isOpen() || iconURL.isEmpty()) {
- // FIXME (Multi-WebProcess): <rdar://problem/12240223> We need to know which connection to send this message to.
- m_processPool->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(IconLoadNo), callbackID));
- return;
- }
-
- // If the decision hasn't been read from disk yet, set this url and callback ID aside to be notifed later
- IconLoadDecision decision = m_iconDatabaseImpl->synchronousLoadDecisionForIconURL(iconURL, 0);
- if (decision == IconLoadUnknown) {
- // We should never get an unknown load decision after the URL import has completed.
- ASSERT(!m_urlImportCompleted);
-
- m_pendingLoadDecisionURLMap.set(callbackID, iconURL);
- return;
- }
-
- // FIXME (Multi-WebProcess): <rdar://problem/12240223> We need to know which connection to send this message to.
- m_processPool->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision((int)decision, callbackID));
-}
-
-void WebIconDatabase::didReceiveIconForPageURL(const String& pageURL)
-{
- notifyIconDataReadyForPageURL(pageURL);
-}
-
-Image* WebIconDatabase::imageForPageURL(const String& pageURL, const IntSize& iconSize)
-{
- if (!m_processPool || !m_iconDatabaseImpl || !m_iconDatabaseImpl->isOpen() || pageURL.isEmpty())
- return nullptr;
-
- // The WebCore IconDatabase ignores the passed in size parameter.
- // If that changes we'll need to rethink how this API is exposed.
- return m_iconDatabaseImpl->synchronousIconForPageURL(pageURL, iconSize);
-}
-
-NativeImagePtr WebIconDatabase::nativeImageForPageURL(const String& pageURL, const IntSize& iconSize)
-{
- if (!m_processPool || !m_iconDatabaseImpl || !m_iconDatabaseImpl->isOpen() || pageURL.isEmpty())
- return nullptr;
-
- return m_iconDatabaseImpl->synchronousNativeIconForPageURL(pageURL, iconSize);
-}
-
-bool WebIconDatabase::isOpen()
-{
- return m_iconDatabaseImpl && m_iconDatabaseImpl->isOpen();
-}
-
-bool WebIconDatabase::isUrlImportCompleted()
-{
- return m_urlImportCompleted;
-}
-
-void WebIconDatabase::removeAllIcons()
-{
- m_iconDatabaseImpl->removeAllIcons();
-}
-
-void WebIconDatabase::checkIntegrityBeforeOpening()
-{
- IconDatabase::checkIntegrityBeforeOpening();
-}
-
-void WebIconDatabase::close()
-{
- if (m_iconDatabaseImpl)
- m_iconDatabaseImpl->close();
-}
-
-void WebIconDatabase::setClient(std::unique_ptr<API::IconDatabaseClient>&& client)
-{
- if (!client)
- m_client = std::make_unique<API::IconDatabaseClient>();
- else
- m_client = WTFMove(client);
-}
-
-// WebCore::IconDatabaseClient
-
-void WebIconDatabase::didImportIconURLForPageURL(const String& pageURL)
-{
- didChangeIconForPageURL(pageURL);
-}
-
-void WebIconDatabase::didImportIconDataForPageURL(const String& pageURL)
-{
- notifyIconDataReadyForPageURL(pageURL);
-}
-
-void WebIconDatabase::didChangeIconForPageURL(const String& pageURL)
-{
- m_client->didChangeIconForPageURL(*this, pageURL);
-}
-
-void WebIconDatabase::didRemoveAllIcons()
-{
- m_client->didRemoveAllIcons(*this);
-}
-
-void WebIconDatabase::didFinishURLImport()
-{
- if (!m_processPool)
- return;
-
- ASSERT(!m_urlImportCompleted);
-
- LOG(IconDatabase, "WK2 UIProcess URL import complete, notifying all %i pending page URL load decisions", m_pendingLoadDecisionURLMap.size());
-
- for (auto& slot : m_pendingLoadDecisionURLMap) {
- LOG(IconDatabase, "WK2 UIProcess performing delayed callback on callback ID %i for page url %s", (int)slot.key, slot.value.ascii().data());
- IconLoadDecision decision = m_iconDatabaseImpl->synchronousLoadDecisionForIconURL(slot.value, nullptr);
-
- // Decisions should never be unknown after the inital import is complete.
- ASSERT(decision != IconLoadUnknown);
-
- // FIXME (Multi-WebProcess): <rdar://problem/12240223> We need to know which connection to send this message to.
- m_processPool->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(decision), slot.key));
- }
-
- m_pendingLoadDecisionURLMap.clear();
-
- m_urlImportCompleted = true;
-}
-
-void WebIconDatabase::didClose()
-{
- if (!m_shouldDerefWhenAppropriate)
- return;
-
- deref();
-}
-
-void WebIconDatabase::derefWhenAppropriate()
-{
- if (m_iconDatabaseImpl && m_iconDatabaseImpl->isOpen()) {
- m_shouldDerefWhenAppropriate = true;
- return;
- }
-
- deref();
-}
-
-void WebIconDatabase::notifyIconDataReadyForPageURL(const String& pageURL)
-{
- m_client->iconDataReadyForPageURL(*this, pageURL);
- didChangeIconForPageURL(pageURL);
-}
-
-void WebIconDatabase::setPrivateBrowsingEnabled(bool privateBrowsingEnabled)
-{
- if (m_iconDatabaseImpl)
- m_iconDatabaseImpl->setPrivateBrowsingEnabled(privateBrowsingEnabled);
-}
-
-RefPtr<API::Data> WebIconDatabase::iconDataForPageURL(const String& pageURL)
-{
- auto* image = imageForPageURL(pageURL);
- if (!image)
- return nullptr;
-
- SharedBuffer* sharedBuffer = image->data();
- if (!sharedBuffer)
- return nullptr;
-
- // Balanced by deref() below.
- sharedBuffer->ref();
- return API::Data::createWithoutCopying(reinterpret_cast<const unsigned char*>(sharedBuffer->data()), sharedBuffer->size(),
- [](unsigned char*, const void* untypedSharedBuffer) {
- // Balanced by ref() above.
- static_cast<SharedBuffer*>(const_cast<void*>(untypedSharedBuffer))->deref();
- }, sharedBuffer);
-}
-
-} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/WebIconDatabase.h (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebIconDatabase.h 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebIconDatabase.h 2017-07-21 04:10:54 UTC (rev 219713)
@@ -23,101 +23,13 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebIconDatabase_h
-#define WebIconDatabase_h
+#pragma once
#include "APIObject.h"
-#include "Connection.h"
-#include "WebIconDatabaseClient.h"
-#include <WebCore/IconDatabaseClient.h>
-#include <WebCore/IntSize.h>
-#include <WebCore/NativeImage.h>
-namespace API {
-class Data;
-class IconDatabaseClient;
-}
-
-namespace WebCore {
-class IconDatabase;
-class Image;
-}
-
namespace WebKit {
-class WebProcessPool;
-
-class WebIconDatabase : public API::ObjectImpl<API::Object::Type::IconDatabase>, private WebCore::IconDatabaseClient, private IPC::MessageReceiver {
-public:
- static Ref<WebIconDatabase> create(WebProcessPool*);
- virtual ~WebIconDatabase();
-
- void invalidate();
- void clearProcessPool() { m_processPool = nullptr; }
- void setDatabasePath(const String&);
- void enableDatabaseCleanup();
-
- void retainIconForPageURL(const String&);
- void releaseIconForPageURL(const String&);
- void setIconURLForPageURL(const String&, const String&);
- void setIconDataForIconURL(const IPC::DataReference&, const String&);
-
- void synchronousIconDataForPageURL(const String&, IPC::DataReference&);
- void synchronousIconURLForPageURL(const String&, String&);
- void synchronousIconDataKnownForIconURL(const String&, bool&) const;
- void synchronousLoadDecisionForIconURL(const String&, int&) const;
-
- void getLoadDecisionForIconURL(const String&, uint64_t callbackID);
- void didReceiveIconForPageURL(const String&);
-
- WebCore::Image* imageForPageURL(const String&, const WebCore::IntSize& iconSize = WebCore::IntSize(32, 32));
- WebCore::NativeImagePtr nativeImageForPageURL(const String&, const WebCore::IntSize& iconSize = WebCore::IntSize(32, 32));
- RefPtr<API::Data> iconDataForPageURL(const String& pageURL);
-
- bool isOpen();
- bool isUrlImportCompleted();
-
- void removeAllIcons();
- void checkIntegrityBeforeOpening();
- void close();
-
- void setClient(std::unique_ptr<API::IconDatabaseClient>&&);
-
- void setPrivateBrowsingEnabled(bool);
-
- // Called when the WebProcessPool is through with this WebIconDatabase but the
- // WebCore::IconDatabase possibly isn't done shutting down.
- // In that case this WebIconDatabase will deref() itself when the time is right.
- void derefWhenAppropriate();
-
-private:
- explicit WebIconDatabase(WebProcessPool&);
-
- // WebCore::IconDatabaseClient
- void didImportIconURLForPageURL(const String&) override;
- void didImportIconDataForPageURL(const String&) override;
- void didChangeIconForPageURL(const String&) override;
- void didRemoveAllIcons() override;
- void didFinishURLImport() override;
- void didClose() override;
-
- // IPC::MessageReceiver
- void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
- void didReceiveSyncMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&) override;
-
- void notifyIconDataReadyForPageURL(const String&);
-
- WebProcessPool* m_processPool;
-
- std::unique_ptr<WebCore::IconDatabase> m_iconDatabaseImpl;
- bool m_urlImportCompleted;
- bool m_databaseCleanupDisabled;
- bool m_shouldDerefWhenAppropriate;
- HashMap<uint64_t, String> m_pendingLoadDecisionURLMap;
-
- std::unique_ptr<API::IconDatabaseClient> m_client;
+class WebIconDatabase : public API::ObjectImpl<API::Object::Type::IconDatabase> {
};
} // namespace WebKit
-
-#endif // WebIconDatabase_h
Deleted: trunk/Source/WebKit/UIProcess/WebIconDatabase.messages.in (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebIconDatabase.messages.in 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebIconDatabase.messages.in 2017-07-21 04:10:54 UTC (rev 219713)
@@ -1,34 +0,0 @@
-# Copyright (C) 2011 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.
-
-messages -> WebIconDatabase {
- SetIconURLForPageURL(String iconURL, String pageURL)
- SetIconDataForIconURL(IPC::DataReference iconData, String iconURL)
-
- SynchronousIconDataForPageURL(String pageURL) -> (IPC::DataReference iconData)
- SynchronousIconURLForPageURL(String pageURL) -> (String iconURL)
- SynchronousIconDataKnownForIconURL(String iconURL) -> (bool dataKnown)
- SynchronousLoadDecisionForIconURL(String iconURL) -> (int loadDecision)
-
- GetLoadDecisionForIconURL(String iconURL, uint64_t callbackID)
- DidReceiveIconForPageURL(String pageURL)
-}
Deleted: trunk/Source/WebKit/UIProcess/WebIconDatabaseClient.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebIconDatabaseClient.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebIconDatabaseClient.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2011 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 "WebIconDatabaseClient.h"
-
-#include "WKAPICast.h"
-#include "WKSharedAPICast.h"
-#include "WebIconDatabase.h"
-
-namespace WebKit {
-
-WebIconDatabaseClient::WebIconDatabaseClient(const WKIconDatabaseClientBase* wkClient)
-{
- initialize(wkClient);
-}
-
-void WebIconDatabaseClient::didChangeIconForPageURL(WebIconDatabase& iconDatabase, const String& pageURL)
-{
- if (!m_client.didChangeIconForPageURL)
- return;
-
- m_client.didChangeIconForPageURL(toAPI(&iconDatabase), toAPI(API::URL::create(pageURL).ptr()), m_client.base.clientInfo);
-}
-
-void WebIconDatabaseClient::didRemoveAllIcons(WebIconDatabase& iconDatabase)
-{
- if (!m_client.didRemoveAllIcons)
- return;
-
- m_client.didRemoveAllIcons(toAPI(&iconDatabase), m_client.base.clientInfo);
-}
-
-void WebIconDatabaseClient::iconDataReadyForPageURL(WebIconDatabase& iconDatabase, const String& pageURL)
-{
- if (!m_client.iconDataReadyForPageURL)
- return;
-
- m_client.iconDataReadyForPageURL(toAPI(&iconDatabase), toAPI(API::URL::create(pageURL).ptr()), m_client.base.clientInfo);
-}
-
-} // namespace WebKit
Deleted: trunk/Source/WebKit/UIProcess/WebIconDatabaseClient.h (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebIconDatabaseClient.h 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebIconDatabaseClient.h 2017-07-21 04:10:54 UTC (rev 219713)
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2011 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 WebIconDatabaseClient_h
-#define WebIconDatabaseClient_h
-
-#include "APIClient.h"
-#include "APIIconDatabaseClient.h"
-#include "WKIconDatabase.h"
-
-namespace API {
-class URL;
-template<> struct ClientTraits<WKIconDatabaseClientBase> {
- typedef std::tuple<WKIconDatabaseClientV0, WKIconDatabaseClientV1> Versions;
-};
-}
-
-namespace WebKit {
-
-class WebIconDatabase;
-
-class WebIconDatabaseClient : public API::IconDatabaseClient, API::Client<WKIconDatabaseClientBase> {
-public:
- explicit WebIconDatabaseClient(const WKIconDatabaseClientBase*);
-
- void didChangeIconForPageURL(WebIconDatabase&, const String&) override;
- void didRemoveAllIcons(WebIconDatabase&) override;
- void iconDataReadyForPageURL(WebIconDatabase&, const String&) override;
-};
-
-} // namespace WebKit
-
-#endif // WebIconDatabaseClient_h
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -57,7 +57,6 @@
#include "WebCookieManagerProxy.h"
#include "WebCoreArgumentCoders.h"
#include "WebGeolocationManagerProxy.h"
-#include "WebIconDatabase.h"
#include "WebKit2Initialize.h"
#include "WebMemorySampler.h"
#include "WebNotificationManagerProxy.h"
@@ -258,8 +257,6 @@
addMessageReceiver(Messages::WebProcessPool::messageReceiverName(), *this);
// NOTE: These sub-objects must be initialized after m_messageReceiverMap..
- m_iconDatabase = WebIconDatabase::create(this);
-
addSupplement<WebCookieManagerProxy>();
addSupplement<WebGeolocationManagerProxy>();
addSupplement<WebNotificationManagerProxy>();
@@ -305,11 +302,6 @@
supplement->clearProcessPool();
}
- m_iconDatabase->invalidate();
- m_iconDatabase->clearProcessPool();
- WebIconDatabase* rawIconDatabase = m_iconDatabase.leakRef();
- rawIconDatabase->derefWhenAppropriate();
-
invalidateCallbackMap(m_dictionaryCallbacks, CallbackBase::Error::OwnerWasInvalidated);
platformInvalidateContext();
@@ -595,8 +587,6 @@
void WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled(bool privateBrowsingEnabled)
{
- m_iconDatabase->setPrivateBrowsingEnabled(privateBrowsingEnabled);
-
if (networkProcess()) {
if (privateBrowsingEnabled)
networkProcess()->send(Messages::NetworkProcess::EnsurePrivateBrowsingSession({SessionID::legacyPrivateSessionID(), { }, { }, { }}), 0);
@@ -726,8 +716,6 @@
parameters.shouldAlwaysUseComplexTextCodePath = m_alwaysUsesComplexTextCodePath;
parameters.shouldUseFontSmoothing = m_shouldUseFontSmoothing;
- parameters.iconDatabaseEnabled = !iconDatabasePath().isEmpty();
-
parameters.terminationTimeout = 0_s;
parameters.textCheckerState = TextChecker::state();
@@ -1290,23 +1278,6 @@
sendToAllProcesses(Messages::WebProcess::StopMemorySampler());
}
-void WebProcessPool::setIconDatabasePath(const String& path)
-{
- m_overrideIconDatabasePath = path;
- if (!m_overrideIconDatabasePath.isEmpty()) {
- // This implicitly enables the database on UI process side.
- m_iconDatabase->setDatabasePath(path);
- }
-}
-
-String WebProcessPool::iconDatabasePath() const
-{
- if (!m_overrideIconDatabasePath.isNull())
- return m_overrideIconDatabasePath;
-
- return platformDefaultIconDatabasePath();
-}
-
void WebProcessPool::useTestingNetworkSession()
{
ASSERT(m_processes.isEmpty());
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.h (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.h 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.h 2017-07-21 04:10:54 UTC (rev 219713)
@@ -89,7 +89,6 @@
class PerActivityStateCPUUsageSampler;
class WebAutomationSession;
class WebContextSupplement;
-class WebIconDatabase;
class WebPageGroup;
class WebPageProxy;
struct NetworkProcessCreationParameters;
@@ -244,8 +243,6 @@
API::CustomProtocolManagerClient& customProtocolManagerClient() const { return *m_customProtocolManagerClient; }
- WebIconDatabase* iconDatabase() const { return m_iconDatabase.get(); }
-
struct Statistics {
unsigned wkViewCount;
unsigned wkPageCount;
@@ -253,8 +250,6 @@
};
static Statistics& statistics();
- void setIconDatabasePath(const String&);
- String iconDatabasePath() const;
void setCookieStorageDirectory(const String& dir) { m_overrideCookieStorageDirectory = dir; }
void useTestingNetworkSession();
@@ -450,8 +445,6 @@
static void languageChanged(void* context);
void languageChanged();
- String platformDefaultIconDatabasePath() const;
-
#if PLATFORM(IOS)
String cookieStorageDirectory() const;
#endif
@@ -530,8 +523,6 @@
bool m_memorySamplerEnabled;
double m_memorySamplerInterval;
- RefPtr<WebIconDatabase> m_iconDatabase;
-
const Ref<API::WebsiteDataStore> m_websiteDataStore;
typedef HashMap<const char*, RefPtr<WebContextSupplement>, PtrHash<const char*>> WebContextSupplementMap;
@@ -554,7 +545,6 @@
std::unique_ptr<PerActivityStateCPUUsageSampler> m_perActivityStateCPUUsageSampler;
#endif
- String m_overrideIconDatabasePath;
String m_overrideCookieStorageDirectory;
bool m_shouldUseTestingNetworkSession;
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -38,7 +38,6 @@
#include "TextCheckerState.h"
#include "UserData.h"
#include "WebBackForwardListItem.h"
-#include "WebIconDatabase.h"
#include "WebInspectorUtilities.h"
#include "WebNavigationDataStore.h"
#include "WebNotificationManagerProxy.h"
@@ -167,8 +166,6 @@
for (auto& page : m_pageMap.values())
page->webProcessWillShutDown();
-
- releaseRemainingIconsForPageURLs();
}
void WebProcessProxy::shutDown()
@@ -579,53 +576,6 @@
}
#endif // ENABLE(DATABASE_PROCESS)
-void WebProcessProxy::retainIconForPageURL(const String& pageURL)
-{
- WebIconDatabase* iconDatabase = processPool().iconDatabase();
- if (!iconDatabase || pageURL.isEmpty())
- return;
-
- // Track retain counts so we can release them if the WebProcess terminates early.
- auto result = m_pageURLRetainCountMap.add(pageURL, 1);
- if (!result.isNewEntry)
- ++result.iterator->value;
-
- iconDatabase->retainIconForPageURL(pageURL);
-}
-
-void WebProcessProxy::releaseIconForPageURL(const String& pageURL)
-{
- WebIconDatabase* iconDatabase = processPool().iconDatabase();
- if (!iconDatabase || pageURL.isEmpty())
- return;
-
- // Track retain counts so we can release them if the WebProcess terminates early.
- auto result = m_pageURLRetainCountMap.find(pageURL);
- if (result == m_pageURLRetainCountMap.end())
- return;
-
- --result->value;
- if (!result->value)
- m_pageURLRetainCountMap.remove(result);
-
- iconDatabase->releaseIconForPageURL(pageURL);
-}
-
-void WebProcessProxy::releaseRemainingIconsForPageURLs()
-{
- WebIconDatabase* iconDatabase = processPool().iconDatabase();
- if (!iconDatabase)
- return;
-
- for (auto& entry : m_pageURLRetainCountMap) {
- uint64_t count = entry.value;
- for (uint64_t i = 0; i < count; ++i)
- iconDatabase->releaseIconForPageURL(entry.key);
- }
-
- m_pageURLRetainCountMap.clear();
-}
-
#if !PLATFORM(COCOA)
bool WebProcessProxy::platformIsBeingDebugged() const
{
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2017-07-21 04:10:54 UTC (rev 219713)
@@ -218,10 +218,6 @@
void getDatabaseProcessConnection(Ref<Messages::WebProcessProxy::GetDatabaseProcessConnection::DelayedReply>&&);
#endif
- void retainIconForPageURL(const String& pageURL);
- void releaseIconForPageURL(const String& pageURL);
- void releaseRemainingIconsForPageURLs();
-
bool platformIsBeingDebugged() const;
static const HashSet<String>& platformPathsWithAssumedReadAccess();
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.messages.in 2017-07-21 04:10:54 UTC (rev 219713)
@@ -51,9 +51,6 @@
StopResponsivenessTimer()
- RetainIconForPageURL(String pageURL)
- ReleaseIconForPageURL(String pageURL)
-
DidReceiveMainThreadPing()
DidReceiveBackgroundResponsivenessPing()
Modified: trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/gtk/WebProcessPoolGtk.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -106,12 +106,6 @@
return API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory();
}
-String WebProcessPool::platformDefaultIconDatabasePath() const
-{
- GUniquePtr<gchar> databaseDirectory(g_build_filename(g_get_user_cache_dir(), "webkitgtk", "icondatabase", nullptr));
- return WebCore::stringFromFileSystemRepresentation(databaseDirectory.get());
-}
-
String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory()
{
return API::WebsiteDataStore::defaultLocalStorageDirectory();
Modified: trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp (219712 => 219713)
--- trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/UIProcess/wpe/WebProcessPoolWPE.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -111,12 +111,6 @@
return WebCore::stringFromFileSystemRepresentation(indexedDBDatabaseDirectory.get());
}
-String WebProcessPool::platformDefaultIconDatabasePath() const
-{
- GUniquePtr<gchar> databaseDirectory(g_build_filename(g_get_user_cache_dir(), "wpe", "icondatabase", nullptr));
- return WebCore::stringFromFileSystemRepresentation(databaseDirectory.get());
-}
-
String WebProcessPool::legacyPlatformDefaultLocalStorageDirectory()
{
GUniquePtr<gchar> storageDirectory(g_build_filename(g_get_user_data_dir(), "wpe", "localstorage", nullptr));
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (219712 => 219713)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2017-07-21 04:10:54 UTC (rev 219713)
@@ -937,10 +937,6 @@
510FBB9B1288C95E00AFFDF4 /* WebContextMenuItemData.h in Headers */ = {isa = PBXBuildFile; fileRef = 510FBB991288C95E00AFFDF4 /* WebContextMenuItemData.h */; };
5110AE0C133C16CB0072717A /* WKIconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5110AE0A133C16CB0072717A /* WKIconDatabase.cpp */; };
5110AE0D133C16CB0072717A /* WKIconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 5110AE0B133C16CB0072717A /* WKIconDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 511B24A6132E095700065A0C /* WebIconDatabaseProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511B24A4132E095700065A0C /* WebIconDatabaseProxy.cpp */; };
- 511B24A7132E095700065A0C /* WebIconDatabaseProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 511B24A5132E095700065A0C /* WebIconDatabaseProxy.h */; };
- 511B24AA132E097200065A0C /* WebIconDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511B24A8132E097200065A0C /* WebIconDatabase.cpp */; };
- 511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 511B24A9132E097200065A0C /* WebIconDatabase.h */; };
511F7D411EB1BCF500E47B83 /* WebsiteDataStoreParameters.h in Headers */ = {isa = PBXBuildFile; fileRef = 511F7D401EB1BCEE00E47B83 /* WebsiteDataStoreParameters.h */; };
511F7D421EB1BCF800E47B83 /* WebsiteDataStoreParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511F7D3F1EB1BCEE00E47B83 /* WebsiteDataStoreParameters.cpp */; };
511F8A7B138B460900A95F44 /* SecItemShimLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 511F8A77138B460900A95F44 /* SecItemShimLibrary.h */; };
@@ -1023,8 +1019,6 @@
517CF0E4163A486C00C2950E /* NetworkProcessConnectionMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 517CF0E2163A486C00C2950E /* NetworkProcessConnectionMessages.h */; };
517DD5BE180DA7D30081660B /* DatabaseProcessProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 517DD5BC180DA7D30081660B /* DatabaseProcessProxy.cpp */; };
517DD5BF180DA7D30081660B /* DatabaseProcessProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 517DD5BD180DA7D30081660B /* DatabaseProcessProxy.h */; };
- 51834592134532E90092B696 /* WebIconDatabaseClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51834590134532E80092B696 /* WebIconDatabaseClient.cpp */; };
- 51834593134532E90092B696 /* WebIconDatabaseClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 51834591134532E80092B696 /* WebIconDatabaseClient.h */; };
5183DDEC1630BDFC008BE5C7 /* NetworkProcessConnection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5105B0D4162F7A7A00E27709 /* NetworkProcessConnection.cpp */; };
51871B5B127CB89D00F76232 /* WebContextMenu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51871B59127CB89D00F76232 /* WebContextMenu.cpp */; };
51871B5C127CB89D00F76232 /* WebContextMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 51871B5A127CB89D00F76232 /* WebContextMenu.h */; };
@@ -1060,10 +1054,6 @@
51CD1C651B34B9D400142CA5 /* WKSecurityOrigin.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CD1C5F1B34B9C900142CA5 /* WKSecurityOrigin.h */; settings = {ATTRIBUTES = (Public, ); }; };
51CD1C661B34B9DC00142CA5 /* WKSecurityOrigin.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51CD1C601B34B9C900142CA5 /* WKSecurityOrigin.mm */; };
51CD1C671B34B9DF00142CA5 /* WKSecurityOriginInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CD1C611B34B9C900142CA5 /* WKSecurityOriginInternal.h */; };
- 51D02F64132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D02F63132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp */; };
- 51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D02F67132EC73700BEAA96 /* WebIconDatabaseMessages.h */; };
- 51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D02F68132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp */; };
- 51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 51D02F69132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h */; };
51D124231E6D34A1002B2820 /* WebURLSchemeTaskProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D124211E6D349A002B2820 /* WebURLSchemeTaskProxy.cpp */; };
51D124281E6D3F5D002B2820 /* WebURLSchemeHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D124241E6D3CC3002B2820 /* WebURLSchemeHandler.cpp */; };
51D1242C1E6D41FD002B2820 /* WebURLSchemeHandlerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51D1242A1E6D41BC002B2820 /* WebURLSchemeHandlerProxy.cpp */; };
@@ -3186,10 +3176,6 @@
510FBB991288C95E00AFFDF4 /* WebContextMenuItemData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenuItemData.h; sourceTree = "<group>"; };
5110AE0A133C16CB0072717A /* WKIconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKIconDatabase.cpp; sourceTree = "<group>"; };
5110AE0B133C16CB0072717A /* WKIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKIconDatabase.h; sourceTree = "<group>"; };
- 511B24A4132E095700065A0C /* WebIconDatabaseProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebIconDatabaseProxy.cpp; path = IconDatabase/WebIconDatabaseProxy.cpp; sourceTree = "<group>"; };
- 511B24A5132E095700065A0C /* WebIconDatabaseProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebIconDatabaseProxy.h; path = IconDatabase/WebIconDatabaseProxy.h; sourceTree = "<group>"; };
- 511B24A8132E097200065A0C /* WebIconDatabase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabase.cpp; sourceTree = "<group>"; };
- 511B24A9132E097200065A0C /* WebIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabase.h; sourceTree = "<group>"; };
511F7D3F1EB1BCEE00E47B83 /* WebsiteDataStoreParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebsiteDataStoreParameters.cpp; sourceTree = "<group>"; };
511F7D401EB1BCEE00E47B83 /* WebsiteDataStoreParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebsiteDataStoreParameters.h; sourceTree = "<group>"; };
511F8A77138B460900A95F44 /* SecItemShimLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SecItemShimLibrary.h; path = ../../WebProcess/mac/SecItemShimLibrary.h; sourceTree = "<group>"; };
@@ -3270,10 +3256,7 @@
517CF0E2163A486C00C2950E /* NetworkProcessConnectionMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkProcessConnectionMessages.h; sourceTree = "<group>"; };
517DD5BC180DA7D30081660B /* DatabaseProcessProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DatabaseProcessProxy.cpp; path = Databases/DatabaseProcessProxy.cpp; sourceTree = "<group>"; };
517DD5BD180DA7D30081660B /* DatabaseProcessProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DatabaseProcessProxy.h; path = Databases/DatabaseProcessProxy.h; sourceTree = "<group>"; };
- 51834590134532E80092B696 /* WebIconDatabaseClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabaseClient.cpp; sourceTree = "<group>"; };
- 51834591134532E80092B696 /* WebIconDatabaseClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseClient.h; sourceTree = "<group>"; };
5183B3931379F85C00E8754E /* Shim.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Shim.xcconfig; sourceTree = "<group>"; };
- 5184BC4A132E907A006B9E28 /* WebIconDatabase.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebIconDatabase.messages.in; sourceTree = "<group>"; };
51871B59127CB89D00F76232 /* WebContextMenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMenu.cpp; sourceTree = "<group>"; };
51871B5A127CB89D00F76232 /* WebContextMenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMenu.h; sourceTree = "<group>"; };
518ACAE912AEE6BB00B04B83 /* WKProtectionSpaceTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKProtectionSpaceTypes.h; sourceTree = "<group>"; };
@@ -3316,16 +3299,12 @@
51C0C9791DDD78540032CAD3 /* _WKLinkIconParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKLinkIconParameters.h; sourceTree = "<group>"; };
51C0C97A1DDD78540032CAD3 /* _WKLinkIconParameters.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = _WKLinkIconParameters.mm; sourceTree = "<group>"; };
51C0C97B1DDD78540032CAD3 /* _WKLinkIconParametersInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _WKLinkIconParametersInternal.h; sourceTree = "<group>"; };
+ 51C8E19B1F21617200BF731B /* WebIconDatabase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebIconDatabase.h; sourceTree = "<group>"; };
51CD1C591B3493A900142CA5 /* WKSecurityOriginRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKSecurityOriginRef.cpp; sourceTree = "<group>"; };
51CD1C5A1B3493A900142CA5 /* WKSecurityOriginRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOriginRef.h; sourceTree = "<group>"; };
51CD1C5F1B34B9C900142CA5 /* WKSecurityOrigin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOrigin.h; sourceTree = "<group>"; };
51CD1C601B34B9C900142CA5 /* WKSecurityOrigin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKSecurityOrigin.mm; sourceTree = "<group>"; };
51CD1C611B34B9C900142CA5 /* WKSecurityOriginInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSecurityOriginInternal.h; sourceTree = "<group>"; };
- 51D02F63132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabaseMessageReceiver.cpp; sourceTree = "<group>"; };
- 51D02F65132EC6D300BEAA96 /* WebIconDatabaseProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = WebIconDatabaseProxy.messages.in; path = IconDatabase/WebIconDatabaseProxy.messages.in; sourceTree = "<group>"; };
- 51D02F67132EC73700BEAA96 /* WebIconDatabaseMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseMessages.h; sourceTree = "<group>"; };
- 51D02F68132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebIconDatabaseProxyMessageReceiver.cpp; sourceTree = "<group>"; };
- 51D02F69132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseProxyMessages.h; sourceTree = "<group>"; };
51D124211E6D349A002B2820 /* WebURLSchemeTaskProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebURLSchemeTaskProxy.cpp; sourceTree = "<group>"; };
51D124221E6D349A002B2820 /* WebURLSchemeTaskProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebURLSchemeTaskProxy.h; sourceTree = "<group>"; };
51D124241E6D3CC3002B2820 /* WebURLSchemeHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebURLSchemeHandler.cpp; sourceTree = "<group>"; };
@@ -6259,16 +6238,6 @@
path = DatabaseService;
sourceTree = "<group>";
};
- 51FBB9C1132E079200F327B4 /* IconDatabase */ = {
- isa = PBXGroup;
- children = (
- 511B24A4132E095700065A0C /* WebIconDatabaseProxy.cpp */,
- 511B24A5132E095700065A0C /* WebIconDatabaseProxy.h */,
- 51D02F65132EC6D300BEAA96 /* WebIconDatabaseProxy.messages.in */,
- );
- name = IconDatabase;
- sourceTree = "<group>";
- };
539BD5B21DADB0BA00F2E4E1 /* capture */ = {
isa = PBXGroup;
children = (
@@ -6569,7 +6538,6 @@
CD73BA3D131A2A2100EEDED2 /* FullScreen */,
515BE1721D53FDB900DD7C68 /* Gamepad */,
BC0E5FCB12D696DD0012A72A /* Geolocation */,
- 51FBB9C1132E079200F327B4 /* IconDatabase */,
BC204EDF11C83E72008F3375 /* InjectedBundle */,
33D3A3BD1339609800709BE4 /* MediaCache */,
4A410F4119AF7B27002EBAB5 /* MediaStream */,
@@ -6823,11 +6791,7 @@
BC0E615212D6CAC80012A72A /* WebGeolocationManagerProxy.messages.in */,
BC1BE1F112D54DBD0004A228 /* WebGeolocationProvider.cpp */,
BC1BE1F012D54DBD0004A228 /* WebGeolocationProvider.h */,
- 511B24A8132E097200065A0C /* WebIconDatabase.cpp */,
- 511B24A9132E097200065A0C /* WebIconDatabase.h */,
- 5184BC4A132E907A006B9E28 /* WebIconDatabase.messages.in */,
- 51834590134532E80092B696 /* WebIconDatabaseClient.cpp */,
- 51834591134532E80092B696 /* WebIconDatabaseClient.h */,
+ 51C8E19B1F21617200BF731B /* WebIconDatabase.h */,
1C8E28331275D73800BC7BD0 /* WebInspectorProxy.cpp */,
1C8E28321275D73800BC7BD0 /* WebInspectorProxy.h */,
1C77C1951288A872006A742F /* WebInspectorProxy.messages.in */,
@@ -7880,10 +7844,6 @@
BC0E606012D6BA910012A72A /* WebGeolocationManagerMessages.h */,
BC0E618012D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp */,
BC0E618112D6CB1D0012A72A /* WebGeolocationManagerProxyMessages.h */,
- 51D02F63132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp */,
- 51D02F67132EC73700BEAA96 /* WebIconDatabaseMessages.h */,
- 51D02F68132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp */,
- 51D02F69132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h */,
510523771C73DA70007993CB /* WebIDBConnectionToClientMessageReceiver.cpp */,
510523781C73DA70007993CB /* WebIDBConnectionToClientMessages.h */,
510523721C73D37B007993CB /* WebIDBConnectionToServerMessageReceiver.cpp */,
@@ -8714,11 +8674,6 @@
BC1BE1F212D54DBD0004A228 /* WebGeolocationProvider.h in Headers */,
2D5036761BCED19F00E20BB3 /* WebGestureEvent.h in Headers */,
93A88B331BC6E9CD00ABA5C2 /* WebHitTestResultData.h in Headers */,
- 511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */,
- 51834593134532E90092B696 /* WebIconDatabaseClient.h in Headers */,
- 51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */,
- 511B24A7132E095700065A0C /* WebIconDatabaseProxy.h in Headers */,
- 51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */,
F44DFEB21E9E752F0038D196 /* WebIconUtilities.h in Headers */,
510523701C739D42007993CB /* WebIDBConnectionToClient.h in Headers */,
5105237A1C73DA77007993CB /* WebIDBConnectionToClientMessages.h in Headers */,
@@ -9388,7 +9343,7 @@
LastSwiftUpdateCheck = 0700;
LastUpgradeCheck = 0700;
};
- buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "WebKit2" */;
+ buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "WebKit" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
@@ -10310,11 +10265,6 @@
2D5036751BCED19F00E20BB3 /* WebGestureEvent.cpp in Sources */,
93A88B361BC6EAD500ABA5C2 /* WebHitTestResultData.cpp in Sources */,
93A88B301BC6E99700ABA5C2 /* WebHitTestResultData.mm in Sources */,
- 511B24AA132E097200065A0C /* WebIconDatabase.cpp in Sources */,
- 51834592134532E90092B696 /* WebIconDatabaseClient.cpp in Sources */,
- 51D02F64132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp in Sources */,
- 511B24A6132E095700065A0C /* WebIconDatabaseProxy.cpp in Sources */,
- 51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */,
F44DFEB31E9E752F0038D196 /* WebIconUtilities.mm in Sources */,
5105236F1C739D42007993CB /* WebIDBConnectionToClient.cpp in Sources */,
510523791C73DA77007993CB /* WebIDBConnectionToClientMessageReceiver.cpp in Sources */,
@@ -11167,7 +11117,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Production;
};
- 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "WebKit2" */ = {
+ 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "WebKit" */ = {
isa = XCConfigurationList;
buildConfigurations = (
1DEB91B208733DA50010E9CD /* Debug */,
Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (219712 => 219713)
--- trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -48,7 +48,6 @@
#include "WebFrame.h"
#include "WebFrameNetworkingContext.h"
#include "WebFullScreenManager.h"
-#include "WebIconDatabaseMessages.h"
#include "WebNavigationDataStore.h"
#include "WebPage.h"
#include "WebPageGroupProxy.h"
Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (219712 => 219713)
--- trunk/Source/WebKit/WebProcess/WebProcess.cpp 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp 2017-07-21 04:10:54 UTC (rev 219713)
@@ -51,7 +51,6 @@
#include "WebFrameNetworkingContext.h"
#include "WebGamepadProvider.h"
#include "WebGeolocationManager.h"
-#include "WebIconDatabaseProxy.h"
#include "WebLoaderStrategy.h"
#include "WebMediaKeyStorageManager.h"
#include "WebMemorySampler.h"
@@ -88,7 +87,6 @@
#include <WebCore/GCController.h>
#include <WebCore/GlyphPage.h>
#include <WebCore/HTMLMediaElement.h>
-#include <WebCore/IconDatabase.h>
#include <WebCore/JSDOMWindow.h>
#include <WebCore/Language.h>
#include <WebCore/MainFrame.h>
@@ -163,7 +161,6 @@
, m_viewUpdateDispatcher(ViewUpdateDispatcher::create())
#endif
, m_webInspectorInterruptDispatcher(WebInspectorInterruptDispatcher::create())
- , m_iconDatabaseProxy(*new WebIconDatabaseProxy(*this))
, m_webLoaderStrategy(*new WebLoaderStrategy)
, m_dnsPrefetchHystereris([this](HysteresisState state) { if (state == HysteresisState::Stopped) m_dnsPrefetchedHosts.clear(); })
#if ENABLE(NETSCAPE_PLUGIN_API)
@@ -300,10 +297,6 @@
auto& databaseManager = DatabaseManager::singleton();
databaseManager.initialize(parameters.webSQLDatabaseDirectory);
-#if ENABLE(ICONDATABASE)
- m_iconDatabaseProxy.setEnabled(parameters.iconDatabaseEnabled);
-#endif
-
// FIXME: This should be constructed per data store, not per process.
m_applicationCacheStorage = ApplicationCacheStorage::create(parameters.applicationCacheDirectory, parameters.applicationCacheFlatFileSubdirectoryName);
#if PLATFORM(IOS)
@@ -1015,12 +1008,6 @@
data.statisticsNumbers.set(ASCIILiteral("FastMallocCommittedVMBytes"), fastMallocStatistics.committedVMBytes);
data.statisticsNumbers.set(ASCIILiteral("FastMallocFreeListBytes"), fastMallocStatistics.freeListBytes);
- // Gather icon statistics.
- data.statisticsNumbers.set(ASCIILiteral("IconPageURLMappingCount"), iconDatabase().pageURLMappingCount());
- data.statisticsNumbers.set(ASCIILiteral("IconRetainedPageURLCount"), iconDatabase().retainedPageURLCount());
- data.statisticsNumbers.set(ASCIILiteral("IconRecordCount"), iconDatabase().iconRecordCount());
- data.statisticsNumbers.set(ASCIILiteral("IconsWithDataCount"), iconDatabase().iconRecordCountWithData());
-
// Gather font statistics.
auto& fontCache = FontCache::singleton();
data.statisticsNumbers.set(ASCIILiteral("CachedFontDataCount"), fontCache.fontCount());
Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (219712 => 219713)
--- trunk/Source/WebKit/WebProcess/WebProcess.h 2017-07-21 02:36:52 UTC (rev 219712)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h 2017-07-21 04:10:54 UTC (rev 219713)
@@ -82,7 +82,6 @@
class WebAutomationSessionProxy;
class WebConnectionToUIProcess;
class WebFrame;
-class WebIconDatabaseProxy;
class WebLoaderStrategy;
class WebPage;
class WebPageGroupProxy;
@@ -376,8 +375,6 @@
TextCheckerState m_textCheckerState;
- WebIconDatabaseProxy& m_iconDatabaseProxy;
-
void ensureNetworkProcessConnection();
RefPtr<NetworkProcessConnection> m_networkProcessConnection;
WebLoaderStrategy& m_webLoaderStrategy;