Title: [144893] releases/WebKitGTK/webkit-2.0/Source/WebKit2
Revision
144893
Author
carlo...@webkit.org
Date
2013-03-06 00:11:23 -0800 (Wed, 06 Mar 2013)

Log Message

[GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=83681

Reviewed by Martin Robinson.

Add WebKitWebPage::send-request signal emitted in willSendRequest
callback to allow web process extensions to modify requests before
they are sent or cancel the resource load.

* UIProcess/API/gtk/WebKitURIRequest.cpp:
(webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
set the new URI.
(webkit_uri_request_class_init): Make URI property construct
instead of construct-only, since it can be updated once
constructed. It should never be NULL, so set default value to
about:blank instad of NULL.
(webkit_uri_request_set_uri): New public method to set the URI of
the WebKitURIRequest.
* UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file
from webkit-web-extension.h.
* UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
webkit_uri_request_set_uri.
* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebResourceSendRequest):
(serverCallback):
(beforeAll):
* UIProcess/API/gtk/tests/WebExtensionTest.cpp:
(sendRequestCallback):
(pageCreatedCallback):
* UIProcess/API/gtk/webkit2marshal.list:
* WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
(willSendRequestForFrame): Emit WebKitWebPage::send-request and
return early if the load is cancelled.
(webkit_web_page_class_init): Add WebKitWebPage::send-request signal.
* WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/ChangeLog	2013-03-06 08:11:23 UTC (rev 144893)
@@ -1,3 +1,42 @@
+2013-03-05  Carlos Garcia Campos  <cgar...@igalia.com>
+
+        [GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API
+        https://bugs.webkit.org/show_bug.cgi?id=83681
+
+        Reviewed by Martin Robinson.
+
+        Add WebKitWebPage::send-request signal emitted in willSendRequest
+        callback to allow web process extensions to modify requests before
+        they are sent or cancel the resource load.
+
+        * UIProcess/API/gtk/WebKitURIRequest.cpp:
+        (webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
+        set the new URI.
+        (webkit_uri_request_class_init): Make URI property construct
+        instead of construct-only, since it can be updated once
+        constructed. It should never be NULL, so set default value to
+        about:blank instad of NULL.
+        (webkit_uri_request_set_uri): New public method to set the URI of
+        the WebKitURIRequest.
+        * UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file
+        from webkit-web-extension.h.
+        * UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
+        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
+        webkit_uri_request_set_uri.
+        * UIProcess/API/gtk/tests/TestResources.cpp:
+        (testWebResourceSendRequest):
+        (serverCallback):
+        (beforeAll):
+        * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
+        (sendRequestCallback):
+        (pageCreatedCallback):
+        * UIProcess/API/gtk/webkit2marshal.list:
+        * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
+        (willSendRequestForFrame): Emit WebKitWebPage::send-request and
+        return early if the load is cancelled.
+        (webkit_web_page_class_init): Add WebKitWebPage::send-request signal.
+        * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
+
 2013-03-05  Manuel Rego Casasnovas  <r...@igalia.com>
 
         [GTK][WK2] Add WebKitWebPage::webkit_web_page_get_uri to WebKit2 GTK+ API

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp	2013-03-06 08:11:23 UTC (rev 144893)
@@ -70,7 +70,7 @@
 
     switch (propId) {
     case PROP_URI:
-        request->priv->resourceRequest.setURL(KURL(KURL(), g_value_get_string(value)));
+        webkit_uri_request_set_uri(request, g_value_get_string(value));
         break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
@@ -92,8 +92,8 @@
                                     g_param_spec_string("uri",
                                                         _("URI"),
                                                         _("The URI to which the request will be made."),
-                                                        0,
-                                                        static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
+                                                        "about:blank",
+                                                        static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT)));
 }
 
 /**
@@ -125,6 +125,26 @@
     return request->priv->uri.data();
 }
 
+/**
+ * webkit_uri_request_set_uri:
+ * @request: a #WebKitURIRequest
+ * @uri: an URI
+ *
+ * Set the URI of @request
+ */
+void webkit_uri_request_set_uri(WebKitURIRequest* request, const char* uri)
+{
+    g_return_if_fail(WEBKIT_IS_URI_REQUEST(request));
+    g_return_if_fail(uri);
+
+    KURL url(KURL(), uri);
+    if (url == request->priv->resourceRequest.url())
+        return;
+
+    request->priv->resourceRequest.setURL(url);
+    g_object_notify(G_OBJECT(request), "uri");
+}
+
 WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const WebCore::ResourceRequest& resourceRequest)
 {
     WebKitURIRequest* uriRequest = WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, NULL));

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h	2013-03-06 08:11:23 UTC (rev 144893)
@@ -17,7 +17,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION)
+#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION) && !defined(__WEBKIT_WEB_EXTENSION_H_INSIDE__)
 #error "Only <webkit2/webkit2.h> can be included directly."
 #endif
 
