[epiphany] ephy-embed.c: use the initial request to fill the URL entry
- From: Xan Lopez <xan src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [epiphany] ephy-embed.c: use the initial request to fill the URL entry
- Date: Wed, 2 Sep 2009 17:02:23 +0000 (UTC)
commit 2836316f28b460a2b03c4ffb6c4991b6509f5f48
Author: Xan Lopez <xan gnome org>
Date: Wed Sep 2 20:00:23 2009 +0300
ephy-embed.c: use the initial request to fill the URL entry
Avoids having a blank URL entry until the server responds to our
request.
Bug #591294
embed/ephy-embed.c | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
---
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 80fd0cd..1d5daa2 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -238,16 +238,20 @@ load_status_changed_cb (WebKitWebView *view,
security_level = EPHY_WEB_VIEW_STATE_IS_UNKNOWN;
ephy_web_view_set_security_level (EPHY_WEB_VIEW (view), security_level);
- } else {
+ } else if (status == WEBKIT_LOAD_PROVISIONAL || status == WEBKIT_LOAD_FINISHED) {
EphyWebViewNetState estate = EPHY_WEB_VIEW_STATE_UNKNOWN;
- /* FIXME: this does not work for URLs opened without typing
- (middle click, etc). We should use get_address, but WebKit does
- not update its URI property until LOAD_COMMITTED, so we'll get
- NULL here. We need to either change WebKit or fetch the address
- we are trying to load from our side. */
- const char *loading_uri = ephy_web_view_get_typed_address (EPHY_WEB_VIEW (view));
+ const char *loading_uri;
if (status == WEBKIT_LOAD_PROVISIONAL) {
+ WebKitWebFrame *frame;
+ WebKitWebDataSource *source;
+ WebKitNetworkRequest *request;
+
+ frame = webkit_web_view_get_main_frame (view);
+ source = webkit_web_frame_get_provisional_data_source (frame);
+ request = webkit_web_data_source_get_initial_request (source);
+ loading_uri = webkit_network_request_get_uri (request);
+
estate = (EphyWebViewNetState) (estate |
EPHY_WEB_VIEW_STATE_START |
EPHY_WEB_VIEW_STATE_NEGOTIATING |
@@ -256,6 +260,8 @@ load_status_changed_cb (WebKitWebView *view,
g_signal_emit_by_name (EPHY_WEB_VIEW (view), "new-document-now", loading_uri);
} else if (status == WEBKIT_LOAD_FINISHED) {
+ loading_uri = ephy_web_view_get_address (EPHY_WEB_VIEW (view));
+
estate = (EphyWebViewNetState) (estate |
EPHY_WEB_VIEW_STATE_STOP |
EPHY_WEB_VIEW_STATE_IS_DOCUMENT |
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]