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

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

Issue 11896113: Add chrome-search: access from Instant overlay (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Charlie's comments. Created 7 years, 9 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 | Annotate | Revision Log
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 <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 239
240 if (command_line->HasSwitch(switches::kPlaybackMode) || 240 if (command_line->HasSwitch(switches::kPlaybackMode) ||
241 command_line->HasSwitch(switches::kRecordMode) || 241 command_line->HasSwitch(switches::kRecordMode) ||
242 command_line->HasSwitch(switches::kNoJsRandomness)) { 242 command_line->HasSwitch(switches::kNoJsRandomness)) {
243 thread->RegisterExtension(extensions_v8::PlaybackExtension::Get()); 243 thread->RegisterExtension(extensions_v8::PlaybackExtension::Get());
244 } 244 }
245 245
246 if (command_line->HasSwitch(switches::kEnableIPCFuzzing)) { 246 if (command_line->HasSwitch(switches::kEnableIPCFuzzing)) {
247 thread->GetChannel()->set_outgoing_message_filter(LoadExternalIPCFuzzer()); 247 thread->GetChannel()->set_outgoing_message_filter(LoadExternalIPCFuzzer());
248 } 248 }
249 // chrome:, chrome-devtools:, and chrome-internal: pages should not be 249 // chrome:, chrome-search:, chrome-devtools:, and chrome-internal: pages
250 // accessible by normal content, and should also be unable to script 250 // should not be accessible by normal content, and should also be unable to
251 // anything but themselves (to help limit the damage that a corrupt 251 // script anything but themselves (to help limit the damage that a corrupt
252 // page could cause). 252 // page could cause).
253 WebString chrome_ui_scheme(ASCIIToUTF16(chrome::kChromeUIScheme)); 253 WebString chrome_ui_scheme(ASCIIToUTF16(chrome::kChromeUIScheme));
254 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme); 254 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_ui_scheme);
255 255
256 WebString chrome_search_scheme(ASCIIToUTF16(chrome::kChromeSearchScheme));
257 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(chrome_search_scheme);
258
256 WebString dev_tools_scheme(ASCIIToUTF16(chrome::kChromeDevToolsScheme)); 259 WebString dev_tools_scheme(ASCIIToUTF16(chrome::kChromeDevToolsScheme));
257 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dev_tools_scheme); 260 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(dev_tools_scheme);
258 261
259 WebString internal_scheme(ASCIIToUTF16(chrome::kChromeInternalScheme)); 262 WebString internal_scheme(ASCIIToUTF16(chrome::kChromeInternalScheme));
260 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(internal_scheme); 263 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(internal_scheme);
261 264
262 #if defined(OS_CHROMEOS) 265 #if defined(OS_CHROMEOS)
263 WebString drive_scheme(ASCIIToUTF16(chrome::kDriveScheme)); 266 WebString drive_scheme(ASCIIToUTF16(chrome::kDriveScheme));
264 WebSecurityPolicy::registerURLSchemeAsLocal(drive_scheme); 267 WebSecurityPolicy::registerURLSchemeAsLocal(drive_scheme);
265 #endif 268 #endif
266 269
267 // chrome: pages should not be accessible by bookmarklets or javascript: 270 // chrome: and chrome-search: pages should not be accessible by bookmarklets
268 // URLs typed in the omnibox. 271 // or javascript: URLs typed in the omnibox.
269 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs( 272 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
270 chrome_ui_scheme); 273 chrome_ui_scheme);
274 WebSecurityPolicy::registerURLSchemeAsNotAllowingJavascriptURLs(
275 chrome_search_scheme);
271 276
272 // chrome:, and chrome-extension: resources shouldn't trigger insecure 277 // chrome:, chrome-search:, and chrome-extension: resources shouldn't trigger
273 // content warnings. 278 // insecure content warnings.
274 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme); 279 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_ui_scheme);
280 WebSecurityPolicy::registerURLSchemeAsSecure(chrome_search_scheme);
275 281
276 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme)); 282 WebString extension_scheme(ASCIIToUTF16(extensions::kExtensionScheme));
277 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); 283 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme);
278 284
279 // chrome-extension: resources should be allowed to receive CORS requests. 285 // chrome-extension: resources should be allowed to receive CORS requests.
280 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); 286 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme);
281 287
282 WebString extension_resource_scheme( 288 WebString extension_resource_scheme(
283 ASCIIToUTF16(chrome::kExtensionResourceScheme)); 289 ASCIIToUTF16(chrome::kExtensionResourceScheme));
284 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme); 290 WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme);
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 } 1085 }
1080 1086
1081 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories( 1087 void ChromeContentRendererClient::RegisterPPAPIInterfaceFactories(
1082 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) { 1088 webkit::ppapi::PpapiInterfaceFactoryManager* factory_manager) {
1083 #if defined(ENABLE_PLUGINS) 1089 #if defined(ENABLE_PLUGINS)
1084 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory); 1090 factory_manager->RegisterFactory(ChromePPAPIInterfaceFactory);
1085 #endif 1091 #endif
1086 } 1092 }
1087 1093
1088 } // namespace chrome 1094 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698