@@ -61,6 +61,10 @@
 WEBKIT_API const gchar *
 webkit_uri_request_get_uri  (WebKitURIRequest *request);
 
+WEBKIT_API void
+webkit_uri_request_set_uri  (WebKitURIRequest *request,
+                             const gchar      *uri);
+
 G_END_DECLS
 
 #endif

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.h (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.h	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.h	2013-03-06 08:11:23 UTC (rev 144893)
@@ -17,7 +17,7 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION)
+#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION) && !defined(__WEBKIT_WEB_EXTENSION_H_INSIDE__)
 #error "Only <webkit2/webkit2.h> can be included directly."
 #endif
 

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-sections.txt	2013-03-06 08:11:23 UTC (rev 144893)
@@ -330,6 +330,7 @@
 WebKitURIRequest
 webkit_uri_request_new
 webkit_uri_request_get_uri
+webkit_uri_request_set_uri
 
 <SUBSECTION Standard>
 WebKitURIRequestClass

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp	2013-03-06 08:11:23 UTC (rev 144893)
@@ -558,6 +558,75 @@
     g_assert_cmpstr(webkit_web_resource_get_uri(resource), ==, simpleStyleCSSURI.data());
 }
 
+class SendRequestTest: public SingleResourceLoadTest {
+public:
+    MAKE_GLIB_TEST_FIXTURE(SendRequestTest);
+
+    void resourceSentRequest(WebKitWebResource* resource, WebKitURIRequest* request, WebKitURIResponse* redirectResponse)
+    {
+        if (resource != m_resource)
+            return;
+
+        g_assert_cmpstr(webkit_uri_request_get_uri(request), ==, m_expectedNewResourceURI.data());
+        g_assert_cmpstr(webkit_uri_request_get_uri(request), ==, webkit_web_resource_get_uri(resource));
+
+        SingleResourceLoadTest::resourceSentRequest(resource, request, redirectResponse);
+    }
+
+    void resourceFailed(WebKitWebResource* resource, GError* error)
+    {
+        if (resource != m_resource)
+            return;
+
+        g_assert_cmpstr(webkit_web_resource_get_uri(resource), ==, m_expectedCancelledResourceURI.data());
+        g_assert_error(error, WEBKIT_NETWORK_ERROR, WEBKIT_NETWORK_ERROR_CANCELLED);
+
+        SingleResourceLoadTest::resourceFailed(resource, error);
+    }
+
+    void setExpectedNewResourceURI(const CString& uri)
+    {
+        m_expectedNewResourceURI = uri;
+    }
+
+    void setExpectedCancelledResourceURI(const CString& uri)
+    {
+        m_expectedCancelledResourceURI = uri;
+    }
+
+    CString m_expectedNewResourceURI;
+    CString m_expectedCancelledResourceURI;
+};
+
+static void testWebResourceSendRequest(SendRequestTest* test, gconstpointer)
+{
+    test->setExpectedNewResourceURI(kServer->getURIForPath("/_javascript_.js"));
+    test->loadURI(kServer->getURIForPath("relative-_javascript_.html").data());
+    test->waitUntilResourceLoadFinished();
+    g_assert(test->m_resource);
+
+    Vector<SingleResourceLoadTest::LoadEvents>& events = test->m_loadEvents;
+    g_assert_cmpint(events.size(), ==, 5);
+    g_assert_cmpint(events[0], ==, SingleResourceLoadTest::Started);
+    g_assert_cmpint(events[1], ==, SingleResourceLoadTest::SentRequest);
+    g_assert_cmpint(events[2], ==, SingleResourceLoadTest::ReceivedResponse);
+    g_assert_cmpint(events[3], ==, SingleResourceLoadTest::ReceivedData);
+    g_assert_cmpint(events[4], ==, SingleResourceLoadTest::Finished);
+    events.clear();
+
+    // Cancel request.
+    test->setExpectedCancelledResourceURI(kServer->getURIForPath("/cancel-this.js"));
+    test->loadURI(kServer->getURIForPath("/resource-to-cancel.html").data());
+    test->waitUntilResourceLoadFinished();
+    g_assert(test->m_resource);
+
+    g_assert_cmpint(events.size(), ==, 3);
+    g_assert_cmpint(events[0], ==, SingleResourceLoadTest::Started);
+    g_assert_cmpint(events[1], ==, SingleResourceLoadTest::Failed);
+    g_assert_cmpint(events[2], ==, SingleResourceLoadTest::Finished);
+    events.clear();
+}
+
 static void addCacheHTTPHeadersToResponse(SoupMessage* message)
 {
     // The actual date doesn't really matter.
@@ -611,6 +680,12 @@
         soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, kJavascript, strlen(kJavascript));
         soup_message_headers_append(message->response_headers, "Content-Type", "text/_javascript_");
         soup_message_headers_append(message->response_headers, "Content-Disposition", "filename=_javascript_.js");
