[epiphany/f21] Actually add patches
catanzaro
catanzaro at fedoraproject.org
Sat Feb 28 17:00:17 UTC 2015
commit 2620ae390f843f5bcbeb83c53c2b3385d6b3a2d4
Author: Michael Catanzaro <mcatanzaro at gnome.org>
Date: Sat Feb 28 11:00:03 2015 -0600
Actually add patches
...any-setup-web-extensions-connection-crash.patch | 30 +++++++++++++
...b-dom-utils-find-form-auth-elements-crash.patch | 50 ++++++++++++++++++++++
...hany-web-extension-proxy-created-cb-crash.patch | 48 +++++++++++++++++++++
3 files changed, 128 insertions(+)
---
diff --git a/epiphany-setup-web-extensions-connection-crash.patch b/epiphany-setup-web-extensions-connection-crash.patch
new file mode 100644
index 0000000..677d39c
--- /dev/null
+++ b/epiphany-setup-web-extensions-connection-crash.patch
@@ -0,0 +1,30 @@
+From 7fd59fa5909e6fb5b87e9d216cbd0cb94ddecf61 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro at igalia.com>
+Date: Wed, 11 Feb 2015 16:37:16 -0600
+Subject: Fix crash when we can't connect to the session bus
+
+This GError is never initialized. g_application_get_dbus_connection()
+does not take a GError.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=744360
+
+diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c
+index 360bffd..e5f447a 100644
+--- a/embed/ephy-embed-shell.c
++++ b/embed/ephy-embed-shell.c
+@@ -525,12 +525,9 @@ initialize_web_extensions (WebKitWebContext* web_context,
+ static void
+ ephy_embed_shell_setup_web_extensions_connection (EphyEmbedShell *shell)
+ {
+- GError *error = NULL;
+-
+ shell->priv->bus = g_application_get_dbus_connection (G_APPLICATION (shell));
+ if (!shell->priv->bus) {
+- g_warning ("Application not connected to session bus: %s\n", error->message);
+- g_error_free (error);
++ g_warning ("Application not connected to session bus");
+ return;
+ }
+
+--
+cgit v0.10.2
diff --git a/epiphany-web-dom-utils-find-form-auth-elements-crash.patch b/epiphany-web-dom-utils-find-form-auth-elements-crash.patch
new file mode 100644
index 0000000..81f0b0b
--- /dev/null
+++ b/epiphany-web-dom-utils-find-form-auth-elements-crash.patch
@@ -0,0 +1,50 @@
+From 017109b4ad6f2cea1990c1be987aff19c475bbe2 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro at igalia.com>
+Date: Fri, 27 Feb 2015 13:07:43 -0600
+Subject: [PATCH] Fix crash when receiving a NULL string from DOM bindings
+
+As of WebKitGTK+ 2.6.5: "Object DOM bindings API now correctly returns
+NULL intead of empty strings to be able to differentiate between not
+present and present but empty."
+
+This was causing crashes on e.g.
+http://www.publico.pt/local/noticia/sindicato-anuncia-adiamento-de-greve-no-metro-de-lisboa-1687386
+
+https://bugzilla.gnome.org/show_bug.cgi?id=745306
+---
+ lib/ephy-web-dom-utils.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/lib/ephy-web-dom-utils.c b/lib/ephy-web-dom-utils.c
+index 72df883..75c586c 100644
+--- a/lib/ephy-web-dom-utils.c
++++ b/lib/ephy-web-dom-utils.c
+@@ -375,7 +375,7 @@ ephy_web_dom_utils_find_form_auth_elements (WebKitDOMHTMLFormElement *form,
+
+ g_object_get (element, "type", &element_type, "name", &element_name, NULL);
+
+- if (g_str_equal (element_type, "text") || g_str_equal (element_type, "email")) {
++ if (g_strcmp0 (element_type, "text") == 0 || g_strcmp0 (element_type, "email") == 0) {
+ /* We found more than one inputs of type text; we won't be saving here. */
+ if (username_node) {
+ g_free (element_type);
+@@ -385,7 +385,7 @@ ephy_web_dom_utils_find_form_auth_elements (WebKitDOMHTMLFormElement *form,
+
+ username_node = g_object_ref (element);
+ found_auth_elements = TRUE;
+- } else if (g_str_equal (element_type, "password")) {
++ } else if (g_strcmp0 (element_type, "password") == 0) {
+ /* We found more than one inputs of type password; we won't be saving here. */
+ if (password_node) {
+ g_free (element_type);
+@@ -398,7 +398,7 @@ ephy_web_dom_utils_find_form_auth_elements (WebKitDOMHTMLFormElement *form,
+
+ /* We found an input that usually doesn't require a separate login
+ * adminpw is used by mailman admin pages */
+- if (g_str_equal (element_name, "adminpw"))
++ if (g_strcmp0 (element_name, "adminpw") == 0)
+ found_auth_no_username_elements = TRUE;
+ }
+
+--
+2.1.0
diff --git a/epiphany-web-extension-proxy-created-cb-crash.patch b/epiphany-web-extension-proxy-created-cb-crash.patch
new file mode 100644
index 0000000..c506d6c
--- /dev/null
+++ b/epiphany-web-extension-proxy-created-cb-crash.patch
@@ -0,0 +1,48 @@
+From 75fffe3352faa519f5594b9d4f0d67d9418d38b7 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro at igalia.com>
+Date: Sat, 21 Feb 2015 10:19:24 -0600
+Subject: [PATCH 02/20] Fix UI process crash if the web process crashes on
+ start
+
+Currently there is a WebKit bug that causes the web process to crash
+when we use webkit_web_view_load_alternate_html() on a local page, say
+because Epiphany was closed when a file:// URI was opened in an embed
+other than the focused embed. That crash occurs after
+web_extension_appeared_cb() but prior to
+web_extension_proxy_created_cb(), triggering a call to
+web_extension_vanished_cb(), which deletes the EphyWebExtensionProxy
+object that is expected to still be alive when
+web_extension_proxy_created_cb() is called, crashing the UI process.
+We can fix this with a ref/unref pair.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=744896
+---
+ embed/ephy-web-extension-proxy.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/embed/ephy-web-extension-proxy.c b/embed/ephy-web-extension-proxy.c
+index 773e0f9..2e03996 100644
+--- a/embed/ephy-web-extension-proxy.c
++++ b/embed/ephy-web-extension-proxy.c
+@@ -90,6 +90,8 @@ web_extension_proxy_created_cb (GDBusProxy *proxy,
+ g_warning ("Error creating web extension proxy: %s\n", error->message);
+ g_error_free (error);
+ }
++
++ g_object_unref (web_extension);
+ }
+
+ static void
+@@ -110,7 +112,9 @@ web_extension_appeared_cb (GDBusConnection *connection,
+ EPHY_WEB_EXTENSION_INTERFACE,
+ web_extension->priv->cancellable,
+ (GAsyncReadyCallback)web_extension_proxy_created_cb,
+- web_extension);
++ /* Ref here because the web process could crash, triggering
++ * web_extension_vanished_cb() before this finishes. */
++ g_object_ref (web_extension));
+ }
+
+ static void
+--
+2.1.0
More information about the scm-commits
mailing list