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 whether the injection host is gone. |
| 34 virtual bool IsGone() const = 0; |
| 35 |
33 const HostID& id() const { return id_; } | 36 const HostID& id() const { return id_; } |
34 private: | 37 private: |
35 // The ID of the host. | 38 // The ID of the host. |
36 HostID id_; | 39 HostID id_; |
37 | 40 |
38 DISALLOW_COPY_AND_ASSIGN(InjectionHost); | 41 DISALLOW_COPY_AND_ASSIGN(InjectionHost); |
39 }; | 42 }; |
40 | 43 |
41 #endif // EXTENSIONS_RENDERER_INJECTION_HOST_H | 44 #endif // EXTENSIONS_RENDERER_INJECTION_HOST_H |
OLD | NEW |