+    } else if (g_str_equal(path, "/relative-_javascript_.html")) {
+        static const char* _javascript_RelativeHTML = "<html><head><script language='_javascript_' src=''></script></head><body></body></html>";
+        soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, _javascript_RelativeHTML, strlen(_javascript_RelativeHTML));
+    } else if (g_str_equal(path, "/resource-to-cancel.html")) {
+        static const char* resourceToCancelHTML = "<html><head><script language='_javascript_' src=''></script></head><body></body></html>";
+        soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, resourceToCancelHTML, strlen(resourceToCancelHTML));
     } else if (g_str_equal(path, "/blank.ico")) {
         GOwnPtr<char> filePath(g_build_filename(Test::getWebKit1TestResoucesDir().data(), path, NULL));
         char* contents;
@@ -641,6 +716,8 @@
     kServer = new WebKitTestServer();
     kServer->run(serverCallback);
 
+    webkit_web_context_set_web_extensions_directory(webkit_web_context_get_default(), WEBKIT_TEST_WEB_EXTENSIONS_DIR);
+
     ResourcesTest::add("WebKitWebView", "resources", testWebViewResources);
     SingleResourceLoadTest::add("WebKitWebResource", "loading", testWebResourceLoading);
     SingleResourceLoadTest::add("WebKitWebResource", "response", testWebResourceResponse);
@@ -649,6 +726,7 @@
     ResourceURITrackingTest::add("WebKitWebResource", "active-uri", testWebResourceActiveURI);
     ResourcesTest::add("WebKitWebResource", "get-data", testWebResourceGetData);
     SingleResourceLoadTest::add("WebKitWebView", "history-cache", testWebViewResourcesHistoryCache);
+    SendRequestTest::add("WebKitWebPage", "send-request", testWebResourceSendRequest);
 }
 
 void afterAll()

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp	2013-03-06 08:11:23 UTC (rev 144893)
@@ -20,6 +20,7 @@
 #include "config.h"
 
 #include <gio/gio.h>
