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

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

Issue 1137103003: 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:, chrome-search:, chrome-devtools:, and chrome-distiller: pages 442 // chrome-search: and chrome-distiller: pages should not be accessible by
443 // should not be accessible by normal content, and should also be unable to 443 // normal content, and should also be unable to script anything but themselves
444 // script anything but themselves (to help limit the damage that a corrupt 444 // (to help limit the damage that a corrupt page could cause).
445 // page could cause). 445 WebString chrome_search_scheme(ASCIIToUTF16(chrome::kChromeSearchScheme));
446 WebString chrome_ui_scheme(ASCIIToUTF16(content::kChromeUIScheme));
447 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme);
448 446
449 WebString chrome_search_scheme(ASCIIToUTF16(chrome::kChromeSearchScheme));
450 // The Instant process can only display the content but not read it. Other 447 // The Instant process can only display the content but not read it. Other
451 // processes can't display it or read it. 448 // processes can't display it or read it.
452 if (!command_line->HasSwitch(switches::kInstantProcess)) 449 if (!command_line->HasSwitch(switches::kInstantProcess))
453 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_search_scheme); 450 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_search_scheme);
454 451
455 WebString dev_tools_scheme(ASCIIToUTF16(content::kChromeDevToolsScheme));
456 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dev_tools_scheme);
457
458 WebString dom_distiller_scheme( 452 WebString dom_distiller_scheme(
459 ASCIIToUTF16(dom_distiller::kDomDistillerScheme)); 453 ASCIIToUTF16(dom_distiller::kDomDistillerScheme));
460 // TODO(nyquist): Add test to ensure this happens when the flag is set. 454 // TODO(nyquist): Add test to ensure this happens when the flag is set.
461 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dom_distiller_scheme); 455 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dom_distiller_scheme);
462 456
463 #if defined(OS_CHROMEOS) 457 #if defined(OS_CHROMEOS)
464 WebString external_file_scheme(ASCIIToUTF16(content::kExternalFileScheme)); 458 WebString external_file_scheme(ASCIIToUTF16(content::kExternalFileScheme));
465 WebSecurityPolicy::registerURLSchemeAsLocal(external_file_scheme); 459 WebSecurityPolicy::registerURLSchemeAsLocal(external_file_scheme);
466 #endif 460 #endif
467 461
468 #if defined(ENABLE_IPC_FUZZER) 462 #if defined(ENABLE_IPC_FUZZER)
469 if (command_line->HasSwitch(switches::kIpcDumpDirectory)) { 463 if (command_line->HasSwitch(switches::kIpcDumpDirectory)) {
470 base::FilePath dump_directory = 464 base::FilePath dump_directory =
471 command_line->GetSwitchValuePath(switches::kIpcDumpDirectory); 465 command_line->GetSwitchValuePath(switches::kIpcDumpDirectory);
472 IPC::ChannelProxy::OutgoingMessageFilter* filter = 466 IPC::ChannelProxy::OutgoingMessageFilter* filter =
473 LoadExternalIPCDumper(dump_directory); 467 LoadExternalIPCDumper(dump_directory);
474 thread->GetChannel()->set_outgoing_message_filter(filter); 468 thread->GetChannel()->set_outgoing_message_filter(filter);
475 } 469 }
476 #endif 470 #endif
477 471
478 // chrome: and chrome-search: pages should not be accessible by bookmarklets 472 // chrome-search: pages should not be accessible by bookmarklets
479 // or javascript: URLs typed in the omnibox. 473 // or javascript: URLs typed in the omnibox.
480 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( 474 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
481 chrome_ui_scheme);
482 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
483 chrome_search_scheme); 475 chrome_search_scheme);
484 476
485 // chrome:, chrome-search:, chrome-extension:, and chrome-extension-resource: 477 // chrome-search:, chrome-extension:, and chrome-extension-resource:
486 // resources shouldn't trigger insecure content warnings. 478 // resources shouldn't trigger insecure content warnings.
487 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme);
488 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme); 479 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme);
489 480
490 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme)); 481 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme));
491 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); 482 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme);
492 483
493 WebString extension_resource_scheme( 484 WebString extension_resource_scheme(
494 ASCIIToUTF16(extensions::kExtensionResourceScheme)); 485 ASCIIToUTF16(extensions::kExtensionResourceScheme));
495 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme); 486 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme);
496 487
497 // chrome:, chrome-extension:, chrome-extension-resource: resources should be 488 // chrome:, chrome-extension:, chrome-extension-resource: resources should be
498 // allowed to receive CORS requests. 489 // allowed to receive CORS requests.
499 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(chrome_ui_scheme);
500 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); 490 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme);
501 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); 491 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme);
502 492
503 // chrome-extension: resources should bypass Content Security Policy checks 493 // chrome-extension: resources should bypass Content Security Policy checks
504 // when included in protected resources. 494 // when included in protected resources.
505 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 495 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
506 extension_scheme); 496 extension_scheme);
507 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 497 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
508 extension_resource_scheme); 498 extension_resource_scheme);
509 499
(...skipping 1153 matching lines...) Expand 10 before | Expand all | Expand 10 after
1663 WebString header_key(ASCIIToUTF16( 1653 WebString header_key(ASCIIToUTF16(
1664 data_reduction_proxy::chrome_proxy_header())); 1654 data_reduction_proxy::chrome_proxy_header()));
1665 if (!response.httpHeaderField(header_key).isNull() && 1655 if (!response.httpHeaderField(header_key).isNull() &&
1666 response.httpHeaderField(header_key).utf8().find( 1656 response.httpHeaderField(header_key).utf8().find(
1667 data_reduction_proxy::chrome_proxy_lo_fi_directive()) != 1657 data_reduction_proxy::chrome_proxy_lo_fi_directive()) !=
1668 std::string::npos) { 1658 std::string::npos) {
1669 (*properties)[data_reduction_proxy::chrome_proxy_header()] = 1659 (*properties)[data_reduction_proxy::chrome_proxy_header()] =
1670 data_reduction_proxy::chrome_proxy_lo_fi_directive(); 1660 data_reduction_proxy::chrome_proxy_lo_fi_directive();
1671 } 1661 }
1672 } 1662 }
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