From ea79e85fcd109a5bf5f222cece8435305fc8626a Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sun, 9 Feb 2014 13:07:39 +0000 Subject: Clean up gui_window creation API. --- desktop/browser.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'desktop/browser.c') 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); @@ -1944,6 +1948,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) { -- cgit v1.2.3