OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chromeos/drive/drive_app_registry.h" | 5 #include "chrome/browser/chromeos/drive/drive_app_registry.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 DCHECK(is_updating_); | 155 DCHECK(is_updating_); |
156 is_updating_ = false; | 156 is_updating_ = false; |
157 | 157 |
158 FileError error = GDataToFileError(gdata_error); | 158 FileError error = GDataToFileError(gdata_error); |
159 if (error != FILE_ERROR_OK) { | 159 if (error != FILE_ERROR_OK) { |
160 // Failed to fetch the data from the server. We can do nothing here. | 160 // Failed to fetch the data from the server. We can do nothing here. |
161 return; | 161 return; |
162 } | 162 } |
163 | 163 |
164 DCHECK(app_list); | 164 DCHECK(app_list); |
| 165 UpdateFromAppList(*app_list); |
| 166 } |
165 | 167 |
| 168 void DriveAppRegistry::UpdateFromAppList( |
| 169 const google_apis::AppList& app_list) { |
166 url_to_name_map_.clear(); | 170 url_to_name_map_.clear(); |
167 STLDeleteValues(&app_extension_map_); | 171 STLDeleteValues(&app_extension_map_); |
168 STLDeleteValues(&app_mimetypes_map_); | 172 STLDeleteValues(&app_mimetypes_map_); |
169 for (size_t i = 0; i < app_list->items().size(); ++i) { | 173 for (size_t i = 0; i < app_list.items().size(); ++i) { |
170 const google_apis::AppResource& app = *app_list->items()[i]; | 174 const google_apis::AppResource& app = *app_list.items()[i]; |
171 if (app.product_url().is_empty()) | 175 if (app.product_url().is_empty()) |
172 continue; | 176 continue; |
173 | 177 |
174 google_apis::InstalledApp::IconList app_icons; | 178 google_apis::InstalledApp::IconList app_icons; |
175 google_apis::InstalledApp::IconList document_icons; | 179 google_apis::InstalledApp::IconList document_icons; |
176 for (size_t j = 0; j < app.icons().size(); ++j) { | 180 for (size_t j = 0; j < app.icons().size(); ++j) { |
177 const google_apis::DriveAppIcon& icon = *app.icons()[j]; | 181 const google_apis::DriveAppIcon& icon = *app.icons()[j]; |
178 if (icon.icon_url().is_empty()) | 182 if (icon.icon_url().is_empty()) |
179 continue; | 183 continue; |
180 if (icon.category() == google_apis::DriveAppIcon::APPLICATION) | 184 if (icon.category() == google_apis::DriveAppIcon::APPLICATION) |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 for (google_apis::InstalledApp::IconList::const_reverse_iterator | 298 for (google_apis::InstalledApp::IconList::const_reverse_iterator |
295 iter = sorted_icons.rbegin(); | 299 iter = sorted_icons.rbegin(); |
296 iter != sorted_icons.rend() && iter->first >= preferred_size; ++iter) { | 300 iter != sorted_icons.rend() && iter->first >= preferred_size; ++iter) { |
297 result = iter->second; | 301 result = iter->second; |
298 } | 302 } |
299 return result; | 303 return result; |
300 } | 304 } |
301 | 305 |
302 } // namespace util | 306 } // namespace util |
303 } // namespace drive | 307 } // namespace drive |
OLD | NEW |