diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2013-02-20 22:04:44 +0800 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2013-02-20 23:01:29 +0800 |
commit | 10163f64235b535f49647a6ad0cfa5e3b0f179a9 (patch) | |
tree | eb3142170ef113f820b4ecc6076f02fae6e70a95 | |
parent | 3512e9f5bc93e6518a7a61baab0cd5b6f5ecb260 (diff) | |
download | gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.tar gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.tar.gz gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.tar.bz2 gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.tar.lz gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.tar.xz gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.tar.zst gsoc2013-epiphany-10163f64235b535f49647a6ad0cfa5e3b0f179a9.zip |
Fix loading HTTP auth protected pages from the overview
The switch between overview and normal web page happens when the page
load is committed, in case of HTTP auth protected pages we never switch
to web page mode because authentication happens before the load is
committed. In WebKit2 the auth dialog is attached to the web view, so we
need to show the web view before the load is committed to show the auth
dialog.
https://bugzilla.gnome.org/show_bug.cgi?id=694268
-rw-r--r-- | embed/ephy-embed.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c index a91509c26..a465a142a 100644 --- a/embed/ephy-embed.c +++ b/embed/ephy-embed.c @@ -298,12 +298,19 @@ load_changed_cb (WebKitWebView *web_view, WebKitLoadEvent load_event, EphyEmbed *embed) { - const char *address; + switch (load_event) { + case WEBKIT_LOAD_STARTED: { + const char *uri; - if (load_event == WEBKIT_LOAD_COMMITTED) { + uri = webkit_web_view_get_uri (web_view); + ephy_embed_set_overview_mode (embed, strcmp (uri, "ephy-about:overview") == 0); + break; + } + case WEBKIT_LOAD_COMMITTED: ephy_embed_destroy_top_widgets (embed); - address = ephy_web_view_get_address (EPHY_WEB_VIEW (web_view)); - ephy_embed_set_overview_mode (embed, strcmp (address, "ephy-about:overview") == 0); + break; + default: + break; } } #else |