Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Side by Side Diff: extensions/renderer/dispatcher.cc

Issue 1301653005: Setup for moving getUserMedia to secure origins only (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Nits Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.cc ('k') | extensions/shell/renderer/shell_content_renderer_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698