| 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 #include "extensions/renderer/dispatcher.h" | 5 #include "extensions/renderer/dispatcher.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/debug/alias.h" | 10 #include "base/debug/alias.h" |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 kInitialExtensionIdleHandlerDelayMs); | 203 kInitialExtensionIdleHandlerDelayMs); |
| 204 } | 204 } |
| 205 | 205 |
| 206 script_context_set_.reset(new ScriptContextSet(&active_extension_ids_)); | 206 script_context_set_.reset(new ScriptContextSet(&active_extension_ids_)); |
| 207 user_script_set_manager_.reset(new UserScriptSetManager()); | 207 user_script_set_manager_.reset(new UserScriptSetManager()); |
| 208 script_injection_manager_.reset( | 208 script_injection_manager_.reset( |
| 209 new ScriptInjectionManager(user_script_set_manager_.get())); | 209 new ScriptInjectionManager(user_script_set_manager_.get())); |
| 210 user_script_set_manager_observer_.Add(user_script_set_manager_.get()); | 210 user_script_set_manager_observer_.Add(user_script_set_manager_.get()); |
| 211 request_sender_.reset(new RequestSender(this)); | 211 request_sender_.reset(new RequestSender(this)); |
| 212 PopulateSourceMap(); | 212 PopulateSourceMap(); |
| 213 |
| 214 // chrome-extensions: and chrome-extensions-resource: schemes should be |
| 215 // treated as secure because communication with them is entirely in the |
| 216 // browser, so there is no danger of manipulation or eavesdropping on |
| 217 // communication with them by third parties. |
| 218 WebString extension_scheme(base::ASCIIToUTF16(kExtensionScheme)); |
| 219 blink::WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); |
| 220 |
| 221 WebString extension_resource_scheme(base::ASCIIToUTF16( |
| 222 kExtensionResourceScheme)); |
| 223 blink::WebSecurityPolicy::registerURLSchemeAsSecure( |
| 224 extension_resource_scheme); |
| 225 |
| 226 // chrome-extension: and chrome-extension-resource: resources should be |
| 227 // allowed to receive CORS requests. |
| 228 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); |
| 229 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); |
| 230 |
| 231 // chrome-extension: resources should bypass Content Security Policy checks |
| 232 // when included in protected resources. |
| 233 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
| 234 extension_scheme); |
| 235 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
| 236 extension_resource_scheme); |
| 213 } | 237 } |
| 214 | 238 |
| 215 Dispatcher::~Dispatcher() { | 239 Dispatcher::~Dispatcher() { |
| 216 } | 240 } |
| 217 | 241 |
| 218 void Dispatcher::OnRenderFrameCreated(content::RenderFrame* render_frame) { | 242 void Dispatcher::OnRenderFrameCreated(content::RenderFrame* render_frame) { |
| 219 script_injection_manager_->OnRenderFrameCreated(render_frame); | 243 script_injection_manager_->OnRenderFrameCreated(render_frame); |
| 220 } | 244 } |
| 221 | 245 |
| 222 bool Dispatcher::IsExtensionActive(const std::string& extension_id) const { | 246 bool Dispatcher::IsExtensionActive(const std::string& extension_id) const { |
| (...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1452 void Dispatcher::AddChannelSpecificFeatures() { | 1476 void Dispatcher::AddChannelSpecificFeatures() { |
| 1453 // chrome-extension: resources should be allowed to register a Service Worker. | 1477 // chrome-extension: resources should be allowed to register a Service Worker. |
| 1454 if (FeatureProvider::GetBehaviorFeature(BehaviorFeature::kServiceWorker) | 1478 if (FeatureProvider::GetBehaviorFeature(BehaviorFeature::kServiceWorker) |
| 1455 ->IsAvailableToEnvironment() | 1479 ->IsAvailableToEnvironment() |
| 1456 .is_available()) | 1480 .is_available()) |
| 1457 WebSecurityPolicy::registerURLSchemeAsAllowingServiceWorkers( | 1481 WebSecurityPolicy::registerURLSchemeAsAllowingServiceWorkers( |
| 1458 WebString::fromUTF8(kExtensionScheme)); | 1482 WebString::fromUTF8(kExtensionScheme)); |
| 1459 } | 1483 } |
| 1460 | 1484 |
| 1461 } // namespace extensions | 1485 } // namespace extensions |
| OLD | NEW |