Diff
Modified: trunk/Source/WebKit2/ChangeLog (193621 => 193622)
--- trunk/Source/WebKit2/ChangeLog 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Source/WebKit2/ChangeLog 2015-12-07 12:36:18 UTC (rev 193622)
@@ -1,3 +1,17 @@
+2015-12-07 Jon Forsberg <jon.ore...@gmail.com>
+
+ [GTK] Add webkit_uri_request_get_http_method
+ https://bugs.webkit.org/show_bug.cgi?id=151601
+
+ Reviewed by Martin Robinson.
+
+ Add a method to get the HTTP method of a WebKitURIRequest.
+
+ * UIProcess/API/gtk/WebKitURIRequest.cpp:
+ (webkit_uri_request_get_http_method):
+ * UIProcess/API/gtk/WebKitURIRequest.h:
+ * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
+
2015-12-07 Carlos Garcia Campos <cgar...@igalia.com>
[GTK] Add WebKitWebPage::console-message-sent signal to Web Extensions API
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp (193621 => 193622)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.cpp 2015-12-07 12:36:18 UTC (rev 193622)
@@ -48,6 +48,7 @@
struct _WebKitURIRequestPrivate {
WebCore::ResourceRequest resourceRequest;
CString uri;
+ const char* httpMethod;
GUniquePtr<SoupMessageHeaders> httpHeaders;
};
@@ -171,6 +172,32 @@
return request->priv->httpHeaders.get();
}
+/**
+ * webkit_uri_request_get_http_method:
+ * @request: a #WebKitURIRequest
+ *
+ * Get the HTTP method of the #WebKitURIRequest.
+ *
+ * Returns: the HTTP method of the #WebKitURIRequest or %NULL if @request is not
+ * an HTTP request.
+ *
+ * Since: 2.12
+ */
+const gchar* webkit_uri_request_get_http_method(WebKitURIRequest* request)
+{
+ g_return_val_if_fail(WEBKIT_IS_URI_REQUEST(request), nullptr);
+
+ if (!request->priv->resourceRequest.url().protocolIsInHTTPFamily())
+ return nullptr;
+
+ if (request->priv->resourceRequest.httpMethod().isEmpty())
+ return nullptr;
+
+ if (!request->priv->httpMethod)
+ request->priv->httpMethod = g_intern_string(request->priv->resourceRequest.httpMethod().utf8().data());
+ return request->priv->httpMethod;
+}
+
WebKitURIRequest* webkitURIRequestCreateForResourceRequest(const ResourceRequest& resourceRequest)
{
WebKitURIRequest* uriRequest = WEBKIT_URI_REQUEST(g_object_new(WEBKIT_TYPE_URI_REQUEST, NULL));
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h (193621 => 193622)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitURIRequest.h 2015-12-07 12:36:18 UTC (rev 193622)
@@ -70,6 +70,9 @@
webkit_uri_request_set_uri (WebKitURIRequest *request,
const gchar *uri);
+WEBKIT_API const gchar *
+webkit_uri_request_get_http_method (WebKitURIRequest *request);
+
WEBKIT_API SoupMessageHeaders *
webkit_uri_request_get_http_headers (WebKitURIRequest *request);
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt (193621 => 193622)
--- trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt 2015-12-07 12:36:18 UTC (rev 193622)
@@ -462,6 +462,7 @@
webkit_uri_request_new
webkit_uri_request_get_uri
webkit_uri_request_set_uri
+webkit_uri_request_get_http_method
webkit_uri_request_get_http_headers
<SUBSECTION Standard>
Modified: trunk/Tools/ChangeLog (193621 => 193622)
--- trunk/Tools/ChangeLog 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Tools/ChangeLog 2015-12-07 12:36:18 UTC (rev 193622)
@@ -1,5 +1,21 @@
2015-12-07 Carlos Garcia Campos <cgar...@igalia.com>
+ [GTK] Add webkit_uri_request_get_http_method
+ https://bugs.webkit.org/show_bug.cgi?id=151601
+
+ Reviewed by Martin Robinson.
+
+ Add test case to check HTTP method of WebKitURIRequest.
+
+ * TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:
+ (testURIRequestHTTPMethod):
+ (serverCallback):
+ (beforeAll):
+ * TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
+ (sendRequestCallback):
+
+2015-12-07 Carlos Garcia Campos <cgar...@igalia.com>
+
[GTK] Add WebKitWebPage::console-message-sent signal to Web Extensions API
https://bugs.webkit.org/show_bug.cgi?id=79918
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp (193621 => 193622)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp 2015-12-07 12:36:18 UTC (rev 193622)
@@ -404,6 +404,20 @@
g_assert(!strncmp(mainResourceData, "1", mainResourceDataSize));
}
+static void testURIRequestHTTPMethod(WebViewTest* test, gconstpointer)
+{
+ GRefPtr<WebKitURIRequest> uriRequest = adoptGRef(webkit_uri_request_new("file:///foo/bar"));
+ g_assert(uriRequest.get());
+ g_assert_cmpstr(webkit_uri_request_get_uri(uriRequest.get()), ==, "file:///foo/bar");
+ g_assert(!webkit_uri_request_get_http_method(uriRequest.get()));
+
+ webkit_uri_request_set_uri(uriRequest.get(), kServer->getURIForPath("/http-get-method").data());
+ test->loadRequest(uriRequest.get());
+ test->waitUntilLoadFinished();
+
+ test->runJavaScriptAndWaitUntilFinished("xhr = new XMLHttpRequest; xhr.open('POST', '/http-post-method', false); xhr.send();", nullptr);
+}
+
static void testURIResponseHTTPHeaders(WebViewTest* test, gconstpointer)
{
test->loadHtml("<html><body>No HTTP headers</body></html>", "file:///");
@@ -455,7 +469,7 @@
soup_message_set_status(message, SOUP_STATUS_OK);
- if (g_str_has_prefix(path, "/normal"))
+ if (g_str_has_prefix(path, "/normal") || g_str_has_prefix(path, "/http-get-method"))
soup_message_body_append(message->response_body, SOUP_MEMORY_STATIC, responseString, strlen(responseString));
else if (g_str_equal(path, "/error"))
soup_message_set_status(message, SOUP_STATUS_CANT_CONNECT);
@@ -516,6 +530,7 @@
ViewIsLoadingTest::add("WebKitWebView", "is-loading", testWebViewIsLoading);
WebPageURITest::add("WebKitWebPage", "get-uri", testWebPageURI);
WebViewTest::add("WebKitURIRequest", "http-headers", testURIRequestHTTPHeaders);
+ WebViewTest::add("WebKitURIRequest", "http-method", testURIRequestHTTPMethod);
WebViewTest::add("WebKitURIResponse", "http-headers", testURIResponseHTTPHeaders);
WebViewTest::add("WebKitWebPage", "redirect-to-data-uri", testRedirectToDataURI);
}
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp (193621 => 193622)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp 2015-12-07 12:02:11 UTC (rev 193621)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp 2015-12-07 12:36:18 UTC (rev 193622)
@@ -143,6 +143,7 @@
static gboolean sendRequestCallback(WebKitWebPage*, WebKitURIRequest* request, WebKitURIResponse* redirectResponse, gpointer)
{
+ gboolean returnValue = FALSE;
const char* requestURI = webkit_uri_request_get_uri(request);
g_assert(requestURI);
@@ -165,10 +166,17 @@
SoupMessageHeaders* headers = webkit_uri_request_get_http_headers(request);
g_assert(headers);
soup_message_headers_append(headers, "DNT", "1");
+ } else if (g_str_has_suffix(requestURI, "/http-get-method")) {
+ g_assert_cmpstr(webkit_uri_request_get_http_method(request), ==, "GET");
+ g_assert(webkit_uri_request_get_http_method(request) == SOUP_METHOD_GET);
+ } else if (g_str_has_suffix(requestURI, "/http-post-method")) {
+ g_assert_cmpstr(webkit_uri_request_get_http_method(request), ==, "POST");
+ g_assert(webkit_uri_request_get_http_method(request) == SOUP_METHOD_POST);
+ returnValue = TRUE;
} else if (g_str_has_suffix(requestURI, "/cancel-this.js"))
- return TRUE;
+ returnValue = TRUE;
- return FALSE;
+ return returnValue;
}
static GVariant* serializeContextMenu(WebKitContextMenu* menu)