OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/common/plugin_utils.h" | 5 #include "chrome/common/plugin_utils.h" |
6 | 6 |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "content/public/common/content_constants.h" |
8 #include "content/public/common/webplugininfo.h" | 9 #include "content/public/common/webplugininfo.h" |
9 #include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR. | |
10 | |
11 #if !defined(DISABLE_NACL) | |
12 #include "components/nacl/common/nacl_constants.h" | |
13 #endif | |
14 | 10 |
15 bool ShouldUseJavaScriptSettingForPlugin(const content::WebPluginInfo& plugin) { | 11 bool ShouldUseJavaScriptSettingForPlugin(const content::WebPluginInfo& plugin) { |
16 if (plugin.type != content::WebPluginInfo::PLUGIN_TYPE_PEPPER_IN_PROCESS && | 12 if (plugin.name == base::ASCIIToUTF16(content::kFlashPluginName)) |
17 plugin.type != | |
18 content::WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS) { | |
19 return false; | 13 return false; |
20 } | |
21 | 14 |
22 #if !defined(DISABLE_NACL) | 15 // Since all the UI surfaces for Plugin content settings display "Flash", |
23 // Treat Native Client invocations like JavaScript. | 16 // treat all other plugins as JavaScript. These include all of: |
24 if (plugin.name == base::ASCIIToUTF16(nacl::kNaClPluginName)) | 17 // - Internally registered plugins such as: |
25 return true; | 18 // - NaCl |
26 #endif | 19 // - Widevine |
27 | 20 // - PDF |
28 #if defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) | 21 // - Custom plugins loaded from the command line |
29 // Treat CDM invocations like JavaScript. | 22 return true; |
30 if (plugin.name == base::ASCIIToUTF16(kWidevineCdmDisplayName)) { | |
31 DCHECK_EQ(content::WebPluginInfo::PLUGIN_TYPE_PEPPER_OUT_OF_PROCESS, | |
32 plugin.type); | |
33 return true; | |
34 } | |
35 #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(ENABLE_PEPPER_CDMS) | |
36 | |
37 return false; | |
38 } | 23 } |
OLD | NEW |