diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-31 14:18:54 +0000 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-07-31 14:18:54 +0000 |
commit | 027fbae80a8a3905ee4e6f8c33a8ccdcba735587 (patch) | |
tree | 63c3984944fe49c755a2cfdc263758464346ae10 /docshell/base/nsIDocShell.idl | |
parent | 3170ee7692ef30ee67f26219b19b2b4115c01a56 (diff) | |
download | UXP-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.idl | 26 |
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. */ |