+#include <string.h>
 #include <webkit2/webkit-web-extension.h>
 #include <wtf/gobject/GOwnPtr.h>
 
@@ -62,10 +63,26 @@
     g_assert(ok);
 }
 
+static gboolean sendRequestCallback(WebKitWebPage*, WebKitURIRequest* request, WebKitURIResponse*, gpointer)
+{
+    const char* requestURI = webkit_uri_request_get_uri(request);
+    g_assert(requestURI);
+
+    if (const char* suffix = g_strrstr(requestURI, "/remove-this/_javascript_.js")) {
+        GOwnPtr<char> prefix(g_strndup(requestURI, strlen(requestURI) - strlen(suffix)));
+        GOwnPtr<char> newURI(g_strdup_printf("%s/_javascript_.js", prefix.get()));
+        webkit_uri_request_set_uri(request, newURI.get());
+    } else if (g_str_has_suffix(requestURI, "/cancel-this.js"))
+        return TRUE;
+
+    return FALSE;
+}
+
 static void pageCreatedCallback(WebKitWebExtension*, WebKitWebPage* webPage, gpointer userData)
 {
     g_signal_connect(webPage, "document-loaded", G_CALLBACK(documentLoadedCallback), userData);
     g_signal_connect(webPage, "notify::uri", G_CALLBACK(uriChangedCallback), userData);
+    g_signal_connect(webPage, "send-request", G_CALLBACK(sendRequestCallback), 0);
 }
 
 static void methodCallCallback(GDBusConnection* connection, const char* sender, const char* objectPath, const char* interfaceName, const char* methodName, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer userData)

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/webkit2marshal.list (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/webkit2marshal.list	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/UIProcess/API/gtk/webkit2marshal.list	2013-03-06 08:11:23 UTC (rev 144893)
@@ -3,6 +3,7 @@
 BOOLEAN:OBJECT
 BOOLEAN:OBJECT,BOXED,OBJECT
 BOOLEAN:OBJECT,ENUM
+BOOLEAN:OBJECT,OBJECT
 BOOLEAN:STRING
 BOOLEAN:VOID
 OBJECT:VOID

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp	2013-03-06 08:11:23 UTC (rev 144893)
@@ -26,7 +26,10 @@
 #include "WKBundleFrame.h"
 #include "WebFrame.h"
 #include "WebKitDOMDocumentPrivate.h"
+#include "WebKitMarshal.h"
 #include "WebKitPrivate.h"
+#include "WebKitURIRequestPrivate.h"
+#include "WebKitURIResponsePrivate.h"
 #include "WebKitWebPagePrivate.h"
 #include "WebProcess.h"
 #include <WebCore/Document.h>
@@ -40,6 +43,7 @@
 
 enum {
     DOCUMENT_LOADED,
+    SEND_REQUEST,
 
     LAST_SIGNAL
 };
@@ -117,18 +121,27 @@
     WebProcess::shared().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidInitiateLoadForResource"), ImmutableDictionary::adopt(message).get());
 }
 
