OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef EXTENSIONS_RENDERER_INJECTION_HOST_H | 5 #ifndef EXTENSIONS_RENDERER_INJECTION_HOST_H |
6 #define EXTENSIONS_RENDERER_INJECTION_HOST_H | 6 #define EXTENSIONS_RENDERER_INJECTION_HOST_H |
7 | 7 |
8 #include "extensions/common/host_id.h" | 8 #include "extensions/common/host_id.h" |
9 #include "extensions/common/permissions/permissions_data.h" | 9 #include "extensions/common/permissions/permissions_data.h" |
10 #include "url/gurl.h" | 10 #include "url/gurl.h" |
11 | 11 |
12 // An interface for all kinds of hosts who own user scripts. | 12 // An interface for all kinds of hosts who own user scripts. |
13 class InjectionHost { | 13 class InjectionHost { |
14 public: | 14 public: |
15 InjectionHost(const HostID& host_id); | 15 InjectionHost(const HostID& host_id); |
16 virtual ~InjectionHost(); | 16 virtual ~InjectionHost(); |
17 | 17 |
18 virtual const std::string& GetContentSecurityPolicy() const = 0; | 18 virtual std::string GetContentSecurityPolicy() const = 0; |
19 | 19 |
20 // The base url for the host. | 20 // The base url for the host. |
21 virtual const GURL& url() const = 0; | 21 virtual const GURL& url() const = 0; |
22 | 22 |
23 // The human-readable name of the host. | 23 // The human-readable name of the host. |
24 virtual const std::string& name() const = 0; | 24 virtual const std::string& name() const = 0; |
25 | 25 |
26 // Returns true if the script should execute. | 26 // Returns true if the script should execute. |
27 virtual extensions::PermissionsData::AccessType CanExecuteOnFrame( | 27 virtual extensions::PermissionsData::AccessType CanExecuteOnFrame( |
28 const GURL& document_url, | 28 const GURL& document_url, |
29 const GURL& top_frame_url, | 29 const GURL& top_frame_url, |
30 int tab_id, | 30 int tab_id, |
31 bool is_declarative) const = 0; | 31 bool is_declarative) const = 0; |
32 | 32 |
33 // Returns true if the browser should be notified of any injections the host | 33 // Returns true if the browser should be notified of any injections the host |
34 // performs. | 34 // performs. |
35 virtual bool ShouldNotifyBrowserOfInjection() const = 0; | 35 virtual bool ShouldNotifyBrowserOfInjection() const = 0; |
36 | 36 |
37 const HostID& id() const { return id_; } | 37 const HostID& id() const { return id_; } |
| 38 |
38 private: | 39 private: |
39 // The ID of the host. | 40 // The ID of the host. |
40 HostID id_; | 41 HostID id_; |
41 | 42 |
42 DISALLOW_COPY_AND_ASSIGN(InjectionHost); | 43 DISALLOW_COPY_AND_ASSIGN(InjectionHost); |
43 }; | 44 }; |
44 | 45 |
45 #endif // EXTENSIONS_RENDERER_INJECTION_HOST_H | 46 #endif // EXTENSIONS_RENDERER_INJECTION_HOST_H |
OLD | NEW |