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

Side by Side Diff: chrome/browser/chromeos/drive/file_system/create_file_operation.cc

Issue 23565004: drive: Stop using resource ID to access local metadata from CreateFileOperation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/file_system/create_file_operation.h" 5 #include "chrome/browser/chromeos/drive/file_system/create_file_operation.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "chrome/browser/chromeos/drive/drive.pb.h" 10 #include "chrome/browser/chromeos/drive/drive.pb.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 DCHECK(cache); 83 DCHECK(cache);
84 DCHECK(resource_entry); 84 DCHECK(resource_entry);
85 DCHECK(file_path); 85 DCHECK(file_path);
86 86
87 // Add the entry to the local resource metadata. 87 // Add the entry to the local resource metadata.
88 ResourceEntry entry; 88 ResourceEntry entry;
89 std::string parent_resource_id; 89 std::string parent_resource_id;
90 if (!ConvertToResourceEntry(*resource_entry, &entry, &parent_resource_id)) 90 if (!ConvertToResourceEntry(*resource_entry, &entry, &parent_resource_id))
91 return FILE_ERROR_NOT_A_FILE; 91 return FILE_ERROR_NOT_A_FILE;
92 92
93 // TODO(hashimoto): Resolve local ID before use. crbug.com/260514 93 std::string parent_local_id;
94 entry.set_parent_local_id(parent_resource_id); 94 FileError error = metadata->GetIdByResourceId(parent_resource_id,
95 &parent_local_id);
96 if (error != FILE_ERROR_OK)
97 return error;
98 entry.set_parent_local_id(parent_local_id);
95 99
96 std::string local_id; 100 std::string local_id;
97 FileError error = metadata->AddEntry(entry, &local_id); 101 error = metadata->AddEntry(entry, &local_id);
98 102
99 // Depending on timing, the metadata may have inserted via change list 103 // Depending on timing, the metadata may have inserted via change list
100 // already. So, FILE_ERROR_EXISTS is not an error. 104 // already. So, FILE_ERROR_EXISTS is not an error.
101 if (error == FILE_ERROR_EXISTS) 105 if (error == FILE_ERROR_EXISTS)
102 error = metadata->GetIdByResourceId(entry.resource_id(), &local_id); 106 error = metadata->GetIdByResourceId(entry.resource_id(), &local_id);
103 107
104 if (error == FILE_ERROR_OK) { 108 if (error == FILE_ERROR_OK) {
105 // At this point, upload to the server is fully succeeded. 109 // At this point, upload to the server is fully succeeded.
106 // Populate the |file_path| which will be used to notify the observer. 110 // Populate the |file_path| which will be used to notify the observer.
107 *file_path = metadata->GetFilePath(local_id); 111 *file_path = metadata->GetFilePath(local_id);
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 245
242 // Notify observer if the file creation process is successfully done. 246 // Notify observer if the file creation process is successfully done.
243 if (error == FILE_ERROR_OK) 247 if (error == FILE_ERROR_OK)
244 observer_->OnDirectoryChangedByOperation(file_path->DirName()); 248 observer_->OnDirectoryChangedByOperation(file_path->DirName());
245 249
246 callback.Run(error); 250 callback.Run(error);
247 } 251 }
248 252
249 } // namespace file_system 253 } // namespace file_system
250 } // namespace drive 254 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698