Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(564)

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_util.cc

Issue 10538071: gdata: Convert FindEntryByResourceIdSync() to asynchronous. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/gdata/gdata_util.h" 5 #include "chrome/browser/chromeos/gdata/gdata_util.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 kReadOnlyFilePermissions)); 139 kReadOnlyFilePermissions));
140 cache_paths->push_back(std::make_pair( 140 cache_paths->push_back(std::make_pair(
141 file_system->GetCacheFilePath(resource_id, file_md5, 141 file_system->GetCacheFilePath(resource_id, file_md5,
142 GDataCache::CACHE_TYPE_TMP, 142 GDataCache::CACHE_TYPE_TMP,
143 GDataCache::CACHED_FILE_FROM_SERVER), 143 GDataCache::CACHED_FILE_FROM_SERVER),
144 kReadOnlyFilePermissions)); 144 kReadOnlyFilePermissions));
145 145
146 callback.Run(); 146 callback.Run();
147 } 147 }
148 148
149 // Invoked upon completeion of FindEntryByResourceIdAsync initiated by
achuithb 2012/06/11 20:46:37 completion
hshi1 2012/06/11 20:58:51 Done.
150 // ModifyGDataFileResourceUrl.
151 void OnFindEntryByResourceIdAsync(Profile* profile,
152 const std::string& resource_id,
153 base::PlatformFileError error,
154 GDataEntry* entry) {
155 if (error != base::PLATFORM_FILE_OK || !entry || !entry->AsGDataFile())
156 return;
157
158 std::string file_name = entry->AsGDataFile()->file_name();
159 GURL edit_url = GetFileResourceUrl(resource_id, file_name);
160 OpenEditURLUIThread(profile, &edit_url);
161 DVLOG(1) << "OnFindEntryByResourceIdAsync " << edit_url;
162 }
163
149 } // namespace 164 } // namespace
150 165
151 const FilePath& GetGDataMountPointPath() { 166 const FilePath& GetGDataMountPointPath() {
152 CR_DEFINE_STATIC_LOCAL(FilePath, gdata_mount_path, 167 CR_DEFINE_STATIC_LOCAL(FilePath, gdata_mount_path,
153 (FilePath::FromUTF8Unsafe(kGDataMountPointPath))); 168 (FilePath::FromUTF8Unsafe(kGDataMountPointPath)));
154 return gdata_mount_path; 169 return gdata_mount_path;
155 } 170 }
156 171
157 const std::string& GetGDataMountPointPathAsString() { 172 const std::string& GetGDataMountPointPathAsString() {
158 CR_DEFINE_STATIC_LOCAL(std::string, gdata_mount_path_string, 173 CR_DEFINE_STATIC_LOCAL(std::string, gdata_mount_path_string,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 base::Bind(&OpenEditURLUIThread, profile, base::Owned(edit_url))); 209 base::Bind(&OpenEditURLUIThread, profile, base::Owned(edit_url)));
195 *url = GURL(); 210 *url = GURL();
196 return; 211 return;
197 } 212 }
198 213
199 // Handle all other gdata files. 214 // Handle all other gdata files.
200 if (file_system->GetCacheDirectoryPath( 215 if (file_system->GetCacheDirectoryPath(
201 GDataCache::CACHE_TYPE_TMP).IsParent(gdata_cache_path)) { 216 GDataCache::CACHE_TYPE_TMP).IsParent(gdata_cache_path)) {
202 const std::string resource_id = 217 const std::string resource_id =
203 gdata_cache_path.BaseName().RemoveExtension().AsUTF8Unsafe(); 218 gdata_cache_path.BaseName().RemoveExtension().AsUTF8Unsafe();
204 GDataEntry* entry = NULL; 219 file_system->FindEntryByResourceIdAsync(resource_id,
205 file_system->FindEntryByResourceIdSync( 220 base::Bind(
206 resource_id, base::Bind(&ReadOnlyFindEntryCallback, &entry)); 221 &OnFindEntryByResourceIdAsync,
207 222 profile,
208 std::string file_name; 223 resource_id));
209 if (entry && entry->AsGDataFile()) 224 *url = GURL();
210 file_name = entry->AsGDataFile()->file_name(); 225 return;
211
212 *url = gdata::util::GetFileResourceUrl(resource_id, file_name);
213 DVLOG(1) << "ModifyGDataFileResourceUrl " << *url;
214 } 226 }
215 } 227 }
216 228
217 bool IsUnderGDataMountPoint(const FilePath& path) { 229 bool IsUnderGDataMountPoint(const FilePath& path) {
218 return GetGDataMountPointPath() == path || 230 return GetGDataMountPointPath() == path ||
219 GetGDataMountPointPath().IsParent(path); 231 GetGDataMountPointPath().IsParent(path);
220 } 232 }
221 233
222 GDataSearchPathType GetSearchPathStatus(const FilePath& path) { 234 GDataSearchPathType GetSearchPathStatus(const FilePath& path) {
223 std::vector<std::string> components; 235 std::vector<std::string> components;
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 // Assign the extracted extensions to md5 and extra_extension. 409 // Assign the extracted extensions to md5 and extra_extension.
398 int extension_count = extensions.size(); 410 int extension_count = extensions.size();
399 *md5 = (extension_count > 0) ? extensions[extension_count - 1] : 411 *md5 = (extension_count > 0) ? extensions[extension_count - 1] :
400 std::string(); 412 std::string();
401 *extra_extension = (extension_count > 1) ? extensions[extension_count - 2] : 413 *extra_extension = (extension_count > 1) ? extensions[extension_count - 2] :
402 std::string(); 414 std::string();
403 } 415 }
404 416
405 } // namespace util 417 } // namespace util
406 } // namespace gdata 418 } // namespace gdata
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698