diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c index 3d81f8783573bfd7589e0447d0af0ef2109fac86..ddc919fbb121c1fbd6e24821434567f01efc8c82 100644 --- a/embed/ephy-embed.c +++ b/embed/ephy-embed.c @@ -1008,3 +1008,11 @@ ephy_embed_detach_notification_container (EphyEmbed *embed) gtk_container_remove (GTK_CONTAINER (embed->overlay), g_object_ref (GTK_WIDGET (container))); } } + +WebKitWebViewSessionState * +ephy_embed_get_session_state (EphyEmbed *embed) +{ + if (embed->delayed_state) + return webkit_web_view_session_state_ref (embed->delayed_state); + return webkit_web_view_get_session_state (embed->web_view); +} diff --git a/embed/ephy-embed.h b/embed/ephy-embed.h index 5004bffcda1adf627b3ddd26cf9f2420f536991b..c79f99b0d9e60c9685af6d0f625ec66213f1e0f2 100644 --- a/embed/ephy-embed.h +++ b/embed/ephy-embed.h @@ -56,5 +56,7 @@ void ephy_embed_attach_notification_container (EphyEmbed *embed); void ephy_embed_detach_notification_container (EphyEmbed *embed); void ephy_embed_download_started (EphyEmbed *embed, EphyDownload *ephy_download); +WebKitWebViewSessionState + *ephy_embed_get_session_state (EphyEmbed *embed); G_END_DECLS diff --git a/src/ephy-session.c b/src/ephy-session.c index e0a7e8b9040fa05db5b7936d1ad2b176b69f95e7..42486179d9718f93115348c1c851e793f61e5467 100644 --- a/src/ephy-session.c +++ b/src/ephy-session.c @@ -219,7 +219,7 @@ closed_tab_new (EphyWebView *web_view, tab->position = position; /* Takes the ownership of the tracker */ tab->tab_view_tracker = tab_view_tracker; - tab->state = webkit_web_view_get_session_state (WEBKIT_WEB_VIEW (web_view)); + tab->state = ephy_embed_get_session_state (EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW (web_view)); return tab; } @@ -574,7 +574,7 @@ session_tab_new (EphyEmbed *embed, !session->closing); session_tab->crashed = (error_page == EPHY_WEB_VIEW_ERROR_PAGE_CRASH || error_page == EPHY_WEB_VIEW_ERROR_PROCESS_CRASH); - session_tab->state = webkit_web_view_get_session_state (WEBKIT_WEB_VIEW (web_view)); + session_tab->state = ephy_embed_get_session_state (EPHY_GET_EMBED_FROM_EPHY_WEB_VIEW (web_view)); session_tab->pinned = ephy_tab_view_get_is_pinned (tab_view, GTK_WIDGET (embed)); return session_tab;