OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "webkit/glue/plugins/plugin_list.h" | 5 #include "webkit/glue/plugins/plugin_list.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "base/third_party/valgrind/valgrind.h" | 25 #include "base/third_party/valgrind/valgrind.h" |
26 #endif // defined(OS_POSIX) | 26 #endif // defined(OS_POSIX) |
27 | 27 |
28 namespace NPAPI { | 28 namespace NPAPI { |
29 | 29 |
30 #if defined(OS_MACOSX) | 30 #if defined(OS_MACOSX) |
31 // Plugin Groups for Mac. | 31 // Plugin Groups for Mac. |
32 // Plugins are listed here as soon as vulnerabilities and solutions | 32 // Plugins are listed here as soon as vulnerabilities and solutions |
33 // (new versions) are published. | 33 // (new versions) are published. |
34 // TODO(panayiotis): Get the Real Player version on Mac, somehow. | 34 // TODO(panayiotis): Get the Real Player version on Mac, somehow. |
| 35 static const VersionRangeDefinition kQuicktimeVersionRange[] = { |
| 36 { "", "", "7.6.6" } |
| 37 }; |
| 38 static const VersionRangeDefinition kJavaVersionRange[] = { |
| 39 { "", "", "" } |
| 40 }; |
| 41 static const VersionRangeDefinition kFlashVersionRange[] = { |
| 42 { "", "", "10.1.102" } |
| 43 }; |
| 44 static const VersionRangeDefinition kSilverlightVersionRange[] = { |
| 45 { "0", "4", "3.0.50106.0" }, |
| 46 { "4", "5", "" } |
| 47 }; |
| 48 static const VersionRangeDefinition kFlip4MacVersionRange[] = { |
| 49 { "", "", "2.2.1" } |
| 50 }; |
| 51 static const VersionRangeDefinition kShockwaveVersionRange[] = { |
| 52 { "", "", "11.5.9.615" } |
| 53 }; |
35 static const PluginGroupDefinition kGroupDefinitions[] = { | 54 static const PluginGroupDefinition kGroupDefinitions[] = { |
36 { "apple-quicktime", "Quicktime", "QuickTime Plug-in", "", "", "7.6.6", | 55 { "apple-quicktime", "Quicktime", "QuickTime Plug-in", kQuicktimeVersionRange, |
| 56 arraysize(kQuicktimeVersionRange), |
37 "http://www.apple.com/quicktime/download/" }, | 57 "http://www.apple.com/quicktime/download/" }, |
38 { "java-runtime-environment", "Java", "Java", "", "", "", | 58 { "java-runtime-environment", "Java", "Java", kJavaVersionRange, |
39 "http://support.apple.com/kb/HT1338" }, | 59 arraysize(kJavaVersionRange), "http://support.apple.com/kb/HT1338" }, |
40 { "adobe-flash-player", "Flash", "Shockwave Flash", "", "", "10.1.102", | 60 { "adobe-flash-player", "Flash", "Shockwave Flash", kFlashVersionRange, |
41 "http://get.adobe.com/flashplayer/" }, | 61 arraysize(kFlashVersionRange), "http://get.adobe.com/flashplayer/" }, |
42 { "silverlight-3", "Silverlight 3", "Silverlight", "0", "4", "3.0.50106.0", | 62 { "silverlight", "Silverlight", "Silverlight", kSilverlightVersionRange, |
| 63 arraysize(kSilverlightVersionRange), |
43 "http://www.microsoft.com/getsilverlight/" }, | 64 "http://www.microsoft.com/getsilverlight/" }, |
44 { "silverlight-4", "Silverlight 4", "Silverlight", "4", "5", "", | 65 { "flip4mac", "Flip4Mac", "Flip4Mac", kFlip4MacVersionRange, |
45 "http://www.microsoft.com/getsilverlight/" }, | 66 arraysize(kFlip4MacVersionRange), |
46 { "flip4mac", "Flip4Mac", "Flip4Mac", "", "", "2.2.1", | |
47 "http://www.telestream.net/flip4mac-wmv/overview.htm" }, | 67 "http://www.telestream.net/flip4mac-wmv/overview.htm" }, |
48 { "shockwave", "Shockwave", "Shockwave for Director", "", "", "11.5.9.615", | 68 { "shockwave", "Shockwave", "Shockwave for Director", kShockwaveVersionRange, |
| 69 arraysize(kShockwaveVersionRange), |
49 "http://www.adobe.com/shockwave/download/" } | 70 "http://www.adobe.com/shockwave/download/" } |
50 }; | 71 }; |
51 | 72 |
52 #elif defined(OS_WIN) | 73 #elif defined(OS_WIN) |
53 // TODO(panayiotis): We should group "RealJukebox NS Plugin" with the rest of | 74 // TODO(panayiotis): We should group "RealJukebox NS Plugin" with the rest of |
54 // the RealPlayer files. | 75 // the RealPlayer files. |
| 76 static const VersionRangeDefinition kQuicktimeVersionRange[] = { |
| 77 { "", "", "7.6.8" } |
| 78 }; |
| 79 static const VersionRangeDefinition kJavaVersionRange[] = { |
| 80 { "0", "7", "6.0.220" } // "220" is not a typo. |
| 81 }; |
| 82 static const VersionRangeDefinition kAdobeReaderVersionRange[] = { |
| 83 { "10", "11", "" }, |
| 84 { "9", "10", "9.4.1" }, |
| 85 { "0", "9", "8.2.5" } |
| 86 }; |
| 87 static const VersionRangeDefinition kFlashVersionRange[] = { |
| 88 { "", "", "10.1.102" } |
| 89 }; |
| 90 static const VersionRangeDefinition kSilverlightVersionRange[] = { |
| 91 { "0", "4", "3.0.50106.0" }, |
| 92 { "4", "5", "" } |
| 93 }; |
| 94 static const VersionRangeDefinition kShockwaveVersionRange[] = { |
| 95 { "", "", "11.5.9.615" } |
| 96 }; |
| 97 static const VersionRangeDefinition kDivXVersionRange[] = { |
| 98 { "", "", "1.4.3.4" } |
| 99 }; |
55 static const PluginGroupDefinition kGroupDefinitions[] = { | 100 static const PluginGroupDefinition kGroupDefinitions[] = { |
56 { "apple-quicktime", "Quicktime", "QuickTime Plug-in", "", "", "7.6.8", | 101 { "apple-quicktime", "Quicktime", "QuickTime Plug-in", kQuicktimeVersionRange, |
| 102 arraysize(kQuicktimeVersionRange), |
57 "http://www.apple.com/quicktime/download/" }, | 103 "http://www.apple.com/quicktime/download/" }, |
58 { "java-runtime-environment", "Java 6", "Java", "", "6", "6.0.220", | 104 { "java-runtime-environment", "Java 6", "Java", kJavaVersionRange, |
59 "http://www.java.com/" }, | 105 arraysize(kJavaVersionRange), "http://www.java.com/" }, |
60 { "adobe-reader", PluginGroup::kAdobeReader9GroupName, "Adobe Acrobat", "9", | 106 { "adobe-reader", PluginGroup::kAdobeReaderGroupName, "Adobe Acrobat", |
61 "10", "9.4.1", "http://get.adobe.com/reader/" }, | 107 kAdobeReaderVersionRange, arraysize(kAdobeReaderVersionRange), |
62 { "adobe-reader-8", PluginGroup::kAdobeReader8GroupName, "Adobe Acrobat", "0", | 108 "http://get.adobe.com/reader/" }, |
63 "9", "8.2.5", "http://get.adobe.com/reader/" }, | 109 { "adobe-flash-player", "Flash", "Shockwave Flash", kFlashVersionRange, |
64 { "adobe-flash-player", "Flash", "Shockwave Flash", "", "", "10.1.102", | 110 arraysize(kFlashVersionRange), "http://get.adobe.com/flashplayer/" }, |
65 "http://get.adobe.com/flashplayer/" }, | 111 { "silverlight", "Silverlight", "Silverlight", kSilverlightVersionRange, |
66 { "silverlight-3", "Silverlight 3", "Silverlight", "0", "4", "3.0.50106.0", | 112 arraysize(kSilverlightVersionRange), |
67 "http://www.microsoft.com/getsilverlight/" }, | 113 "http://www.microsoft.com/getsilverlight/" }, |
68 { "silverlight-4", "Silverlight 4", "Silverlight", "4", "5", "", | 114 { "shockwave", "Shockwave", "Shockwave for Director", kShockwaveVersionRange, |
69 "http://www.microsoft.com/getsilverlight/" }, | 115 arraysize(kShockwaveVersionRange), |
70 { "shockwave", "Shockwave", "Shockwave for Director", "", "", "11.5.9.615", | |
71 "http://www.adobe.com/shockwave/download/" }, | 116 "http://www.adobe.com/shockwave/download/" }, |
72 { "divx-player", "DivX Player", "DivX Web Player", "", "", "1.4.3.4", | 117 { "divx-player", "DivX Player", "DivX Web Player", kDivXVersionRange, |
| 118 arraysize(kDivXVersionRange), |
73 "http://download.divx.com/divx/autoupdate/player/" | 119 "http://download.divx.com/divx/autoupdate/player/" |
74 "DivXWebPlayerInstaller.exe" }, | 120 "DivXWebPlayerInstaller.exe" }, |
75 // These are here for grouping, no vulnerabilies known. | 121 // These are here for grouping, no vulnerabilities known. |
76 { "windows-media-player", "Windows Media Player", "Windows Media Player", | 122 { "windows-media-player", "Windows Media Player", "Windows Media Player", |
77 "", "", "", "" }, | 123 NULL, 0, "" }, |
78 { "microsoft-office", "Microsoft Office", "Microsoft Office", | 124 { "microsoft-office", "Microsoft Office", "Microsoft Office", |
79 "", "", "", "" }, | 125 NULL, 0, "" }, |
80 // TODO(panayiotis): The vulnerable versions are | 126 // TODO(panayiotis): The vulnerable versions are |
81 // (v >= 6.0.12.1040 && v <= 6.0.12.1663) | 127 // (v >= 6.0.12.1040 && v <= 6.0.12.1663) |
82 // || v == 6.0.12.1698 || v == 6.0.12.1741 | 128 // || v == 6.0.12.1698 || v == 6.0.12.1741 |
83 { "realplayer", "RealPlayer", "RealPlayer", "", "", "", | 129 { "realplayer", "RealPlayer", "RealPlayer", NULL, 0, |
84 "http://www.adobe.com/shockwave/download/" }, | 130 "www.real.com/realplayer/downloads" }, |
85 }; | 131 }; |
86 | 132 |
87 #else | 133 #else |
88 static const PluginGroupDefinition kGroupDefinitions[] = {}; | 134 static const PluginGroupDefinition kGroupDefinitions[] = {}; |
89 #endif | 135 #endif |
90 | 136 |
91 // static | 137 // static |
92 const PluginGroupDefinition* PluginList::GetPluginGroupDefinitions() { | 138 const PluginGroupDefinition* PluginList::GetPluginGroupDefinitions() { |
93 return kGroupDefinitions; | 139 return kGroupDefinitions; |
94 } | 140 } |
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
725 // memory tree green. | 771 // memory tree green. |
726 #if defined(OS_POSIX) | 772 #if defined(OS_POSIX) |
727 if (RUNNING_ON_VALGRIND) { | 773 if (RUNNING_ON_VALGRIND) { |
728 STLDeleteContainerPairSecondPointers(plugin_groups_.begin(), | 774 STLDeleteContainerPairSecondPointers(plugin_groups_.begin(), |
729 plugin_groups_.end()); | 775 plugin_groups_.end()); |
730 } | 776 } |
731 #endif | 777 #endif |
732 } | 778 } |
733 | 779 |
734 } // namespace NPAPI | 780 } // namespace NPAPI |
OLD | NEW |