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

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 1142213002: Revert of Move content:: scheme registrations from chrome/ to content/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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
« no previous file with comments | « no previous file | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); 432 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get());
433 433
434 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 434 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
435 if (command_line->HasSwitch(switches::kEnableBenchmarking)) 435 if (command_line->HasSwitch(switches::kEnableBenchmarking))
436 thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get()); 436 thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get());
437 if (command_line->HasSwitch(switches::kEnableNetBenchmarking)) 437 if (command_line->HasSwitch(switches::kEnableNetBenchmarking))
438 thread->RegisterExtension(extensions_v8::NetBenchmarkingExtension::Get()); 438 thread->RegisterExtension(extensions_v8::NetBenchmarkingExtension::Get());
439 if (command_line->HasSwitch(switches::kInstantProcess)) 439 if (command_line->HasSwitch(switches::kInstantProcess))
440 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); 440 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get());
441 441
442 // chrome-search: and chrome-distiller: pages should not be accessible by 442 // chrome:, chrome-search:, chrome-devtools:, and chrome-distiller: pages
443 // normal content, and should also be unable to script anything but themselves 443 // should not be accessible by normal content, and should also be unable to
444 // (to help limit the damage that a corrupt page could cause). 444 // script anything but themselves (to help limit the damage that a corrupt
445 // page could cause).
446 WebString chrome_ui_scheme(ASCIIToUTF16(content::kChromeUIScheme));
447 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme);
448
445 WebString chrome_search_scheme(ASCIIToUTF16(chrome::kChromeSearchScheme)); 449 WebString chrome_search_scheme(ASCIIToUTF16(chrome::kChromeSearchScheme));
446
447 // The Instant process can only display the content but not read it. Other 450 // The Instant process can only display the content but not read it. Other
448 // processes can't display it or read it. 451 // processes can't display it or read it.
449 if (!command_line->HasSwitch(switches::kInstantProcess)) 452 if (!command_line->HasSwitch(switches::kInstantProcess))
450 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_search_scheme); 453 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_search_scheme);
451 454
455 WebString dev_tools_scheme(ASCIIToUTF16(content::kChromeDevToolsScheme));
456 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dev_tools_scheme);
457
452 WebString dom_distiller_scheme( 458 WebString dom_distiller_scheme(
453 ASCIIToUTF16(dom_distiller::kDomDistillerScheme)); 459 ASCIIToUTF16(dom_distiller::kDomDistillerScheme));
454 // TODO(nyquist): Add test to ensure this happens when the flag is set. 460 // TODO(nyquist): Add test to ensure this happens when the flag is set.
455 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dom_distiller_scheme); 461 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dom_distiller_scheme);
456 462
457 #if defined(OS_CHROMEOS) 463 #if defined(OS_CHROMEOS)
458 WebString external_file_scheme(ASCIIToUTF16(content::kExternalFileScheme)); 464 WebString external_file_scheme(ASCIIToUTF16(content::kExternalFileScheme));
459 WebSecurityPolicy::registerURLSchemeAsLocal(external_file_scheme); 465 WebSecurityPolicy::registerURLSchemeAsLocal(external_file_scheme);
460 #endif 466 #endif
461 467
462 #if defined(ENABLE_IPC_FUZZER) 468 #if defined(ENABLE_IPC_FUZZER)
463 if (command_line->HasSwitch(switches::kIpcDumpDirectory)) { 469 if (command_line->HasSwitch(switches::kIpcDumpDirectory)) {
464 base::FilePath dump_directory = 470 base::FilePath dump_directory =
465 command_line->GetSwitchValuePath(switches::kIpcDumpDirectory); 471 command_line->GetSwitchValuePath(switches::kIpcDumpDirectory);
466 IPC::ChannelProxy::OutgoingMessageFilter* filter = 472 IPC::ChannelProxy::OutgoingMessageFilter* filter =
467 LoadExternalIPCDumper(dump_directory); 473 LoadExternalIPCDumper(dump_directory);
468 thread->GetChannel()->set_outgoing_message_filter(filter); 474 thread->GetChannel()->set_outgoing_message_filter(filter);
469 } 475 }
470 #endif 476 #endif
471 477
472 // chrome-search: pages should not be accessible by bookmarklets 478 // chrome: and chrome-search: pages should not be accessible by bookmarklets
473 // or javascript: URLs typed in the omnibox. 479 // or javascript: URLs typed in the omnibox.
474 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( 480 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
481 chrome_ui_scheme);
482 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
475 chrome_search_scheme); 483 chrome_search_scheme);
476 484
477 // chrome-search:, chrome-extension:, and chrome-extension-resource: 485 // chrome:, chrome-search:, chrome-extension:, and chrome-extension-resource:
478 // resources shouldn't trigger insecure content warnings. 486 // resources shouldn't trigger insecure content warnings.
487 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme);
479 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme); 488 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme);
480 489
481 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme)); 490 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme));
482 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); 491 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme);
483 492
484 WebString extension_resource_scheme( 493 WebString extension_resource_scheme(
485 ASCIIToUTF16(extensions::kExtensionResourceScheme)); 494 ASCIIToUTF16(extensions::kExtensionResourceScheme));
486 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme); 495 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme);
487 496
488 // chrome:, chrome-extension:, chrome-extension-resource: resources should be 497 // chrome:, chrome-extension:, chrome-extension-resource: resources should be
489 // allowed to receive CORS requests. 498 // allowed to receive CORS requests.
499 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(chrome_ui_scheme);
490 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); 500 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme);
491 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); 501 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme);
492 502
493 // chrome-extension: resources should bypass Content Security Policy checks 503 // chrome-extension: resources should bypass Content Security Policy checks
494 // when included in protected resources. 504 // when included in protected resources.
495 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 505 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
496 extension_scheme); 506 extension_scheme);
497 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 507 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
498 extension_resource_scheme); 508 extension_resource_scheme);
499 509
(...skipping 1153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1653 WebString header_key(ASCIIToUTF16( 1663 WebString header_key(ASCIIToUTF16(
1654 data_reduction_proxy::chrome_proxy_header())); 1664 data_reduction_proxy::chrome_proxy_header()));
1655 if (!response.httpHeaderField(header_key).isNull() && 1665 if (!response.httpHeaderField(header_key).isNull() &&
1656 response.httpHeaderField(header_key).utf8().find( 1666 response.httpHeaderField(header_key).utf8().find(
1657 data_reduction_proxy::chrome_proxy_lo_fi_directive()) != 1667 data_reduction_proxy::chrome_proxy_lo_fi_directive()) !=
1658 std::string::npos) { 1668 std::string::npos) {
1659 (*properties)[data_reduction_proxy::chrome_proxy_header()] = 1669 (*properties)[data_reduction_proxy::chrome_proxy_header()] =
1660 data_reduction_proxy::chrome_proxy_lo_fi_directive(); 1670 data_reduction_proxy::chrome_proxy_lo_fi_directive();
1661 } 1671 }
1662 } 1672 }
OLDNEW
« no previous file with comments | « no previous file | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698