diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API')
-rw-r--r-- | Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp | 12 | ||||
-rw-r--r-- | Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h | 1 |
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&); |