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 "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/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( | 342 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
343 extension_resource_scheme); | 343 extension_resource_scheme); |
344 | 344 |
345 extensions::ExtensionsClient::Set( | 345 extensions::ExtensionsClient::Set( |
346 extensions::ChromeExtensionsClient::GetInstance()); | 346 extensions::ChromeExtensionsClient::GetInstance()); |
347 } | 347 } |
348 | 348 |
349 void ChromeContentRendererClient::RenderFrameCreated( | 349 void ChromeContentRendererClient::RenderFrameCreated( |
350 content::RenderFrame* render_frame) { | 350 content::RenderFrame* render_frame) { |
351 new ChromeRenderFrameObserver(render_frame); | 351 new ChromeRenderFrameObserver(render_frame); |
| 352 |
| 353 ContentSettingsObserver* content_settings = |
| 354 new ContentSettingsObserver(render_frame, extension_dispatcher_.get()); |
| 355 if (chrome_observer_.get()) { |
| 356 content_settings->SetContentSettingRules( |
| 357 chrome_observer_->content_setting_rules()); |
| 358 } |
| 359 |
352 #if defined(ENABLE_PLUGINS) | 360 #if defined(ENABLE_PLUGINS) |
353 new PepperHelper(render_frame); | 361 new PepperHelper(render_frame); |
354 #endif | 362 #endif |
355 } | 363 } |
356 | 364 |
357 void ChromeContentRendererClient::RenderViewCreated( | 365 void ChromeContentRendererClient::RenderViewCreated( |
358 content::RenderView* render_view) { | 366 content::RenderView* render_view) { |
359 ContentSettingsObserver* content_settings = | |
360 new ContentSettingsObserver(render_view, extension_dispatcher_.get()); | |
361 if (chrome_observer_.get()) { | |
362 content_settings->SetContentSettingRules( | |
363 chrome_observer_->content_setting_rules()); | |
364 } | |
365 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); | 367 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); |
366 new PageLoadHistograms(render_view); | 368 new PageLoadHistograms(render_view); |
367 #if defined(ENABLE_PRINTING) | 369 #if defined(ENABLE_PRINTING) |
368 new printing::PrintWebViewHelper(render_view); | 370 new printing::PrintWebViewHelper(render_view); |
369 #endif | 371 #endif |
370 #if defined(ENABLE_SPELLCHECK) | 372 #if defined(ENABLE_SPELLCHECK) |
371 new SpellCheckProvider(render_view, spellcheck_.get()); | 373 new SpellCheckProvider(render_view, spellcheck_.get()); |
372 #endif | 374 #endif |
373 new prerender::PrerendererClient(render_view); | 375 new prerender::PrerendererClient(render_view); |
374 #if defined(FULL_SAFE_BROWSING) | 376 #if defined(FULL_SAFE_BROWSING) |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 } | 533 } |
532 } | 534 } |
533 if (params.mimeType.isNull() && (actual_mime_type.size() > 0)) { | 535 if (params.mimeType.isNull() && (actual_mime_type.size() > 0)) { |
534 // Webkit might say that mime type is null while we already know the | 536 // Webkit might say that mime type is null while we already know the |
535 // actual mime type via ChromeViewHostMsg_GetPluginInfo. In that case | 537 // actual mime type via ChromeViewHostMsg_GetPluginInfo. In that case |
536 // we should use what we know since WebpluginDelegateProxy does some | 538 // we should use what we know since WebpluginDelegateProxy does some |
537 // specific initializations based on this information. | 539 // specific initializations based on this information. |
538 params.mimeType = WebString::fromUTF8(actual_mime_type.c_str()); | 540 params.mimeType = WebString::fromUTF8(actual_mime_type.c_str()); |
539 } | 541 } |
540 | 542 |
541 // TODO(jam): switch ContentSettingsObserver to RenderFrameObserver. | |
542 ContentSettingsObserver* observer = | 543 ContentSettingsObserver* observer = |
543 ContentSettingsObserver::Get(render_frame->GetRenderView()); | 544 ContentSettingsObserver::Get(render_frame); |
544 | 545 |
545 const ContentSettingsType content_type = | 546 const ContentSettingsType content_type = |
546 ShouldUseJavaScriptSettingForPlugin(plugin) ? | 547 ShouldUseJavaScriptSettingForPlugin(plugin) ? |
547 CONTENT_SETTINGS_TYPE_JAVASCRIPT : | 548 CONTENT_SETTINGS_TYPE_JAVASCRIPT : |
548 CONTENT_SETTINGS_TYPE_PLUGINS; | 549 CONTENT_SETTINGS_TYPE_PLUGINS; |
549 | 550 |
550 if ((status_value == | 551 if ((status_value == |
551 ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized || | 552 ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized || |
552 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kClickToPlay || | 553 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kClickToPlay || |
553 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kBlocked) && | 554 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kBlocked) && |
(...skipping 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1350 // document blocking (for UMA data collection) for normal renderer processes | 1351 // document blocking (for UMA data collection) for normal renderer processes |
1351 // running a normal web page from the Internet. We only turn on | 1352 // running a normal web page from the Internet. We only turn on |
1352 // SiteIsolationPolicy for a renderer process that does not have the extension | 1353 // SiteIsolationPolicy for a renderer process that does not have the extension |
1353 // flag on. | 1354 // flag on. |
1354 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 1355 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
1355 return !command_line->HasSwitch(switches::kExtensionProcess); | 1356 return !command_line->HasSwitch(switches::kExtensionProcess); |
1356 } | 1357 } |
1357 | 1358 |
1358 blink::WebWorkerPermissionClientProxy* | 1359 blink::WebWorkerPermissionClientProxy* |
1359 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( | 1360 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( |
1360 content::RenderView* render_view, | 1361 content::RenderFrame* render_frame, |
1361 blink::WebFrame* frame) { | 1362 blink::WebFrame* frame) { |
1362 return new WorkerPermissionClientProxy(render_view, frame); | 1363 return new WorkerPermissionClientProxy(render_frame, frame); |
1363 } | 1364 } |
OLD | NEW |