Diff
Modified: branches/safari-537.75-branch/Source/WebKit2/ChangeLog (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/ChangeLog 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/ChangeLog 2014-02-13 01:32:02 UTC (rev 164002)
@@ -1,3 +1,41 @@
+2014-02-12 Matthew Hanson <[email protected]>
+
+ Merge r162904
+
+2014-01-27 Andy Estes <[email protected]>
+
+ [WebKit2] Add SPI to disable the WebCore memory cache
+ https://bugs.webkit.org/show_bug.cgi?id=127747
+
+ Reviewed by Tim Horton.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ Initialized memoryCacheDisabled to false.
+ (WebKit::WebProcessCreationParameters::encode):
+ Encoded memoryCacheDisabled.
+ (WebKit::WebProcessCreationParameters::decode):
+ Decoded memoryCacheDisabled.
+ * Shared/WebProcessCreationParameters.h:
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetMemoryCacheDisabled):
+ Called WebContext::setMemoryCacheDisabled().
+ * UIProcess/API/C/WKContextPrivate.h: Declared new SPI.
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext): Initialized m_memoryCacheDisabled to false.
+ (WebKit::WebContext::createNewWebProcess):
+ Set WebProcessCreationParameters::memoryCacheDisabled to m_memoryCacheDisabled.
+ (WebKit::WebContext::setMemoryCacheDisabled): Set m_memoryCacheDisabled
+ and sent new value to all existing processes.
+ * UIProcess/WebContext.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Called WebProcess::setMemoryCacheDisabled().
+ (WebKit::WebProcess::setMemoryCacheDisabled):
+ Called MemoryCache::setDisabled() if the disabled state changed.
+ * WebProcess/WebProcess.h:
+ * WebProcess/WebProcess.messages.in:
+
2013-12-23 Matthew Hanson <[email protected]>
Merge 161003: <rdar://problem/15719584>
Modified: branches/safari-537.75-branch/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/Shared/WebProcessCreationParameters.cpp 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/Shared/WebProcessCreationParameters.cpp 2014-02-13 01:32:02 UTC (rev 164002)
@@ -44,6 +44,7 @@
#if ENABLE(NETWORK_PROCESS)
, usesNetworkProcess(false)
#endif
+ , memoryCacheDisabled(false)
{
}
@@ -113,6 +114,7 @@
encoder << plugInAutoStartOriginHashes;
encoder << plugInAutoStartOrigins;
+ encoder << memoryCacheDisabled;
}
bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder& decoder, WebProcessCreationParameters& parameters)
@@ -231,6 +233,8 @@
return false;
if (!decoder.decode(parameters.plugInAutoStartOrigins))
return false;
+ if (!decoder.decode(parameters.memoryCacheDisabled))
+ return false;
return true;
}
Modified: branches/safari-537.75-branch/Source/WebKit2/Shared/WebProcessCreationParameters.h (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/Shared/WebProcessCreationParameters.h 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/Shared/WebProcessCreationParameters.h 2014-02-13 01:32:02 UTC (rev 164002)
@@ -136,6 +136,8 @@
HashMap<unsigned, double> plugInAutoStartOriginHashes;
Vector<String> plugInAutoStartOrigins;
+
+ bool memoryCacheDisabled;
};
} // namespace WebKit
Modified: branches/safari-537.75-branch/Source/WebKit2/UIProcess/API/C/WKContext.cpp (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/UIProcess/API/C/WKContext.cpp 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/UIProcess/API/C/WKContext.cpp 2014-02-13 01:32:02 UTC (rev 164002)
@@ -388,6 +388,11 @@
WebContext::setInvalidMessageCallback(invalidMessageFunction);
}
+void WKContextSetMemoryCacheDisabled(WKContextRef contextRef, bool disabled)
+{
+ toImpl(contextRef)->setMemoryCacheDisabled(disabled);
+}
+
// Deprecated functions.
void _WKContextSetAdditionalPluginsDirectory(WKContextRef context, WKStringRef pluginsDirectory)
{
Modified: branches/safari-537.75-branch/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/UIProcess/API/C/WKContextPrivate.h 2014-02-13 01:32:02 UTC (rev 164002)
@@ -81,6 +81,8 @@
typedef void (*WKContextInvalidMessageFunction)(WKStringRef messageName);
WK_EXPORT void WKContextSetInvalidMessageFunction(WKContextInvalidMessageFunction invalidMessageFunction);
+
+WK_EXPORT void WKContextSetMemoryCacheDisabled(WKContextRef, bool disabled);
#ifdef __cplusplus
}
Modified: branches/safari-537.75-branch/Source/WebKit2/UIProcess/WebContext.cpp (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/UIProcess/WebContext.cpp 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/UIProcess/WebContext.cpp 2014-02-13 01:32:02 UTC (rev 164002)
@@ -148,6 +148,7 @@
#if USE(SOUP)
, m_ignoreTLSErrors(true)
#endif
+ , m_memoryCacheDisabled(false)
{
platformInitialize();
@@ -550,6 +551,8 @@
parameters.plugInAutoStartOriginHashes = m_plugInAutoStartProvider.autoStartOriginHashesCopy();
copyToVector(m_plugInAutoStartProvider.autoStartOrigins(), parameters.plugInAutoStartOrigins);
+ parameters.memoryCacheDisabled = m_memoryCacheDisabled;
+
// Add any platform specific parameters
platformInitializeWebProcess(parameters);
@@ -1259,5 +1262,11 @@
m_client.plugInInformationBecameAvailable(this, ImmutableArray::adopt(pluginArray).leakRef());
}
#endif
+
+void WebContext::setMemoryCacheDisabled(bool disabled)
+{
+ m_memoryCacheDisabled = disabled;
+ sendToAllProcesses(Messages::WebProcess::SetMemoryCacheDisabled(disabled));
+}
} // namespace WebKit
Modified: branches/safari-537.75-branch/Source/WebKit2/UIProcess/WebContext.h (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/UIProcess/WebContext.h 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/UIProcess/WebContext.h 2014-02-13 01:32:02 UTC (rev 164002)
@@ -300,6 +300,8 @@
bool isURLKnownHSTSHost(const String& urlString, bool privateBrowsingEnabled) const;
void resetHSTSHosts();
+ void setMemoryCacheDisabled(bool);
+
private:
WebContext(ProcessModel, const String& injectedBundlePath);
void platformInitialize();
@@ -484,6 +486,8 @@
#if USE(SOUP)
bool m_ignoreTLSErrors;
#endif
+
+ bool m_memoryCacheDisabled;
};
template<typename U> inline void WebContext::sendToNetworkingProcess(const U& message)
Modified: branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.cpp (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.cpp 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.cpp 2014-02-13 01:32:02 UTC (rev 164002)
@@ -356,6 +356,8 @@
resetPlugInAutoStartOriginHashes(parameters.plugInAutoStartOriginHashes);
for (size_t i = 0; i < parameters.plugInAutoStartOrigins.size(); ++i)
m_plugInAutoStartOrigins.add(parameters.plugInAutoStartOrigins[i]);
+
+ setMemoryCacheDisabled(parameters.memoryCacheDisabled);
}
#if ENABLE(NETWORK_PROCESS)
@@ -1186,4 +1188,10 @@
#endif
}
+void WebProcess::setMemoryCacheDisabled(bool disabled)
+{
+ if (memoryCache()->disabled() != disabled)
+ memoryCache()->setDisabled(disabled);
+}
+
} // namespace WebKit
Modified: branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.h (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.h 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.h 2014-02-13 01:32:02 UTC (rev 164002)
@@ -236,6 +236,7 @@
void setIgnoreTLSErrors(bool);
#endif
+ void setMemoryCacheDisabled(bool);
void postInjectedBundleMessage(const CoreIPC::DataReference& messageData);
// ChildProcess
Modified: branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.messages.in (164001 => 164002)
--- branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.messages.in 2014-02-13 01:27:28 UTC (rev 164001)
+++ branches/safari-537.75-branch/Source/WebKit2/WebProcess/WebProcess.messages.in 2014-02-13 01:32:02 UTC (rev 164002)
@@ -89,4 +89,6 @@
#if PLATFORM(MAC)
SetProcessSuppressionEnabled(bool flag);
#endif
+
+ SetMemoryCacheDisabled(bool disabled);
}