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

Side by Side Diff: chrome/browser/chromeos/drive/drive_file_system_util.cc

Issue 13586012: drive: Enable a hook to update the default download directory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add comment. Created 7 years, 8 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 | chrome/browser/chromeos/drive/drive_file_system_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/drive/drive_file_system_util.h" 5 #include "chrome/browser/chromeos/drive/drive_file_system_util.h"
6 6
7 #include <string> 7 #include <string>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 *url = GURL(); 225 *url = GURL();
226 } 226 }
227 } 227 }
228 228
229 bool IsUnderDriveMountPoint(const base::FilePath& path) { 229 bool IsUnderDriveMountPoint(const base::FilePath& path) {
230 return GetDriveMountPointPath() == path || 230 return GetDriveMountPointPath() == path ||
231 GetDriveMountPointPath().IsParent(path); 231 GetDriveMountPointPath().IsParent(path);
232 } 232 }
233 233
234 bool NeedsNamespaceMigration(const base::FilePath& path) { 234 bool NeedsNamespaceMigration(const base::FilePath& path) {
235 return false; 235 // Before migration, "My Drive" which was represented as "drive.
236 // TODO(haruki): Update this along with http://crbug.com/174233. 236 // The user might use some path pointing a directory in "My Drive".
237 // return IsUnderDriveMountPoint(path) && 237 // e.g. "drive/downloads_dir"
238 // !(GetDriveMyDriveMountPointPath() == path || 238 // We changed the path for the "My Drive" to "drive/root", hence the user pref
239 // GetDriveMyDriveMountPointPath().IsParent(path)); 239 // pointing to the old path needs update to the new path.
240 // e.g. "drive/root/downloads_dir"
241 // If |path| already points to some directory in "drive/root", there's no need
242 // to update it.
243 return IsUnderDriveMountPoint(path) &&
244 !(GetDriveMyDriveMountPointPath() == path ||
245 GetDriveMyDriveMountPointPath().IsParent(path));
240 } 246 }
241 247
242 base::FilePath ConvertToMyDriveNamespace(const base::FilePath& path) { 248 base::FilePath ConvertToMyDriveNamespace(const base::FilePath& path) {
243 // Double check the path. 249 DCHECK(NeedsNamespaceMigration(path));
244 // TODO(haruki): Update this with DCHECK(NeedsNamespaceMigration(path)).
245 DCHECK(IsUnderDriveMountPoint(path) &&
246 !(GetDriveMyDriveMountPointPath() == path ||
247 GetDriveMyDriveMountPointPath().IsParent(path)));
248 250
249 // Need to migrate "/special/drive(.*)" to "/special/drive/root(.*)". 251 // Need to migrate "/special/drive(.*)" to "/special/drive/root(.*)".
250 // Append the relative path from "/special/drive". 252 // Append the relative path from "/special/drive".
251 base::FilePath new_path(GetDriveMyDriveMountPointPath()); 253 base::FilePath new_path(GetDriveMyDriveMountPointPath());
252 GetDriveMountPointPath().AppendRelativePath(path, &new_path); 254 GetDriveMountPointPath().AppendRelativePath(path, &new_path);
253 DVLOG(1) << "Migrate download.default_directory setting from " 255 DVLOG(1) << "Migrate download.default_directory setting from "
254 << path.AsUTF8Unsafe() << " to " << new_path.AsUTF8Unsafe(); 256 << path.AsUTF8Unsafe() << " to " << new_path.AsUTF8Unsafe();
255 DCHECK(!NeedsNamespaceMigration(new_path)); 257 DCHECK(!NeedsNamespaceMigration(new_path));
256 return new_path; 258 return new_path;
257 } 259 }
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
430 proto->set_last_modified(file_info.last_modified.ToInternalValue()); 432 proto->set_last_modified(file_info.last_modified.ToInternalValue());
431 proto->set_last_accessed(file_info.last_accessed.ToInternalValue()); 433 proto->set_last_accessed(file_info.last_accessed.ToInternalValue());
432 proto->set_creation_time(file_info.creation_time.ToInternalValue()); 434 proto->set_creation_time(file_info.creation_time.ToInternalValue());
433 } 435 }
434 436
435 void EmptyFileOperationCallback(DriveFileError error) { 437 void EmptyFileOperationCallback(DriveFileError error) {
436 } 438 }
437 439
438 } // namespace util 440 } // namespace util
439 } // namespace drive 441 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/drive_file_system_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698