| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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_SCRIPT_CONTEXT_H_ | 5 #ifndef EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ |
| 6 #define EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ | 6 #define EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 // | 142 // |
| 143 // TODO(kalman): Remove this and replace with a GetOrigin() call which reads | 143 // TODO(kalman): Remove this and replace with a GetOrigin() call which reads |
| 144 // of WebDocument::getSecurityOrigin(): | 144 // of WebDocument::getSecurityOrigin(): |
| 145 // - The URL can change (e.g. pushState) but the origin cannot. Luckily it | 145 // - The URL can change (e.g. pushState) but the origin cannot. Luckily it |
| 146 // appears as though callers don't make security decisions based on the | 146 // appears as though callers don't make security decisions based on the |
| 147 // result of url() so it's not a problem... yet. | 147 // result of url() so it's not a problem... yet. |
| 148 // - Origin is the correct check to be making. | 148 // - Origin is the correct check to be making. |
| 149 // - It might let us remove the about:blank resolving? | 149 // - It might let us remove the about:blank resolving? |
| 150 const GURL& url() const { return url_; } | 150 const GURL& url() const { return url_; } |
| 151 | 151 |
| 152 const GURL& service_worker_scope() const; |
| 153 |
| 152 // Sets the URL of this ScriptContext. Usually this will automatically be set | 154 // Sets the URL of this ScriptContext. Usually this will automatically be set |
| 153 // on construction, unless this isn't constructed with enough information to | 155 // on construction, unless this isn't constructed with enough information to |
| 154 // determine the URL (e.g. frame was null). | 156 // determine the URL (e.g. frame was null). |
| 155 // TODO(kalman): Make this a constructor parameter (as an origin). | 157 // TODO(kalman): Make this a constructor parameter (as an origin). |
| 156 void set_url(const GURL& url) { url_ = url; } | 158 void set_url(const GURL& url) { url_ = url; } |
| 159 void set_service_worker_scope(const GURL& scope) { |
| 160 service_worker_scope_ = scope; |
| 161 } |
| 157 | 162 |
| 158 // Returns whether the API |api| or any part of the API could be available in | 163 // Returns whether the API |api| or any part of the API could be available in |
| 159 // this context without taking into account the context's extension. | 164 // this context without taking into account the context's extension. |
| 160 // |check_alias| Whether the API should be considered available if it has an | 165 // |check_alias| Whether the API should be considered available if it has an |
| 161 // alias that is available. | 166 // alias that is available. |
| 162 bool IsAnyFeatureAvailableToContext(const extensions::Feature& api, | 167 bool IsAnyFeatureAvailableToContext(const extensions::Feature& api, |
| 163 CheckAliasStatus check_alias); | 168 CheckAliasStatus check_alias); |
| 164 | 169 |
| 165 // Utility to get the URL we will match against for a frame. If the frame has | 170 // Utility to get the URL we will match against for a frame. If the frame has |
| 166 // committed, this is the commited URL. Otherwise it is the provisional URL. | 171 // committed, this is the commited URL. Otherwise it is the provisional URL. |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 APIPermissionSet content_capabilities_; | 267 APIPermissionSet content_capabilities_; |
| 263 | 268 |
| 264 // A list of base::Closure instances as an observer interface for | 269 // A list of base::Closure instances as an observer interface for |
| 265 // invalidation. | 270 // invalidation. |
| 266 std::vector<base::Closure> invalidate_observers_; | 271 std::vector<base::Closure> invalidate_observers_; |
| 267 | 272 |
| 268 v8::Isolate* isolate_; | 273 v8::Isolate* isolate_; |
| 269 | 274 |
| 270 GURL url_; | 275 GURL url_; |
| 271 | 276 |
| 277 GURL service_worker_scope_; |
| 278 |
| 272 std::unique_ptr<Runner> runner_; | 279 std::unique_ptr<Runner> runner_; |
| 273 | 280 |
| 274 base::ThreadChecker thread_checker_; | 281 base::ThreadChecker thread_checker_; |
| 275 | 282 |
| 276 DISALLOW_COPY_AND_ASSIGN(ScriptContext); | 283 DISALLOW_COPY_AND_ASSIGN(ScriptContext); |
| 277 }; | 284 }; |
| 278 | 285 |
| 279 } // namespace extensions | 286 } // namespace extensions |
| 280 | 287 |
| 281 #endif // EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ | 288 #endif // EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ |
| OLD | NEW |