LCOV - code coverage report
Current view: top level - extensions/cookie - nsCookiePermission.h (source / functions) Hit Total Coverage
Test: output.info Lines: 5 6 83.3 %
Date: 2017-07-14 16:53:18 Functions: 2 4 50.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* This Source Code Form is subject to the terms of the Mozilla Public
       2             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       3             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
       4             : 
       5             : #ifndef nsCookiePermission_h__
       6             : #define nsCookiePermission_h__
       7             : 
       8             : #include "nsICookiePermission.h"
       9             : #include "nsIPermissionManager.h"
      10             : #include "nsIObserver.h"
      11             : #include "nsCOMPtr.h"
      12             : #include "mozIThirdPartyUtil.h"
      13             : 
      14             : class nsIPrefBranch;
      15             : 
      16             : class nsCookiePermission : public nsICookiePermission
      17             :                          , public nsIObserver
      18             : {
      19             : public:
      20             :   NS_DECL_ISUPPORTS
      21             :   NS_DECL_NSICOOKIEPERMISSION
      22             :   NS_DECL_NSIOBSERVER
      23             : 
      24           1 :   nsCookiePermission()
      25           1 :     : mCookiesLifetimeSec(INT64_MAX)
      26           1 :     , mCookiesLifetimePolicy(0) // ACCEPT_NORMALLY
      27           1 :     {}
      28             : 
      29             :   bool Init();
      30             :   void PrefChanged(nsIPrefBranch *, const char *);
      31             : 
      32             : private:
      33           0 :   virtual ~nsCookiePermission() {}
      34             : 
      35           6 :   bool EnsureInitialized() { return (mPermMgr != nullptr && mThirdPartyUtil != nullptr) || Init(); };
      36             : 
      37             :   nsCOMPtr<nsIPermissionManager> mPermMgr;
      38             :   nsCOMPtr<mozIThirdPartyUtil> mThirdPartyUtil;
      39             : 
      40             :   int64_t      mCookiesLifetimeSec;            // lifetime limit specified in seconds
      41             :   uint8_t      mCookiesLifetimePolicy;         // pref for how long cookies are stored
      42             : };
      43             : 
      44             : // {EF565D0A-AB9A-4A13-9160-0644CDFD859A}
      45             : #define NS_COOKIEPERMISSION_CID \
      46             :  {0xEF565D0A, 0xAB9A, 0x4A13, {0x91, 0x60, 0x06, 0x44, 0xcd, 0xfd, 0x85, 0x9a }}
      47             : 
      48             : #endif

Generated by: LCOV version 1.13