summaryrefslogtreecommitdiff
path: root/desktop/browser_private.h
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-05 15:44:55 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2019-08-05 15:44:55 +0100
commitbccf101714f2ca165b1fd754879f3813993d26ca (patch)
treeee85a9cddbd0fa5d2bad636003b4ba7448c3e764 /desktop/browser_private.h
parent2be3ebd91868436abcbbd581b3e661cdd6f95559 (diff)
downloadnetsurf-bccf101714f2ca165b1fd754879f3813993d26ca.tar.gz
netsurf-bccf101714f2ca165b1fd754879f3813993d26ca.tar.bz2
browser_window: Add fetch parameters and split navigate
In order to support future reload/strange navigations, split the navigate function into two and add a stored parameters structure which can be used to regenerate any fetch. Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'desktop/browser_private.h')
-rw-r--r--desktop/browser_private.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/desktop/browser_private.h b/desktop/browser_private.h
index 23fbf8904..0883c54ac 100644
--- a/desktop/browser_private.h
+++ b/desktop/browser_private.h
@@ -76,6 +76,19 @@ struct history {
};
/**
+ * The parameters for a fetch.
+ */
+struct browser_fetch_parameters {
+ struct nsurl *url; /**< The URL to fetch */
+ struct nsurl *referrer; /**< Optional refererer */
+ enum browser_window_nav_flags flags; /**< Navigation flags */
+ char *post_urlenc; /**< URL encoded post data */
+ struct fetch_multipart_data *post_multipart; /**< Multipart post data */
+ char *parent_charset; /**< Optional parent character set */
+ bool parent_quirks; /**< Optional parent quirks */
+};
+
+/**
* Browser window data.
*/
struct browser_window {
@@ -84,6 +97,12 @@ struct browser_window {
* READY or DONE status or NULL for no content.
*/
struct hlcache_handle *current_content;
+
+ /**
+ * The fetch parameters for the current content
+ */
+ struct browser_fetch_parameters current_parameters;
+
/**
* Content handle of page in process of being loaded or NULL
* if no page is being loaded.
@@ -91,6 +110,11 @@ struct browser_window {
struct hlcache_handle *loading_content;
/**
+ * The fetch parameters for the loading content
+ */
+ struct browser_fetch_parameters loading_parameters;
+
+ /**
* Favicon
*/
struct {