[jhbuild] core-deps-3.16: Add a patch for WebKit
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] core-deps-3.16: Add a patch for WebKit
- Date: Wed, 4 Mar 2015 23:21:48 +0000 (UTC)
commit 92f1fb4d964bb1df60159f0c7a4bb91b0ddc2d7f
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Wed Mar 4 17:17:06 2015 -0600
core-deps-3.16: Add a patch for WebKit
Patch is to make GNOME Online Accounts not crash immediately.
modulesets/gnome-suites-core-deps-3.16.modules | 1 +
.../webkitgtk-2.7.91-webview-webcontext-ref.patch | 108 ++++++++++++++++++++
2 files changed, 109 insertions(+), 0 deletions(-)
---
diff --git a/modulesets/gnome-suites-core-deps-3.16.modules b/modulesets/gnome-suites-core-deps-3.16.modules
index f28e8fb..1269e9b 100644
--- a/modulesets/gnome-suites-core-deps-3.16.modules
+++ b/modulesets/gnome-suites-core-deps-3.16.modules
@@ -1294,6 +1294,7 @@
module="webkitgtk-2.7.91.tar.xz" version="2.7.91"
hash="sha256:9d2b70a0dba6e2b6f74b82b2ceb92605921ecf0a554633ed98bc277c55b091e1"
size="10429304">
+ <patch file="webkitgtk-2.7.91-webview-webcontext-ref.patch" strip="1"/>
</branch>
<dependencies>
<dep package="c++"/>
diff --git a/patches/webkitgtk-2.7.91-webview-webcontext-ref.patch
b/patches/webkitgtk-2.7.91-webview-webcontext-ref.patch
new file mode 100644
index 0000000..2293fa7
--- /dev/null
+++ b/patches/webkitgtk-2.7.91-webview-webcontext-ref.patch
@@ -0,0 +1,108 @@
+--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
++++ a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
+@@ -170,7 +170,6 @@ struct _WebKitWebViewPrivate {
+ g_main_loop_quit(modalLoop.get());
+ }
+
+- WebKitWebContext* context;
+ WebKitWebView* relatedView;
+ CString title;
+ CString customTextEncoding;
+@@ -185,6 +184,7 @@ struct _WebKitWebViewPrivate {
+ GRefPtr<WebKitBackForwardList> backForwardList;
+ GRefPtr<WebKitSettings> settings;
+ GRefPtr<WebKitUserContentManager> userContentManager;
++ GRefPtr<WebKitWebContext> context;
+ GRefPtr<WebKitWindowProperties> windowProperties;
+
+ GRefPtr<GMainLoop> modalLoop;
+@@ -448,7 +448,7 @@ static void webkitWebViewRequestFavicon(WebKitWebView* webView)
+
+ WebKitWebViewPrivate* priv = webView->priv;
+ priv->faviconCancellable = adoptGRef(g_cancellable_new());
+- WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(priv->context);
++ WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(priv->context.get());
+ webkit_favicon_database_get_favicon(database, priv->activeURI.data(), priv->faviconCancellable.get(),
gotFaviconCallback, webView);
+ }
+
+@@ -510,7 +510,7 @@ static void webkitWebViewWatchForChangesInFavicon(WebKitWebView* webView)
+ if (priv->faviconChangedHandlerID)
+ return;
+
+- WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(priv->context);
++ WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(priv->context.get());
+ priv->faviconChangedHandlerID = g_signal_connect(database, "favicon-changed",
G_CALLBACK(faviconChangedCallback), webView);
+ }
+
+@@ -518,7 +518,7 @@ static void webkitWebViewDisconnectFaviconDatabaseSignalHandlers(WebKitWebView*
+ {
+ WebKitWebViewPrivate* priv = webView->priv;
+ if (priv->faviconChangedHandlerID)
+- g_signal_handler_disconnect(webkit_web_context_get_favicon_database(priv->context),
priv->faviconChangedHandlerID);
++ g_signal_handler_disconnect(webkit_web_context_get_favicon_database(priv->context.get()),
priv->faviconChangedHandlerID);
+ priv->faviconChangedHandlerID = 0;
+ }
+
+@@ -639,7 +639,7 @@ static void webkitWebViewConstructed(GObject* object)
+ if (!priv->settings)
+ priv->settings = adoptGRef(webkit_settings_new());
+
+- webkitWebContextCreatePageForWebView(priv->context, webView, priv->userContentManager.get(),
priv->relatedView);
++ webkitWebContextCreatePageForWebView(priv->context.get(), webView, priv->userContentManager.get(),
priv->relatedView);
+
+ priv->loadObserver = std::make_unique<PageLoadStateObserver>(webView);
+ getPage(webView)->pageLoadState().addObserver(*priv->loadObserver);
+@@ -706,7 +706,7 @@ static void webkitWebViewGetProperty(GObject* object, guint propId, GValue* valu
+
+ switch (propId) {
+ case PROP_WEB_CONTEXT:
+- g_value_set_object(value, webView->priv->context);
++ g_value_set_object(value, webView->priv->context.get());
+ break;
+ case PROP_SETTINGS:
+ g_value_set_object(value, webkit_web_view_get_settings(webView));
+@@ -756,7 +756,7 @@ static void webkitWebViewDispose(GObject* object)
+ webView->priv->loadObserver.reset();
+ }
+
+- webkitWebContextWebViewDestroyed(webView->priv->context, webView);
++ webkitWebContextWebViewDestroyed(webView->priv->context.get(), webView);
+
+ G_OBJECT_CLASS(webkit_web_view_parent_class)->dispose(object);
+ }
+@@ -1811,7 +1811,7 @@ void webkitWebViewLoadChanged(WebKitWebView* webView, WebKitLoadEvent loadEvent)
+ priv->mainResource = 0;
+ priv->waitingForMainResource = false;
+ } else if (loadEvent == WEBKIT_LOAD_COMMITTED) {
+- WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(priv->context);
++ WebKitFaviconDatabase* database = webkit_web_context_get_favicon_database(priv->context.get());
+ GUniquePtr<char> faviconURI(webkit_favicon_database_get_favicon_uri(database,
priv->activeURI.data()));
+ webkitWebViewUpdateFaviconURI(webView, faviconURI.get());
+
+@@ -1843,7 +1843,7 @@ void webkitWebViewLoadFailedWithTLSErrors(WebKitWebView* webView, const char* fa
+ {
+ webkitWebViewCancelAuthenticationRequest(webView);
+
+- WebKitTLSErrorsPolicy tlsErrorsPolicy =
webkit_web_context_get_tls_errors_policy(webView->priv->context);
++ WebKitTLSErrorsPolicy tlsErrorsPolicy =
webkit_web_context_get_tls_errors_policy(webView->priv->context.get());
+ if (tlsErrorsPolicy == WEBKIT_TLS_ERRORS_POLICY_FAIL) {
+ gboolean returnValue;
+ g_signal_emit(webView, signals[LOAD_FAILED_WITH_TLS_ERRORS], 0, failingURI, certificate, tlsErrors,
&returnValue);
+@@ -2247,7 +2247,7 @@ WebKitWebContext* webkit_web_view_get_context(WebKitWebView *webView)
+ {
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
+
+- return webView->priv->context;
++ return webView->priv->context.get();
+ }
+
+ /**
+@@ -3381,7 +3381,7 @@ WebKitDownload* webkit_web_view_download_uri(WebKitWebView* webView, const char*
+ g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
+ g_return_val_if_fail(uri, 0);
+
+- WebKitDownload* download = webkitWebContextStartDownload(webView->priv->context, uri, getPage(webView));
++ WebKitDownload* download = webkitWebContextStartDownload(webView->priv->context.get(), uri,
getPage(webView));
+ webkitDownloadSetWebView(download, webView);
+
+ return download;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]