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 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( | 347 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( |
348 extension_resource_scheme); | 348 extension_resource_scheme); |
349 | 349 |
350 extensions::ExtensionsClient::Set( | 350 extensions::ExtensionsClient::Set( |
351 extensions::ChromeExtensionsClient::GetInstance()); | 351 extensions::ChromeExtensionsClient::GetInstance()); |
352 } | 352 } |
353 | 353 |
354 void ChromeContentRendererClient::RenderFrameCreated( | 354 void ChromeContentRendererClient::RenderFrameCreated( |
355 content::RenderFrame* render_frame) { | 355 content::RenderFrame* render_frame) { |
356 new ChromeRenderFrameObserver(render_frame); | 356 new ChromeRenderFrameObserver(render_frame); |
| 357 |
| 358 ContentSettingsObserver* content_settings = |
| 359 new ContentSettingsObserver(render_frame, extension_dispatcher_.get()); |
| 360 if (chrome_observer_.get()) { |
| 361 content_settings->SetContentSettingRules( |
| 362 chrome_observer_->content_setting_rules()); |
| 363 } |
| 364 |
357 #if defined(ENABLE_PLUGINS) | 365 #if defined(ENABLE_PLUGINS) |
358 new PepperHelper(render_frame); | 366 new PepperHelper(render_frame); |
359 #endif | 367 #endif |
360 } | 368 } |
361 | 369 |
362 void ChromeContentRendererClient::RenderViewCreated( | 370 void ChromeContentRendererClient::RenderViewCreated( |
363 content::RenderView* render_view) { | 371 content::RenderView* render_view) { |
364 ContentSettingsObserver* content_settings = | |
365 new ContentSettingsObserver(render_view, extension_dispatcher_.get()); | |
366 if (chrome_observer_.get()) { | |
367 content_settings->SetContentSettingRules( | |
368 chrome_observer_->content_setting_rules()); | |
369 } | |
370 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); | 372 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); |
371 new PageLoadHistograms(render_view); | 373 new PageLoadHistograms(render_view); |
372 #if defined(ENABLE_PRINTING) | 374 #if defined(ENABLE_PRINTING) |
373 new printing::PrintWebViewHelper(render_view); | 375 new printing::PrintWebViewHelper(render_view); |
374 #endif | 376 #endif |
375 #if defined(ENABLE_SPELLCHECK) | 377 #if defined(ENABLE_SPELLCHECK) |
376 new SpellCheckProvider(render_view, spellcheck_.get()); | 378 new SpellCheckProvider(render_view, spellcheck_.get()); |
377 #endif | 379 #endif |
378 new prerender::PrerendererClient(render_view); | 380 new prerender::PrerendererClient(render_view); |
379 #if defined(FULL_SAFE_BROWSING) | 381 #if defined(FULL_SAFE_BROWSING) |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 if (params.mimeType.isNull() && (actual_mime_type.size() > 0)) { | 541 if (params.mimeType.isNull() && (actual_mime_type.size() > 0)) { |
540 // Webkit might say that mime type is null while we already know the | 542 // Webkit might say that mime type is null while we already know the |
541 // actual mime type via ChromeViewHostMsg_GetPluginInfo. In that case | 543 // actual mime type via ChromeViewHostMsg_GetPluginInfo. In that case |
542 // we should use what we know since WebpluginDelegateProxy does some | 544 // we should use what we know since WebpluginDelegateProxy does some |
543 // specific initializations based on this information. | 545 // specific initializations based on this information. |
544 params.mimeType = WebString::fromUTF8(actual_mime_type.c_str()); | 546 params.mimeType = WebString::fromUTF8(actual_mime_type.c_str()); |
545 } | 547 } |
546 | 548 |
547 // TODO(jam): switch ContentSettingsObserver to RenderFrameObserver. | 549 // TODO(jam): switch ContentSettingsObserver to RenderFrameObserver. |
548 ContentSettingsObserver* observer = | 550 ContentSettingsObserver* observer = |
549 ContentSettingsObserver::Get(render_frame->GetRenderView()); | 551 ContentSettingsObserver::Get(render_frame); |
550 | 552 |
551 const ContentSettingsType content_type = | 553 const ContentSettingsType content_type = |
552 ShouldUseJavaScriptSettingForPlugin(plugin) ? | 554 ShouldUseJavaScriptSettingForPlugin(plugin) ? |
553 CONTENT_SETTINGS_TYPE_JAVASCRIPT : | 555 CONTENT_SETTINGS_TYPE_JAVASCRIPT : |
554 CONTENT_SETTINGS_TYPE_PLUGINS; | 556 CONTENT_SETTINGS_TYPE_PLUGINS; |
555 | 557 |
556 if ((status_value == | 558 if ((status_value == |
557 ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized || | 559 ChromeViewHostMsg_GetPluginInfo_Status::kUnauthorized || |
558 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kClickToPlay || | 560 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kClickToPlay || |
559 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kBlocked) && | 561 status_value == ChromeViewHostMsg_GetPluginInfo_Status::kBlocked) && |
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1374 // document blocking (for UMA data collection) for normal renderer processes | 1376 // document blocking (for UMA data collection) for normal renderer processes |
1375 // running a normal web page from the Internet. We only turn on | 1377 // running a normal web page from the Internet. We only turn on |
1376 // SiteIsolationPolicy for a renderer process that does not have the extension | 1378 // SiteIsolationPolicy for a renderer process that does not have the extension |
1377 // flag on. | 1379 // flag on. |
1378 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 1380 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
1379 return !command_line->HasSwitch(switches::kExtensionProcess); | 1381 return !command_line->HasSwitch(switches::kExtensionProcess); |
1380 } | 1382 } |
1381 | 1383 |
1382 blink::WebWorkerPermissionClientProxy* | 1384 blink::WebWorkerPermissionClientProxy* |
1383 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( | 1385 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( |
1384 content::RenderView* render_view, | 1386 content::RenderFrame* render_frame, |
1385 blink::WebFrame* frame) { | 1387 blink::WebFrame* frame) { |
1386 return new WorkerPermissionClientProxy(render_view, frame); | 1388 return new WorkerPermissionClientProxy(render_frame, frame); |
1387 } | 1389 } |
OLD | NEW |