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

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

Issue 559103003: Cleanup: Remove Dispatcher and UserScript classes from builds where extensions are disabled. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
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 17 matching lines...) Expand all
28 #include "chrome/common/url_constants.h" 28 #include "chrome/common/url_constants.h"
29 #include "chrome/grit/generated_resources.h" 29 #include "chrome/grit/generated_resources.h"
30 #include "chrome/grit/locale_settings.h" 30 #include "chrome/grit/locale_settings.h"
31 #include "chrome/grit/renderer_resources.h" 31 #include "chrome/grit/renderer_resources.h"
32 #include "chrome/renderer/benchmarking_extension.h" 32 #include "chrome/renderer/benchmarking_extension.h"
33 #include "chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.h" 33 #include "chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.h"
34 #include "chrome/renderer/chrome_render_frame_observer.h" 34 #include "chrome/renderer/chrome_render_frame_observer.h"
35 #include "chrome/renderer/chrome_render_process_observer.h" 35 #include "chrome/renderer/chrome_render_process_observer.h"
36 #include "chrome/renderer/chrome_render_view_observer.h" 36 #include "chrome/renderer/chrome_render_view_observer.h"
37 #include "chrome/renderer/content_settings_observer.h" 37 #include "chrome/renderer/content_settings_observer.h"
38 #include "chrome/renderer/extensions/chrome_extension_helper.h"
39 #include "chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.h"
40 #include "chrome/renderer/extensions/chrome_extensions_renderer_client.h" 38 #include "chrome/renderer/extensions/chrome_extensions_renderer_client.h"
41 #include "chrome/renderer/extensions/extension_frame_helper.h"
42 #include "chrome/renderer/extensions/renderer_permissions_policy_delegate.h"
43 #include "chrome/renderer/extensions/resource_request_policy.h"
44 #include "chrome/renderer/external_extension.h" 39 #include "chrome/renderer/external_extension.h"
45 #include "chrome/renderer/loadtimes_extension_bindings.h" 40 #include "chrome/renderer/loadtimes_extension_bindings.h"
46 #include "chrome/renderer/media/cast_ipc_dispatcher.h" 41 #include "chrome/renderer/media/cast_ipc_dispatcher.h"
47 #include "chrome/renderer/media/chrome_key_systems.h" 42 #include "chrome/renderer/media/chrome_key_systems.h"
48 #include "chrome/renderer/net/net_error_helper.h" 43 #include "chrome/renderer/net/net_error_helper.h"
49 #include "chrome/renderer/net/prescient_networking_dispatcher.h" 44 #include "chrome/renderer/net/prescient_networking_dispatcher.h"
50 #include "chrome/renderer/net/renderer_net_predictor.h" 45 #include "chrome/renderer/net/renderer_net_predictor.h"
51 #include "chrome/renderer/net_benchmarking_extension.h" 46 #include "chrome/renderer/net_benchmarking_extension.h"
52 #include "chrome/renderer/page_load_histograms.h" 47 #include "chrome/renderer/page_load_histograms.h"
53 #include "chrome/renderer/pepper/pepper_helper.h" 48 #include "chrome/renderer/pepper/pepper_helper.h"
(...skipping 29 matching lines...) Expand all
83 #include "content/public/common/content_constants.h" 78 #include "content/public/common/content_constants.h"
84 #include "content/public/renderer/render_frame.h" 79 #include "content/public/renderer/render_frame.h"
85 #include "content/public/renderer/render_thread.h" 80 #include "content/public/renderer/render_thread.h"
86 #include "content/public/renderer/render_view.h" 81 #include "content/public/renderer/render_view.h"
87 #include "content/public/renderer/render_view_visitor.h" 82 #include "content/public/renderer/render_view_visitor.h"
88 #include "extensions/common/constants.h" 83 #include "extensions/common/constants.h"
89 #include "extensions/common/extension.h" 84 #include "extensions/common/extension.h"
90 #include "extensions/common/extension_set.h" 85 #include "extensions/common/extension_set.h"
91 #include "extensions/common/extension_urls.h" 86 #include "extensions/common/extension_urls.h"
92 #include "extensions/common/switches.h" 87 #include "extensions/common/switches.h"
93 #include "extensions/renderer/dispatcher.h"
94 #include "extensions/renderer/extension_helper.h"
95 #include "extensions/renderer/script_context.h"
96 #include "ipc/ipc_sync_channel.h" 88 #include "ipc/ipc_sync_channel.h"
97 #include "net/base/net_errors.h" 89 #include "net/base/net_errors.h"
98 #include "ppapi/c/private/ppb_nacl_private.h" 90 #include "ppapi/c/private/ppb_nacl_private.h"
99 #include "ppapi/c/private/ppb_pdf.h" 91 #include "ppapi/c/private/ppb_pdf.h"
100 #include "ppapi/shared_impl/ppapi_switches.h" 92 #include "ppapi/shared_impl/ppapi_switches.h"
101 #include "third_party/WebKit/public/platform/WebURL.h" 93 #include "third_party/WebKit/public/platform/WebURL.h"
102 #include "third_party/WebKit/public/platform/WebURLError.h" 94 #include "third_party/WebKit/public/platform/WebURLError.h"
103 #include "third_party/WebKit/public/platform/WebURLRequest.h" 95 #include "third_party/WebKit/public/platform/WebURLRequest.h"
104 #include "third_party/WebKit/public/web/WebCache.h" 96 #include "third_party/WebKit/public/web/WebCache.h"
105 #include "third_party/WebKit/public/web/WebDataSource.h" 97 #include "third_party/WebKit/public/web/WebDataSource.h"
106 #include "third_party/WebKit/public/web/WebDocument.h" 98 #include "third_party/WebKit/public/web/WebDocument.h"
107 #include "third_party/WebKit/public/web/WebElement.h" 99 #include "third_party/WebKit/public/web/WebElement.h"
108 #include "third_party/WebKit/public/web/WebLocalFrame.h" 100 #include "third_party/WebKit/public/web/WebLocalFrame.h"
109 #include "third_party/WebKit/public/web/WebPluginContainer.h" 101 #include "third_party/WebKit/public/web/WebPluginContainer.h"
110 #include "third_party/WebKit/public/web/WebPluginParams.h" 102 #include "third_party/WebKit/public/web/WebPluginParams.h"
111 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" 103 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
112 #include "third_party/WebKit/public/web/WebSecurityPolicy.h" 104 #include "third_party/WebKit/public/web/WebSecurityPolicy.h"
113 #include "ui/base/l10n/l10n_util.h" 105 #include "ui/base/l10n/l10n_util.h"
114 #include "ui/base/layout.h" 106 #include "ui/base/layout.h"
115 #include "ui/base/resource/resource_bundle.h" 107 #include "ui/base/resource/resource_bundle.h"
116 #include "ui/base/webui/jstemplate_builder.h" 108 #include "ui/base/webui/jstemplate_builder.h"
117 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. 109 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
118 110
119 #if !defined(DISABLE_NACL) 111 #if !defined(DISABLE_NACL)
120 #include "components/nacl/common/nacl_constants.h" 112 #include "components/nacl/common/nacl_constants.h"
121 #include "components/nacl/renderer/nacl_helper.h" 113 #include "components/nacl/renderer/nacl_helper.h"
122 #endif 114 #endif
123 115
124 #if defined(ENABLE_EXTENSIONS) 116 #if defined(ENABLE_EXTENSIONS)
117 #include "chrome/renderer/extensions/chrome_extension_helper.h"
118 #include "chrome/renderer/extensions/chrome_extensions_dispatcher_delegate.h"
119 #include "chrome/renderer/extensions/extension_frame_helper.h"
120 #include "chrome/renderer/extensions/renderer_permissions_policy_delegate.h"
121 #include "chrome/renderer/extensions/resource_request_policy.h"
122 #include "extensions/renderer/dispatcher.h"
123 #include "extensions/renderer/extension_helper.h"
125 #include "extensions/renderer/extensions_render_frame_observer.h" 124 #include "extensions/renderer/extensions_render_frame_observer.h"
125 #include "extensions/renderer/script_context.h"
126 #endif 126 #endif
127 127
128 #if defined(ENABLE_FULL_PRINTING) 128 #if defined(ENABLE_FULL_PRINTING)
129 #include "chrome/renderer/pepper/chrome_pdf_print_client.h" 129 #include "chrome/renderer/pepper/chrome_pdf_print_client.h"
130 #endif 130 #endif
131 131
132 #if defined(ENABLE_SPELLCHECK) 132 #if defined(ENABLE_SPELLCHECK)
133 #include "chrome/renderer/spellchecker/spellcheck.h" 133 #include "chrome/renderer/spellchecker/spellcheck.h"
134 #include "chrome/renderer/spellchecker/spellcheck_provider.h" 134 #include "chrome/renderer/spellchecker/spellcheck_provider.h"
135 #endif 135 #endif
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 // Treat CDM invocations like JavaScript. 247 // Treat CDM invocations like JavaScript.
248 if (plugin.name == ASCIIToUTF16(kWidevineCdmDisplayName)) { 248 if (plugin.name == ASCIIToUTF16(kWidevineCdmDisplayName)) {
249 DCHECK(plugin.type == WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS); 249 DCHECK(plugin.type == WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS);
250 return true; 250 return true;
251 } 251 }
252 #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) 252 #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS)
253 253
254 return false; 254 return false;
255 } 255 }
256 256
257 #if defined(ENABLE_EXTENSIONS)
257 void IsGuestViewApiAvailableToScriptContext( 258 void IsGuestViewApiAvailableToScriptContext(
258 bool* api_is_available, 259 bool* api_is_available,
259 extensions::ScriptContext* context) { 260 extensions::ScriptContext* context) {
260 if (context->GetAvailability("guestViewInternal").is_available()) { 261 if (context->GetAvailability("guestViewInternal").is_available()) {
261 *api_is_available = true; 262 *api_is_available = true;
262 } 263 }
263 } 264 }
265 #endif
264 266
265 } // namespace 267 } // namespace
266 268
267 ChromeContentRendererClient::ChromeContentRendererClient() { 269 ChromeContentRendererClient::ChromeContentRendererClient() {
268 g_current_client = this; 270 g_current_client = this;
269 271
270 extensions::ExtensionsClient::Set( 272 extensions::ExtensionsClient::Set(
271 extensions::ChromeExtensionsClient::GetInstance()); 273 extensions::ChromeExtensionsClient::GetInstance());
272 extensions::ExtensionsRendererClient::Set( 274 extensions::ExtensionsRendererClient::Set(
273 ChromeExtensionsRendererClient::GetInstance()); 275 ChromeExtensionsRendererClient::GetInstance());
274 #if defined(ENABLE_PLUGINS) 276 #if defined(ENABLE_PLUGINS)
275 for (size_t i = 0; i < arraysize(kPredefinedAllowedCompositorOrigins); ++i) 277 for (size_t i = 0; i < arraysize(kPredefinedAllowedCompositorOrigins); ++i)
276 allowed_compositor_origins_.insert(kPredefinedAllowedCompositorOrigins[i]); 278 allowed_compositor_origins_.insert(kPredefinedAllowedCompositorOrigins[i]);
277 for (size_t i = 0; i < arraysize(kPredefinedAllowedVideoDecodeOrigins); ++i) 279 for (size_t i = 0; i < arraysize(kPredefinedAllowedVideoDecodeOrigins); ++i)
278 allowed_video_decode_origins_.insert( 280 allowed_video_decode_origins_.insert(
279 kPredefinedAllowedVideoDecodeOrigins[i]); 281 kPredefinedAllowedVideoDecodeOrigins[i]);
280 #endif 282 #endif
281 } 283 }
282 284
283 ChromeContentRendererClient::~ChromeContentRendererClient() { 285 ChromeContentRendererClient::~ChromeContentRendererClient() {
284 g_current_client = NULL; 286 g_current_client = NULL;
285 } 287 }
286 288
287 void ChromeContentRendererClient::RenderThreadStarted() { 289 void ChromeContentRendererClient::RenderThreadStarted() {
288 RenderThread* thread = RenderThread::Get(); 290 RenderThread* thread = RenderThread::Get();
289 291
290 chrome_observer_.reset(new ChromeRenderProcessObserver(this)); 292 chrome_observer_.reset(new ChromeRenderProcessObserver(this));
291 web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver()); 293 web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver());
292 294
295 #if defined(ENABLE_EXTENSIONS)
293 extension_dispatcher_delegate_.reset( 296 extension_dispatcher_delegate_.reset(
294 new ChromeExtensionsDispatcherDelegate()); 297 new ChromeExtensionsDispatcherDelegate());
295 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and 298 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and
296 // injects it using SetExtensionDispatcher(). Don't overwrite it. 299 // injects it using SetExtensionDispatcher(). Don't overwrite it.
297 if (!extension_dispatcher_) { 300 if (!extension_dispatcher_) {
298 extension_dispatcher_.reset( 301 extension_dispatcher_.reset(
299 new extensions::Dispatcher(extension_dispatcher_delegate_.get())); 302 new extensions::Dispatcher(extension_dispatcher_delegate_.get()));
300 } 303 }
301 permissions_policy_delegate_.reset( 304 permissions_policy_delegate_.reset(
302 new extensions::RendererPermissionsPolicyDelegate( 305 new extensions::RendererPermissionsPolicyDelegate(
303 extension_dispatcher_.get())); 306 extension_dispatcher_.get()));
307 #endif
308
304 prescient_networking_dispatcher_.reset(new PrescientNetworkingDispatcher()); 309 prescient_networking_dispatcher_.reset(new PrescientNetworkingDispatcher());
305 net_predictor_.reset(new RendererNetPredictor()); 310 net_predictor_.reset(new RendererNetPredictor());
306 #if defined(ENABLE_SPELLCHECK) 311 #if defined(ENABLE_SPELLCHECK)
307 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using 312 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using
308 // SetSpellcheck(). Don't overwrite it. 313 // SetSpellcheck(). Don't overwrite it.
309 if (!spellcheck_) { 314 if (!spellcheck_) {
310 spellcheck_.reset(new SpellCheck()); 315 spellcheck_.reset(new SpellCheck());
311 thread->AddObserver(spellcheck_.get()); 316 thread->AddObserver(spellcheck_.get());
312 } 317 }
313 #endif 318 #endif
314 visited_link_slave_.reset(new visitedlink::VisitedLinkSlave()); 319 visited_link_slave_.reset(new visitedlink::VisitedLinkSlave());
315 #if defined(FULL_SAFE_BROWSING) 320 #if defined(FULL_SAFE_BROWSING)
316 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); 321 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create());
317 #endif 322 #endif
318 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher()); 323 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher());
319 #if defined(ENABLE_WEBRTC) 324 #if defined(ENABLE_WEBRTC)
320 webrtc_logging_message_filter_ = new WebRtcLoggingMessageFilter( 325 webrtc_logging_message_filter_ = new WebRtcLoggingMessageFilter(
321 content::RenderThread::Get()->GetIOMessageLoopProxy()); 326 content::RenderThread::Get()->GetIOMessageLoopProxy());
322 #endif 327 #endif
323 search_bouncer_.reset(new SearchBouncer()); 328 search_bouncer_.reset(new SearchBouncer());
324 329
325 thread->AddObserver(chrome_observer_.get()); 330 thread->AddObserver(chrome_observer_.get());
326 thread->AddObserver(web_cache_observer_.get()); 331 thread->AddObserver(web_cache_observer_.get());
332 #if defined(ENABLE_EXTENSIONS)
327 thread->AddObserver(extension_dispatcher_.get()); 333 thread->AddObserver(extension_dispatcher_.get());
334 #endif
328 #if defined(FULL_SAFE_BROWSING) 335 #if defined(FULL_SAFE_BROWSING)
329 thread->AddObserver(phishing_classifier_.get()); 336 thread->AddObserver(phishing_classifier_.get());
330 #endif 337 #endif
331 thread->AddObserver(visited_link_slave_.get()); 338 thread->AddObserver(visited_link_slave_.get());
332 thread->AddObserver(prerender_dispatcher_.get()); 339 thread->AddObserver(prerender_dispatcher_.get());
333 thread->AddObserver(search_bouncer_.get()); 340 thread->AddObserver(search_bouncer_.get());
334 341
335 #if defined(ENABLE_WEBRTC) 342 #if defined(ENABLE_WEBRTC)
336 thread->AddFilter(webrtc_logging_message_filter_.get()); 343 thread->AddFilter(webrtc_logging_message_filter_.get());
337 #endif 344 #endif
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 #if defined(ENABLE_FULL_PRINTING) 435 #if defined(ENABLE_FULL_PRINTING)
429 pdf_print_client_.reset(new ChromePDFPrintClient()); 436 pdf_print_client_.reset(new ChromePDFPrintClient());
430 pdf::PPB_PDF_Impl::SetPrintClient(pdf_print_client_.get()); 437 pdf::PPB_PDF_Impl::SetPrintClient(pdf_print_client_.get());
431 #endif 438 #endif
432 } 439 }
433 440
434 void ChromeContentRendererClient::RenderFrameCreated( 441 void ChromeContentRendererClient::RenderFrameCreated(
435 content::RenderFrame* render_frame) { 442 content::RenderFrame* render_frame) {
436 new ChromeRenderFrameObserver(render_frame); 443 new ChromeRenderFrameObserver(render_frame);
437 444
445 extensions::Dispatcher* ext_dispatcher = NULL;
446 #if defined(ENABLE_EXTENSIONS)
447 ext_dispatcher = extension_dispatcher_.get();
448 #endif
438 ContentSettingsObserver* content_settings = 449 ContentSettingsObserver* content_settings =
439 new ContentSettingsObserver(render_frame, extension_dispatcher_.get()); 450 new ContentSettingsObserver(render_frame, ext_dispatcher);
440 if (chrome_observer_.get()) { 451 if (chrome_observer_.get()) {
441 content_settings->SetContentSettingRules( 452 content_settings->SetContentSettingRules(
442 chrome_observer_->content_setting_rules()); 453 chrome_observer_->content_setting_rules());
443 } 454 }
444 455
445 #if defined(ENABLE_EXTENSIONS) 456 #if defined(ENABLE_EXTENSIONS)
446 new extensions::ExtensionsRenderFrameObserver(render_frame); 457 new extensions::ExtensionsRenderFrameObserver(render_frame);
458 new extensions::ExtensionFrameHelper(render_frame, ext_dispatcher);
447 #endif 459 #endif
448 new extensions::ExtensionFrameHelper(render_frame,
449 extension_dispatcher_.get());
450 460
451 #if defined(ENABLE_PLUGINS) 461 #if defined(ENABLE_PLUGINS)
452 new PepperHelper(render_frame); 462 new PepperHelper(render_frame);
453 #endif 463 #endif
454 464
455 #if !defined(DISABLE_NACL) 465 #if !defined(DISABLE_NACL)
456 new nacl::NaClHelper(render_frame); 466 new nacl::NaClHelper(render_frame);
457 #endif 467 #endif
458 468
459 // TODO(jam): when the frame tree moves into content and parent() works at 469 // TODO(jam): when the frame tree moves into content and parent() works at
(...skipping 11 matching lines...) Expand all
471 // Only attach NetErrorHelper to the main frame, since only the main frame 481 // Only attach NetErrorHelper to the main frame, since only the main frame
472 // should get error pages. 482 // should get error pages.
473 // PrefetchHelper is also needed only for main frames. 483 // PrefetchHelper is also needed only for main frames.
474 new NetErrorHelper(render_frame); 484 new NetErrorHelper(render_frame);
475 new prefetch::PrefetchHelper(render_frame); 485 new prefetch::PrefetchHelper(render_frame);
476 } 486 }
477 } 487 }
478 488
479 void ChromeContentRendererClient::RenderViewCreated( 489 void ChromeContentRendererClient::RenderViewCreated(
480 content::RenderView* render_view) { 490 content::RenderView* render_view) {
491 #if defined(ENABLE_EXTENSIONS)
481 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); 492 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get());
482 new extensions::ChromeExtensionHelper(render_view); 493 new extensions::ChromeExtensionHelper(render_view);
483 extension_dispatcher_->OnRenderViewCreated(render_view); 494 extension_dispatcher_->OnRenderViewCreated(render_view);
495 #endif
484 new PageLoadHistograms(render_view); 496 new PageLoadHistograms(render_view);
485 #if defined(ENABLE_PRINTING) 497 #if defined(ENABLE_PRINTING)
486 new printing::PrintWebViewHelper(render_view); 498 new printing::PrintWebViewHelper(render_view);
487 #endif 499 #endif
488 #if defined(ENABLE_SPELLCHECK) 500 #if defined(ENABLE_SPELLCHECK)
489 new SpellCheckProvider(render_view, spellcheck_.get()); 501 new SpellCheckProvider(render_view, spellcheck_.get());
490 #endif 502 #endif
491 new prerender::PrerendererClient(render_view); 503 new prerender::PrerendererClient(render_view);
492 #if defined(FULL_SAFE_BROWSING) 504 #if defined(FULL_SAFE_BROWSING)
493 safe_browsing::MalwareDOMDetails::Create(render_view); 505 safe_browsing::MalwareDOMDetails::Create(render_view);
(...skipping 28 matching lines...) Expand all
522 534
523 SkBitmap* ChromeContentRendererClient::GetSadWebViewBitmap() { 535 SkBitmap* ChromeContentRendererClient::GetSadWebViewBitmap() {
524 return const_cast<SkBitmap*>(ResourceBundle::GetSharedInstance(). 536 return const_cast<SkBitmap*>(ResourceBundle::GetSharedInstance().
525 GetImageNamed(IDR_SAD_WEBVIEW).ToSkBitmap()); 537 GetImageNamed(IDR_SAD_WEBVIEW).ToSkBitmap());
526 } 538 }
527 539
528 std::string ChromeContentRendererClient::GetDefaultEncoding() { 540 std::string ChromeContentRendererClient::GetDefaultEncoding() {
529 return l10n_util::GetStringUTF8(IDS_DEFAULT_ENCODING); 541 return l10n_util::GetStringUTF8(IDS_DEFAULT_ENCODING);
530 } 542 }
531 543
544 #if defined(ENABLE_EXTENSIONS)
532 const Extension* ChromeContentRendererClient::GetExtensionByOrigin( 545 const Extension* ChromeContentRendererClient::GetExtensionByOrigin(
533 const WebSecurityOrigin& origin) const { 546 const WebSecurityOrigin& origin) const {
534 if (!EqualsASCII(origin.protocol(), extensions::kExtensionScheme)) 547 if (!EqualsASCII(origin.protocol(), extensions::kExtensionScheme))
535 return NULL; 548 return NULL;
536 549
537 const std::string extension_id = origin.host().utf8().data(); 550 const std::string extension_id = origin.host().utf8().data();
538 return extension_dispatcher_->extensions()->GetByID(extension_id); 551 return extension_dispatcher_->extensions()->GetByID(extension_id);
539 } 552 }
553 #endif
540 554
541 bool ChromeContentRendererClient::OverrideCreatePlugin( 555 bool ChromeContentRendererClient::OverrideCreatePlugin(
542 content::RenderFrame* render_frame, 556 content::RenderFrame* render_frame,
543 WebLocalFrame* frame, 557 WebLocalFrame* frame,
544 const WebPluginParams& params, 558 const WebPluginParams& params,
545 WebPlugin** plugin) { 559 WebPlugin** plugin) {
546 std::string orig_mime_type = params.mimeType.utf8(); 560 std::string orig_mime_type = params.mimeType.utf8();
561 #if defined(ENABLE_EXTENSIONS)
547 if (orig_mime_type == content::kBrowserPluginMimeType) { 562 if (orig_mime_type == content::kBrowserPluginMimeType) {
548 bool guest_view_api_available = false; 563 bool guest_view_api_available = false;
549 extension_dispatcher_->script_context_set().ForEach( 564 extension_dispatcher_->script_context_set().ForEach(
550 render_frame->GetRenderView(), 565 render_frame->GetRenderView(),
551 base::Bind(&IsGuestViewApiAvailableToScriptContext, 566 base::Bind(&IsGuestViewApiAvailableToScriptContext,
552 &guest_view_api_available)); 567 &guest_view_api_available));
553 if (guest_view_api_available) 568 if (guest_view_api_available)
554 return false; 569 return false;
555 } 570 }
571 #endif
556 572
557 ChromeViewHostMsg_GetPluginInfo_Output output; 573 ChromeViewHostMsg_GetPluginInfo_Output output;
558 #if defined(ENABLE_PLUGINS) 574 #if defined(ENABLE_PLUGINS)
559 render_frame->Send(new ChromeViewHostMsg_GetPluginInfo( 575 render_frame->Send(new ChromeViewHostMsg_GetPluginInfo(
560 render_frame->GetRoutingID(), GURL(params.url), 576 render_frame->GetRoutingID(), GURL(params.url),
561 frame->top()->document().url(), orig_mime_type, &output)); 577 frame->top()->document().url(), orig_mime_type, &output));
562 578
563 if (output.plugin.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) 579 if (output.plugin.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN)
564 return false; 580 return false;
565 #else 581 #else
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 void ChromeContentRendererClient::GetNavigationErrorStrings( 1095 void ChromeContentRendererClient::GetNavigationErrorStrings(
1080 content::RenderView* render_view, 1096 content::RenderView* render_view,
1081 blink::WebFrame* frame, 1097 blink::WebFrame* frame,
1082 const blink::WebURLRequest& failed_request, 1098 const blink::WebURLRequest& failed_request,
1083 const blink::WebURLError& error, 1099 const blink::WebURLError& error,
1084 std::string* error_html, 1100 std::string* error_html,
1085 base::string16* error_description) { 1101 base::string16* error_description) {
1086 const GURL failed_url = error.unreachableURL; 1102 const GURL failed_url = error.unreachableURL;
1087 const Extension* extension = NULL; 1103 const Extension* extension = NULL;
1088 1104
1105 #if defined(ENABLE_EXTENSIONS)
1089 if (failed_url.is_valid() && 1106 if (failed_url.is_valid() &&
1090 !failed_url.SchemeIs(extensions::kExtensionScheme)) { 1107 !failed_url.SchemeIs(extensions::kExtensionScheme)) {
1091 extension = extension_dispatcher_->extensions()->GetExtensionOrAppByURL( 1108 extension = extension_dispatcher_->extensions()->GetExtensionOrAppByURL(
1092 failed_url); 1109 failed_url);
1093 } 1110 }
1111 #endif
1094 1112
1095 bool is_post = EqualsASCII(failed_request.httpMethod(), "POST"); 1113 bool is_post = EqualsASCII(failed_request.httpMethod(), "POST");
1096 1114
1097 if (error_html) { 1115 if (error_html) {
1098 // Use a local error page. 1116 // Use a local error page.
1099 if (extension && !extension->from_bookmark()) { 1117 if (extension && !extension->from_bookmark()) {
1100 // TODO(erikkay): Should we use a different template for different 1118 // TODO(erikkay): Should we use a different template for different
1101 // error messages? 1119 // error messages?
1102 int resource_id = IDR_ERROR_APP_HTML; 1120 int resource_id = IDR_ERROR_APP_HTML;
1103 const base::StringPiece template_html( 1121 const base::StringPiece template_html(
(...skipping 22 matching lines...) Expand all
1126 } 1144 }
1127 } 1145 }
1128 1146
1129 if (error_description) { 1147 if (error_description) {
1130 if (!extension) 1148 if (!extension)
1131 *error_description = LocalizedError::GetErrorDetails(error, is_post); 1149 *error_description = LocalizedError::GetErrorDetails(error, is_post);
1132 } 1150 }
1133 } 1151 }
1134 1152
1135 bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() { 1153 bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
1154 #if defined(ENABLE_EXTENSIONS)
1136 return !extension_dispatcher_->is_extension_process(); 1155 return !extension_dispatcher_->is_extension_process();
1156 #else
1157 return true;
1158 #endif
1137 } 1159 }
1138 1160
1139 bool ChromeContentRendererClient::AllowPopup() { 1161 bool ChromeContentRendererClient::AllowPopup() {
1162 #if defined(ENABLE_EXTENSIONS)
1140 extensions::ScriptContext* current_context = 1163 extensions::ScriptContext* current_context =
1141 extension_dispatcher_->script_context_set().GetCurrent(); 1164 extension_dispatcher_->script_context_set().GetCurrent();
1142 if (!current_context || !current_context->extension()) 1165 if (!current_context || !current_context->extension())
1143 return false; 1166 return false;
1144 // See http://crbug.com/117446 for the subtlety of this check. 1167 // See http://crbug.com/117446 for the subtlety of this check.
1145 switch (current_context->context_type()) { 1168 switch (current_context->context_type()) {
1146 case extensions::Feature::UNSPECIFIED_CONTEXT: 1169 case extensions::Feature::UNSPECIFIED_CONTEXT:
1147 case extensions::Feature::WEB_PAGE_CONTEXT: 1170 case extensions::Feature::WEB_PAGE_CONTEXT:
1148 case extensions::Feature::UNBLESSED_EXTENSION_CONTEXT: 1171 case extensions::Feature::UNBLESSED_EXTENSION_CONTEXT:
1149 case extensions::Feature::WEBUI_CONTEXT: 1172 case extensions::Feature::WEBUI_CONTEXT:
1150 return false; 1173 return false;
1151 case extensions::Feature::BLESSED_EXTENSION_CONTEXT: 1174 case extensions::Feature::BLESSED_EXTENSION_CONTEXT:
1152 case extensions::Feature::CONTENT_SCRIPT_CONTEXT: 1175 case extensions::Feature::CONTENT_SCRIPT_CONTEXT:
1153 return true; 1176 return true;
1154 case extensions::Feature::BLESSED_WEB_PAGE_CONTEXT: 1177 case extensions::Feature::BLESSED_WEB_PAGE_CONTEXT:
1155 return !current_context->web_frame()->parent(); 1178 return !current_context->web_frame()->parent();
1156 } 1179 }
1157 NOTREACHED(); 1180 NOTREACHED();
1181 #endif
1158 return false; 1182 return false;
1159 } 1183 }
1160 1184
1161 bool ChromeContentRendererClient::ShouldFork(WebFrame* frame, 1185 bool ChromeContentRendererClient::ShouldFork(WebFrame* frame,
1162 const GURL& url, 1186 const GURL& url,
1163 const std::string& http_method, 1187 const std::string& http_method,
1164 bool is_initial_navigation, 1188 bool is_initial_navigation,
1165 bool is_server_redirect, 1189 bool is_server_redirect,
1166 bool* send_referrer) { 1190 bool* send_referrer) {
1167 DCHECK(!frame->parent()); 1191 DCHECK(!frame->parent());
(...skipping 30 matching lines...) Expand all
1198 // If |url| matches one of the prerendered URLs, stop this navigation and try 1222 // If |url| matches one of the prerendered URLs, stop this navigation and try
1199 // to swap in the prerendered page on the browser process. If the prerendered 1223 // to swap in the prerendered page on the browser process. If the prerendered
1200 // page no longer exists by the time the OpenURL IPC is handled, a normal 1224 // page no longer exists by the time the OpenURL IPC is handled, a normal
1201 // navigation is attempted. 1225 // navigation is attempted.
1202 if (prerender_dispatcher_.get() && 1226 if (prerender_dispatcher_.get() &&
1203 prerender_dispatcher_->IsPrerenderURL(url)) { 1227 prerender_dispatcher_->IsPrerenderURL(url)) {
1204 *send_referrer = true; 1228 *send_referrer = true;
1205 return true; 1229 return true;
1206 } 1230 }
1207 1231
1232 #if defined(ENABLE_EXTENSIONS)
1208 const extensions::ExtensionSet* extensions = 1233 const extensions::ExtensionSet* extensions =
1209 extension_dispatcher_->extensions(); 1234 extension_dispatcher_->extensions();
1210 1235
1211 // Determine if the new URL is an extension (excluding bookmark apps). 1236 // Determine if the new URL is an extension (excluding bookmark apps).
1212 const Extension* new_url_extension = extensions::GetNonBookmarkAppExtension( 1237 const Extension* new_url_extension = extensions::GetNonBookmarkAppExtension(
1213 *extensions, url); 1238 *extensions, url);
1214 bool is_extension_url = !!new_url_extension; 1239 bool is_extension_url = !!new_url_extension;
1215 1240
1216 // If the navigation would cross an app extent boundary, we also need 1241 // If the navigation would cross an app extent boundary, we also need
1217 // to defer to the browser to ensure process isolation. This is not necessary 1242 // to defer to the browser to ensure process isolation. This is not necessary
(...skipping 22 matching lines...) Expand all
1240 } 1265 }
1241 1266
1242 // If this is a reload, check whether it has the wrong process type. We 1267 // If this is a reload, check whether it has the wrong process type. We
1243 // should send it to the browser if it's an extension URL (e.g., hosted app) 1268 // should send it to the browser if it's an extension URL (e.g., hosted app)
1244 // in a normal process, or if it's a process for an extension that has been 1269 // in a normal process, or if it's a process for an extension that has been
1245 // uninstalled. 1270 // uninstalled.
1246 if (frame->top()->document().url() == url) { 1271 if (frame->top()->document().url() == url) {
1247 if (is_extension_url != extension_dispatcher_->is_extension_process()) 1272 if (is_extension_url != extension_dispatcher_->is_extension_process())
1248 return true; 1273 return true;
1249 } 1274 }
1275 #endif // defined(ENABLE_EXTENSIONS)
1250 1276
1251 return false; 1277 return false;
1252 } 1278 }
1253 1279
1254 bool ChromeContentRendererClient::WillSendRequest( 1280 bool ChromeContentRendererClient::WillSendRequest(
1255 blink::WebFrame* frame, 1281 blink::WebFrame* frame,
1256 content::PageTransition transition_type, 1282 content::PageTransition transition_type,
1257 const GURL& url, 1283 const GURL& url,
1258 const GURL& first_party_for_cookies, 1284 const GURL& first_party_for_cookies,
1259 GURL* new_url) { 1285 GURL* new_url) {
1260 // Check whether the request should be allowed. If not allowed, we reset the 1286 // Check whether the request should be allowed. If not allowed, we reset the
1261 // URL to something invalid to prevent the request and cause an error. 1287 // URL to something invalid to prevent the request and cause an error.
1288 #if defined(ENABLE_EXTENSIONS)
1262 if (url.SchemeIs(extensions::kExtensionScheme) && 1289 if (url.SchemeIs(extensions::kExtensionScheme) &&
1263 !extensions::ResourceRequestPolicy::CanRequestResource( 1290 !extensions::ResourceRequestPolicy::CanRequestResource(
1264 url, 1291 url,
1265 frame, 1292 frame,
1266 transition_type, 1293 transition_type,
1267 extension_dispatcher_->extensions())) { 1294 extension_dispatcher_->extensions())) {
1268 *new_url = GURL(chrome::kExtensionInvalidRequestURL); 1295 *new_url = GURL(chrome::kExtensionInvalidRequestURL);
1269 return true; 1296 return true;
1270 } 1297 }
1271 1298
1272 if (url.SchemeIs(extensions::kExtensionResourceScheme) && 1299 if (url.SchemeIs(extensions::kExtensionResourceScheme) &&
1273 !extensions::ResourceRequestPolicy::CanRequestExtensionResourceScheme( 1300 !extensions::ResourceRequestPolicy::CanRequestExtensionResourceScheme(
1274 url, 1301 url,
1275 frame)) { 1302 frame)) {
1276 *new_url = GURL(chrome::kExtensionResourceInvalidRequestURL); 1303 *new_url = GURL(chrome::kExtensionResourceInvalidRequestURL);
1277 return true; 1304 return true;
1278 } 1305 }
1306 #endif
1279 1307
1280 const content::RenderView* render_view = 1308 const content::RenderView* render_view =
1281 content::RenderView::FromWebView(frame->view()); 1309 content::RenderView::FromWebView(frame->view());
1282 SearchBox* search_box = SearchBox::Get(render_view); 1310 SearchBox* search_box = SearchBox::Get(render_view);
1283 if (search_box && url.SchemeIs(chrome::kChromeSearchScheme)) { 1311 if (search_box && url.SchemeIs(chrome::kChromeSearchScheme)) {
1284 if (url.host() == chrome::kChromeUIThumbnailHost) 1312 if (url.host() == chrome::kChromeUIThumbnailHost)
1285 return search_box->GenerateThumbnailURLFromTransientURL(url, new_url); 1313 return search_box->GenerateThumbnailURLFromTransientURL(url, new_url);
1286 else if (url.host() == chrome::kChromeUIFaviconHost) 1314 else if (url.host() == chrome::kChromeUIFaviconHost)
1287 return search_box->GenerateFaviconURLFromTransientURL(url, new_url); 1315 return search_box->GenerateFaviconURLFromTransientURL(url, new_url);
1288 } 1316 }
1289 1317
1290 return false; 1318 return false;
1291 } 1319 }
1292 1320
1293 void ChromeContentRendererClient::DidCreateScriptContext( 1321 void ChromeContentRendererClient::DidCreateScriptContext(
1294 WebFrame* frame, v8::Handle<v8::Context> context, int extension_group, 1322 WebFrame* frame, v8::Handle<v8::Context> context, int extension_group,
1295 int world_id) { 1323 int world_id) {
1324 #if defined(ENABLE_EXTENSIONS)
1296 extension_dispatcher_->DidCreateScriptContext( 1325 extension_dispatcher_->DidCreateScriptContext(
1297 frame, context, extension_group, world_id); 1326 frame, context, extension_group, world_id);
1327 #endif
1298 } 1328 }
1299 1329
1300 unsigned long long ChromeContentRendererClient::VisitedLinkHash( 1330 unsigned long long ChromeContentRendererClient::VisitedLinkHash(
1301 const char* canonical_url, size_t length) { 1331 const char* canonical_url, size_t length) {
1302 return visited_link_slave_->ComputeURLFingerprint(canonical_url, length); 1332 return visited_link_slave_->ComputeURLFingerprint(canonical_url, length);
1303 } 1333 }
1304 1334
1305 bool ChromeContentRendererClient::IsLinkVisited(unsigned long long link_hash) { 1335 bool ChromeContentRendererClient::IsLinkVisited(unsigned long long link_hash) {
1306 return visited_link_slave_->IsVisited(link_hash); 1336 return visited_link_slave_->IsVisited(link_hash);
1307 } 1337 }
1308 1338
1309 blink::WebPrescientNetworking* 1339 blink::WebPrescientNetworking*
1310 ChromeContentRendererClient::GetPrescientNetworking() { 1340 ChromeContentRendererClient::GetPrescientNetworking() {
1311 return prescient_networking_dispatcher_.get(); 1341 return prescient_networking_dispatcher_.get();
1312 } 1342 }
1313 1343
1314 bool ChromeContentRendererClient::ShouldOverridePageVisibilityState( 1344 bool ChromeContentRendererClient::ShouldOverridePageVisibilityState(
1315 const content::RenderFrame* render_frame, 1345 const content::RenderFrame* render_frame,
1316 blink::WebPageVisibilityState* override_state) { 1346 blink::WebPageVisibilityState* override_state) {
1317 if (!prerender::PrerenderHelper::IsPrerendering(render_frame)) 1347 if (!prerender::PrerenderHelper::IsPrerendering(render_frame))
1318 return false; 1348 return false;
1319 1349
1320 *override_state = blink::WebPageVisibilityStatePrerender; 1350 *override_state = blink::WebPageVisibilityStatePrerender;
1321 return true; 1351 return true;
1322 } 1352 }
1323 1353
1354 #if defined(ENABLE_EXTENSIONS)
1324 void ChromeContentRendererClient::SetExtensionDispatcherForTest( 1355 void ChromeContentRendererClient::SetExtensionDispatcherForTest(
1325 extensions::Dispatcher* extension_dispatcher) { 1356 extensions::Dispatcher* extension_dispatcher) {
1326 extension_dispatcher_.reset(extension_dispatcher); 1357 extension_dispatcher_.reset(extension_dispatcher);
1327 permissions_policy_delegate_.reset( 1358 permissions_policy_delegate_.reset(
1328 new extensions::RendererPermissionsPolicyDelegate( 1359 new extensions::RendererPermissionsPolicyDelegate(
1329 extension_dispatcher_.get())); 1360 extension_dispatcher_.get()));
1330 } 1361 }
1331 1362
1332 extensions::Dispatcher* 1363 extensions::Dispatcher*
1333 ChromeContentRendererClient::GetExtensionDispatcherForTest() { 1364 ChromeContentRendererClient::GetExtensionDispatcherForTest() {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1366 } 1397 }
1367 1398
1368 // Only consider keeping non-app URLs in an app process if this window 1399 // Only consider keeping non-app URLs in an app process if this window
1369 // has an opener (in which case it might be an OAuth popup that tries to 1400 // has an opener (in which case it might be an OAuth popup that tries to
1370 // script an iframe within the app). 1401 // script an iframe within the app).
1371 bool should_consider_workaround = !!frame->opener(); 1402 bool should_consider_workaround = !!frame->opener();
1372 1403
1373 return extensions::CrossesExtensionProcessBoundary( 1404 return extensions::CrossesExtensionProcessBoundary(
1374 extensions, old_url, new_url, should_consider_workaround); 1405 extensions, old_url, new_url, should_consider_workaround);
1375 } 1406 }
1407 #endif // defined(ENABLE_EXTENSIONS)
1376 1408
1377 #if defined(ENABLE_SPELLCHECK) 1409 #if defined(ENABLE_SPELLCHECK)
1378 void ChromeContentRendererClient::SetSpellcheck(SpellCheck* spellcheck) { 1410 void ChromeContentRendererClient::SetSpellcheck(SpellCheck* spellcheck) {
1379 RenderThread* thread = RenderThread::Get(); 1411 RenderThread* thread = RenderThread::Get();
1380 if (spellcheck_.get() && thread) 1412 if (spellcheck_.get() && thread)
1381 thread->RemoveObserver(spellcheck_.get()); 1413 thread->RemoveObserver(spellcheck_.get());
1382 spellcheck_.reset(spellcheck); 1414 spellcheck_.reset(spellcheck);
1383 SpellCheckReplacer replacer(spellcheck_.get()); 1415 SpellCheckReplacer replacer(spellcheck_.get());
1384 content::RenderView::ForEach(&replacer); 1416 content::RenderView::ForEach(&replacer);
1385 if (thread) 1417 if (thread)
1386 thread->AddObserver(spellcheck_.get()); 1418 thread->AddObserver(spellcheck_.get());
1387 } 1419 }
1388 #endif 1420 #endif
1389 1421
1390 // static 1422 // static
1391 bool ChromeContentRendererClient::WasWebRequestUsedBySomeExtensions() { 1423 bool ChromeContentRendererClient::WasWebRequestUsedBySomeExtensions() {
1424 #if defined(ENABLE_EXTENSIONS)
1392 return g_current_client->extension_dispatcher_delegate_ 1425 return g_current_client->extension_dispatcher_delegate_
1393 ->WasWebRequestUsedBySomeExtensions(); 1426 ->WasWebRequestUsedBySomeExtensions();
1427 #else
1428 return false;
1429 #endif
1394 } 1430 }
1395 1431
1396 const void* ChromeContentRendererClient::CreatePPAPIInterface( 1432 const void* ChromeContentRendererClient::CreatePPAPIInterface(
1397 const std::string& interface_name) { 1433 const std::string& interface_name) {
1398 #if defined(ENABLE_PLUGINS) 1434 #if defined(ENABLE_PLUGINS)
1399 #if !defined(DISABLE_NACL) 1435 #if !defined(DISABLE_NACL)
1400 if (interface_name == PPB_NACL_PRIVATE_INTERFACE) 1436 if (interface_name == PPB_NACL_PRIVATE_INTERFACE)
1401 return nacl::GetNaClPrivateInterface(); 1437 return nacl::GetNaClPrivateInterface();
1402 #endif // DISABLE_NACL 1438 #endif // DISABLE_NACL
1403 if (interface_name == PPB_PDF_INTERFACE) 1439 if (interface_name == PPB_PDF_INTERFACE)
1404 return pdf::PPB_PDF_Impl::GetInterface(); 1440 return pdf::PPB_PDF_Impl::GetInterface();
1405 #endif 1441 #endif
1406 return NULL; 1442 return NULL;
1407 } 1443 }
1408 1444
1409 bool ChromeContentRendererClient::IsExternalPepperPlugin( 1445 bool ChromeContentRendererClient::IsExternalPepperPlugin(
1410 const std::string& module_name) { 1446 const std::string& module_name) {
1411 // TODO(bbudge) remove this when the trusted NaCl plugin has been removed. 1447 // TODO(bbudge) remove this when the trusted NaCl plugin has been removed.
1412 // We must defer certain plugin events for NaCl instances since we switch 1448 // We must defer certain plugin events for NaCl instances since we switch
1413 // from the in-process to the out-of-process proxy after instantiating them. 1449 // from the in-process to the out-of-process proxy after instantiating them.
1414 return module_name == "Native Client"; 1450 return module_name == "Native Client";
1415 } 1451 }
1416 1452
1453 #if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS)
1417 bool ChromeContentRendererClient::IsExtensionOrSharedModuleWhitelisted( 1454 bool ChromeContentRendererClient::IsExtensionOrSharedModuleWhitelisted(
1418 const GURL& url, const std::set<std::string>& whitelist) { 1455 const GURL& url, const std::set<std::string>& whitelist) {
1419 const extensions::ExtensionSet* extension_set = 1456 const extensions::ExtensionSet* extension_set =
1420 g_current_client->extension_dispatcher_->extensions(); 1457 g_current_client->extension_dispatcher_->extensions();
1421 return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set, 1458 return chrome::IsExtensionOrSharedModuleWhitelisted(url, extension_set,
1422 whitelist); 1459 whitelist);
1423 } 1460 }
1461 #endif
1424 1462
1425 blink::WebSpeechSynthesizer* 1463 blink::WebSpeechSynthesizer*
1426 ChromeContentRendererClient::OverrideSpeechSynthesizer( 1464 ChromeContentRendererClient::OverrideSpeechSynthesizer(
1427 blink::WebSpeechSynthesizerClient* client) { 1465 blink::WebSpeechSynthesizerClient* client) {
1428 return new TtsDispatcher(client); 1466 return new TtsDispatcher(client);
1429 } 1467 }
1430 1468
1431 bool ChromeContentRendererClient::AllowPepperMediaStreamAPI( 1469 bool ChromeContentRendererClient::AllowPepperMediaStreamAPI(
1432 const GURL& url) { 1470 const GURL& url) {
1433 #if !defined(OS_ANDROID) 1471 #if !defined(OS_ANDROID)
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1491 // releases of Chrome. Permitting "Unknown" allows these APIs to be used on 1529 // releases of Chrome. Permitting "Unknown" allows these APIs to be used on
1492 // Chromium builds as well. 1530 // Chromium builds as well.
1493 return channel <= chrome::VersionInfo::CHANNEL_DEV; 1531 return channel <= chrome::VersionInfo::CHANNEL_DEV;
1494 #else 1532 #else
1495 return false; 1533 return false;
1496 #endif 1534 #endif
1497 } 1535 }
1498 1536
1499 bool ChromeContentRendererClient::IsPluginAllowedToUseCompositorAPI( 1537 bool ChromeContentRendererClient::IsPluginAllowedToUseCompositorAPI(
1500 const GURL& url) { 1538 const GURL& url) {
1501 #if defined(ENABLE_PLUGINS) 1539 #if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS)
1502 if (CommandLine::ForCurrentProcess()->HasSwitch( 1540 if (CommandLine::ForCurrentProcess()->HasSwitch(
1503 switches::kEnablePepperTesting)) 1541 switches::kEnablePepperTesting))
1504 return true; 1542 return true;
1505 if (IsExtensionOrSharedModuleWhitelisted(url, allowed_compositor_origins_)) 1543 if (IsExtensionOrSharedModuleWhitelisted(url, allowed_compositor_origins_))
1506 return true; 1544 return true;
1507 1545
1508 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); 1546 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
1509 return channel <= chrome::VersionInfo::CHANNEL_DEV; 1547 return channel <= chrome::VersionInfo::CHANNEL_DEV;
1510 #else 1548 #else
1511 return false; 1549 return false;
1512 #endif 1550 #endif
1513 } 1551 }
1514 1552
1515 bool ChromeContentRendererClient::IsPluginAllowedToUseVideoDecodeAPI( 1553 bool ChromeContentRendererClient::IsPluginAllowedToUseVideoDecodeAPI(
1516 const GURL& url) { 1554 const GURL& url) {
1517 #if defined(ENABLE_PLUGINS) 1555 #if defined(ENABLE_PLUGINS) && defined(ENABLE_EXTENSIONS)
1518 if (CommandLine::ForCurrentProcess()->HasSwitch( 1556 if (CommandLine::ForCurrentProcess()->HasSwitch(
1519 switches::kEnablePepperTesting)) 1557 switches::kEnablePepperTesting))
1520 return true; 1558 return true;
1521 1559
1522 if (IsExtensionOrSharedModuleWhitelisted(url, allowed_video_decode_origins_)) 1560 if (IsExtensionOrSharedModuleWhitelisted(url, allowed_video_decode_origins_))
1523 return true; 1561 return true;
1524 1562
1525 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel(); 1563 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
1526 return channel <= chrome::VersionInfo::CHANNEL_DEV; 1564 return channel <= chrome::VersionInfo::CHANNEL_DEV;
1527 #else 1565 #else
1528 return false; 1566 return false;
1529 #endif 1567 #endif
1530 } 1568 }
1531 1569
1532 content::BrowserPluginDelegate* 1570 content::BrowserPluginDelegate*
1533 ChromeContentRendererClient::CreateBrowserPluginDelegate( 1571 ChromeContentRendererClient::CreateBrowserPluginDelegate(
1534 content::RenderFrame* render_frame, 1572 content::RenderFrame* render_frame,
1535 const std::string& mime_type) { 1573 const std::string& mime_type) {
1536 return new ChromeBrowserPluginDelegate(render_frame, mime_type); 1574 return new ChromeBrowserPluginDelegate(render_frame, mime_type);
1537 } 1575 }
OLDNEW
« no previous file with comments | « chrome/renderer/chrome_content_renderer_client.h ('k') | chrome/renderer/extensions/extension_frame_helper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698