summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
commit8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch)
tree17985605dab9263cc2444bd4d45f189e142cca7c /Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
parentb9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff)
downloadqtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well as the previously cherry-picked changes
Diffstat (limited to 'Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp')
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
index e62c1faf5..e69831f29 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp
@@ -22,6 +22,8 @@
#include "WebKitURISchemeRequestPrivate.h"
#include "WebKitWebContextPrivate.h"
+#include "WebKitWebView.h"
+#include "WebPageProxy.h"
#include <WebCore/GOwnPtrSoup.h>
#include <libsoup/soup.h>
#include <wtf/gobject/GRefPtr.h>
@@ -36,6 +38,7 @@ G_DEFINE_TYPE(WebKitURISchemeRequest, webkit_uri_scheme_request, G_TYPE_OBJECT)
struct _WebKitURISchemeRequestPrivate {
WebKitWebContext* webContext;
WKRetainPtr<WKSoupRequestManagerRef> wkRequestManager;
+ WKRetainPtr<WKPageRef> wkInitiatingPage;
uint64_t requestID;
CString uri;
GOwnPtr<SoupURI> soupURI;
@@ -68,12 +71,13 @@ static void webkit_uri_scheme_request_class_init(WebKitURISchemeRequestClass* re
g_type_class_add_private(requestClass, sizeof(WebKitURISchemeRequestPrivate));
}
-WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext* webContext, WKSoupRequestManagerRef wkRequestManager, WKURLRef wkURL, uint64_t requestID)
+WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext* webContext, WKSoupRequestManagerRef wkRequestManager, WKURLRef wkURL, WKPageRef wkInitiatingPage, uint64_t requestID)
{
WebKitURISchemeRequest* request = WEBKIT_URI_SCHEME_REQUEST(g_object_new(WEBKIT_TYPE_URI_SCHEME_REQUEST, NULL));
request->priv->webContext = webContext;
request->priv->wkRequestManager = wkRequestManager;
request->priv->uri = toImpl(wkURL)->string().utf8();
+ request->priv->wkInitiatingPage = wkInitiatingPage;
request->priv->requestID = requestID;
return request;
}
@@ -138,6 +142,21 @@ const char* webkit_uri_scheme_request_get_path(WebKitURISchemeRequest* request)
return request->priv->soupURI->path;
}
+/**
+ * webkit_uri_scheme_request_get_web_view:
+ * @request: a #WebKitURISchemeRequest
+ *
+ * Get the #WebKitWebView that initiated the request.
+ *
+ * Returns: (transfer none): the #WebKitWebView that initiated @request.
+ */
+WebKitWebView* webkit_uri_scheme_request_get_web_view(WebKitURISchemeRequest* request)
+{
+ g_return_val_if_fail(WEBKIT_IS_URI_SCHEME_REQUEST(request), 0);
+
+ return WEBKIT_WEB_VIEW(toImpl(request->priv->wkInitiatingPage.get())->viewWidget());
+}
+
static void webkitURISchemeRequestReadCallback(GInputStream* inputStream, GAsyncResult* result, WebKitURISchemeRequest* schemeRequest)
{
GRefPtr<WebKitURISchemeRequest> request = adoptGRef(schemeRequest);