336903 - feeds should not run with chrome privileges. Expose a currentDocumentChannel attribute on nsIDocShell to look at the channel of the currently loaded page (so that we can find out its actual real URI, etc vs. what webNavigation thinks it is (originalURI). r=bz sr=darin
git-svn-id: svn://10.0.0.236/trunk@201021 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
fce8e93b7d
commit
e5e17a6285
@ -1739,6 +1739,27 @@ nsDocShell::AddSessionStorage(const nsACString& aDomain,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsDocShell::GetCurrentDocumentChannel(nsIChannel** aResult)
|
||||
{
|
||||
*aResult = nsnull;
|
||||
if (!mContentViewer)
|
||||
return NS_OK;
|
||||
|
||||
nsCOMPtr<nsIDOMDocument> domDoc;
|
||||
nsresult rv = mContentViewer->GetDOMDocument(getter_AddRefs(domDoc));
|
||||
if (NS_FAILED(rv))
|
||||
return rv;
|
||||
|
||||
nsCOMPtr<nsIDocument> doc(do_QueryInterface(domDoc));
|
||||
if (doc) {
|
||||
*aResult = doc->GetChannel();
|
||||
NS_IF_ADDREF(*aResult);
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
// nsDocShell::nsIDocShellTreeItem
|
||||
//*****************************************************************************
|
||||
|
||||
@ -53,6 +53,7 @@ class nsIPresShell;
|
||||
[ptr] native nsIPresShell(nsIPresShell);
|
||||
|
||||
interface nsIURI;
|
||||
interface nsIChannel;
|
||||
interface nsIContentViewer;
|
||||
interface nsIURIContentListener;
|
||||
interface nsIChromeEventHandler;
|
||||
@ -67,7 +68,7 @@ interface nsILayoutHistoryState;
|
||||
interface nsISecureBrowserUI;
|
||||
interface nsIDOMStorage;
|
||||
|
||||
[scriptable, uuid(616b8670-d170-11da-a94d-0800200c9a66)]
|
||||
[scriptable, uuid(51241d7c-73c9-4b85-970c-bd4f91acfbcc)]
|
||||
interface nsIDocShell : nsISupports
|
||||
{
|
||||
/**
|
||||
@ -421,5 +422,12 @@ interface nsIDocShell : nsISupports
|
||||
* @param storage the storage object to add
|
||||
*/
|
||||
void addSessionStorage(in ACString aDomain, in nsIDOMStorage storage);
|
||||
|
||||
/**
|
||||
* Gets the channel for the currently loaded document, if any.
|
||||
* For a new document load, this will be the channel of the previous document
|
||||
* until after OnLocationChange fires.
|
||||
*/
|
||||
readonly attribute nsIChannel currentDocumentChannel;
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user