summaryrefslogtreecommitdiffstats
path: root/docshell/base/nsIDocShell.idl
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-07-31 14:18:54 +0000
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-07-31 14:18:54 +0000
commit027fbae80a8a3905ee4e6f8c33a8ccdcba735587 (patch)
tree63c3984944fe49c755a2cfdc263758464346ae10 /docshell/base/nsIDocShell.idl
parent3170ee7692ef30ee67f26219b19b2b4115c01a56 (diff)
downloadUXP-027fbae80a8a3905ee4e6f8c33a8ccdcba735587.tar
UXP-027fbae80a8a3905ee4e6f8c33a8ccdcba735587.tar.gz
UXP-027fbae80a8a3905ee4e6f8c33a8ccdcba735587.tar.lz
UXP-027fbae80a8a3905ee4e6f8c33a8ccdcba735587.tar.xz
UXP-027fbae80a8a3905ee4e6f8c33a8ccdcba735587.zip
Issue #1118 Part 1: Split out part of nsDocShell::AddState into a
separate method. This implements the "URL and history update steps" from the HTML spec. See https://html.spec.whatwg.org/multipage/history.html
Diffstat (limited to 'docshell/base/nsIDocShell.idl')
-rw-r--r--docshell/base/nsIDocShell.idl26
1 files changed, 26 insertions, 0 deletions
diff --git a/docshell/base/nsIDocShell.idl b/docshell/base/nsIDocShell.idl
index d205e5b0c..d2812bd9c 100644
--- a/docshell/base/nsIDocShell.idl
+++ b/docshell/base/nsIDocShell.idl
@@ -26,6 +26,7 @@ interface nsIChannel;
interface nsIContentViewer;
interface nsIDOMEventTarget;
interface nsIDocShellLoadInfo;
+interface nsIDocument;
interface nsIEditor;
interface nsIEditingSession;
interface nsISimpleEnumerator;
@@ -35,6 +36,7 @@ interface nsISHEntry;
interface nsILayoutHistoryState;
interface nsISecureBrowserUI;
interface nsIScriptGlobalObject;
+interface nsIStructuredCloneContainer;
interface nsIDOMStorage;
interface nsIPrincipal;
interface nsIWebBrowserPrint;
@@ -211,6 +213,30 @@ interface nsIDocShell : nsIDocShellTreeItem
in DOMString aURL, in boolean aReplace);
/**
+ * Helper for addState and document.open that does just the
+ * history-manipulation guts.
+ *
+ * Arguments the spec defines:
+ *
+ * @param aDocument the document we're manipulating. This will get the new URI.
+ * @param aNewURI the new URI.
+ * @param aData The serialized state data. May be null.
+ * @param aTitle The new title. May be empty.
+ * @param aReplace whether this should replace the exising SHEntry.
+ *
+ * Arguments we need internally because deriving them from the
+ * others is a bit complicated:
+ *
+ * @param aCurrentURI the current URI we're working with. Might be null.
+ * @param aEqualURIs whether the two URIs involved are equal.
+ */
+ [nostdcall]
+ void updateURLAndHistory(in nsIDocument aDocument, in nsIURI aNewURI,
+ in nsIStructuredCloneContainer aData, in AString aTitle,
+ in boolean aReplace, in nsIURI aCurrentURI,
+ in boolean aEqualURIs);
+
+ /**
* Creates a DocShellLoadInfo object that you can manipulate and then pass
* to loadURI.
*/