summaryrefslogtreecommitdiff
path: root/desktop/browser.h
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2014-02-10 14:08:45 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2014-02-10 14:08:45 +0000
commitaf014bce99d4990f1a0cbb1a779127de0f716a90 (patch)
treee013fd671af221d241c23087fc770faab3a64628 /desktop/browser.h
parent9720c024832c96d917de933b95c87cf2e4f867bf (diff)
downloadnetsurf-af014bce99d4990f1a0cbb1a779127de0f716a90.tar.gz
netsurf-af014bce99d4990f1a0cbb1a779127de0f716a90.tar.bz2
Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags.
Diffstat (limited to 'desktop/browser.h')
-rw-r--r--desktop/browser.h55
1 files changed, 33 insertions, 22 deletions
diff --git a/desktop/browser.h b/desktop/browser.h
index 39f8b8901..4cb8e012a 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -62,42 +62,53 @@ typedef enum {
extern bool browser_reformat_pending;
-/** flags to browser window go */
+/** flags to browser_window_create */
+enum browser_window_create_flags {
+ /** No flags set */
+ BW_CREATE_NONE = 0,
+
+ /** this will form a new history node (don't set for back/reload/etc) */
+ BW_CREATE_HISTORY = (1 << 0),
+
+ /** New gui_window to be tab in same window as "existing" gui_window */
+ BW_CREATE_TAB = (1 << 1),
+
+ /** New gui_window to be clone of "existing" gui_window */
+ BW_CREATE_CLONE = (1 << 2),
+
+ /** Window not opened by user interaction (e.g. JS popup) */
+ BW_CREATE_UNVERIFIABLE = (1 << 3),
+};
+
+/** flags to browser_window_navigate */
enum browser_window_nav_flags {
/** No flags set */
- BROWSER_WINDOW_NONE = 0,
+ BW_NAVIGATE_NONE = 0,
/** this will form a new history node (don't set for back/reload/etc) */
- BROWSER_WINDOW_HISTORY = (1 << 0),
+ BW_NAVIGATE_HISTORY = (1 << 0),
/** download rather than render the uri */
- BROWSER_WINDOW_DOWNLOAD = (1 << 1),
+ BW_NAVIGATE_DOWNLOAD = (1 << 1),
/** this transaction is verifiable */
- BROWSER_WINDOW_VERIFIABLE = (1 << 2),
-
- /** New gui_window to be tab in same window as "existing" gui_window */
- BROWSER_WINDOW_TAB = (1 << 3),
-
- /** New gui_window to be clone of "existing" gui_window */
- BROWSER_WINDOW_CLONE = (1 << 4)
+ BW_NAVIGATE_VERIFIABLE = (1 << 2)
};
/**
* Create and open a new root browser window with the given page.
*
- * \param flags Flags to control operation
- * \param url URL to start fetching in the new window or NULL for blank
- * \param referer The referring uri or NULL if none
- * \param clone The browser window to clone
- * \param bw pointer to created browser window or untouched on error.
- * \return error code
+ * \param flags Flags to control operation
+ * \param url URL to fetch in the new window or NULL for blank
+ * \param referer The referring uri or NULL if none
+ * \param existing The an existing bw or NULL, required for some flags.
+ * \param bw Updated to created browser window or untouched on error.
+ * \return NSERROR_OK, or appropriate error otherwise.
*/
-nserror browser_window_create(enum browser_window_nav_flags flags,
- nsurl *url,
- nsurl *referrer,
- struct browser_window *clone,
- struct browser_window **bw);
+nserror browser_window_create(enum browser_window_create_flags flags,
+ nsurl *url, nsurl *referrer,
+ struct browser_window *existing,
+ struct browser_window **bw);
/**
* Start fetching a page in a browser window.