| 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 |