LCOV - code coverage report
Current view: top level - dom/url - URL.h (source / functions) Hit Total Coverage
Test: output.info Lines: 6 14 42.9 %
Date: 2017-07-14 16:53:18 Functions: 6 13 46.2 %
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_URL_h
       8             : #define mozilla_dom_URL_h
       9             : 
      10             : #include "mozilla/dom/BindingDeclarations.h"
      11             : #include "mozilla/dom/URLSearchParams.h"
      12             : #include "nsCycleCollectionParticipant.h"
      13             : #include "nsString.h"
      14             : #include "nsWrapperCache.h"
      15             : 
      16             : class nsISupports;
      17             : class nsIURI;
      18             : 
      19             : namespace mozilla {
      20             : 
      21             : class ErrorResult;
      22             : class DOMMediaStream;
      23             : 
      24             : namespace dom {
      25             : 
      26             : class Blob;
      27             : class MediaSource;
      28             : class GlobalObject;
      29             : 
      30             : class URL : public URLSearchParamsObserver
      31             :           , public nsWrapperCache
      32             : {
      33             : public:
      34             :   NS_DECL_CYCLE_COLLECTING_ISUPPORTS
      35          57 :   NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(URL)
      36             : 
      37           3 :   URL(nsISupports* aParent)
      38           3 :     : mParent(aParent)
      39           3 :   {}
      40             : 
      41             :   // WebIDL methods
      42           3 :   nsISupports* GetParentObject() const
      43             :   {
      44           3 :     return mParent;
      45             :   }
      46             : 
      47             :   virtual JSObject*
      48             :   WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
      49             : 
      50             :   static already_AddRefed<URL>
      51             :   Constructor(const GlobalObject& aGlobal, const nsAString& aURL,
      52             :               const Optional<nsAString>& aBase, ErrorResult& aRv);
      53             : 
      54             :   // Helper for Fetch API
      55             :   static already_AddRefed<URL>
      56             :   WorkerConstructor(const GlobalObject& aGlobal, const nsAString& aURL,
      57             :                     const nsAString& aBase, ErrorResult& aRv);
      58             : 
      59             : 
      60             :   static void
      61             :   CreateObjectURL(const GlobalObject& aGlobal, Blob& aBlob,
      62             :                   nsAString& aResult, ErrorResult& aRv);
      63             : 
      64             :   static void
      65             :   CreateObjectURL(const GlobalObject& aGlobal, DOMMediaStream& aStream,
      66             :                   nsAString& aResult, ErrorResult& aRv);
      67             : 
      68             :   static void
      69             :   CreateObjectURL(const GlobalObject& aGlobal, MediaSource& aSource,
      70             :                   nsAString& aResult, ErrorResult& aRv);
      71             : 
      72             :   static void
      73             :   RevokeObjectURL(const GlobalObject& aGlobal, const nsAString& aURL,
      74             :                   ErrorResult& aRv);
      75             : 
      76             :   static bool
      77             :   IsValidURL(const GlobalObject& aGlobal, const nsAString& aURL,
      78             :              ErrorResult& aRv);
      79             : 
      80             :   virtual void
      81             :   GetHref(nsAString& aHref, ErrorResult& aRv) const = 0;
      82             : 
      83             :   virtual void
      84             :   SetHref(const nsAString& aHref, ErrorResult& aRv) = 0;
      85             : 
      86             :   virtual void
      87             :   GetOrigin(nsAString& aOrigin, ErrorResult& aRv) const = 0;
      88             : 
      89             :   virtual void
      90             :   GetProtocol(nsAString& aProtocol, ErrorResult& aRv) const = 0;
      91             : 
      92             :   virtual void
      93             :   SetProtocol(const nsAString& aProtocol, ErrorResult& aRv) = 0;
      94             : 
      95             :   virtual void
      96             :   GetUsername(nsAString& aUsername, ErrorResult& aRv) const = 0;
      97             : 
      98             :   virtual void
      99             :   SetUsername(const nsAString& aUsername, ErrorResult& aRv) = 0;
     100             : 
     101             :   virtual void
     102             :   GetPassword(nsAString& aPassword, ErrorResult& aRv) const = 0;
     103             : 
     104             :   virtual void
     105             :   SetPassword(const nsAString& aPassword, ErrorResult& aRv) = 0;
     106             : 
     107             :   virtual void
     108             :   GetHost(nsAString& aHost, ErrorResult& aRv) const = 0;
     109             : 
     110             :   virtual void
     111             :   SetHost(const nsAString& aHost, ErrorResult& aRv) = 0;
     112             : 
     113             :   virtual void
     114             :   GetHostname(nsAString& aHostname, ErrorResult& aRv) const = 0;
     115             : 
     116             :   virtual void
     117             :   SetHostname(const nsAString& aHostname, ErrorResult& aRv) = 0;
     118             : 
     119             :   virtual void
     120             :   GetPort(nsAString& aPort, ErrorResult& aRv) const = 0;
     121             : 
     122             :   virtual void
     123             :   SetPort(const nsAString& aPort, ErrorResult& aRv) = 0;
     124             : 
     125             :   virtual void
     126             :   GetPathname(nsAString& aPathname, ErrorResult& aRv) const = 0;
     127             : 
     128             :   virtual void
     129             :   SetPathname(const nsAString& aPathname, ErrorResult& aRv) = 0;
     130             : 
     131             :   virtual void
     132             :   GetSearch(nsAString& aSearch, ErrorResult& aRv) const = 0;
     133             : 
     134             :   virtual void
     135             :   SetSearch(const nsAString& aSearch, ErrorResult& aRv);
     136             : 
     137             :   URLSearchParams* SearchParams();
     138             : 
     139             :   virtual void
     140             :   GetHash(nsAString& aHost, ErrorResult& aRv) const = 0;
     141             : 
     142             :   virtual void
     143             :   SetHash(const nsAString& aHash, ErrorResult& aRv) = 0;
     144             : 
     145           0 :   void Stringify(nsAString& aRetval, ErrorResult& aRv) const
     146             :   {
     147           0 :     GetHref(aRetval, aRv);
     148           0 :   }
     149             : 
     150             :   void
     151           0 :   ToJSON(nsAString& aResult, ErrorResult& aRv) const
     152             :   {
     153           0 :     GetHref(aResult, aRv);
     154           0 :   }
     155             : 
     156             :   // URLSearchParamsObserver
     157             :   void
     158             :   URLSearchParamsUpdated(URLSearchParams* aSearchParams) override;
     159             : 
     160             : protected:
     161           0 :   virtual ~URL()
     162           0 :   {}
     163             : 
     164             :   virtual void
     165             :   UpdateURLSearchParams() = 0;
     166             : 
     167             :   virtual void
     168             :   SetSearchInternal(const nsAString& aSearch, ErrorResult& aRv) = 0;
     169             : 
     170             :   void CreateSearchParamsIfNeeded();
     171             : 
     172             :   nsCOMPtr<nsISupports> mParent;
     173             :   RefPtr<URLSearchParams> mSearchParams;
     174             : };
     175             : 
     176             : bool IsChromeURI(nsIURI* aURI);
     177             : 
     178             : } // namespace dom
     179             : } // namespace mozilla
     180             : 
     181             : #endif /* mozilla_dom_URL_h */

Generated by: LCOV version 1.13