[epiphany] Fix ephy-reader page restore
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Fix ephy-reader page restore
- Date: Sat, 27 Jun 2020 16:42:32 +0000 (UTC)
commit 250f928769f9bf29a438045fd253801a501ab84b
Author: Jan-Michael Brummer <jan brummer tabos org>
Date: Sat Jun 27 00:25:34 2020 +0200
Fix ephy-reader page restore
Fixes: https://gitlab.gnome.org/GNOME/epiphany/-/issues/1246
embed/ephy-reader-handler.c | 69 ++-------------------------------------------
1 file changed, 2 insertions(+), 67 deletions(-)
---
diff --git a/embed/ephy-reader-handler.c b/embed/ephy-reader-handler.c
index f50f03de7..b40cb0e4f 100644
--- a/embed/ephy-reader-handler.c
+++ b/embed/ephy-reader-handler.c
@@ -249,67 +249,12 @@ ephy_reader_request_begin_get_source_from_uri (EphyReaderRequest *request,
webkit_web_view_load_uri (request->web_view, uri);
}
-static gint
-embed_is_displaying_matching_uri (EphyEmbed *embed,
- SoupURI *uri)
-{
- EphyWebView *web_view;
- SoupURI *view_uri;
- gint ret = -1;
-
- if (ephy_embed_has_load_pending (embed))
- return -1;
-
- web_view = ephy_embed_get_web_view (embed);
- if (ephy_web_view_is_loading (web_view))
- return -1;
-
- view_uri = soup_uri_new (ephy_web_view_get_address (web_view));
- if (!view_uri)
- return -1;
-
- soup_uri_set_fragment (view_uri, NULL);
- ret = soup_uri_equal (view_uri, uri) ? 0 : -1;
-
- soup_uri_free (view_uri);
-
- return ret;
-}
-
-static WebKitWebView *
-get_web_view_matching_uri (SoupURI *uri)
-{
- EphyEmbedShell *shell;
- GtkWindow *window;
- GList *embeds = NULL;
- GList *found;
- EphyEmbed *embed = NULL;
-
- shell = ephy_embed_shell_get_default ();
- window = gtk_application_get_active_window (GTK_APPLICATION (shell));
-
- if (!EPHY_IS_EMBED_CONTAINER (window))
- goto out;
-
- embeds = ephy_embed_container_get_children (EPHY_EMBED_CONTAINER (window));
- found = g_list_find_custom (embeds, uri, (GCompareFunc)embed_is_displaying_matching_uri);
-
- if (found)
- embed = found->data;
-
-out:
- g_list_free (embeds);
-
- return embed ? WEBKIT_WEB_VIEW (ephy_embed_get_web_view (embed)) : NULL;
-}
-
static void
ephy_reader_request_start (EphyReaderRequest *request)
{
g_autoptr (SoupURI) soup_uri = NULL;
const char *modified_uri;
const char *original_uri;
- WebKitWebView *web_view;
original_uri = webkit_uri_scheme_request_get_uri (request->scheme_request);
soup_uri = soup_uri_new (original_uri);
@@ -324,20 +269,10 @@ ephy_reader_request_start (EphyReaderRequest *request)
return;
}
- modified_uri = soup_uri_get_path (soup_uri);
+ modified_uri = soup_uri_to_string (soup_uri, TRUE);
g_assert (modified_uri);
- web_view = webkit_uri_scheme_request_get_web_view (request->scheme_request);
- if (web_view && !webkit_web_view_get_title (web_view))
- web_view = NULL;
-
- if (!web_view)
- web_view = get_web_view_matching_uri (soup_uri);
-
- if (web_view)
- ephy_reader_request_begin_get_source_from_web_view (request, WEBKIT_WEB_VIEW (web_view));
- else
- ephy_reader_request_begin_get_source_from_uri (request, modified_uri);
+ ephy_reader_request_begin_get_source_from_uri (request, modified_uri);
request->source_handler->outstanding_requests =
g_list_prepend (request->source_handler->outstanding_requests, request);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]