OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/browser/ui/pdf/adobe_reader_info_win.h" | 5 #include "chrome/browser/ui/pdf/adobe_reader_info_win.h" |
6 | 6 |
7 #include <shlwapi.h> | 7 #include <shlwapi.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 reader_info.is_secure = false; | 74 reader_info.is_secure = false; |
75 | 75 |
76 PluginFinder* plugin_finder = PluginFinder::GetInstance(); | 76 PluginFinder* plugin_finder = PluginFinder::GetInstance(); |
77 for (size_t i = 0; i < plugins.size(); ++i) { | 77 for (size_t i = 0; i < plugins.size(); ++i) { |
78 const content::WebPluginInfo& plugin = plugins[i]; | 78 const content::WebPluginInfo& plugin = plugins[i]; |
79 if (plugin.is_pepper_plugin()) | 79 if (plugin.is_pepper_plugin()) |
80 continue; | 80 continue; |
81 if (std::find_if(plugin.mime_types.begin(), plugin.mime_types.end(), | 81 if (std::find_if(plugin.mime_types.begin(), plugin.mime_types.end(), |
82 IsPdfMimeType) == plugin.mime_types.end()) | 82 IsPdfMimeType) == plugin.mime_types.end()) |
83 continue; | 83 continue; |
84 scoped_ptr<PluginMetadata> plugin_metadata( | 84 std::unique_ptr<PluginMetadata> plugin_metadata( |
85 plugin_finder->GetPluginMetadata(plugins[i])); | 85 plugin_finder->GetPluginMetadata(plugins[i])); |
86 if (plugin_metadata->identifier() != kAdobeReaderIdentifier) | 86 if (plugin_metadata->identifier() != kAdobeReaderIdentifier) |
87 continue; | 87 continue; |
88 | 88 |
89 reader_info.is_installed = true; | 89 reader_info.is_installed = true; |
90 | 90 |
91 if (profile) { | 91 if (profile) { |
92 scoped_refptr<PluginPrefs> plugin_prefs = | 92 scoped_refptr<PluginPrefs> plugin_prefs = |
93 PluginPrefs::GetForProfile(profile); | 93 PluginPrefs::GetForProfile(profile); |
94 PluginPrefs::PolicyStatus plugin_status = | 94 PluginPrefs::PolicyStatus plugin_status = |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 bool IsAdobeReaderDefaultPDFViewer() { | 163 bool IsAdobeReaderDefaultPDFViewer() { |
164 return IsAdobeReaderDefaultPDFViewerInternal(NULL); | 164 return IsAdobeReaderDefaultPDFViewerInternal(NULL); |
165 } | 165 } |
166 | 166 |
167 bool IsAdobeReaderUpToDate() { | 167 bool IsAdobeReaderUpToDate() { |
168 base::FilePath install_path; | 168 base::FilePath install_path; |
169 bool is_default = IsAdobeReaderDefaultPDFViewerInternal(&install_path); | 169 bool is_default = IsAdobeReaderDefaultPDFViewerInternal(&install_path); |
170 if (!is_default) | 170 if (!is_default) |
171 return false; | 171 return false; |
172 | 172 |
173 scoped_ptr<FileVersionInfo> file_version_info( | 173 std::unique_ptr<FileVersionInfo> file_version_info( |
174 FileVersionInfo::CreateFileVersionInfo(install_path)); | 174 FileVersionInfo::CreateFileVersionInfo(install_path)); |
175 if (!file_version_info) | 175 if (!file_version_info) |
176 return false; | 176 return false; |
177 | 177 |
178 std::string reader_version = | 178 std::string reader_version = |
179 base::UTF16ToUTF8(file_version_info->product_version()); | 179 base::UTF16ToUTF8(file_version_info->product_version()); |
180 // Convert 1.2.03.45 to 1.2.3.45 so base::Version considers it as valid. | 180 // Convert 1.2.03.45 to 1.2.3.45 so base::Version considers it as valid. |
181 for (int i = 1; i <= 9; ++i) { | 181 for (int i = 1; i <= 9; ++i) { |
182 std::string from = base::StringPrintf(".0%d", i); | 182 std::string from = base::StringPrintf(".0%d", i); |
183 std::string to = base::StringPrintf(".%d", i); | 183 std::string to = base::StringPrintf(".%d", i); |
184 base::ReplaceSubstringsAfterOffset(&reader_version, 0, from, to); | 184 base::ReplaceSubstringsAfterOffset(&reader_version, 0, from, to); |
185 } | 185 } |
186 base::Version file_version(reader_version); | 186 base::Version file_version(reader_version); |
187 return file_version.IsValid() && | 187 return file_version.IsValid() && |
188 file_version >= base::Version(kSecureVersion); | 188 file_version >= base::Version(kSecureVersion); |
189 } | 189 } |
OLD | NEW |