Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/extensions/permissions/nsContentBlocker.h
Line
Count
Source (jump to first uncovered line)
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
#ifndef nsContentBlocker_h__
5
#define nsContentBlocker_h__
6
7
#include "nsIContentPolicy.h"
8
#include "nsIObserver.h"
9
#include "nsWeakReference.h"
10
#include "nsIPermissionManager.h"
11
#include "nsIPrefBranch.h"
12
#include "mozilla/Attributes.h"
13
14
class nsIPrefBranch;
15
16
////////////////////////////////////////////////////////////////////////////////
17
18
class nsContentBlocker final : public nsIContentPolicy,
19
                               public nsIObserver,
20
                               public nsSupportsWeakReference
21
{
22
public:
23
24
  // nsISupports
25
  NS_DECL_ISUPPORTS
26
  NS_DECL_NSICONTENTPOLICY
27
  NS_DECL_NSIOBSERVER
28
29
  nsContentBlocker();
30
  nsresult Init();
31
32
private:
33
0
  ~nsContentBlocker() {}
34
35
  void PrefChanged(nsIPrefBranch *, const char *);
36
  nsresult TestPermission(nsIURI *aCurrentURI,
37
                          nsIURI *aFirstURI,
38
                          int32_t aContentType,
39
                          bool *aPermission,
40
                          bool *aFromPrefs);
41
42
  nsCOMPtr<nsIPermissionManager> mPermissionManager;
43
  nsCOMPtr<nsIPrefBranch> mPrefBranchInternal;
44
  static uint8_t mBehaviorPref[];
45
};
46
47
#define NS_CONTENTBLOCKER_CID \
48
{ 0x4ca6b67b, 0x5cc7, 0x4e71, \
49
  { 0xa9, 0x8a, 0x97, 0xaf, 0x1c, 0x13, 0x48, 0x62 } }
50
51
#define NS_CONTENTBLOCKER_CONTRACTID "@mozilla.org/permissions/contentblocker;1"
52
53
#endif /* nsContentBlocker_h__ */