Hello community, here is the log from the commit of package epiphany for openSUSE:Factory checked in at 2020-02-18 13:29:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/epiphany (Old) and /work/SRC/openSUSE:Factory/.epiphany.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "epiphany" Tue Feb 18 13:29:16 2020 rev:173 rq:775014 version:3.34.4 Changes: -------- --- /work/SRC/openSUSE:Factory/epiphany/epiphany.changes 2020-01-24 13:12:11.789457972 +0100 +++ /work/SRC/openSUSE:Factory/.epiphany.new.26092/epiphany.changes 2020-02-18 13:29:19.248692644 +0100 @@ -1,0 +2,16 @@ +Fri Feb 14 21:51:29 UTC 2020 - Bjørn Lie <[email protected]> + +- Update to version 3.34.4: + + Changing web app icon in preferences dialog should copy icon. + + Fix new tab page with few items in history. + + Fix Favorites and Mobile bookmarks not tagged correctly when + localized. + + Fix password manager user account selector. + + Hide view source context menu item when on view source page. + + Fix memory corruption in view source mode. + + Fix crash when parsing session state. + + Fix improper warning when closing multiple tabs. + + Fix occasional failure to start up. + + Fix memory corruption when loading adblock filters. + +------------------------------------------------------------------- Old: ---- epiphany-3.34.3.1.tar.xz New: ---- epiphany-3.34.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ epiphany.spec ++++++ --- /var/tmp/diff_new_pack.mnQ4zy/_old 2020-02-18 13:29:19.952694014 +0100 +++ /var/tmp/diff_new_pack.mnQ4zy/_new 2020-02-18 13:29:19.956694021 +0100 @@ -17,7 +17,7 @@ Name: epiphany -Version: 3.34.3.1 +Version: 3.34.4 Release: 0 Summary: GNOME Web Browser License: GPL-3.0-or-later ++++++ epiphany-3.34.3.1.tar.xz -> epiphany-3.34.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/NEWS new/epiphany-3.34.4/NEWS --- old/epiphany-3.34.3.1/NEWS 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/NEWS 2020-02-14 22:39:23.000000000 +0100 @@ -1,3 +1,17 @@ +3.34.4 - February 14, 2020 +========================== + + * Changing web app icon in preferences dialog should copy icon (#810, ignapk) + * Fix new tab page with few items in history (#986) + * Fix Favorites and Mobile bookmarks not tagged correctly when localized (#1015, Jonathan Kang) + * Fix password manager user account selector (#1018) + * Hide view source context menu item when on view source page (#1046) + * Fix memory corruption in view source mode (#1065) + * Fix crash when parsing session state (#1092) + * Fix improper warning when closing multiple tabs (#1093) + * Fix occasional failure to start up (!537) + * Fix memory corruption when loading adblock filters + 3.34.3.1 - January 3, 2020 ========================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/embed/ephy-about-handler.c new/epiphany-3.34.4/embed/ephy-about-handler.c --- old/epiphany-3.34.3.1/embed/ephy-about-handler.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/embed/ephy-about-handler.c 2020-02-14 22:39:23.000000000 +0100 @@ -347,6 +347,7 @@ gsize data_length; char *lang; GList *l; + guint list_length; snapshot_service = ephy_snapshot_service_get_default (); shell = ephy_embed_shell_get_default (); @@ -371,7 +372,9 @@ _(OVERVIEW_PAGE_TITLE)); g_free (lang); - if (g_list_length (urls) == 0 || !success) { + list_length = g_list_length (urls); + + if (list_length == 0 || !success) { GtkIconInfo *icon_info; g_autofree gchar *icon = g_strconcat (APPLICATION_ID, "-symbolic", NULL); @@ -423,6 +426,14 @@ thumbnail_style ? thumbnail_style : "", url->title); } + for (guint idx = list_length; idx < 9; idx++) { + g_string_append_printf (data_str, + "<i class=\"overview-item\">" + " <span class=\"overview-thumbnail\"></span>" + " <span class=\"overview-title\"></span>" + "</i>"); + } + data_str = g_string_append (data_str, " </div>\n" " </div>\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/embed/ephy-filters-manager.c new/epiphany-3.34.4/embed/ephy-filters-manager.c --- old/epiphany-3.34.3.1/embed/ephy-filters-manager.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/embed/ephy-filters-manager.c 2020-02-14 22:39:23.000000000 +0100 @@ -636,7 +636,7 @@ g_assert (self); g_assert (store == self->manager->store); - g_clear_object (&self->manager->wk_filter); + g_clear_pointer (&self->manager->wk_filter, webkit_user_content_filter_unref); self->manager->wk_filter = webkit_user_content_filter_store_load_finish (self->manager->store, result, &error); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/embed/ephy-view-source-handler.c new/epiphany-3.34.4/embed/ephy-view-source-handler.c --- old/epiphany-3.34.3.1/embed/ephy-view-source-handler.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/embed/ephy-view-source-handler.c 2020-02-14 22:39:23.000000000 +0100 @@ -158,8 +158,12 @@ WebKitLoadEvent load_event, EphyViewSourceRequest *request) { - if (load_event == WEBKIT_LOAD_FINISHED) + if (load_event == WEBKIT_LOAD_FINISHED) { + g_signal_handler_disconnect (request->web_view, request->load_changed_id); + request->load_changed_id = 0; + ephy_view_source_request_begin_get_source_from_web_view (request, web_view); + } } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/embed/ephy-web-view.c new/epiphany-3.34.4/embed/ephy-web-view.c --- old/epiphany-3.34.3.1/embed/ephy-web-view.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/embed/ephy-web-view.c 2020-02-14 22:39:23.000000000 +0100 @@ -2843,15 +2843,13 @@ script_dialog_cb (WebKitWebView *web_view, WebKitScriptDialog *dialog) { - if (webkit_script_dialog_get_dialog_type (dialog) != WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM) - return FALSE; - - /* Ignore beforeunload events for now until we properly support webkit_web_view_try_close() - * See https://bugzilla.gnome.org/show_bug.cgi?id=722032. + /* FIXME: Ignore beforeunload events for now until we properly support webkit_web_view_try_close() + * See https://gitlab.gnome.org/GNOME/epiphany/issues/220. */ - webkit_script_dialog_confirm_set_confirmed (dialog, TRUE); + if (webkit_script_dialog_get_dialog_type (dialog) == WEBKIT_SCRIPT_DIALOG_BEFORE_UNLOAD_CONFIRM) + webkit_script_dialog_confirm_set_confirmed (dialog, TRUE); - return TRUE; + return WEBKIT_WEB_VIEW_CLASS (ephy_web_view_parent_class)->script_dialog (web_view, dialog); } static const char * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/embed/web-process-extension/resources/js/ephy.js new/epiphany-3.34.4/embed/web-process-extension/resources/js/ephy.js --- old/epiphany-3.34.3.1/embed/web-process-extension/resources/js/ephy.js 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/embed/web-process-extension/resources/js/ephy.js 2020-02-14 22:39:23.000000000 +0100 @@ -103,12 +103,13 @@ Ephy.PreFillUserMenu = class PreFillUserMenu { - constructor(manager, userElement, users, passwordElement) + constructor(manager, formAuth, users) { this._manager = manager; - this._userElement = userElement; + this._formAuth = formAuth; + this._userElement = formAuth.usernameNode; this._users = users; - this._passwordElement = passwordElement; + this._passwordElement = formAuth.passwordNode; this._selected = null; this._wasEdited = false; @@ -165,7 +166,7 @@ if (newSelect) { this._selected = newSelect; this._userElement.value = this._selected.firstElementChild.textContent; - this._manager.preFill(); + this._usernameSelected(); } else { this._passwordElement.value = ''; } @@ -186,13 +187,14 @@ 'z-index: 2147483647;' + 'cursor: default;' + 'background-color: white;' + - 'box-shadow: 5px 5px 5px black;' + + 'box-shadow: 5px 5px 5px rgba(0,0,0,0.2);' + 'border-top: 0px;' + 'border-radius: 8px;' + + 'padding: 12px 0px;' + '-webkit-user-modify: read-only ! important;'; - mainDiv.style.width = this._userElement.offsetWidth; - mainDiv.style.left = elementRect.left + document.body.scrollLeft; - mainDiv.style.top = elementRect.top + document.body.scrollTop; + mainDiv.style.width = this._userElement.offsetWidth + 'px'; + mainDiv.style.left = elementRect.left + document.body.scrollLeft + 'px'; + mainDiv.style.top = elementRect.top + elementRect.height + document.body.scrollTop + 'px'; let ul = document.createElement('ul'); ul.style.cssText = 'margin: 0; padding: 0;'; @@ -209,6 +211,7 @@ li.style.cssText = 'list-style-type: none ! important;' + 'background-image: none ! important;' + 'padding: 3px 6px ! important;' + + 'color: black;' + 'margin: 0px;'; // FIXME: selection colors. li.tabindex = -1; @@ -221,6 +224,7 @@ anchor.style.cssText = 'font-weight: normal ! important;' + 'font-family: sans ! important;' + 'text-decoration: none ! important;' + + 'color: black;' + '-webkit-user-modify: read-only ! important;'; // FIXME: selection colors. anchor.textContent = user; @@ -230,7 +234,7 @@ this._userElement.value = user; this._selected = li; this._removeMenu(); - this._manager.preFill(); + this._usernameSelected(); }, true); } @@ -246,6 +250,13 @@ if (menu) menu.parentNode.removeChild(menu); } + + _usernameSelected() + { + this._formAuth.username = this._userElement.value; + this._passwordElement.value = ''; + this._manager.preFill(this._formAuth); + } } Ephy.formControlsAssociated = function(pageID, frameID, forms, serializer) @@ -332,9 +343,7 @@ { let element = this._takePendingPromise(id); if (element) { - if (username === '') - username = null; - if (password !== '') + if (password) element.resolver({username, password}); else element.resolver(null); @@ -445,7 +454,7 @@ Ephy.passwordManager.queryUsernames(formAuth.origin).then(users => { if (users.length > 1) { Ephy.log('More than one saved username, hooking menu for choosing which one to select'); - this._preFillUserMenu = new Ephy.PreFillUserMenu(this, formAuth.usernameNode, users, formAuth.passwordNode); + this._preFillUserMenu = new Ephy.PreFillUserMenu(this, formAuth, users); } this.preFill(formAuth); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/lib/ephy-web-app-utils.c new/epiphany-3.34.4/lib/ephy-web-app-utils.c --- old/epiphany-3.34.3.1/lib/ephy-web-app-utils.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/lib/ephy-web-app-utils.c 2020-02-14 22:39:23.000000000 +0100 @@ -818,6 +818,18 @@ return matched; } +static void +ephy_web_icon_copy_cb (GFile *file, + GAsyncResult *result, + gpointer user_data) +{ + GError *error = NULL; + if (!g_file_copy_finish (file, result, &error)) { + g_warning ("Failed to update web app icon: %s", error->message); + g_error_free (error); + } +} + gboolean ephy_web_application_save (EphyWebApplication *app) { @@ -850,8 +862,14 @@ icon = g_key_file_get_string (key, "Desktop Entry", "Icon", NULL); if (g_strcmp0 (icon, app->icon_url) != 0) { + GFile *new_icon; + GFile *old_icon; changed = TRUE; - g_key_file_set_string (key, "Desktop Entry", "Icon", app->icon_url); + new_icon = g_file_new_for_path (app->icon_url); + old_icon = g_file_new_for_path (icon); + g_file_copy_async (new_icon, old_icon, G_FILE_COPY_OVERWRITE, + G_PRIORITY_DEFAULT, NULL, NULL, NULL, + (GAsyncReadyCallback)ephy_web_icon_copy_cb, NULL); } g_free (icon); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/meson.build new/epiphany-3.34.4/meson.build --- old/epiphany-3.34.3.1/meson.build 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/meson.build 2020-02-14 22:39:23.000000000 +0100 @@ -1,6 +1,6 @@ project('epiphany', 'c', license: 'GPL3+', - version: '3.34.3.1', + version: '3.34.4', meson_version: '>= 0.46.0', default_options: ['c_std=gnu11', 'warning_level=2'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/org.gnome.Epiphany.json new/epiphany-3.34.4/org.gnome.Epiphany.json --- old/epiphany-3.34.3.1/org.gnome.Epiphany.json 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/org.gnome.Epiphany.json 2020-02-14 22:39:23.000000000 +0100 @@ -46,7 +46,8 @@ "sources" : [ { "type" : "git", - "url" : "https://source.puri.sm/Librem5/libhandy.git" + "url" : "https://source.puri.sm/Librem5/libhandy.git", + "branch" : "libhandy-0-0" } ] }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/bookmarks/ephy-bookmark-properties-grid.c new/epiphany-3.34.4/src/bookmarks/ephy-bookmark-properties-grid.c --- old/epiphany-3.34.3.1/src/bookmarks/ephy-bookmark-properties-grid.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/bookmarks/ephy-bookmark-properties-grid.c 2020-02-14 22:39:23.000000000 +0100 @@ -169,7 +169,7 @@ gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 0); } - label_text = default_tag ? _(EPHY_BOOKMARKS_FAVORITES_TAG) : tag; + label_text = default_tag ? EPHY_BOOKMARKS_FAVORITES_TAG : tag; label = gtk_label_new (label_text); gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/bookmarks/ephy-bookmarks-manager.h new/epiphany-3.34.4/src/bookmarks/ephy-bookmarks-manager.h --- old/epiphany-3.34.3.1/src/bookmarks/ephy-bookmarks-manager.h 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/bookmarks/ephy-bookmarks-manager.h 2020-02-14 22:39:23.000000000 +0100 @@ -31,7 +31,7 @@ G_DECLARE_FINAL_TYPE (EphyBookmarksManager, ephy_bookmarks_manager, EPHY, BOOKMARKS_MANAGER, GObject) -#define EPHY_BOOKMARKS_FAVORITES_TAG N_("Favorites") +#define EPHY_BOOKMARKS_FAVORITES_TAG _("Favorites") #define EPHY_BOOKMARKS_MOBILE_TAG N_("Mobile") #define FIREFOX_BOOKMARKS_MOBILE_FOLDER "Mobile Bookmarks" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/bookmarks/ephy-bookmarks-popover.c new/epiphany-3.34.4/src/bookmarks/ephy-bookmarks-popover.c --- old/epiphany-3.34.3.1/src/bookmarks/ephy-bookmarks-popover.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/bookmarks/ephy-bookmarks-popover.c 2020-02-14 22:39:23.000000000 +0100 @@ -240,11 +240,10 @@ if (g_strcmp0 (tag, EPHY_BOOKMARKS_FAVORITES_TAG) == 0) { image = gtk_image_new_from_icon_name ("emblem-favorite-symbolic", GTK_ICON_SIZE_MENU); - label = gtk_label_new (_(EPHY_BOOKMARKS_FAVORITES_TAG)); } else { image = gtk_image_new_from_icon_name ("ephy-bookmark-tag-symbolic", GTK_ICON_SIZE_MENU); - label = gtk_label_new (tag); } + label = gtk_label_new (tag); gtk_box_pack_start (GTK_BOX (box), image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (box), label, TRUE, FALSE, 0); @@ -411,10 +410,7 @@ gtk_container_add (GTK_CONTAINER (self->tag_detail_list_box), row); } - if (strcmp (tag, EPHY_BOOKMARKS_FAVORITES_TAG) == 0) - gtk_label_set_label (GTK_LABEL (self->tag_detail_label), _(EPHY_BOOKMARKS_FAVORITES_TAG)); - else - gtk_label_set_label (GTK_LABEL (self->tag_detail_label), tag); + gtk_label_set_label (GTK_LABEL (self->tag_detail_label), tag); gtk_stack_set_visible_child_name (GTK_STACK (self->toplevel_stack), "tag_detail"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/ephy-session.c new/epiphany-3.34.4/src/ephy-session.c --- old/epiphany-3.34.3.1/src/ephy-session.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/ephy-session.c 2020-02-14 22:39:23.000000000 +0100 @@ -1080,6 +1080,7 @@ guint32 user_time; EphyWindow *window; + gulong destroy_id; gboolean is_first_window; gint active_tab; @@ -1105,6 +1106,11 @@ { g_object_unref (context->session); + if (context->window) { + /* This can only happen if the session state is malformed. */ + g_signal_handler_disconnect (context->window, context->destroy_id); + } + g_free (context); } @@ -1116,7 +1122,13 @@ GdkRectangle geometry = { -1, -1, 0, 0 }; guint i; + if (context->window) { + /* This should only happen if the session state is malformed. */ + return; + } + context->window = ephy_window_new (); + context->destroy_id = g_signal_connect (context->window, "destroy", G_CALLBACK (gtk_widget_destroyed), &context->window); for (i = 0; names[i]; i++) { gulong int_value; @@ -1159,6 +1171,13 @@ gboolean is_pin = FALSE; guint i; + if (!context->window) { + /* This can happen if the session is malformed, or if the window is + * destroyed before the session finishes loading. + */ + return; + } + notebook = ephy_window_get_notebook (context->window); for (i = 0; names[i]; i++) { @@ -1288,6 +1307,13 @@ GtkWidget *notebook; EphyEmbedShell *shell = ephy_embed_shell_get_default (); + if (!context->window) { + /* This can happen if the session is malformed, or if the window is + * destroyed before the session finishes loading. + */ + return; + } + notebook = ephy_window_get_notebook (context->window); gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), context->active_tab); @@ -1301,6 +1327,7 @@ ephy_embed_shell_restored_window (shell); + g_clear_signal_handler (&context->destroy_id, context->window); context->window = NULL; context->active_tab = 0; context->is_first_window = FALSE; @@ -1744,3 +1771,9 @@ ephy_session_save (session); } + +gboolean +ephy_session_is_closing (EphySession *session) +{ + return session->closing; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/ephy-session.h new/epiphany-3.34.4/src/ephy-session.h --- old/epiphany-3.34.3.1/src/ephy-session.h 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/ephy-session.h 2020-02-14 22:39:23.000000000 +0100 @@ -69,5 +69,6 @@ void ephy_session_clear (EphySession *session); +gboolean ephy_session_is_closing (EphySession *session); G_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/ephy-shell.c new/epiphany-3.34.4/src/ephy-shell.c --- old/epiphany-3.34.3.1/src/ephy-shell.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/ephy-shell.c 2020-02-14 22:39:23.000000000 +0100 @@ -30,6 +30,7 @@ #include "ephy-gui.h" #include "ephy-header-bar.h" #include "ephy-history-dialog.h" +#include "ephy-link.h" #include "ephy-lockdown.h" #include "ephy-notification.h" #include "ephy-prefs.h" @@ -127,6 +128,9 @@ /* since session autoresume will open one for us. */ ephy_shell_open_uris (shell, (const char **)ctx->arguments, ctx->startup_mode, ctx->user_time); + } else if (ephy_shell_get_n_windows (shell) == 0) { + EphyWindow *window = ephy_window_new (); + ephy_link_open (EPHY_LINK (window), NULL, NULL, EPHY_LINK_HOME_PAGE); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/epiphany-3.34.3.1/src/ephy-window.c new/epiphany-3.34.4/src/ephy-window.c --- old/epiphany-3.34.3.1/src/ephy-window.c 2020-01-04 05:20:29.000000000 +0100 +++ new/epiphany-3.34.4/src/ephy-window.c 2020-02-14 22:39:23.000000000 +0100 @@ -53,6 +53,7 @@ #include "ephy-title-box.h" #include "ephy-title-widget.h" #include "ephy-type-builtins.h" +#include "ephy-view-source-handler.h" #include "ephy-web-app-utils.h" #include "ephy-web-view.h" #include "ephy-zoom.h" @@ -1509,6 +1510,7 @@ gboolean can_search_selection = FALSE; char *search_selection_action_name = NULL; const char *selected_text = NULL; + const char *uri = NULL; window_action_group = gtk_widget_get_action_group (GTK_WIDGET (window), "win"); @@ -1767,8 +1769,12 @@ webkit_context_menu_append (context_menu, webkit_context_menu_item_new_separator ()); - add_action_to_context_menu (context_menu, window_action_group, - "page-source", window); + uri = webkit_web_view_get_uri (web_view); + if (uri && !strstr (uri, EPHY_VIEW_SOURCE_SCHEME)) { + add_action_to_context_menu (context_menu, window_action_group, + "page-source", window); + } + webkit_context_menu_append (context_menu, webkit_context_menu_item_new_from_stock_action (WEBKIT_CONTEXT_MENU_ACTION_INSPECT_ELEMENT)); } @@ -4243,6 +4249,8 @@ gboolean ephy_window_close (EphyWindow *window) { + EphySession *session; + /* We ignore the delete_event if the disable_quit lockdown has been set */ if (g_settings_get_boolean (EPHY_SETTINGS_LOCKDOWN, @@ -4263,8 +4271,10 @@ return FALSE; } + session = ephy_shell_get_session (ephy_shell_get_default ()); if (ephy_shell_get_n_windows (ephy_shell_get_default ()) > 1 && gtk_notebook_get_n_pages (window->notebook) > 1 && + !ephy_session_is_closing (session) && !confirm_close_with_multiple_tabs (window)) { /* stop window close */ return FALSE;
