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, |
37 "http://www.apple.com/quicktime/download/" }, | 56 1, "http://www.apple.com/quicktime/download/" }, |
38 { "java-runtime-environment", "Java", "Java", "", "", "", | 57 { "java-runtime-environment", "Java", "Java", kJavaVersionRange, |
39 "http://support.apple.com/kb/HT1338" }, | 58 1, "http://support.apple.com/kb/HT1338" }, |
40 { "adobe-flash-player", "Flash", "Shockwave Flash", "", "", "10.1.102", | 59 { "adobe-flash-player", "Flash", "Shockwave Flash", kFlashVersionRange, |
41 "http://get.adobe.com/flashplayer/" }, | 60 1, "http://get.adobe.com/flashplayer/" }, |
42 { "silverlight-3", "Silverlight 3", "Silverlight", "0", "4", "3.0.50106.0", | 61 { "silverlight", "Silverlight", "Silverlight", kSilverlightVersionRange, |
43 "http://www.microsoft.com/getsilverlight/" }, | 62 2, "http://www.microsoft.com/getsilverlight/" }, |
44 { "silverlight-4", "Silverlight 4", "Silverlight", "4", "5", "", | 63 { "flip4mac", "Flip4Mac", "Flip4Mac", kFlip4MacVersionRange, |
45 "http://www.microsoft.com/getsilverlight/" }, | 64 1, "http://www.telestream.net/flip4mac-wmv/overview.htm" }, |
46 { "flip4mac", "Flip4Mac", "Flip4Mac", "", "", "2.2.1", | 65 { "shockwave", "Shockwave", "Shockwave for Director", kShockwaveVersionRange, |
47 "http://www.telestream.net/flip4mac-wmv/overview.htm" }, | 66 1, "http://www.adobe.com/shockwave/download/" } |
48 { "shockwave", "Shockwave", "Shockwave for Director", "", "", "11.5.9.615", | |
49 "http://www.adobe.com/shockwave/download/" } | |
50 }; | 67 }; |
51 | 68 |
52 #elif defined(OS_WIN) | 69 #elif defined(OS_WIN) |
53 // TODO(panayiotis): We should group "RealJukebox NS Plugin" with the rest of | 70 // TODO(panayiotis): We should group "RealJukebox NS Plugin" with the rest of |
54 // the RealPlayer files. | 71 // the RealPlayer files. |
72 static const VersionRangeDefinition kQuicktimeVersionRange[] = { | |
73 { "", "", "7.6.8" } | |
74 }; | |
75 static const VersionRangeDefinition kJavaVersionRange[] = { | |
76 { "0", "7", "6.0.220" } // "220" is not a typo. | |
77 }; | |
78 static const VersionRangeDefinition kAdobeReaderVersionRange[] = { | |
79 { "10", "11", "" }, | |
80 { "9", "10", "9.4.1" }, | |
81 { "0", "9", "8.2.5" } | |
82 }; | |
83 static const VersionRangeDefinition kFlashVersionRange[] = { | |
84 { "", "", "10.1.102" } | |
85 }; | |
86 static const VersionRangeDefinition kSilverlightVersionRange[] = { | |
87 { "0", "4", "3.0.50106.0" }, | |
88 { "4", "5", "" } | |
89 }; | |
90 static const VersionRangeDefinition kShockwaveVersionRange[] = { | |
91 { "", "", "11.5.9.615" } | |
92 }; | |
93 static const VersionRangeDefinition kDivXVersionRange[] = { | |
94 { "", "", "1.4.3.4" } | |
95 }; | |
55 static const PluginGroupDefinition kGroupDefinitions[] = { | 96 static const PluginGroupDefinition kGroupDefinitions[] = { |
56 { "apple-quicktime", "Quicktime", "QuickTime Plug-in", "", "", "7.6.8", | 97 { "apple-quicktime", "Quicktime", "QuickTime Plug-in", kQuicktimeVersionRange, |
57 "http://www.apple.com/quicktime/download/" }, | 98 1, "http://www.apple.com/quicktime/download/" }, |
Bernhard Bauer
2010/12/08 13:36:30
Please use arraysize() instead of hard-coding it.
Jakob Kummerow
2010/12/09 08:58:17
Done.
| |
58 { "java-runtime-environment", "Java 6", "Java", "", "6", "6.0.220", | 99 { "java-runtime-environment", "Java 6", "Java", kJavaVersionRange, |
59 "http://www.java.com/" }, | 100 1, "http://www.java.com/" }, |
60 { "adobe-reader", PluginGroup::kAdobeReader9GroupName, "Adobe Acrobat", "9", | 101 { "adobe-reader", PluginGroup::kAdobeReaderGroupName, "Adobe Acrobat", |
61 "10", "9.4.1", "http://get.adobe.com/reader/" }, | 102 kAdobeReaderVersionRange, 3, "http://get.adobe.com/reader/" }, |
62 { "adobe-reader-8", PluginGroup::kAdobeReader8GroupName, "Adobe Acrobat", "0", | 103 { "adobe-flash-player", "Flash", "Shockwave Flash", kFlashVersionRange, |
63 "9", "8.2.5", "http://get.adobe.com/reader/" }, | 104 1, "http://get.adobe.com/flashplayer/" }, |
64 { "adobe-flash-player", "Flash", "Shockwave Flash", "", "", "10.1.102", | 105 { "silverlight", "Silverlight", "Silverlight", kSilverlightVersionRange, |
65 "http://get.adobe.com/flashplayer/" }, | 106 2, "http://www.microsoft.com/getsilverlight/" }, |
66 { "silverlight-3", "Silverlight 3", "Silverlight", "0", "4", "3.0.50106.0", | 107 { "shockwave", "Shockwave", "Shockwave for Director", kShockwaveVersionRange, |
67 "http://www.microsoft.com/getsilverlight/" }, | 108 1, "http://www.adobe.com/shockwave/download/" }, |
68 { "silverlight-4", "Silverlight 4", "Silverlight", "4", "5", "", | 109 { "divx-player", "DivX Player", "DivX Web Player", kDivXVersionRange, |
69 "http://www.microsoft.com/getsilverlight/" }, | 110 1, "http://download.divx.com/divx/autoupdate/player/" |
70 { "shockwave", "Shockwave", "Shockwave for Director", "", "", "11.5.9.615", | |
71 "http://www.adobe.com/shockwave/download/" }, | |
72 { "divx-player", "DivX Player", "DivX Web Player", "", "", "1.4.3.4", | |
73 "http://download.divx.com/divx/autoupdate/player/" | |
74 "DivXWebPlayerInstaller.exe" }, | 111 "DivXWebPlayerInstaller.exe" }, |
75 // These are here for grouping, no vulnerabilies known. | 112 // These are here for grouping, no vulnerabilities known. |
76 { "windows-media-player", "Windows Media Player", "Windows Media Player", | 113 { "windows-media-player", "Windows Media Player", "Windows Media Player", |
77 "", "", "", "" }, | 114 NULL, 0, "" }, |
78 { "microsoft-office", "Microsoft Office", "Microsoft Office", | 115 { "microsoft-office", "Microsoft Office", "Microsoft Office", |
79 "", "", "", "" }, | 116 NULL, 0, "" }, |
80 // TODO(panayiotis): The vulnerable versions are | 117 // TODO(panayiotis): The vulnerable versions are |
81 // (v >= 6.0.12.1040 && v <= 6.0.12.1663) | 118 // (v >= 6.0.12.1040 && v <= 6.0.12.1663) |
82 // || v == 6.0.12.1698 || v == 6.0.12.1741 | 119 // || v == 6.0.12.1698 || v == 6.0.12.1741 |
83 { "realplayer", "RealPlayer", "RealPlayer", "", "", "", | 120 { "realplayer", "RealPlayer", "RealPlayer", NULL, 0, |
84 "http://www.adobe.com/shockwave/download/" }, | 121 "www.real.com/realplayer/downloads" }, |
85 }; | 122 }; |
86 | 123 |
87 #else | 124 #else |
88 static const PluginGroupDefinition kGroupDefinitions[] = {}; | 125 static const PluginGroupDefinition kGroupDefinitions[] = {}; |
89 #endif | 126 #endif |
90 | 127 |
91 // static | 128 // static |
92 const PluginGroupDefinition* PluginList::GetPluginGroupDefinitions() { | 129 const PluginGroupDefinition* PluginList::GetPluginGroupDefinitions() { |
93 return kGroupDefinitions; | 130 return kGroupDefinitions; |
94 } | 131 } |
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
725 // memory tree green. | 762 // memory tree green. |
726 #if defined(OS_POSIX) | 763 #if defined(OS_POSIX) |
727 if (RUNNING_ON_VALGRIND) { | 764 if (RUNNING_ON_VALGRIND) { |
728 STLDeleteContainerPairSecondPointers(plugin_groups_.begin(), | 765 STLDeleteContainerPairSecondPointers(plugin_groups_.begin(), |
729 plugin_groups_.end()); | 766 plugin_groups_.end()); |
730 } | 767 } |
731 #endif | 768 #endif |
732 } | 769 } |
733 | 770 |
734 } // namespace NPAPI | 771 } // namespace NPAPI |
OLD | NEW |