Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/75349e79d82c43b9731b9349364f467c81fce94b
...commit
http://git.netsurf-browser.org/netsurf.git/commit/75349e79d82c43b9731b9349364f467c81fce94b
...tree
http://git.netsurf-browser.org/netsurf.git/tree/75349e79d82c43b9731b9349364f467c81fce94b
The branch, master has been updated
via 75349e79d82c43b9731b9349364f467c81fce94b (commit)
from 8469f4cc8e62e80a3165a1d4f13b62b5b4a04720 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=75349e79d82c43b9731b9349364f467c81fce94b
commit 75349e79d82c43b9731b9349364f467c81fce94b
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
browser_window: Improve history behaviour on internal nav
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/desktop/browser_window.c b/desktop/browser_window.c
index 911d7ab..d74b56a 100644
--- a/desktop/browser_window.c
+++ b/desktop/browser_window.c
@@ -716,7 +716,6 @@ static nserror browser_window_content_ready(struct
browser_window *bw)
bw->loading_ssl_info.num = 0;
}
-
/* Format the new content to the correct dimensions */
browser_window_get_dimensions(bw, &width, &height);
width /= bw->scale;
@@ -724,7 +723,7 @@ static nserror browser_window_content_ready(struct
browser_window *bw)
content_reformat(bw->current_content, false, width, height);
/* history */
- if (bw->history_add && bw->history) {
+ if (bw->history_add && bw->history && !bw->internal_nav) {
nsurl *url = hlcache_handle_get_url(bw->current_content);
if (urldb_add_url(url)) {
@@ -828,8 +827,8 @@ browser_window_content_done(struct browser_window *bw)
}
}
- browser_window_history_update(bw, bw->current_content);
if (!bw->internal_nav) {
+ browser_window_history_update(bw, bw->current_content);
hotlist_update_url(hlcache_handle_get_url(bw->current_content));
}
@@ -3000,6 +2999,12 @@ browser_window_navigate(struct browser_window *bw,
if (post_multipart == NULL) {
return NSERROR_NEED_DATA;
}
+ /* It *is* internal, set it as such */
+ flags |= BW_NAVIGATE_INTERNAL | BW_NAVIGATE_HISTORY;
+ /* If we were previously internal, don't update again */
+ if (bw->internal_nav) {
+ flags |= BW_NAVIGATE_NO_TERMINAL_HISTORY_UPDATE;
+ }
}
/* If we're navigating and we have a history entry and a content
@@ -3321,6 +3326,7 @@ browser_window__navigate_internal_query_auth(struct
browser_window *bw,
nsurl_unref(sitensurl);
/* Finally navigate to the original loading parameters */
+ bw->internal_nav = false;
return browser_window__navigate_internal_real(bw,
&bw->loading_parameters);
}
-----------------------------------------------------------------------
Summary of changes:
desktop/browser_window.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/desktop/browser_window.c b/desktop/browser_window.c
index 911d7ab..d74b56a 100644
--- a/desktop/browser_window.c
+++ b/desktop/browser_window.c
@@ -716,7 +716,6 @@ static nserror browser_window_content_ready(struct
browser_window *bw)
bw->loading_ssl_info.num = 0;
}
-
/* Format the new content to the correct dimensions */
browser_window_get_dimensions(bw, &width, &height);
width /= bw->scale;
@@ -724,7 +723,7 @@ static nserror browser_window_content_ready(struct
browser_window *bw)
content_reformat(bw->current_content, false, width, height);
/* history */
- if (bw->history_add && bw->history) {
+ if (bw->history_add && bw->history && !bw->internal_nav) {
nsurl *url = hlcache_handle_get_url(bw->current_content);
if (urldb_add_url(url)) {
@@ -828,8 +827,8 @@ browser_window_content_done(struct browser_window *bw)
}
}
- browser_window_history_update(bw, bw->current_content);
if (!bw->internal_nav) {
+ browser_window_history_update(bw, bw->current_content);
hotlist_update_url(hlcache_handle_get_url(bw->current_content));
}
@@ -3000,6 +2999,12 @@ browser_window_navigate(struct browser_window *bw,
if (post_multipart == NULL) {
return NSERROR_NEED_DATA;
}
+ /* It *is* internal, set it as such */
+ flags |= BW_NAVIGATE_INTERNAL | BW_NAVIGATE_HISTORY;
+ /* If we were previously internal, don't update again */
+ if (bw->internal_nav) {
+ flags |= BW_NAVIGATE_NO_TERMINAL_HISTORY_UPDATE;
+ }
}
/* If we're navigating and we have a history entry and a content
@@ -3321,6 +3326,7 @@ browser_window__navigate_internal_query_auth(struct
browser_window *bw,
nsurl_unref(sitensurl);
/* Finally navigate to the original loading parameters */
+ bw->internal_nav = false;
return browser_window__navigate_internal_real(bw,
&bw->loading_parameters);
}
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org