Title: [138783] trunk/Source/WebKit2
Revision
138783
Author
[email protected]
Date
2013-01-04 01:07:00 -0800 (Fri, 04 Jan 2013)

Log Message

[SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
https://bugs.webkit.org/show_bug.cgi?id=106012

Reviewed by Martin Robinson.

* UIProcess/API/C/soup/WKContextSoup.cpp:
(WKContextGetSoupRequestManager):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(createDefaultWebContext):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::~WebContext):
(WebKit::WebContext::disconnectProcess):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveURIRequest):
* UIProcess/efl/WebContextEfl.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformInitializeWebProcess):
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::supplementName):
(WebKit):
(WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
(WebKit::WebSoupRequestManagerProxy::initializeClient):
(WebKit::WebSoupRequestManagerProxy::contextDestroyed):
(WebKit::WebSoupRequestManagerProxy::processDidClose):
(WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
(WebKit::WebSoupRequestManagerProxy::registerURIScheme):
(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (138782 => 138783)


--- trunk/Source/WebKit2/ChangeLog	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/ChangeLog	2013-01-04 09:07:00 UTC (rev 138783)
@@ -1,3 +1,42 @@
+2013-01-04  Carlos Garcia Campos  <[email protected]>
+
+        [SOUP] Convert WebSoupRequestManagerProxy to be WebContextSupplement
+        https://bugs.webkit.org/show_bug.cgi?id=106012
+
+        Reviewed by Martin Robinson.
+
+        * UIProcess/API/C/soup/WKContextSoup.cpp:
+        (WKContextGetSoupRequestManager):
+        * UIProcess/API/gtk/WebKitWebContext.cpp:
+        (createDefaultWebContext):
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::WebContext):
+        (WebKit::WebContext::~WebContext):
+        (WebKit::WebContext::disconnectProcess):
+        * UIProcess/WebContext.h:
+        (WebKit):
+        (WebContext):
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didReceiveURIRequest):
+        * UIProcess/efl/WebContextEfl.cpp:
+        (WebKit::WebContext::platformInitializeWebProcess):
+        * UIProcess/gtk/WebContextGtk.cpp:
+        (WebKit::WebContext::platformInitializeWebProcess):
+        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
+        (WebKit::WebSoupRequestManagerProxy::supplementName):
+        (WebKit):
+        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
+        (WebKit::WebSoupRequestManagerProxy::initializeClient):
+        (WebKit::WebSoupRequestManagerProxy::contextDestroyed):
+        (WebKit::WebSoupRequestManagerProxy::processDidClose):
+        (WebKit::WebSoupRequestManagerProxy::refWebContextSupplement):
+        (WebKit::WebSoupRequestManagerProxy::derefWebContextSupplement):
+        (WebKit::WebSoupRequestManagerProxy::registerURIScheme):
+        (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
+        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
+        * UIProcess/soup/WebSoupRequestManagerProxy.h:
+        (WebSoupRequestManagerProxy):
+
 2013-01-04  Mikhail Pozdnyakov  <[email protected]>
 
         [EFL][WK2] Remove unneeded EwkViewImpl::informLoadCommitted()

Modified: trunk/Source/WebKit2/UIProcess/API/C/soup/WKContextSoup.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/API/C/soup/WKContextSoup.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/API/C/soup/WKContextSoup.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -29,10 +29,13 @@
 #include "WKAPICast.h"
 #include "WebContext.h"
 
+// Supplements
+#include "WebSoupRequestManagerProxy.h"
+
 using namespace WebKit;
 
 WKSoupRequestManagerRef WKContextGetSoupRequestManager(WKContextRef contextRef)
 {
-    return toAPI(toImpl(contextRef)->soupRequestManagerProxy());
+    return toAPI(toImpl(contextRef)->supplement<WebSoupRequestManagerProxy>());
 }
 

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -172,7 +172,7 @@
     WebKitWebContextPrivate* priv = webContext->priv;
 
     priv->context = WebContext::create(String());
-    priv->requestManager = webContext->priv->context->soupRequestManagerProxy();
+    priv->requestManager = webContext->priv->context->supplement<WebSoupRequestManagerProxy>();
     priv->context->setCacheModel(CacheModelPrimaryWebBrowser);
     priv->tlsErrorsPolicy = WEBKIT_TLS_ERRORS_POLICY_IGNORE;
 

Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/WebContext.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -167,9 +167,6 @@
 #if ENABLE(NETSCAPE_PLUGIN_API)
     m_pluginSiteDataManager = WebPluginSiteDataManager::create(this);
 #endif // ENABLE(NETSCAPE_PLUGIN_API)
-#if USE(SOUP)
-    m_soupRequestManagerProxy = WebSoupRequestManagerProxy::create(this);
-#endif
 
     addSupplement<WebApplicationCacheManagerProxy>();
     addSupplement<WebCookieManagerProxy>();
@@ -181,6 +178,9 @@
 #if ENABLE(SQL_DATABASE)
     addSupplement<WebDatabaseManagerProxy>();
 #endif
+#if USE(SOUP)
+    addSupplement<WebSoupRequestManagerProxy>();
+#endif
 
     contexts().append(this);
 
@@ -236,11 +236,6 @@
     m_pluginSiteDataManager->clearContext();
 #endif
 
-#if USE(SOUP)
-    m_soupRequestManagerProxy->invalidate();
-    m_soupRequestManagerProxy->clearContext();
-#endif
-
     invalidateCallbackMap(m_dictionaryCallbacks);
 
     platformInvalidateContext();
@@ -641,9 +636,6 @@
 #if ENABLE(NETWORK_INFO)
     m_networkInfoManagerProxy->invalidate();
 #endif
-#if USE(SOUP)
-    m_soupRequestManagerProxy->invalidate();
-#endif
 
     // When out of process plug-ins are enabled, we don't want to invalidate the plug-in site data
     // manager just because the web process crashes since it's not involved.

Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/WebContext.h	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h	2013-01-04 09:07:00 UTC (rev 138783)
@@ -73,9 +73,6 @@
 #if ENABLE(NETWORK_INFO)
 class WebNetworkInfoManagerProxy;
 #endif
-#if USE(SOUP)
-class WebSoupRequestManagerProxy;
-#endif
 #if ENABLE(NETWORK_PROCESS)
 struct NetworkProcessCreationParameters;
 #endif
@@ -216,9 +213,6 @@
 #if ENABLE(NETSCAPE_PLUGIN_API)
     WebPluginSiteDataManager* pluginSiteDataManager() const { return m_pluginSiteDataManager.get(); }
 #endif
-#if USE(SOUP)
-    WebSoupRequestManagerProxy* soupRequestManagerProxy() const { return m_soupRequestManagerProxy.get(); }
-#endif
 
     struct Statistics {
         unsigned wkViewCount;
@@ -427,9 +421,6 @@
 #if ENABLE(NETSCAPE_PLUGIN_API)
     RefPtr<WebPluginSiteDataManager> m_pluginSiteDataManager;
 #endif
-#if USE(SOUP)
-    RefPtr<WebSoupRequestManagerProxy> m_soupRequestManagerProxy;
-#endif
 
     typedef HashMap<AtomicString, RefPtr<WebContextSupplement> > WebContextSupplementMap;
     WebContextSupplementMap m_supplements;

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -4226,7 +4226,7 @@
 #if USE(SOUP)
 void WebPageProxy::didReceiveURIRequest(String uriString, uint64_t requestID)
 {
-    m_process->context()->soupRequestManagerProxy()->didReceiveURIRequest(uriString, this, requestID);
+    m_process->context()->supplement<WebSoupRequestManagerProxy>()->didReceiveURIRequest(uriString, this, requestID);
 }
 #endif
 

Modified: trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/efl/WebContextEfl.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -89,7 +89,7 @@
 {
     initializeInspectorServer();
 
-    parameters.urlSchemesRegistered = m_soupRequestManagerProxy->registeredURISchemes();
+    parameters.urlSchemesRegistered = supplement<WebSoupRequestManagerProxy>()->registeredURISchemes();
     supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
     parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
     parameters.ignoreTLSErrors = m_ignoreTLSErrors;

Modified: trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -88,7 +88,7 @@
 {
     initInspectorServer();
 
-    parameters.urlSchemesRegistered = m_soupRequestManagerProxy->registeredURISchemes();
+    parameters.urlSchemesRegistered = supplement<WebSoupRequestManagerProxy>()->registeredURISchemes();
     supplement<WebCookieManagerProxy>()->getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
     parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
     parameters.ignoreTLSErrors = m_ignoreTLSErrors;

Modified: trunk/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp	2013-01-04 09:07:00 UTC (rev 138783)
@@ -27,31 +27,55 @@
 
 namespace WebKit {
 
+const AtomicString& WebSoupRequestManagerProxy::supplementName()
+{
+    DEFINE_STATIC_LOCAL(AtomicString, name, ("WebSoupRequestManagerProxy", AtomicString::ConstructFromLiteral));
+    return name;
+}
+
 PassRefPtr<WebSoupRequestManagerProxy> WebSoupRequestManagerProxy::create(WebContext* context)
 {
     return adoptRef(new WebSoupRequestManagerProxy(context));
 }
 
 WebSoupRequestManagerProxy::WebSoupRequestManagerProxy(WebContext* context)
-    : m_webContext(context)
+    : WebContextSupplement(context)
     , m_loadFailed(false)
 {
-    m_webContext->addMessageReceiver(Messages::WebSoupRequestManagerProxy::messageReceiverName(), this);
+    WebContextSupplement::context()->addMessageReceiver(Messages::WebSoupRequestManagerProxy::messageReceiverName(), this);
 }
 
 WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy()
 {
 }
 
-void WebSoupRequestManagerProxy::invalidate()
+void WebSoupRequestManagerProxy::initializeClient(const WKSoupRequestManagerClient* client)
 {
+    m_client.initialize(client);
 }
 
-void WebSoupRequestManagerProxy::initializeClient(const WKSoupRequestManagerClient* client)
+// WebContextSupplement
+
+void WebSoupRequestManagerProxy::contextDestroyed()
 {
-    m_client.initialize(client);
 }
 
+void WebSoupRequestManagerProxy::processDidClose(WebProcessProxy*)
+{
+}
+
+void WebSoupRequestManagerProxy::refWebContextSupplement()
+{
+    APIObject::ref();
+}
+
+void WebSoupRequestManagerProxy::derefWebContextSupplement()
+{
+    APIObject::deref();
+}
+
+// CoreIPC::MessageReceiver
+
 void WebSoupRequestManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
 {
     didReceiveWebSoupRequestManagerProxyMessage(connection, messageID, decoder);
@@ -59,26 +83,32 @@
 
 void WebSoupRequestManagerProxy::registerURIScheme(const String& scheme)
 {
-    ASSERT(m_webContext);
-    m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebSoupRequestManager::RegisterURIScheme(scheme));
+    if (!context())
+        return;
 
+    context()->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebSoupRequestManager::RegisterURIScheme(scheme));
+
     ASSERT(!m_registeredURISchemes.contains(scheme));
     m_registeredURISchemes.append(scheme);
 }
 
 void WebSoupRequestManagerProxy::didHandleURIRequest(const WebData* requestData, uint64_t contentLength, const String& mimeType, uint64_t requestID)
 {
-    ASSERT(m_webContext);
-    m_webContext->sendToAllProcesses(Messages::WebSoupRequestManager::DidHandleURIRequest(requestData->dataReference(), contentLength, mimeType, requestID));
+    if (!context())
+        return;
+
+    context()->sendToAllProcesses(Messages::WebSoupRequestManager::DidHandleURIRequest(requestData->dataReference(), contentLength, mimeType, requestID));
 }
 
 void WebSoupRequestManagerProxy::didReceiveURIRequestData(const WebData* requestData, uint64_t requestID)
 {
+    if (!context())
+        return;
+
     if (m_loadFailed)
         return;
 
-    ASSERT(m_webContext);
-    m_webContext->sendToAllProcesses(Messages::WebSoupRequestManager::DidReceiveURIRequestData(requestData->dataReference(), requestID));
+    context()->sendToAllProcesses(Messages::WebSoupRequestManager::DidReceiveURIRequestData(requestData->dataReference(), requestID));
 }
 
 void WebSoupRequestManagerProxy::didReceiveURIRequest(const String& uriString, WebPageProxy* initiaingPage, uint64_t requestID)

Modified: trunk/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h (138782 => 138783)


--- trunk/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h	2013-01-04 09:03:55 UTC (rev 138782)
+++ trunk/Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h	2013-01-04 09:07:00 UTC (rev 138783)
@@ -22,6 +22,7 @@
 
 #include "APIObject.h"
 #include "MessageReceiver.h"
+#include "WebContextSupplement.h"
 #include "WebSoupRequestManagerClient.h"
 #include <wtf/PassRefPtr.h>
 #include <wtf/RefPtr.h>
@@ -32,40 +33,46 @@
 class WebContext;
 class WebData;
 
-class WebSoupRequestManagerProxy : public APIObject, private CoreIPC::MessageReceiver {
+class WebSoupRequestManagerProxy : public APIObject, public WebContextSupplement, private CoreIPC::MessageReceiver {
 public:
     static const Type APIType = TypeSoupRequestManager;
 
+    static const AtomicString& supplementName();
+
     static PassRefPtr<WebSoupRequestManagerProxy> create(WebContext*);
     virtual ~WebSoupRequestManagerProxy();
 
-    void invalidate();
-    void clearContext() { m_webContext = 0; }
-
     void initializeClient(const WKSoupRequestManagerClient*);
 
     void registerURIScheme(const String& scheme);
     void didHandleURIRequest(const WebData*, uint64_t contentLength, const String& mimeType, uint64_t requestID);
     void didReceiveURIRequestData(const WebData*, uint64_t requestID);
-    void didFailToLoadURIRequest(uint64_t requestID);
-
     void didReceiveURIRequest(const String& uriString, WebPageProxy*, uint64_t requestID);
 
     const Vector<String>& registeredURISchemes() const { return m_registeredURISchemes; }
 
+    using APIObject::ref;
+    using APIObject::deref;
+
 private:
     WebSoupRequestManagerProxy(WebContext*);
 
     virtual Type type() const { return APIType; }
 
+    // WebContextSupplement
+    virtual void contextDestroyed() OVERRIDE;
+    virtual void processDidClose(WebProcessProxy*) OVERRIDE;
+    virtual void refWebContextSupplement() OVERRIDE;
+    virtual void derefWebContextSupplement() OVERRIDE;
+
     // CoreIPC::MessageReceiver
     virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE;
     void didReceiveWebSoupRequestManagerProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
 
-    WebContext* m_webContext;
+    void didFailToLoadURIRequest(uint64_t requestID);
+
     WebSoupRequestManagerClient m_client;
     bool m_loadFailed;
-
     Vector<String> m_registeredURISchemes;
 };
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to