{
GtkWidget* webView = get_nth_webView(-1, browser);
WebKitWebFrame* frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(webView));
- const gchar* uri = webkit_web_frame_get_location(frame);
+ const gchar* uri = webkit_web_frame_get_uri(frame);
if(uri && *uri)
gtk_entry_set_text(GTK_ENTRY(widget), uri);
return TRUE;
GtkWidget* webView = get_nth_webView(-1, browser);
g_free(config->panelPageholder);
WebKitWebFrame* frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(webView));
- const gchar* uri = webkit_web_frame_get_location(frame);
+ const gchar* uri = webkit_web_frame_get_uri(frame);
config->panelPageholder = g_strdup(uri);
GtkAction* action_pageholder =
gtk_action_group_get_action(browser->actiongroup, "PanelPageholder");
DOC_CONNECT ("title-changed" , on_webView_title_changed)
DOC_CONNECT ("icon-loaded" , on_webView_icon_changed)
DOC_CONNECT ("load-started" , on_webView_load_started)
+ DOC_CONNECT ("load-committed" , on_webView_load_committed)
DOC_CONNECT ("load-progress-changed" , on_webView_load_changed)
DOC_CONNECT ("load-finished" , on_webView_load_finished)
DOC_CONNECT ("status-bar-text-changed" , on_webView_status_message)
return response;
}
-void on_webView_location_changed(GtkWidget* webView, const gchar* uri
-, CBrowser* browser)
+void on_webView_title_changed(GtkWidget* webView, WebKitWebFrame* frame
+ , const gchar* title, CBrowser* browser)
{
- gchar* newUri = g_strdup(uri ? uri : "");
- xbel_bookmark_set_href(browser->sessionItem, newUri);
- if(webView == get_nth_webView(-1, browser))
- {
- gtk_entry_set_text(GTK_ENTRY(browser->location), newUri);
- gtk_label_set_text(GTK_LABEL(browser->webView_name), newUri);
- update_status_message(NULL, browser);
- update_gui_state(browser);
- }
-}
-
-void on_webView_title_changed(GtkWidget* webView, const gchar* title
- , const gchar* uri, CBrowser* browser)
-{
- // TODO: We emulate location_changed here for now
- // Shouldn't we have separated title_changed and location_changed signals?
- on_webView_location_changed(webView, uri, browser);
- gchar* newTitle;
- newTitle = g_strdup(title ? title : uri);
+ const gchar* newTitle;
+ if(title)
+ newTitle = title;
+ else
+ newTitle = webkit_web_frame_get_uri(frame);
xbel_item_set_title(browser->sessionItem, newTitle);
gtk_label_set_text(GTK_LABEL(browser->webView_name), newTitle);
sokoke_widget_set_tooltip_text(gtk_widget_get_parent(
gtk_widget_show(browser->progress);
}
+void on_webView_load_committed(GtkWidget* webView, WebKitWebFrame* frame
+ , CBrowser* browser)
+{
+ const gchar* uri = webkit_web_frame_get_uri(frame);
+ gchar* newUri = g_strdup(uri ? uri : "");
+ xbel_bookmark_set_href(browser->sessionItem, newUri);
+ if(webView == get_nth_webView(-1, browser))
+ {
+ gtk_entry_set_text(GTK_ENTRY(browser->location), newUri);
+ gtk_label_set_text(GTK_LABEL(browser->webView_name), newUri);
+ update_status_message(NULL, browser);
+ update_gui_state(browser);
+ }
+}
+
void on_webView_load_changed(GtkWidget* webView, gint progress, CBrowser* browser)
{
browser->loadedBytes = progress;
, WebKitNetworkRequest* networkRequest);
void
-on_webView_location_changed(GtkWidget*, const gchar*, CBrowser*);
-
-void
-on_webView_title_changed(GtkWidget*, const gchar*, const gchar*, CBrowser*);
+on_webView_title_changed(GtkWidget*, WebKitWebFrame*, const gchar*, CBrowser*);
void
on_webView_icon_changed(GtkWidget*, WebKitWebFrame*, CBrowser*);
void
on_webView_load_started(GtkWidget* , WebKitWebFrame*, CBrowser*);
+void
+on_webView_load_committed(GtkWidget* , WebKitWebFrame*, CBrowser*);
+
void
on_webView_load_changed(GtkWidget*, gint progress, CBrowser*);