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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { | 275 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { |
275 safe_browsing::PhishingClassifierDelegate* phishing_classifier = NULL; | 276 safe_browsing::PhishingClassifierDelegate* phishing_classifier = NULL; |
276 #ifndef OS_CHROMEOS | 277 #ifndef OS_CHROMEOS |
277 if (!CommandLine::ForCurrentProcess()->HasSwitch( | 278 if (!CommandLine::ForCurrentProcess()->HasSwitch( |
278 switches::kDisableClientSidePhishingDetection)) { | 279 switches::kDisableClientSidePhishingDetection)) { |
279 phishing_classifier = | 280 phishing_classifier = |
280 new safe_browsing::PhishingClassifierDelegate(render_view, NULL); | 281 new safe_browsing::PhishingClassifierDelegate(render_view, NULL); |
281 } | 282 } |
282 #endif | 283 #endif |
283 | 284 |
| 285 new ContentSettingsObserver(render_view); |
284 new DevToolsAgent(render_view); | 286 new DevToolsAgent(render_view); |
285 new ExtensionHelper(render_view, extension_dispatcher_.get()); | 287 new ExtensionHelper(render_view, extension_dispatcher_.get()); |
286 new PageLoadHistograms(render_view, histogram_snapshots_.get()); | 288 new PageLoadHistograms(render_view, histogram_snapshots_.get()); |
287 new PrintWebViewHelper(render_view); | 289 new PrintWebViewHelper(render_view); |
288 new SearchBox(render_view); | 290 new SearchBox(render_view); |
289 new SpellCheckProvider(render_view, spellcheck_.get()); | 291 new SpellCheckProvider(render_view, spellcheck_.get()); |
290 new safe_browsing::MalwareDOMDetails(render_view); | 292 new safe_browsing::MalwareDOMDetails(render_view); |
291 | 293 |
292 PasswordAutofillManager* password_autofill_manager = | 294 PasswordAutofillManager* password_autofill_manager = |
293 new PasswordAutofillManager(render_view); | 295 new PasswordAutofillManager(render_view); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 } | 376 } |
375 return CreatePluginPlaceholder( | 377 return CreatePluginPlaceholder( |
376 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, | 378 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, |
377 IDS_PLUGIN_OUTDATED, false, | 379 IDS_PLUGIN_OUTDATED, false, |
378 outdated_plugins_policy == CONTENT_SETTING_ASK); | 380 outdated_plugins_policy == CONTENT_SETTING_ASK); |
379 } else { | 381 } else { |
380 DCHECK(outdated_plugins_policy == CONTENT_SETTING_ALLOW); | 382 DCHECK(outdated_plugins_policy == CONTENT_SETTING_ALLOW); |
381 } | 383 } |
382 } | 384 } |
383 | 385 |
384 ContentSetting host_setting = render_view->current_content_settings_. | 386 ContentSettingsObserver* observer = ContentSettingsObserver::Get(render_view); |
385 settings[CONTENT_SETTINGS_TYPE_PLUGINS]; | 387 ContentSetting host_setting = |
| 388 observer->GetContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS); |
386 | 389 |
387 if (group->RequiresAuthorization() && | 390 if (group->RequiresAuthorization() && |
388 !cmd->HasSwitch(switches::kAlwaysAuthorizePlugins) && | 391 !cmd->HasSwitch(switches::kAlwaysAuthorizePlugins) && |
389 (plugin_setting == CONTENT_SETTING_ALLOW || | 392 (plugin_setting == CONTENT_SETTING_ALLOW || |
390 plugin_setting == CONTENT_SETTING_ASK) && | 393 plugin_setting == CONTENT_SETTING_ASK) && |
391 host_setting == CONTENT_SETTING_DEFAULT) { | 394 host_setting == CONTENT_SETTING_DEFAULT) { |
392 render_view->Send(new ViewHostMsg_BlockedOutdatedPlugin( | 395 render_view->Send(new ViewHostMsg_BlockedOutdatedPlugin( |
393 render_view->routing_id(), group->GetGroupName(), GURL())); | 396 render_view->routing_id(), group->GetGroupName(), GURL())); |
394 return CreatePluginPlaceholder( | 397 return CreatePluginPlaceholder( |
395 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, | 398 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, |
(...skipping 22 matching lines...) Expand all Loading... |
418 return NULL; | 421 return NULL; |
419 } | 422 } |
420 | 423 |
421 return render_view->CreateNPAPIPlugin( | 424 return render_view->CreateNPAPIPlugin( |
422 frame, params, info.path, actual_mime_type); | 425 frame, params, info.path, actual_mime_type); |
423 } | 426 } |
424 | 427 |
425 std::string resource; | 428 std::string resource; |
426 if (cmd->HasSwitch(switches::kEnableResourceContentSettings)) | 429 if (cmd->HasSwitch(switches::kEnableResourceContentSettings)) |
427 resource = group->identifier(); | 430 resource = group->identifier(); |
428 render_view->DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, resource); | 431 observer->DidBlockContentType(CONTENT_SETTINGS_TYPE_PLUGINS, resource); |
429 if (plugin_setting == CONTENT_SETTING_ASK) { | 432 if (plugin_setting == CONTENT_SETTING_ASK) { |
430 return CreatePluginPlaceholder( | 433 return CreatePluginPlaceholder( |
431 render_view, frame, params, *group, IDR_CLICK_TO_PLAY_PLUGIN_HTML, | 434 render_view, frame, params, *group, IDR_CLICK_TO_PLAY_PLUGIN_HTML, |
432 IDS_PLUGIN_LOAD, false, true); | 435 IDS_PLUGIN_LOAD, false, true); |
433 } else { | 436 } else { |
434 return CreatePluginPlaceholder( | 437 return CreatePluginPlaceholder( |
435 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, | 438 render_view, frame, params, *group, IDR_BLOCKED_PLUGIN_HTML, |
436 IDS_PLUGIN_BLOCKED, false, true); | 439 IDS_PLUGIN_BLOCKED, false, true); |
437 } | 440 } |
438 } | 441 } |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
639 if (old_url.is_empty() && frame->opener()) | 642 if (old_url.is_empty() && frame->opener()) |
640 old_url = frame->opener()->url(); | 643 old_url = frame->opener()->url(); |
641 | 644 |
642 bool old_url_is_hosted_app = extensions->GetByURL(old_url) && | 645 bool old_url_is_hosted_app = extensions->GetByURL(old_url) && |
643 !extensions->GetByURL(old_url)->web_extent().is_empty(); | 646 !extensions->GetByURL(old_url)->web_extent().is_empty(); |
644 return !extensions->InSameExtent(old_url, new_url) && | 647 return !extensions->InSameExtent(old_url, new_url) && |
645 !old_url_is_hosted_app; | 648 !old_url_is_hosted_app; |
646 } | 649 } |
647 | 650 |
648 } // namespace chrome | 651 } // namespace chrome |
OLD | NEW |