summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/API
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/API')
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp12
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
index c3e372b54..85ad6ea2c 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
@@ -494,6 +494,7 @@ void QQuickWebViewPrivate::didRelaunchProcess()
updateViewportSize();
updateUserScripts();
+ updateSchemeDelegates();
}
PassOwnPtr<DrawingAreaProxy> QQuickWebViewPrivate::createDrawingAreaProxy()
@@ -772,6 +773,17 @@ void QQuickWebViewPrivate::updateUserScripts()
webPageProxy->setUserScripts(scripts);
}
+void QQuickWebViewPrivate::updateSchemeDelegates()
+{
+ webPageProxy->registerApplicationScheme(ASCIILiteral("qrc"));
+
+ QQmlListProperty<QQuickUrlSchemeDelegate> schemes = experimental->schemeDelegates();
+ for (int i = 0, numSchemes = experimental->schemeDelegates_Count(&schemes); i < numSchemes; ++i) {
+ QQuickUrlSchemeDelegate* scheme = experimental->schemeDelegates_At(&schemes, i);
+ webPageProxy->registerApplicationScheme(scheme->scheme());
+ }
+}
+
QPointF QQuickWebViewPrivate::contentPos() const
{
Q_Q(const QQuickWebView);
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
index adedb6a31..c6733443f 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
@@ -121,6 +121,7 @@ public:
bool transparentBackground() const;
void setNavigatorQtObjectEnabled(bool);
void updateUserScripts();
+ void updateSchemeDelegates();
QPointF contentPos() const;
void setContentPos(const QPointF&);