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/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. | 103 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. |
104 | 104 |
105 #if defined(ENABLE_WEBRTC) | 105 #if defined(ENABLE_WEBRTC) |
106 #include "chrome/renderer/media/webrtc_logging_message_filter.h" | 106 #include "chrome/renderer/media/webrtc_logging_message_filter.h" |
107 #endif | 107 #endif |
108 | 108 |
109 using autofill::AutofillAgent; | 109 using autofill::AutofillAgent; |
110 using autofill::PasswordAutofillAgent; | 110 using autofill::PasswordAutofillAgent; |
111 using autofill::PasswordGenerationManager; | 111 using autofill::PasswordGenerationManager; |
112 using content::RenderThread; | 112 using content::RenderThread; |
| 113 using content::WebPluginInfo; |
113 using extensions::Extension; | 114 using extensions::Extension; |
114 using WebKit::WebCache; | 115 using WebKit::WebCache; |
115 using WebKit::WebConsoleMessage; | 116 using WebKit::WebConsoleMessage; |
116 using WebKit::WebDataSource; | 117 using WebKit::WebDataSource; |
117 using WebKit::WebDocument; | 118 using WebKit::WebDocument; |
118 using WebKit::WebFrame; | 119 using WebKit::WebFrame; |
119 using WebKit::WebPlugin; | 120 using WebKit::WebPlugin; |
120 using webkit::WebPluginInfo; | |
121 using webkit::WebPluginMimeType; | |
122 using WebKit::WebPluginParams; | 121 using WebKit::WebPluginParams; |
123 using WebKit::WebSecurityOrigin; | 122 using WebKit::WebSecurityOrigin; |
124 using WebKit::WebSecurityPolicy; | 123 using WebKit::WebSecurityPolicy; |
125 using WebKit::WebString; | 124 using WebKit::WebString; |
126 using WebKit::WebURL; | 125 using WebKit::WebURL; |
127 using WebKit::WebURLError; | 126 using WebKit::WebURLError; |
128 using WebKit::WebURLRequest; | 127 using WebKit::WebURLRequest; |
129 using WebKit::WebURLResponse; | 128 using WebKit::WebURLResponse; |
130 using WebKit::WebVector; | 129 using WebKit::WebVector; |
131 | 130 |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 !frame->parent() && | 548 !frame->parent() && |
550 !frame->opener() && | 549 !frame->opener() && |
551 frame->document().isPluginDocument()) { | 550 frame->document().isPluginDocument()) { |
552 status_value = ChromeViewHostMsg_GetPluginInfo_Status::kAllowed; | 551 status_value = ChromeViewHostMsg_GetPluginInfo_Status::kAllowed; |
553 } | 552 } |
554 | 553 |
555 #if defined(USE_AURA) && defined(OS_WIN) | 554 #if defined(USE_AURA) && defined(OS_WIN) |
556 // In Aura for Windows we need to check if we can load NPAPI plugins. | 555 // In Aura for Windows we need to check if we can load NPAPI plugins. |
557 // For example, if the render view is in the Ash desktop, we should not. | 556 // For example, if the render view is in the Ash desktop, we should not. |
558 if (status_value == ChromeViewHostMsg_GetPluginInfo_Status::kAllowed && | 557 if (status_value == ChromeViewHostMsg_GetPluginInfo_Status::kAllowed && |
559 plugin.type == webkit::WebPluginInfo::PLUGIN_TYPE_NPAPI) { | 558 plugin.type == content::WebPluginInfo::PLUGIN_TYPE_NPAPI) { |
560 if (observer->AreNPAPIPluginsBlocked()) | 559 if (observer->AreNPAPIPluginsBlocked()) |
561 status_value = | 560 status_value = |
562 ChromeViewHostMsg_GetPluginInfo_Status::kNPAPINotSupported; | 561 ChromeViewHostMsg_GetPluginInfo_Status::kNPAPINotSupported; |
563 } | 562 } |
564 #endif | 563 #endif |
565 | 564 |
566 switch (status_value) { | 565 switch (status_value) { |
567 case ChromeViewHostMsg_GetPluginInfo_Status::kNotFound: { | 566 case ChromeViewHostMsg_GetPluginInfo_Status::kNotFound: { |
568 NOTREACHED(); | 567 NOTREACHED(); |
569 break; | 568 break; |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
735 } | 734 } |
736 placeholder->SetStatus(status); | 735 placeholder->SetStatus(status); |
737 return placeholder->plugin(); | 736 return placeholder->plugin(); |
738 } | 737 } |
739 | 738 |
740 // For NaCl content handling plugins, the NaCl manifest is stored in an | 739 // For NaCl content handling plugins, the NaCl manifest is stored in an |
741 // additonal 'nacl' param associated with the MIME type. | 740 // additonal 'nacl' param associated with the MIME type. |
742 // static | 741 // static |
743 GURL ChromeContentRendererClient::GetNaClContentHandlerURL( | 742 GURL ChromeContentRendererClient::GetNaClContentHandlerURL( |
744 const std::string& actual_mime_type, | 743 const std::string& actual_mime_type, |
745 const WebPluginInfo& plugin) { | 744 const content::WebPluginInfo& plugin) { |
746 // Look for the manifest URL among the MIME type's additonal parameters. | 745 // Look for the manifest URL among the MIME type's additonal parameters. |
747 const char* kNaClPluginManifestAttribute = "nacl"; | 746 const char* kNaClPluginManifestAttribute = "nacl"; |
748 string16 nacl_attr = ASCIIToUTF16(kNaClPluginManifestAttribute); | 747 string16 nacl_attr = ASCIIToUTF16(kNaClPluginManifestAttribute); |
749 for (size_t i = 0; i < plugin.mime_types.size(); ++i) { | 748 for (size_t i = 0; i < plugin.mime_types.size(); ++i) { |
750 if (plugin.mime_types[i].mime_type == actual_mime_type) { | 749 if (plugin.mime_types[i].mime_type == actual_mime_type) { |
751 const WebPluginMimeType& content_type = plugin.mime_types[i]; | 750 const content::WebPluginMimeType& content_type = plugin.mime_types[i]; |
752 for (size_t i = 0; i < content_type.additional_param_names.size(); ++i) { | 751 for (size_t i = 0; i < content_type.additional_param_names.size(); ++i) { |
753 if (content_type.additional_param_names[i] == nacl_attr) | 752 if (content_type.additional_param_names[i] == nacl_attr) |
754 return GURL(content_type.additional_param_values[i]); | 753 return GURL(content_type.additional_param_values[i]); |
755 } | 754 } |
756 break; | 755 break; |
757 } | 756 } |
758 } | 757 } |
759 return GURL(); | 758 return GURL(); |
760 } | 759 } |
761 | 760 |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1276 if (CommandLine::ForCurrentProcess()->HasSwitch( | 1275 if (CommandLine::ForCurrentProcess()->HasSwitch( |
1277 switches::kEnablePepperTesting)) { | 1276 switches::kEnablePepperTesting)) { |
1278 return true; | 1277 return true; |
1279 } | 1278 } |
1280 #endif // !defined(OS_ANDROID) | 1279 #endif // !defined(OS_ANDROID) |
1281 return false; | 1280 return false; |
1282 } | 1281 } |
1283 | 1282 |
1284 | 1283 |
1285 } // namespace chrome | 1284 } // namespace chrome |
OLD | NEW |