| 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 <string> | 9 #include <string> |
| 9 #include <utility> | 10 #include <utility> |
| 10 #include <vector> | 11 #include <vector> |
| 11 | 12 |
| 12 #include "base/callback.h" | 13 #include "base/callback.h" |
| 13 #include "base/compiler_specific.h" | 14 #include "base/compiler_specific.h" |
| 14 #include "base/macros.h" | 15 #include "base/macros.h" |
| 15 #include "base/threading/thread_checker.h" | 16 #include "base/threading/thread_checker.h" |
| 16 #include "extensions/common/features/feature.h" | 17 #include "extensions/common/features/feature.h" |
| 17 #include "extensions/common/permissions/api_permission_set.h" | 18 #include "extensions/common/permissions/api_permission_set.h" |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 // Returns whether the API |api| or any part of the API could be | 151 // Returns whether the API |api| or any part of the API could be |
| 151 // available in this context without taking into account the context's | 152 // available in this context without taking into account the context's |
| 152 // extension. | 153 // extension. |
| 153 bool IsAnyFeatureAvailableToContext(const extensions::Feature& api); | 154 bool IsAnyFeatureAvailableToContext(const extensions::Feature& api); |
| 154 | 155 |
| 155 // Utility to get the URL we will match against for a frame. If the frame has | 156 // Utility to get the URL we will match against for a frame. If the frame has |
| 156 // committed, this is the commited URL. Otherwise it is the provisional URL. | 157 // committed, this is the commited URL. Otherwise it is the provisional URL. |
| 157 // The returned URL may be invalid. | 158 // The returned URL may be invalid. |
| 158 static GURL GetDataSourceURLForFrame(const blink::WebFrame* frame); | 159 static GURL GetDataSourceURLForFrame(const blink::WebFrame* frame); |
| 159 | 160 |
| 161 // Similar to GetDataSourceURLForFrame, but only returns the data source URL |
| 162 // if the frame's document url is empty and the frame has a security origin |
| 163 // that allows access to the data source url. |
| 164 // TODO(asargent/devlin) - there may be places that should switch to using |
| 165 // this instead of GetDataSourceURLForFrame. |
| 166 static GURL GetAccessCheckedFrameURL(const blink::WebFrame* frame); |
| 167 |
| 160 // Returns the first non-about:-URL in the document hierarchy above and | 168 // Returns the first non-about:-URL in the document hierarchy above and |
| 161 // including |frame|. The document hierarchy is only traversed if | 169 // including |frame|. The document hierarchy is only traversed if |
| 162 // |document_url| is an about:-URL and if |match_about_blank| is true. | 170 // |document_url| is an about:-URL and if |match_about_blank| is true. |
| 163 static GURL GetEffectiveDocumentURL(const blink::WebFrame* frame, | 171 static GURL GetEffectiveDocumentURL(const blink::WebFrame* frame, |
| 164 const GURL& document_url, | 172 const GURL& document_url, |
| 165 bool match_about_blank); | 173 bool match_about_blank); |
| 166 | 174 |
| 167 // RequestSender::Source implementation. | 175 // RequestSender::Source implementation. |
| 168 ScriptContext* GetContext() override; | 176 ScriptContext* GetContext() override; |
| 169 void OnResponseReceived(const std::string& name, | 177 void OnResponseReceived(const std::string& name, |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 std::unique_ptr<Runner> runner_; | 258 std::unique_ptr<Runner> runner_; |
| 251 | 259 |
| 252 base::ThreadChecker thread_checker_; | 260 base::ThreadChecker thread_checker_; |
| 253 | 261 |
| 254 DISALLOW_COPY_AND_ASSIGN(ScriptContext); | 262 DISALLOW_COPY_AND_ASSIGN(ScriptContext); |
| 255 }; | 263 }; |
| 256 | 264 |
| 257 } // namespace extensions | 265 } // namespace extensions |
| 258 | 266 |
| 259 #endif // EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ | 267 #endif // EXTENSIONS_RENDERER_SCRIPT_CONTEXT_H_ |
| OLD | NEW |