OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "chrome/renderer/chrome_content_renderer_client.h" | 5 #include "chrome/renderer/chrome_content_renderer_client.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/debug/crash_logging.h" | 8 #include "base/debug/crash_logging.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
396 WebSecurityPolicy::registerURLSchemeAsLocal(external_file_scheme); | 396 WebSecurityPolicy::registerURLSchemeAsLocal(external_file_scheme); |
397 #endif | 397 #endif |
398 | 398 |
399 // chrome: and chrome-search: pages should not be accessible by bookmarklets | 399 // chrome: and chrome-search: pages should not be accessible by bookmarklets |
400 // or javascript: URLs typed in the omnibox. | 400 // or javascript: URLs typed in the omnibox. |
401 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( | 401 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( |
402 chrome_ui_scheme); | 402 chrome_ui_scheme); |
403 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( | 403 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( |
404 chrome_search_scheme); | 404 chrome_search_scheme); |
405 | 405 |
406 // chrome:, chrome-search:, chrome-extension:, and chrome-extension-resource: | 406 // chrome:, chrome-search:, chrome-extension:, chrome-extension-resource:, |
407 // resources shouldn't trigger insecure content warnings. | 407 // and chrome-devtools: resources shouldn't trigger insecure content |
408 // warnings when embedded in pages whose schemes are registered as | |
409 // restricting mixed content. | |
408 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme); | 410 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme); |
409 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme); | 411 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme); |
410 | 412 |
411 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme)); | 413 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme)); |
412 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); | 414 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); |
413 | 415 |
414 WebString extension_resource_scheme( | 416 WebString extension_resource_scheme( |
415 ASCIIToUTF16(extensions::kExtensionResourceScheme)); | 417 ASCIIToUTF16(extensions::kExtensionResourceScheme)); |
416 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme); | 418 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme); |
419 WebSecurityPolicy::registerURLSchemeAsSecure(dev_tools_scheme); | |
420 | |
421 // chrome:, chrome-search:, chrome-extension-resource:, and chrome-devtools: | |
422 // pages should not directly embed insecure resources. | |
jochen (gone - plz use gerrit)
2015/05/18 22:48:40
chrome: and chrome-devtools: are defined in conten
| |
423 WebSecurityPolicy::registerURLSchemeAsRestrictingMixedContent( | |
424 chrome_ui_scheme); | |
425 WebSecurityPolicy::registerURLSchemeAsRestrictingMixedContent( | |
426 chrome_search_scheme); | |
427 WebSecurityPolicy::registerURLSchemeAsRestrictingMixedContent( | |
428 dev_tools_scheme); | |
429 WebSecurityPolicy::registerURLSchemeAsRestrictingMixedContent( | |
430 extension_resource_scheme); | |
not at google - send to devlin
2015/05/18 23:08:33
Double-check with the ARC people about this, they'
elijahtaylor1
2015/05/18 23:46:33
I don't think this should be a problem for ARC. We
| |
417 | 431 |
418 // chrome:, chrome-extension:, chrome-extension-resource: resources should be | 432 // chrome:, chrome-extension:, chrome-extension-resource: resources should be |
419 // allowed to receive CORS requests. | 433 // allowed to receive CORS requests. |
420 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(chrome_ui_scheme); | 434 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(chrome_ui_scheme); |
421 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); | 435 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); |
422 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); | 436 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); |
423 | 437 |
424 // chrome-extension: resources should bypass Content Security Policy checks | 438 // chrome-extension: resources should bypass Content Security Policy checks |
425 // when included in protected resources. | 439 // when included in protected resources. |
426 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( | 440 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
(...skipping 1146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1573 if (mime_type == content::kBrowserPluginMimeType) { | 1587 if (mime_type == content::kBrowserPluginMimeType) { |
1574 return new extensions::ExtensionsGuestViewContainer(render_frame); | 1588 return new extensions::ExtensionsGuestViewContainer(render_frame); |
1575 } else { | 1589 } else { |
1576 return new extensions::MimeHandlerViewContainer( | 1590 return new extensions::MimeHandlerViewContainer( |
1577 render_frame, mime_type, original_url); | 1591 render_frame, mime_type, original_url); |
1578 } | 1592 } |
1579 #else | 1593 #else |
1580 return NULL; | 1594 return NULL; |
1581 #endif | 1595 #endif |
1582 } | 1596 } |
OLD | NEW |