LCOV - code coverage report
Current view: top level - dom/fetch - Request.h (source / functions) Hit Total Coverage
Test: output.info Lines: 3 42 7.1 %
Date: 2017-07-14 16:53:18 Functions: 6 25 24.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* vim: set ts=8 sts=2 et sw=2 tw=80: */
       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/. */
       6             : 
       7             : #ifndef mozilla_dom_Request_h
       8             : #define mozilla_dom_Request_h
       9             : 
      10             : #include "nsIContentPolicy.h"
      11             : #include "nsISupportsImpl.h"
      12             : #include "nsWrapperCache.h"
      13             : 
      14             : #include "mozilla/dom/Fetch.h"
      15             : #include "mozilla/dom/FetchSignal.h"
      16             : #include "mozilla/dom/InternalRequest.h"
      17             : // Required here due to certain WebIDL enums/classes being declared in both
      18             : // files.
      19             : #include "mozilla/dom/RequestBinding.h"
      20             : 
      21             : namespace mozilla {
      22             : namespace dom {
      23             : 
      24             : class Headers;
      25             : class InternalHeaders;
      26             : class RequestOrUSVString;
      27             : 
      28             : class Request final : public nsISupports
      29             :                     , public FetchBody<Request>
      30             :                     , public nsWrapperCache
      31             : {
      32             :   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
      33          14 :   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(Request)
      34             : 
      35             : public:
      36             :   Request(nsIGlobalObject* aOwner, InternalRequest* aRequest);
      37             : 
      38             :   static bool
      39             :   RequestContextEnabled(JSContext* aCx, JSObject* aObj);
      40             : 
      41             :   JSObject*
      42           0 :   WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override
      43             :   {
      44           0 :     return RequestBinding::Wrap(aCx, this, aGivenProto);
      45             :   }
      46             : 
      47             :   void
      48           0 :   GetUrl(nsAString& aUrl) const
      49             :   {
      50           0 :     nsAutoCString url;
      51           0 :     mRequest->GetURL(url);
      52           0 :     CopyUTF8toUTF16(url, aUrl);
      53           0 :   }
      54             : 
      55             :   void
      56           0 :   GetMethod(nsCString& aMethod) const
      57             :   {
      58           0 :     aMethod = mRequest->mMethod;
      59           0 :   }
      60             : 
      61             :   RequestMode
      62           0 :   Mode() const
      63             :   {
      64           0 :     return mRequest->mMode;
      65             :   }
      66             : 
      67             :   RequestCredentials
      68           0 :   Credentials() const
      69             :   {
      70           0 :     return mRequest->mCredentialsMode;
      71             :   }
      72             : 
      73             :   RequestCache
      74           0 :   Cache() const
      75             :   {
      76           0 :     return mRequest->GetCacheMode();
      77             :   }
      78             : 
      79             :   RequestRedirect
      80           0 :   Redirect() const
      81             :   {
      82           0 :     return mRequest->GetRedirectMode();
      83             :   }
      84             : 
      85             :   void
      86           0 :   GetIntegrity(nsAString& aIntegrity) const
      87             :   {
      88           0 :     aIntegrity = mRequest->GetIntegrity();
      89           0 :   }
      90             : 
      91             :   RequestContext
      92           0 :   Context() const
      93             :   {
      94           0 :     return mRequest->Context();
      95             :   }
      96             : 
      97             :   void
      98           0 :   OverrideContentPolicyType(nsContentPolicyType aContentPolicyType)
      99             :   {
     100           0 :     mRequest->OverrideContentPolicyType(aContentPolicyType);
     101           0 :   }
     102             : 
     103             :   bool
     104           0 :   IsContentPolicyTypeOverridden() const
     105             :   {
     106           0 :     return mRequest->IsContentPolicyTypeOverridden();
     107             :   }
     108             : 
     109             :   void
     110           0 :   GetReferrer(nsAString& aReferrer) const
     111             :   {
     112           0 :     mRequest->GetReferrer(aReferrer);
     113           0 :   }
     114             : 
     115             :   ReferrerPolicy
     116           0 :   ReferrerPolicy_() const
     117             :   {
     118           0 :     return mRequest->ReferrerPolicy_();
     119             :   }
     120             : 
     121             :   InternalHeaders*
     122           4 :   GetInternalHeaders() const
     123             :   {
     124           4 :     return mRequest->Headers();
     125             :   }
     126             : 
     127             :   Headers* Headers_();
     128             : 
     129             :   void
     130           0 :   GetBody(nsIInputStream** aStream) { return mRequest->GetBody(aStream); }
     131             : 
     132             :   void
     133           0 :   SetBody(nsIInputStream* aStream) { return mRequest->SetBody(aStream); }
     134             : 
     135             :   static already_AddRefed<Request>
     136             :   Constructor(const GlobalObject& aGlobal, const RequestOrUSVString& aInput,
     137             :               const RequestInit& aInit, ErrorResult& rv);
     138             : 
     139           0 :   nsIGlobalObject* GetParentObject() const
     140             :   {
     141           0 :     return mOwner;
     142             :   }
     143             : 
     144             :   already_AddRefed<Request>
     145             :   Clone(ErrorResult& aRv) const;
     146             : 
     147             :   already_AddRefed<InternalRequest>
     148             :   GetInternalRequest();
     149             : 
     150             :   const UniquePtr<mozilla::ipc::PrincipalInfo>&
     151           0 :   GetPrincipalInfo() const
     152             :   {
     153           0 :     return mRequest->GetPrincipalInfo();
     154             :   }
     155             : 
     156             : private:
     157             :   ~Request();
     158             : 
     159             :   RefPtr<InternalRequest> mRequest;
     160             :   // Lazily created.
     161             :   RefPtr<Headers> mHeaders;
     162             : };
     163             : 
     164             : } // namespace dom
     165             : } // namespace mozilla
     166             : 
     167             : #endif // mozilla_dom_Request_h

Generated by: LCOV version 1.13