Title: [142997] trunk/Source/WebKit2
- Revision
- 142997
- Author
- [email protected]
- Date
- 2013-02-15 07:33:57 -0800 (Fri, 15 Feb 2013)
Log Message
[Qt] Restore URL Scheme Delegates after QtWebProcess crash
https://bugs.webkit.org/show_bug.cgi?id=108808
When the QtWebProcess crashes, the registered URL Scheme
Delegates are not properly restored over IPC in the newly
launched process instance.
Patch by Milian Wolff <[email protected]> on 2013-02-15
Reviewed by Simon Hausmann.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::didRelaunchProcess):
(QQuickWebViewPrivate::updateSchemeDelegates):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (142996 => 142997)
--- trunk/Source/WebKit2/ChangeLog 2013-02-15 15:25:41 UTC (rev 142996)
+++ trunk/Source/WebKit2/ChangeLog 2013-02-15 15:33:57 UTC (rev 142997)
@@ -1,3 +1,20 @@
+2013-02-15 Milian Wolff <[email protected]>
+
+ [Qt] Restore URL Scheme Delegates after QtWebProcess crash
+ https://bugs.webkit.org/show_bug.cgi?id=108808
+
+ When the QtWebProcess crashes, the registered URL Scheme
+ Delegates are not properly restored over IPC in the newly
+ launched process instance.
+
+ Reviewed by Simon Hausmann.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::didRelaunchProcess):
+ (QQuickWebViewPrivate::updateSchemeDelegates):
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate):
+
2013-02-15 Allan Sandfeld Jensen <[email protected]>
Simplify hitTestResultAtPoint and nodesFromRect APIs
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (142996 => 142997)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2013-02-15 15:25:41 UTC (rev 142996)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2013-02-15 15:33:57 UTC (rev 142997)
@@ -589,6 +589,7 @@
updateViewportSize();
updateUserScripts();
+ updateSchemeDelegates();
}
PassOwnPtr<DrawingAreaProxy> QQuickWebViewPrivate::createDrawingAreaProxy()
@@ -869,6 +870,17 @@
}
}
+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);
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h (142996 => 142997)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2013-02-15 15:25:41 UTC (rev 142996)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2013-02-15 15:33:57 UTC (rev 142997)
@@ -115,6 +115,7 @@
bool transparentBackground() const;
void setNavigatorQtObjectEnabled(bool);
void updateUserScripts();
+ void updateSchemeDelegates();
QPointF contentPos() const;
void setContentPos(const QPointF&);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes