forked from mirrors/gecko-dev
		
	In order to provide more details context of how client arrived at the unsafe page, particularly in redirect case, we may have to add more information to redirect chains including: - referrer (if any) - remote address. - URL We may want to use an idl interface instead of nsIPrincipal to store these information MozReview-Commit-ID: 3Uh4r06w60C
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 | 
						|
/* vim:set ts=2 sw=2 sts=2 et cindent: */
 | 
						|
/* This Source Code Form is subject to the terms of the Mozilla Public
 | 
						|
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 | 
						|
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | 
						|
 | 
						|
#include "nsRedirectHistoryEntry.h"
 | 
						|
#include "nsCOMPtr.h"
 | 
						|
#include "nsIURI.h"
 | 
						|
#include "nsIPrincipal.h"
 | 
						|
 | 
						|
namespace mozilla {
 | 
						|
namespace net {
 | 
						|
 | 
						|
NS_IMPL_ISUPPORTS(nsRedirectHistoryEntry, nsIRedirectHistoryEntry)
 | 
						|
 | 
						|
nsRedirectHistoryEntry::nsRedirectHistoryEntry(nsIPrincipal* aPrincipal,
 | 
						|
                                               nsIURI* aReferrer,
 | 
						|
                                               const nsACString& aRemoteAddress)
 | 
						|
  : mPrincipal(aPrincipal)
 | 
						|
  , mReferrer(aReferrer)
 | 
						|
  , mRemoteAddress(aRemoteAddress)
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
nsRedirectHistoryEntry::~nsRedirectHistoryEntry()
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsRedirectHistoryEntry::GetRemoteAddress(nsACString &result)
 | 
						|
{
 | 
						|
  result = mRemoteAddress;
 | 
						|
  return NS_OK;
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsRedirectHistoryEntry::GetReferrerURI(nsIURI** referrer)
 | 
						|
{
 | 
						|
  NS_IF_ADDREF(*referrer = mReferrer);
 | 
						|
  return NS_OK;
 | 
						|
}
 | 
						|
 | 
						|
NS_IMETHODIMP
 | 
						|
nsRedirectHistoryEntry::GetPrincipal(nsIPrincipal** principal)
 | 
						|
{
 | 
						|
  NS_IF_ADDREF(*principal = mPrincipal);
 | 
						|
  return NS_OK;
 | 
						|
}
 | 
						|
 | 
						|
} // namespace net
 | 
						|
} // namespace mozilla
 |