docshell/base/nsDocShellLoadInfo.cpp

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 3; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  *
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this
     5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 // Local Includes
     8 #include "nsDocShellLoadInfo.h"
     9 #include "nsISHEntry.h"
    10 #include "nsIInputStream.h"
    11 #include "nsIURI.h"
    12 #include "nsIDocShell.h"
    14 //*****************************************************************************
    15 //***    nsDocShellLoadInfo: Object Management
    16 //*****************************************************************************
    18 nsDocShellLoadInfo::nsDocShellLoadInfo()
    19   : mInheritOwner(false),
    20     mOwnerIsExplicit(false),
    21     mSendReferrer(true),
    22     mLoadType(nsIDocShellLoadInfo::loadNormal),
    23     mIsSrcdocLoad(false)
    24 {
    25 }
    27 nsDocShellLoadInfo::~nsDocShellLoadInfo()
    28 {
    29 }
    31 //*****************************************************************************
    32 // nsDocShellLoadInfo::nsISupports
    33 //*****************************************************************************   
    35 NS_IMPL_ADDREF(nsDocShellLoadInfo)
    36 NS_IMPL_RELEASE(nsDocShellLoadInfo)
    38 NS_INTERFACE_MAP_BEGIN(nsDocShellLoadInfo)
    39    NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDocShellLoadInfo)
    40    NS_INTERFACE_MAP_ENTRY(nsIDocShellLoadInfo)
    41 NS_INTERFACE_MAP_END     
    43 //*****************************************************************************
    44 // nsDocShellLoadInfo::nsIDocShellLoadInfo
    45 //*****************************************************************************   
    47 NS_IMETHODIMP nsDocShellLoadInfo::GetReferrer(nsIURI** aReferrer)
    48 {
    49    NS_ENSURE_ARG_POINTER(aReferrer);
    51    *aReferrer = mReferrer;
    52    NS_IF_ADDREF(*aReferrer);
    53    return NS_OK;
    54 }
    56 NS_IMETHODIMP nsDocShellLoadInfo::SetReferrer(nsIURI* aReferrer)
    57 {
    58    mReferrer = aReferrer;
    59    return NS_OK;
    60 }
    62 NS_IMETHODIMP nsDocShellLoadInfo::GetOwner(nsISupports** aOwner)
    63 {
    64    NS_ENSURE_ARG_POINTER(aOwner);
    66    *aOwner = mOwner;
    67    NS_IF_ADDREF(*aOwner);
    68    return NS_OK;
    69 }
    71 NS_IMETHODIMP nsDocShellLoadInfo::SetOwner(nsISupports* aOwner)
    72 {
    73    mOwner = aOwner;
    74    return NS_OK;
    75 }
    77 NS_IMETHODIMP nsDocShellLoadInfo::GetInheritOwner(bool* aInheritOwner)
    78 {
    79    NS_ENSURE_ARG_POINTER(aInheritOwner);
    81    *aInheritOwner = mInheritOwner;
    82    return NS_OK;
    83 }
    85 NS_IMETHODIMP nsDocShellLoadInfo::SetInheritOwner(bool aInheritOwner)
    86 {
    87    mInheritOwner = aInheritOwner;
    88    return NS_OK;
    89 }
    91 NS_IMETHODIMP nsDocShellLoadInfo::GetOwnerIsExplicit(bool* aOwnerIsExplicit)
    92 {
    93    *aOwnerIsExplicit = mOwnerIsExplicit;
    94    return NS_OK;
    95 }
    97 NS_IMETHODIMP nsDocShellLoadInfo::SetOwnerIsExplicit(bool aOwnerIsExplicit)
    98 {
    99    mOwnerIsExplicit = aOwnerIsExplicit;
   100    return NS_OK;
   101 }
   103 NS_IMETHODIMP nsDocShellLoadInfo::GetLoadType(nsDocShellInfoLoadType * aLoadType)
   104 {
   105    NS_ENSURE_ARG_POINTER(aLoadType);
   107    *aLoadType = mLoadType;
   108    return NS_OK;
   109 }
   111 NS_IMETHODIMP nsDocShellLoadInfo::SetLoadType(nsDocShellInfoLoadType aLoadType)
   112 {
   113    mLoadType = aLoadType;
   114    return NS_OK;
   115 }
   117 NS_IMETHODIMP nsDocShellLoadInfo::GetSHEntry(nsISHEntry** aSHEntry)
   118 {
   119    NS_ENSURE_ARG_POINTER(aSHEntry);
   121    *aSHEntry = mSHEntry;
   122    NS_IF_ADDREF(*aSHEntry);
   123    return NS_OK;
   124 }
   126 NS_IMETHODIMP nsDocShellLoadInfo::SetSHEntry(nsISHEntry* aSHEntry)
   127 {
   128    mSHEntry = aSHEntry;
   129    return NS_OK;
   130 }
   132 NS_IMETHODIMP nsDocShellLoadInfo::GetTarget(char16_t** aTarget)
   133 {
   134    NS_ENSURE_ARG_POINTER(aTarget);
   136    *aTarget = ToNewUnicode(mTarget);
   138    return NS_OK;
   139 }
   141 NS_IMETHODIMP nsDocShellLoadInfo::SetTarget(const char16_t* aTarget)
   142 {
   143    mTarget.Assign(aTarget);
   144    return NS_OK;
   145 }
   148 NS_IMETHODIMP
   149 nsDocShellLoadInfo::GetPostDataStream(nsIInputStream **aResult)
   150 {
   151   NS_ENSURE_ARG_POINTER(aResult);
   153   *aResult = mPostDataStream;
   155   NS_IF_ADDREF(*aResult);
   156   return NS_OK;
   157 }
   160 NS_IMETHODIMP
   161 nsDocShellLoadInfo::SetPostDataStream(nsIInputStream *aStream)
   162 {
   163   mPostDataStream = aStream;
   164   return NS_OK;
   165 }
   167 /* attribute nsIInputStream headersStream; */
   168 NS_IMETHODIMP nsDocShellLoadInfo::GetHeadersStream(nsIInputStream * *aHeadersStream)
   169 {
   170   NS_ENSURE_ARG_POINTER(aHeadersStream);
   171   *aHeadersStream = mHeadersStream;
   172   NS_IF_ADDREF(*aHeadersStream);
   173   return NS_OK;
   174 }
   175 NS_IMETHODIMP nsDocShellLoadInfo::SetHeadersStream(nsIInputStream * aHeadersStream)
   176 {
   177   mHeadersStream = aHeadersStream;
   178   return NS_OK;
   179 }
   181 NS_IMETHODIMP nsDocShellLoadInfo::GetSendReferrer(bool* aSendReferrer)
   182 {
   183    NS_ENSURE_ARG_POINTER(aSendReferrer);
   185    *aSendReferrer = mSendReferrer;
   186    return NS_OK;
   187 }
   189 NS_IMETHODIMP nsDocShellLoadInfo::SetSendReferrer(bool aSendReferrer)
   190 {
   191    mSendReferrer = aSendReferrer;
   192    return NS_OK;
   193 }
   195 NS_IMETHODIMP nsDocShellLoadInfo::GetIsSrcdocLoad(bool* aIsSrcdocLoad)
   196 {
   197    *aIsSrcdocLoad = mIsSrcdocLoad;
   198    return NS_OK;
   199 }
   201 NS_IMETHODIMP nsDocShellLoadInfo::GetSrcdocData(nsAString &aSrcdocData)
   202 {
   203    aSrcdocData = mSrcdocData;
   204    return NS_OK;
   205 }
   207 NS_IMETHODIMP nsDocShellLoadInfo::SetSrcdocData(const nsAString &aSrcdocData)
   208 {
   209    mSrcdocData = aSrcdocData;
   210    mIsSrcdocLoad = true;
   211    return NS_OK;
   212 }
   214 NS_IMETHODIMP nsDocShellLoadInfo::GetSourceDocShell(nsIDocShell** aSourceDocShell)
   215 {
   216    MOZ_ASSERT(aSourceDocShell);
   217    nsCOMPtr<nsIDocShell> result = mSourceDocShell;
   218    result.forget(aSourceDocShell);
   219    return NS_OK;
   220 }
   222 NS_IMETHODIMP nsDocShellLoadInfo::SetSourceDocShell(nsIDocShell* aSourceDocShell)
   223 {
   224    mSourceDocShell = aSourceDocShell;
   225    return NS_OK;
   226 }
   228 NS_IMETHODIMP nsDocShellLoadInfo::GetBaseURI(nsIURI** aBaseURI)
   229 {
   230    NS_ENSURE_ARG_POINTER(aBaseURI);
   232    *aBaseURI = mBaseURI;
   233    NS_IF_ADDREF(*aBaseURI);
   234    return NS_OK;
   235 }
   237 NS_IMETHODIMP nsDocShellLoadInfo::SetBaseURI(nsIURI* aBaseURI)
   238 {
   239    mBaseURI = aBaseURI;
   240    return NS_OK;
   241 }
   243 //*****************************************************************************
   244 // nsDocShellLoadInfo: Helpers
   245 //*****************************************************************************   
   247 //*****************************************************************************
   248 // nsDocShellLoadInfo: Accessors
   249 //*****************************************************************************   

mercurial