Title: [185548] trunk/Source/WebKit2
Revision
185548
Author
[email protected]
Date
2015-06-15 04:09:08 -0700 (Mon, 15 Jun 2015)

Log Message

[SOUP] Make WebKitSoupRequestGeneric independent from CustomProtocolManagerImpl
https://bugs.webkit.org/show_bug.cgi?id=145966

Reviewed by Sergio Villar Senin.

Add WebKitSoupRequestGenericClient with start and finish methods,
that are implemented by WebKitSoupRequestGeneric.
This allows us to move WebKitSoupRequestGeneric to platform layer.

* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
(WebKit::CustomProtocolManagerImpl::registerScheme):
(WebKit::CustomProtocolManagerImpl::start):
* Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
* WebProcess/soup/WebKitSoupRequestGeneric.cpp:
(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):
* WebProcess/soup/WebKitSoupRequestGeneric.h:
* WebProcess/soup/WebKitSoupRequestGenericClient.h: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (185547 => 185548)


--- trunk/Source/WebKit2/ChangeLog	2015-06-15 04:13:02 UTC (rev 185547)
+++ trunk/Source/WebKit2/ChangeLog	2015-06-15 11:09:08 UTC (rev 185548)
@@ -1,3 +1,24 @@
+2015-06-15  Carlos Garcia Campos  <[email protected]>
+
+        [SOUP] Make WebKitSoupRequestGeneric independent from CustomProtocolManagerImpl
+        https://bugs.webkit.org/show_bug.cgi?id=145966
+
+        Reviewed by Sergio Villar Senin.
+
+        Add WebKitSoupRequestGenericClient with start and finish methods,
+        that are implemented by WebKitSoupRequestGeneric.
+        This allows us to move WebKitSoupRequestGeneric to platform layer.
+
+        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
+        (WebKit::CustomProtocolManagerImpl::registerScheme):
+        (WebKit::CustomProtocolManagerImpl::start):
+        * Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
+        * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
+        (webkitSoupRequestGenericSendAsync):
+        (webkitSoupRequestGenericSendFinish):
+        * WebProcess/soup/WebKitSoupRequestGeneric.h:
+        * WebProcess/soup/WebKitSoupRequestGenericClient.h: Added.
+
 2015-06-14  Dan Bernstein  <[email protected]>
 
         Fixed the build.

Modified: trunk/Source/WebKit2/Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp (185547 => 185548)


--- trunk/Source/WebKit2/Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp	2015-06-15 04:13:02 UTC (rev 185547)
+++ trunk/Source/WebKit2/Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp	2015-06-15 11:09:08 UTC (rev 185548)
@@ -93,7 +93,7 @@
     SoupSession* session = WebCore::SoupNetworkSession::defaultSession().soupSession();
     SoupRequestClass* genericRequestClass = static_cast<SoupRequestClass*>(g_type_class_ref(WEBKIT_TYPE_SOUP_REQUEST_GENERIC));
     genericRequestClass->schemes = const_cast<const char**>(reinterpret_cast<char**>(m_schemes->pdata));
-    static_cast<WebKitSoupRequestGenericClass*>(g_type_class_ref(WEBKIT_TYPE_SOUP_REQUEST_GENERIC))->customProtocolManager = this;
+    static_cast<WebKitSoupRequestGenericClass*>(g_type_class_ref(WEBKIT_TYPE_SOUP_REQUEST_GENERIC))->client = this;
     soup_session_add_feature_by_type(session, WEBKIT_TYPE_SOUP_REQUEST_GENERIC);
 }
 
@@ -184,7 +184,7 @@
     m_customProtocolMap.remove(customProtocolID);
 }
 
