diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/API')
5 files changed, 59 insertions, 8 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp index b894d7338..7e4b37012 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp @@ -385,8 +385,10 @@ void QQuickWebViewPrivate::initialize(WKPageConfigurationRef configurationRef) loadClient.didChangeProgress = didChangeProgress; loadClient.didFinishProgress = didFinishProgress; loadClient.didChangeBackForwardList = didChangeBackForwardList; + // FIXME: These three functions should not be part of this client. loadClient.processDidBecomeUnresponsive = processDidBecomeUnresponsive; loadClient.processDidBecomeResponsive = processDidBecomeResponsive; + loadClient.processDidCrash = processDidCrash; WKPageSetPageLoaderClient(webPage.get(), &loadClient.base); } @@ -605,20 +607,21 @@ void QQuickWebViewPrivate::didRenderFrame() } } -void QQuickWebViewPrivate::processDidCrash() +void QQuickWebViewPrivate::processDidCrash(WKPageRef, const void* clientInfo) { - Q_Q(QQuickWebView); + QQuickWebViewPrivate* d = toQQuickWebViewPrivate(clientInfo); + QQuickWebView* q = d->q_ptr; - QUrl url(URL(WebCore::ParsedURLString, webPageProxy->urlAtProcessExit())); + QUrl url(URL(WebCore::ParsedURLString, d->webPageProxy->urlAtProcessExit())); qWarning("WARNING: The web process experienced a crash on '%s'.", qPrintable(url.toString(QUrl::RemoveUserInfo))); - pageEventHandler->resetGestureRecognizers(); + d->pageEventHandler->resetGestureRecognizers(); // Check if loading was ongoing, when process crashed. - if (m_loadProgress > 0 && m_loadProgress < 100) { + if (d->m_loadProgress > 0 && d->m_loadProgress < 100) { QWebLoadRequest loadRequest(url, QQuickWebView::LoadFailedStatus, QStringLiteral("The web process crashed."), QQuickWebView::InternalErrorDomain, 0); - loadProgressDidChange(100); + d->loadProgressDidChange(100); emit q->loadingChanged(&loadRequest); } diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h index cca489582..dba68e792 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h @@ -128,7 +128,6 @@ public: // PageClient. WebCore::IntSize viewSize() const; virtual void pageDidRequestScroll(const QPoint& pos) { } - void processDidCrash(); void didRelaunchProcess(); std::unique_ptr<WebKit::DrawingAreaProxy> createDrawingAreaProxy(); void handleDownloadRequest(WebKit::DownloadProxy*); @@ -176,6 +175,7 @@ protected: static void didChangeBackForwardList(WKPageRef, WKBackForwardListItemRef, WKArrayRef, const void *clientInfo); static void processDidBecomeUnresponsive(WKPageRef, const void* clientInfo); static void processDidBecomeResponsive(WKPageRef, const void* clientInfo); + static void processDidCrash(WKPageRef, const void* clientInfo); QQuickWebViewPrivate(QQuickWebView* viewport); RefPtr<WebKit::WebPageProxy> webPageProxy; diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp b/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp index c781a97ca..82a3db952 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp @@ -83,6 +83,10 @@ bool QWebPreferencesPrivate::testAttribute(QWebPreferencesPrivate::WebAttribute return WKPreferencesGetUniversalAccessFromFileURLsAllowed(preferencesRef); case FileAccessFromFileURLsAllowed: return WKPreferencesGetFileAccessFromFileURLsAllowed(preferencesRef); + case LogsPageMessagesToSystemConsoleEnabled: + return WKPreferencesGetLogsPageMessagesToSystemConsoleEnabled(preferencesRef); + case WebSecurityEnabled: + return WKPreferencesGetWebSecurityEnabled(preferencesRef); default: ASSERT_NOT_REACHED(); return false; @@ -156,6 +160,12 @@ void QWebPreferencesPrivate::setAttribute(QWebPreferencesPrivate::WebAttribute a case FileAccessFromFileURLsAllowed: WKPreferencesSetFileAccessFromFileURLsAllowed(preferencesRef, enable); break; + case LogsPageMessagesToSystemConsoleEnabled: + WKPreferencesSetLogsPageMessagesToSystemConsoleEnabled(preferencesRef, enable); + break; + case WebSecurityEnabled: + WKPreferencesSetWebSecurityEnabled(preferencesRef, enable); + break; default: ASSERT_NOT_REACHED(); } @@ -631,6 +641,32 @@ void QWebPreferences::setLinksIncludedInFocusChain(bool enable) emit linksIncludedInFocusChainChanged(); } +bool QWebPreferences::logsPageMessagesToSystemConsoleEnabled() const +{ + return d->testAttribute(QWebPreferencesPrivate::LogsPageMessagesToSystemConsoleEnabled); +} + +void QWebPreferences::setLogsPageMessagesToSystemConsoleEnabled(bool enable) +{ + if (logsPageMessagesToSystemConsoleEnabled() == enable) + return; + d->setAttribute(QWebPreferencesPrivate::LogsPageMessagesToSystemConsoleEnabled, enable); + emit logsPageMessagesToSystemConsoleEnabledChanged(); +} + +bool QWebPreferences::webSecurityEnabled() const +{ + return d->testAttribute(QWebPreferencesPrivate::WebSecurityEnabled); +} + +void QWebPreferences::setWebSecurityEnabled(bool enable) +{ + if (webSecurityEnabled() == enable) + return; + d->setAttribute(QWebPreferencesPrivate::WebSecurityEnabled, enable); + emit webSecurityEnabledChanged(); +} + QWebPreferencesPrivate* QWebPreferencesPrivate::get(QWebPreferences* preferences) { return preferences->d; diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h index 08c4df2d8..702146c38 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h @@ -51,6 +51,8 @@ public: Q_PROPERTY(bool fileAccessFromFileURLsAllowed READ fileAccessFromFileURLsAllowed WRITE setFileAccessFromFileURLsAllowed NOTIFY fileAccessFromFileURLsAllowedChanged FINAL) Q_PROPERTY(bool spatialNavigationEnabled READ spatialNavigationEnabled WRITE setSpatialNavigationEnabled NOTIFY spatialNavigationEnabledChanged FINAL) Q_PROPERTY(bool linksIncludedInFocusChain READ linksIncludedInFocusChain WRITE setLinksIncludedInFocusChain NOTIFY linksIncludedInFocusChainChanged FINAL) + Q_PROPERTY(bool logsPageMessagesToSystemConsoleEnabled READ logsPageMessagesToSystemConsoleEnabled WRITE setLogsPageMessagesToSystemConsoleEnabled NOTIFY logsPageMessagesToSystemConsoleEnabledChanged FINAL) + Q_PROPERTY(bool webSecurityEnabled READ webSecurityEnabled WRITE setWebSecurityEnabled NOTIFY webSecurityEnabledChanged FINAL) Q_PROPERTY(QString standardFontFamily READ standardFontFamily WRITE setStandardFontFamily NOTIFY standardFontFamilyChanged FINAL) Q_PROPERTY(QString fixedFontFamily READ fixedFontFamily WRITE setFixedFontFamily NOTIFY fixedFontFamilyChanged FINAL) @@ -123,6 +125,12 @@ public: bool linksIncludedInFocusChain() const; void setLinksIncludedInFocusChain(bool enable); + bool logsPageMessagesToSystemConsoleEnabled() const; + void setLogsPageMessagesToSystemConsoleEnabled(bool); + + bool webSecurityEnabled() const; + void setWebSecurityEnabled(bool); + QString standardFontFamily() const; void setStandardFontFamily(const QString& family); @@ -171,6 +179,8 @@ Q_SIGNALS: void linksIncludedInFocusChainChanged(); void universalAccessFromFileURLsAllowedChanged(); void fileAccessFromFileURLsAllowedChanged(); + void logsPageMessagesToSystemConsoleEnabledChanged(); + void webSecurityEnabledChanged(); void standardFontFamilyChanged(); void fixedFontFamilyChanged(); diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h index 2b4c804ff..a5395c3c8 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h @@ -44,7 +44,9 @@ public: UniversalAccessFromFileURLsAllowed, FileAccessFromFileURLsAllowed, SpatialNavigationEnabled, - LinksIncludedInFocusChain + LinksIncludedInFocusChain, + LogsPageMessagesToSystemConsoleEnabled, + WebSecurityEnabled }; enum FontFamily { |