[jhbuild] core-deps-3.16: Add a patch for WebKit



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]