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/drive/drive_app_registry.h" | 5 #include "chrome/browser/drive/drive_app_registry.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/files/file_path.h" | 12 #include "base/files/file_path.h" |
13 #include "chrome/browser/drive/drive_service_interface.h" | 13 #include "chrome/browser/drive/drive_service_interface.h" |
14 #include "content/public/browser/browser_thread.h" | 14 #include "content/public/browser/browser_thread.h" |
15 #include "google_apis/drive/drive_api_parser.h" | 15 #include "google_apis/drive/drive_api_parser.h" |
| 16 #include "google_apis/google_api_keys.h" |
16 | 17 |
17 using content::BrowserThread; | 18 using content::BrowserThread; |
18 | 19 |
19 namespace { | 20 namespace { |
20 | 21 |
21 // Add {selector -> app_id} mapping to |map|. | 22 // Add {selector -> app_id} mapping to |map|. |
22 void AddAppSelectorList(const ScopedVector<std::string>& selectors, | 23 void AddAppSelectorList(const ScopedVector<std::string>& selectors, |
23 const std::string& app_id, | 24 const std::string& app_id, |
24 std::multimap<std::string, std::string>* map) { | 25 std::multimap<std::string, std::string>* map) { |
25 for (size_t i = 0; i < selectors.size(); ++i) | 26 for (size_t i = 0; i < selectors.size(); ++i) |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 if (error == google_apis::HTTP_NO_CONTENT) { | 199 if (error == google_apis::HTTP_NO_CONTENT) { |
199 all_apps_.erase(app_id); | 200 all_apps_.erase(app_id); |
200 RemoveAppFromSelector(app_id, &mimetype_map_); | 201 RemoveAppFromSelector(app_id, &mimetype_map_); |
201 RemoveAppFromSelector(app_id, &extension_map_); | 202 RemoveAppFromSelector(app_id, &extension_map_); |
202 } | 203 } |
203 callback.Run(error); | 204 callback.Run(error); |
204 } | 205 } |
205 | 206 |
206 // static | 207 // static |
207 bool DriveAppRegistry::IsAppUninstallSupported() { | 208 bool DriveAppRegistry::IsAppUninstallSupported() { |
208 #ifdef USE_OFFICIAL_GOOGLE_API_KEYS | 209 return google_apis::IsGoogleChromeAPIKeyUsed(); |
209 return true; | |
210 #else | |
211 return false; | |
212 #endif | |
213 } | 210 } |
214 | 211 |
215 namespace util { | 212 namespace util { |
216 | 213 |
217 GURL FindPreferredIcon(const google_apis::InstalledApp::IconList& icons, | 214 GURL FindPreferredIcon(const google_apis::InstalledApp::IconList& icons, |
218 int preferred_size) { | 215 int preferred_size) { |
219 if (icons.empty()) | 216 if (icons.empty()) |
220 return GURL(); | 217 return GURL(); |
221 | 218 |
222 google_apis::InstalledApp::IconList sorted_icons = icons; | 219 google_apis::InstalledApp::IconList sorted_icons = icons; |
223 std::sort(sorted_icons.rbegin(), sorted_icons.rend()); | 220 std::sort(sorted_icons.rbegin(), sorted_icons.rend()); |
224 | 221 |
225 // Go forward while the size is larger or equal to preferred_size. | 222 // Go forward while the size is larger or equal to preferred_size. |
226 size_t i = 1; | 223 size_t i = 1; |
227 while (i < sorted_icons.size() && sorted_icons[i].first >= preferred_size) | 224 while (i < sorted_icons.size() && sorted_icons[i].first >= preferred_size) |
228 ++i; | 225 ++i; |
229 return sorted_icons[i - 1].second; | 226 return sorted_icons[i - 1].second; |
230 } | 227 } |
231 | 228 |
232 } // namespace util | 229 } // namespace util |
233 } // namespace drive | 230 } // namespace drive |
OLD | NEW |