-static WKURLRequestRef willSendRequestForFrame(WKBundlePageRef page, WKBundleFrameRef, uint64_t identifier, WKURLRequestRef request, WKURLResponseRef redirectResponse, const void*)
+static WKURLRequestRef willSendRequestForFrame(WKBundlePageRef page, WKBundleFrameRef, uint64_t identifier, WKURLRequestRef wkRequest, WKURLResponseRef wkRedirectResponse, const void* clientInfo)
 {
+    GRefPtr<WebKitURIRequest> request = adoptGRef(webkitURIRequestCreateForResourceRequest(toImpl(wkRequest)->resourceRequest()));
+    GRefPtr<WebKitURIResponse> redirectResponse = wkRedirectResponse ? adoptGRef(webkitURIResponseCreateForResourceResponse(toImpl(wkRedirectResponse)->resourceResponse())) : 0;
+
+    gboolean returnValue;
+    g_signal_emit(WEBKIT_WEB_PAGE(clientInfo), signals[SEND_REQUEST], 0, request.get(), redirectResponse.get(), &returnValue);
+    if (returnValue)
+        return 0;
+
+    WebURLRequest* newRequest = WebURLRequest::create(webkitURIRequestGetResourceRequest(request.get())).leakRef();
+
     ImmutableDictionary::MapType message;
     message.set(String::fromUTF8("Page"), toImpl(page));
     message.set(String::fromUTF8("Identifier"), WebUInt64::create(identifier));
-    message.set(String::fromUTF8("Request"), toImpl(request));
-    if (!toImpl(redirectResponse)->resourceResponse().isNull())
-        message.set(String::fromUTF8("RedirectResponse"), toImpl(redirectResponse));
+    message.set(String::fromUTF8("Request"), newRequest);
+    if (!toImpl(wkRedirectResponse)->resourceResponse().isNull())
+        message.set(String::fromUTF8("RedirectResponse"), toImpl(wkRedirectResponse));
     WebProcess::shared().injectedBundle()->postMessage(String::fromUTF8("WebPage.DidSendRequestForResource"), ImmutableDictionary::adopt(message).get());
 
-    WKRetain(request);
-    return request;
+    return toAPI(newRequest);
 }
 
 static void didReceiveResponseForResource(WKBundlePageRef page, WKBundleFrameRef, uint64_t identifier, WKURLResponseRef response, const void*)
@@ -217,6 +230,37 @@
         0, 0, 0,
         g_cclosure_marshal_VOID__OBJECT,
         G_TYPE_NONE, 0);
+
+    /**
+     * WebKitWebPage::send-request:
+     * @web_page: the #WebKitWebPage on which the signal is emitted
+     * @request: a #WebKitURIRequest
+     * @redirected_response: a #WebKitURIResponse, or %NULL
+     *
+     * This signal is emitted when @request is about to be sent to
+     * the server. This signal can be used to modify the #WebKitURIRequest
+     * that will be sent to the server. You can also cancel the resource load
+     * operation by connecting to this signal and returning %TRUE.
+     *
+     * In case of a server redirection this signal is
+     * emitted again with the @request argument containing the new
+     * request to be sent to the server due to the redirection and the
+     * @redirected_response parameter containing the response
+     * received by the server for the initial request.
+     *
+     * Returns: %TRUE to stop other handlers from being invoked for the event.
+     *    %FALSE to continue emission of the event.
+     */
+    signals[SEND_REQUEST] = g_signal_new(
+        "send-request",
+        G_TYPE_FROM_CLASS(klass),
+        G_SIGNAL_RUN_LAST,
+        0,
+        g_signal_accumulator_true_handled, 0,
+        webkit_marshal_BOOLEAN__OBJECT_OBJECT,
+        G_TYPE_BOOLEAN, 2,
+        WEBKIT_TYPE_URI_REQUEST,
+        WEBKIT_TYPE_URI_RESPONSE);
 }
 
 WebKitWebPage* webkitWebPageCreate(WebPage* webPage)

Modified: releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h (144892 => 144893)


--- releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h	2013-03-06 08:04:39 UTC (rev 144892)
+++ releases/WebKitGTK/webkit-2.0/Source/WebKit2/WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h	2013-03-06 08:11:23 UTC (rev 144893)
@@ -22,6 +22,8 @@
 
 #define __WEBKIT_WEB_EXTENSION_H_INSIDE__
 
+#include <webkit2/WebKitURIRequest.h>
+#include <webkit2/WebKitURIResponse.h>
 #include <webkit2/WebKitWebExtension.h>
 #include <webkit2/WebKitWebPage.h>
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to