From 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Thu, 2 Jun 2011 12:07:03 +0100 Subject: Merge WebKit at r84325: Initial merge by git. Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b --- Source/WebKit2/UIProcess/WebContext.h | 43 ++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 11 deletions(-) (limited to 'Source/WebKit2/UIProcess/WebContext.h') diff --git a/Source/WebKit2/UIProcess/WebContext.h b/Source/WebKit2/UIProcess/WebContext.h index a9ba22f..676f1aa 100644 --- a/Source/WebKit2/UIProcess/WebContext.h +++ b/Source/WebKit2/UIProcess/WebContext.h @@ -75,20 +75,22 @@ public: ProcessModel processModel() const { return m_processModel; } WebProcessProxy* process() const { return m_process.get(); } - bool hasValidProcess() const { return m_process && m_process->isValid(); } + template bool sendToAllProcesses(const U& message); + template bool sendToAllProcessesRelaunchingThemIfNecessary(const U& message); + void processDidFinishLaunching(WebProcessProxy*); // Disconnect the process from the context. void disconnectProcess(WebProcessProxy*); - WebPageProxy* createWebPage(PageClient*, WebPageGroup*); + PassRefPtr createWebPage(PageClient*, WebPageGroup*); - void relaunchProcessIfNecessary(); + WebProcessProxy* relaunchProcessIfNecessary(); const String& injectedBundlePath() const { return m_injectedBundlePath; } - void download(WebPageProxy* initiatingPage, const WebCore::ResourceRequest&); + DownloadProxy* download(WebPageProxy* initiatingPage, const WebCore::ResourceRequest&); void setInjectedBundleInitializationUserData(PassRefPtr userData) { m_injectedBundleInitializationUserData = userData; } APIObject* injectedBundleInitializationUserData() const { return m_injectedBundleInitializationUserData.get(); } @@ -120,8 +122,6 @@ public: void setCacheModel(CacheModel); CacheModel cacheModel() const { return m_cacheModel; } - void clearResourceCaches(ResourceCachesToClear); - void clearApplicationCache(); void setDefaultRequestTimeoutInterval(double); @@ -137,7 +137,7 @@ public: void setEnhancedAccessibility(bool); // Downloads. - uint64_t createDownloadProxy(); + DownloadProxy* createDownloadProxy(); WebDownloadClient& downloadClient() { return m_downloadClient; } void downloadFinished(DownloadProxy*); @@ -168,6 +168,13 @@ public: bool shouldTerminate(WebProcessProxy*); + void disableProcessTermination() { m_processTerminationEnabled = false; } + void enableProcessTermination(); + + // Defaults to false. + void setHTTPPipeliningEnabled(bool); + bool httpPipeliningEnabled(); + private: WebContext(ProcessModel, const String& injectedBundlePath); @@ -205,7 +212,7 @@ private: String localStorageDirectory() const; String platformDefaultLocalStorageDirectory() const; - + ProcessModel m_processModel; // FIXME: In the future, this should be one or more WebProcessProxies. @@ -234,9 +241,6 @@ private: WebDownloadClient m_downloadClient; HashMap > m_downloads; - - bool m_clearResourceCachesForNewWebProcess; - bool m_clearApplicationCacheForNewWebProcess; bool m_memorySamplerEnabled; double m_memorySamplerInterval; @@ -263,8 +267,25 @@ private: String m_overrideDatabaseDirectory; String m_overrideIconDatabasePath; String m_overrideLocalStorageDirectory; + + bool m_processTerminationEnabled; }; +template inline bool WebContext::sendToAllProcesses(const U& message) +{ + if (!m_process || !m_process->canSendMessage()) + return false; + + return m_process->send(message, 0); +} + +template bool WebContext::sendToAllProcessesRelaunchingThemIfNecessary(const U& message) +{ + relaunchProcessIfNecessary(); + + return m_process->send(message, 0); +} + } // namespace WebKit #endif // WebContext_h -- cgit v1.1