summaryrefslogtreecommitdiff
path: root/desktop/browser.c
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2014-02-09 13:07:39 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2014-02-09 13:07:39 +0000
commitea79e85fcd109a5bf5f222cece8435305fc8626a (patch)
treeb8d846b7e6a82c0dc88360ba0118187d712f160f /desktop/browser.c
parent987218e144f95e1917f1eb8956fed8a712ec3a70 (diff)
downloadnetsurf-ea79e85fcd109a5bf5f222cece8435305fc8626a.tar.gz
netsurf-ea79e85fcd109a5bf5f222cece8435305fc8626a.tar.bz2
Clean up gui_window creation API.
Diffstat (limited to 'desktop/browser.c')
-rw-r--r--desktop/browser.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 4fdfce52d..5a6cfc727 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -699,7 +699,6 @@ browser_window_create(enum browser_window_nav_flags flags,
struct browser_window **ret_bw)
{
struct browser_window *bw;
- struct browser_window *top;
/* caller must provide window to clone or be adding to history */
assert(clone ||
@@ -730,9 +729,14 @@ browser_window_create(enum browser_window_nav_flags flags,
/* gui window */
/* from the front end's pov, it clones the top level browser window,
* so find that. */
- top = browser_window_get_root(clone);
+ clone = browser_window_get_root(clone);
- bw->window = guit->window->create(bw, top, ((flags & BROWSER_WINDOW_TAB) != 0));
+ bw->window = guit->window->create(bw,
+ (clone != NULL) ? clone->window : NULL,
+ ((flags & BROWSER_WINDOW_TAB) ?
+ GW_CREATE_TAB : GW_CREATE_NONE) |
+ ((clone != NULL) ?
+ GW_CREATE_CLONE : GW_CREATE_NONE));
if (bw->window == NULL) {
browser_window_destroy(bw);
@@ -1945,6 +1949,15 @@ nsurl * browser_window_get_url(struct browser_window *bw)
/* Exported interface, documented in browser.h */
+struct history * browser_window_get_history(struct browser_window *bw)
+{
+ assert(bw != NULL);
+
+ return bw->history;
+}
+
+
+/* Exported interface, documented in browser.h */
bool browser_window_has_content(struct browser_window *bw)
{
assert(bw != NULL);