| 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 <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 #include "chrome/renderer/extensions/extension_dispatcher.h" | 40 #include "chrome/renderer/extensions/extension_dispatcher.h" |
| 41 #include "chrome/renderer/extensions/extension_helper.h" | 41 #include "chrome/renderer/extensions/extension_helper.h" |
| 42 #include "chrome/renderer/extensions/extension_resource_request_policy.h" | 42 #include "chrome/renderer/extensions/extension_resource_request_policy.h" |
| 43 #include "chrome/renderer/extensions/miscellaneous_bindings.h" | 43 #include "chrome/renderer/extensions/miscellaneous_bindings.h" |
| 44 #include "chrome/renderer/external_extension.h" | 44 #include "chrome/renderer/external_extension.h" |
| 45 #include "chrome/renderer/loadtimes_extension_bindings.h" | 45 #include "chrome/renderer/loadtimes_extension_bindings.h" |
| 46 #include "chrome/renderer/localized_error.h" | 46 #include "chrome/renderer/localized_error.h" |
| 47 #include "chrome/renderer/net/renderer_net_predictor.h" | 47 #include "chrome/renderer/net/renderer_net_predictor.h" |
| 48 #include "chrome/renderer/page_click_tracker.h" | 48 #include "chrome/renderer/page_click_tracker.h" |
| 49 #include "chrome/renderer/page_load_histograms.h" | 49 #include "chrome/renderer/page_load_histograms.h" |
| 50 #include "chrome/renderer/playback_extension.h" |
| 50 #include "chrome/renderer/plugins/plugin_placeholder.h" | 51 #include "chrome/renderer/plugins/plugin_placeholder.h" |
| 51 #include "chrome/renderer/plugins/plugin_uma.h" | 52 #include "chrome/renderer/plugins/plugin_uma.h" |
| 52 #include "chrome/renderer/prerender/prerender_dispatcher.h" | 53 #include "chrome/renderer/prerender/prerender_dispatcher.h" |
| 53 #include "chrome/renderer/prerender/prerender_helper.h" | 54 #include "chrome/renderer/prerender/prerender_helper.h" |
| 54 #include "chrome/renderer/prerender/prerender_webmediaplayer.h" | 55 #include "chrome/renderer/prerender/prerender_webmediaplayer.h" |
| 55 #include "chrome/renderer/print_web_view_helper.h" | 56 #include "chrome/renderer/print_web_view_helper.h" |
| 56 #include "chrome/renderer/renderer_histogram_snapshots.h" | 57 #include "chrome/renderer/renderer_histogram_snapshots.h" |
| 57 #include "chrome/renderer/safe_browsing/malware_dom_details.h" | 58 #include "chrome/renderer/safe_browsing/malware_dom_details.h" |
| 58 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" | 59 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" |
| 59 #include "chrome/renderer/search_extension.h" | 60 #include "chrome/renderer/search_extension.h" |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 thread->AddObserver(prerender_dispatcher_.get()); | 173 thread->AddObserver(prerender_dispatcher_.get()); |
| 173 | 174 |
| 174 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); | 175 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); |
| 175 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); | 176 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); |
| 176 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); | 177 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); |
| 177 v8::Extension* search_extension = extensions_v8::SearchExtension::Get(); | 178 v8::Extension* search_extension = extensions_v8::SearchExtension::Get(); |
| 178 // search_extension is null if not enabled. | 179 // search_extension is null if not enabled. |
| 179 if (search_extension) | 180 if (search_extension) |
| 180 thread->RegisterExtension(search_extension); | 181 thread->RegisterExtension(search_extension); |
| 181 | 182 |
| 182 if (CommandLine::ForCurrentProcess()->HasSwitch( | 183 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 183 switches::kEnableBenchmarking)) | 184 if (command_line->HasSwitch(switches::kEnableBenchmarking)) |
| 184 thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get()); | 185 thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get()); |
| 185 | 186 |
| 186 if (CommandLine::ForCurrentProcess()->HasSwitch( | 187 if (command_line->HasSwitch(switches::kPlaybackMode) || |
| 187 switches::kEnableIPCFuzzing)) { | 188 command_line->HasSwitch(switches::kRecordMode) || |
| 189 command_line->HasSwitch(switches::kNoJsRandomness)) { |
| 190 thread->RegisterExtension(extensions_v8::PlaybackExtension::Get()); |
| 191 } |
| 192 |
| 193 if (command_line->HasSwitch(switches::kEnableIPCFuzzing)) { |
| 188 thread->GetChannel()->set_outgoing_message_filter(LoadExternalIPCFuzzer()); | 194 thread->GetChannel()->set_outgoing_message_filter(LoadExternalIPCFuzzer()); |
| 189 } | 195 } |
| 190 // chrome:, chrome-devtools:, and chrome-internal: pages should not be | 196 // chrome:, chrome-devtools:, and chrome-internal: pages should not be |
| 191 // accessible by normal content, and should also be unable to script | 197 // accessible by normal content, and should also be unable to script |
| 192 // anything but themselves (to help limit the damage that a corrupt | 198 // anything but themselves (to help limit the damage that a corrupt |
| 193 // page could cause). | 199 // page could cause). |
| 194 WebString chrome_ui_scheme(ASCIIToUTF16(chrome::kChromeUIScheme)); | 200 WebString chrome_ui_scheme(ASCIIToUTF16(chrome::kChromeUIScheme)); |
| 195 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme); | 201 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme); |
| 196 | 202 |
| 197 WebString dev_tools_scheme(ASCIIToUTF16(chrome::kChromeDevToolsScheme)); | 203 WebString dev_tools_scheme(ASCIIToUTF16(chrome::kChromeDevToolsScheme)); |
| (...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 867 bool ChromeContentRendererClient::IsOtherExtensionWithWebRequestInstalled() { | 873 bool ChromeContentRendererClient::IsOtherExtensionWithWebRequestInstalled() { |
| 868 return extension_dispatcher_->IsOtherExtensionWithWebRequestInstalled(); | 874 return extension_dispatcher_->IsOtherExtensionWithWebRequestInstalled(); |
| 869 } | 875 } |
| 870 | 876 |
| 871 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories( | 877 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories( |
| 872 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) { | 878 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) { |
| 873 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory); | 879 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory); |
| 874 } | 880 } |
| 875 | 881 |
| 876 } // namespace chrome | 882 } // namespace chrome |
| OLD | NEW |