OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "chrome/common/render_messages.h" | 23 #include "chrome/common/render_messages.h" |
24 #include "chrome/common/url_constants.h" | 24 #include "chrome/common/url_constants.h" |
25 #include "chrome/renderer/autofill/autofill_agent.h" | 25 #include "chrome/renderer/autofill/autofill_agent.h" |
26 #include "chrome/renderer/autofill/form_manager.h" | 26 #include "chrome/renderer/autofill/form_manager.h" |
27 #include "chrome/renderer/autofill/password_autofill_manager.h" | 27 #include "chrome/renderer/autofill/password_autofill_manager.h" |
28 #include "chrome/renderer/automation/automation_renderer_helper.h" | 28 #include "chrome/renderer/automation/automation_renderer_helper.h" |
29 #include "chrome/renderer/automation/dom_automation_v8_extension.h" | 29 #include "chrome/renderer/automation/dom_automation_v8_extension.h" |
30 #include "chrome/renderer/blocked_plugin.h" | 30 #include "chrome/renderer/blocked_plugin.h" |
31 #include "chrome/renderer/chrome_render_process_observer.h" | 31 #include "chrome/renderer/chrome_render_process_observer.h" |
32 #include "chrome/renderer/chrome_render_view_observer.h" | 32 #include "chrome/renderer/chrome_render_view_observer.h" |
| 33 #include "chrome/renderer/content_settings_observer.h" |
33 #include "chrome/renderer/devtools_agent.h" | 34 #include "chrome/renderer/devtools_agent.h" |
34 #include "chrome/renderer/devtools_agent_filter.h" | 35 #include "chrome/renderer/devtools_agent_filter.h" |
35 #include "chrome/renderer/extensions/bindings_utils.h" | 36 #include "chrome/renderer/extensions/bindings_utils.h" |
36 #include "chrome/renderer/extensions/event_bindings.h" | 37 #include "chrome/renderer/extensions/event_bindings.h" |
37 #include "chrome/renderer/extensions/extension_dispatcher.h" | 38 #include "chrome/renderer/extensions/extension_dispatcher.h" |
38 #include "chrome/renderer/extensions/extension_helper.h" | 39 #include "chrome/renderer/extensions/extension_helper.h" |
39 #include "chrome/renderer/extensions/extension_process_bindings.h" | 40 #include "chrome/renderer/extensions/extension_process_bindings.h" |
40 #include "chrome/renderer/extensions/extension_resource_request_policy.h" | 41 #include "chrome/renderer/extensions/extension_resource_request_policy.h" |
41 #include "chrome/renderer/extensions/renderer_extension_bindings.h" | 42 #include "chrome/renderer/extensions/renderer_extension_bindings.h" |
42 #include "chrome/renderer/external_extension.h" | 43 #include "chrome/renderer/external_extension.h" |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { | 273 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { |
273 safe_browsing::PhishingClassifierDelegate* phishing_classifier = NULL; | 274 safe_browsing::PhishingClassifierDelegate* phishing_classifier = NULL; |
274 #ifndef OS_CHROMEOS | 275 #ifndef OS_CHROMEOS |
275 if (!CommandLine::ForCurrentProcess()->HasSwitch( | 276 if (!CommandLine::ForCurrentProcess()->HasSwitch( |
276 switches::kDisableClientSidePhishingDetection)) { | 277 switches::kDisableClientSidePhishingDetection)) { |
277 phishing_classifier = | 278 phishing_classifier = |
278 new safe_browsing::PhishingClassifierDelegate(render_view, NULL); | 279 new safe_browsing::PhishingClassifierDelegate(render_view, NULL); |
279 } | 280 } |
280 #endif | 281 #endif |
281 | 282 |
| 283 new ContentSettingsObserver(render_view); |
282 new DevToolsAgent(render_view); | 284 new DevToolsAgent(render_view); |
283 new ExtensionHelper(render_view, extension_dispatcher_.get()); | 285 new ExtensionHelper(render_view, extension_dispatcher_.get()); |
284 new PageLoadHistograms(render_view, histogram_snapshots_.get()); | 286 new PageLoadHistograms(render_view, histogram_snapshots_.get()); |
285 new PrintWebViewHelper(render_view); | 287 new PrintWebViewHelper(render_view); |
286 new SearchBox(render_view); | 288 new SearchBox(render_view); |
287 new SpellCheckProvider(render_view, spellcheck_.get()); | 289 new SpellCheckProvider(render_view, spellcheck_.get()); |
288 new safe_browsing::MalwareDOMDetails(render_view); | 290 new safe_browsing::MalwareDOMDetails(render_view); |
289 | 291 |
290 PasswordAutofillManager* password_autofill_manager = | 292 PasswordAutofillManager* password_autofill_manager = |
291 new PasswordAutofillManager(render_view); | 293 new PasswordAutofillManager(render_view); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 } | 374 } |
373 return CreatePluginPlaceholder( | 375 return CreatePluginPlaceholder( |
374 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, | 376 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, |
375 IDS_PLUGIN_OUTDATED, false, | 377 IDS_PLUGIN_OUTDATED, false, |
376 outdated_plugins_policy == CONTENT_SETTING_ASK); | 378 outdated_plugins_policy == CONTENT_SETTING_ASK); |
377 } else { | 379 } else { |
378 DCHECK(outdated_plugins_policy == CONTENT_SETTING_ALLOW); | 380 DCHECK(outdated_plugins_policy == CONTENT_SETTING_ALLOW); |
379 } | 381 } |
380 } | 382 } |
381 | 383 |
382 ContentSetting host_setting = render_view->current_content_settings_. | 384 ContentSettingsObserver* observer = ContentSettingsObserver::Get(render_view); |
383 settings[CONTENT_SETTINGS_TYPE_PLUGINS]; | 385 ContentSetting host_setting = |
| 386 observer->GetContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS); |
384 | 387 |
385 if (group->RequiresAuthorization() && | 388 if (group->RequiresAuthorization() && |
386 !cmd->HasSwitch(switches::kAlwaysAuthorizePlugins) && | 389 !cmd->HasSwitch(switches::kAlwaysAuthorizePlugins) && |
387 (plugin_setting == CONTENT_SETTING_ALLOW || | 390 (plugin_setting == CONTENT_SETTING_ALLOW || |
388 plugin_setting == CONTENT_SETTING_ASK) && | 391 plugin_setting == CONTENT_SETTING_ASK) && |
389 host_setting == CONTENT_SETTING_DEFAULT) { | 392 host_setting == CONTENT_SETTING_DEFAULT) { |
390 render_view->Send(new ViewHostMsg_BlockedOutdatedPlugin( | 393 render_view->Send(new ViewHostMsg_BlockedOutdatedPlugin( |
391 render_view->routing_id(), group->GetGroupName(), GURL())); | 394 render_view->routing_id(), group->GetGroupName(), GURL())); |
392 return CreatePluginPlaceholder( | 395 return CreatePluginPlaceholder( |
393 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, | 396 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, |
(...skipping 23 matching lines...) Expand all Loading... |
417 return NULL; | 420 return NULL; |
418 } | 421 } |
419 | 422 |
420 return render_view->CreateNPAPIPlugin( | 423 return render_view->CreateNPAPIPlugin( |
421 frame, params, info.path, actual_mime_type); | 424 frame, params, info.path, actual_mime_type); |
422 } | 425 } |
423 | 426 |
424 std::string resource; | 427 std::string resource; |
425 if (cmd->HasSwitch(switches::kEnableResourceContentSettings)) | 428 if (cmd->HasSwitch(switches::kEnableResourceContentSettings)) |
426 resource = group->identifier(); | 429 resource = group->identifier(); |
427 render_view->DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, resource); | 430 observer->DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, resource); |
428 if (plugin_setting == CONTENT_SETTING_ASK) { | 431 if (plugin_setting == CONTENT_SETTING_ASK) { |
429 return CreatePluginPlaceholder( | 432 return CreatePluginPlaceholder( |
430 render_view, frame, params, *group, IDR_CLICK_TO_PLAY_PLUGIN_HTML, | 433 render_view, frame, params, *group, IDR_CLICK_TO_PLAY_PLUGIN_HTML, |
431 IDS_PLUGIN_LOAD, false, true); | 434 IDS_PLUGIN_LOAD, false, true); |
432 } else { | 435 } else { |
433 return CreatePluginPlaceholder( | 436 return CreatePluginPlaceholder( |
434 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, | 437 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, |
435 IDS_PLUGIN_BLOCKED, false, true); | 438 IDS_PLUGIN_BLOCKED, false, true); |
436 } | 439 } |
437 } | 440 } |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 if (old_url.is_empty() && frame->opener()) | 625 if (old_url.is_empty() && frame->opener()) |
623 old_url = frame->opener()->url(); | 626 old_url = frame->opener()->url(); |
624 | 627 |
625 bool old_url_is_hosted_app = extensions->GetByURL(old_url) && | 628 bool old_url_is_hosted_app = extensions->GetByURL(old_url) && |
626 !extensions->GetByURL(old_url)->web_extent().is_empty(); | 629 !extensions->GetByURL(old_url)->web_extent().is_empty(); |
627 return !extensions->InSameExtent(old_url, new_url) && | 630 return !extensions->InSameExtent(old_url, new_url) && |
628 !old_url_is_hosted_app; | 631 !old_url_is_hosted_app; |
629 } | 632 } |
630 | 633 |
631 } // namespace chrome | 634 } // namespace chrome |
OLD | NEW |