-void CustomProtocolManagerImpl::send(GTask* task)
+void CustomProtocolManagerImpl::start(GTask* task)
 {
     uint64_t customProtocolID = generateCustomProtocolID();
     WebKitSoupRequestGeneric* request = WEBKIT_SOUP_REQUEST_GENERIC(g_task_get_source_object(task));

Modified: trunk/Source/WebKit2/Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h (185547 => 185548)


--- trunk/Source/WebKit2/Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h	2015-06-15 04:13:02 UTC (rev 185547)
+++ trunk/Source/WebKit2/Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h	2015-06-15 11:09:08 UTC (rev 185548)
@@ -20,13 +20,11 @@
 #ifndef CustomProtocolManagerImpl_h
 #define CustomProtocolManagerImpl_h
 
+#include "WebKitSoupRequestGenericClient.h"
 #include <wtf/HashMap.h>
 #include <wtf/glib/GRefPtr.h>
 #include <wtf/text/WTFString.h>
 
-typedef struct _GTask GTask;
-typedef struct _GInputStream GInputStream;
-
 namespace IPC {
 class DataReference;
 } // namespace IPC
@@ -41,7 +39,7 @@
 class ChildProcess;
 struct WebSoupRequestAsyncData;
 
-class CustomProtocolManagerImpl {
+class CustomProtocolManagerImpl : public WebKitSoupRequestGenericClient {
     WTF_MAKE_NONCOPYABLE(CustomProtocolManagerImpl);
 public:
     explicit CustomProtocolManagerImpl(ChildProcess*);
@@ -55,11 +53,10 @@
     void didReceiveResponse(uint64_t customProtocolID, const WebCore::ResourceResponse&);
     void didFinishLoading(uint64_t customProtocolID);
 
-    // SoupRequest implementation.
-    void send(GTask*);
-    GInputStream* finish(GTask*, GError**);
-
 private:
+    void start(GTask*) final override;
+    GInputStream* finish(GTask*, GError**) final override;
+
     ChildProcess* m_childProcess;
     GRefPtr<GPtrArray> m_schemes;
     HashMap<uint64_t, std::unique_ptr<WebSoupRequestAsyncData>> m_customProtocolMap;

Modified: trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp (185547 => 185548)


--- trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp	2015-06-15 04:13:02 UTC (rev 185547)
+++ trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp	2015-06-15 11:09:08 UTC (rev 185548)
@@ -46,17 +46,17 @@
 
 static void webkitSoupRequestGenericSendAsync(SoupRequest* request, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer userData)
 {
-    CustomProtocolManagerImpl* customProtocolManager = WEBKIT_SOUP_REQUEST_GENERIC_GET_CLASS(request)->customProtocolManager;
-    ASSERT(customProtocolManager);
-    customProtocolManager->send(g_task_new(request, cancellable, callback, userData));
+    WebKitSoupRequestGenericClient* client = WEBKIT_SOUP_REQUEST_GENERIC_GET_CLASS(request)->client;
+    ASSERT(client);
+    client->start(g_task_new(request, cancellable, callback, userData));
 }
 
 static GInputStream* webkitSoupRequestGenericSendFinish(SoupRequest* request, GAsyncResult* result, GError** error)
 {
-    g_return_val_if_fail(g_task_is_valid(result, request), 0);
-    CustomProtocolManagerImpl* customProtocolManager = WEBKIT_SOUP_REQUEST_GENERIC_GET_CLASS(request)->customProtocolManager;
-    ASSERT(customProtocolManager);
-    return customProtocolManager->finish(G_TASK(result), error);
+    g_return_val_if_fail(g_task_is_valid(result, request), nullptr);
+    WebKitSoupRequestGenericClient* client = WEBKIT_SOUP_REQUEST_GENERIC_GET_CLASS(request)->client;
+    ASSERT(client);
+    return client->finish(G_TASK(result), error);
 }
 
 static goffset webkitSoupRequestGenericGetContentLength(SoupRequest* request)

Modified: trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h (185547 => 185548)


--- trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h	2015-06-15 04:13:02 UTC (rev 185547)
+++ trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h	2015-06-15 11:09:08 UTC (rev 185548)
@@ -20,7 +20,7 @@
 #ifndef WebKitSoupRequestGeneric_h
 #define WebKitSoupRequestGeneric_h
 
-#include "CustomProtocolManagerImpl.h"
+#include "WebKitSoupRequestGenericClient.h"
 #include <glib-object.h>
 #include <libsoup/soup.h>
 
@@ -46,7 +46,7 @@
 struct _WebKitSoupRequestGenericClass {
     SoupRequestClass parent;
 
-    WebKit::CustomProtocolManagerImpl* customProtocolManager;
+    WebKit::WebKitSoupRequestGenericClient* client;
 };
 
 GType webkit_soup_request_generic_get_type();

Added: trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGenericClient.h (0 => 185548)


--- trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGenericClient.h	                        (rev 0)
+++ trunk/Source/WebKit2/WebProcess/soup/WebKitSoupRequestGenericClient.h	2015-06-15 11:09:08 UTC (rev 185548)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2015 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public License
+ * along with this library; see the file COPYING.LIB.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef WebKitSoupRequestGenericClient_h
+#define WebKitSoupRequestGenericClient_h
+
+typedef struct _GError GError;
+typedef struct _GInputStream GInputStream;
+typedef struct _GTask GTask;
+
+namespace WebKit {
+
+class WebKitSoupRequestGenericClient {
+public:
+    virtual void start(GTask*) = 0;
+    virtual GInputStream* finish(GTask*, GError**) = 0;
+};
+
+} // namespace WebKit
+
+#endif // WebKitSoupRequestGenericClient_h
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to