diff --git a/docshell/shistory/public/nsISHEntry.idl b/docshell/shistory/public/nsISHEntry.idl index 7fc400d0d9ab..724ffc8fb9db 100644 --- a/docshell/shistory/public/nsISHEntry.idl +++ b/docshell/shistory/public/nsISHEntry.idl @@ -41,6 +41,9 @@ interface nsISHEntry : nsISupports /** URI for the document */ void SetURI(in nsIURI aURI); +/** Referrer URI */ +attribute nsIURI referrerURI; + /** DOM Document */ attribute nsIDOMDocument document; diff --git a/docshell/shistory/src/nsSHEntry.cpp b/docshell/shistory/src/nsSHEntry.cpp index 9023d78e9cbc..309e067227a3 100644 --- a/docshell/shistory/src/nsSHEntry.cpp +++ b/docshell/shistory/src/nsSHEntry.cpp @@ -84,6 +84,20 @@ NS_IMETHODIMP nsSHEntry::SetURI(nsIURI* aURI) return NS_OK; } +NS_IMETHODIMP nsSHEntry::GetReferrerURI(nsIURI **aReferrerURI) +{ + NS_ENSURE_ARG_POINTER(aReferrerURI); + *aReferrerURI = mReferrerURI; + NS_IF_ADDREF(*aReferrerURI); + return NS_OK; +} + +NS_IMETHODIMP nsSHEntry::SetReferrerURI(nsIURI *aReferrerURI) +{ + mReferrerURI = aReferrerURI; + return NS_OK; +} + NS_IMETHODIMP nsSHEntry::SetDocument(nsIDOMDocument* aDocument) { mDocument = aDocument; diff --git a/docshell/shistory/src/nsSHEntry.h b/docshell/shistory/src/nsSHEntry.h index 3a82b92177c7..62ede83dd568 100644 --- a/docshell/shistory/src/nsSHEntry.h +++ b/docshell/shistory/src/nsSHEntry.h @@ -56,6 +56,7 @@ private: nsCOMPtr mURI; + nsCOMPtr mReferrerURI; nsCOMPtr mDocument; nsString mTitle; nsCOMPtr mPostData;