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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_CHROMEOS_FILE_MANAGER_PATH_UTIL_H_
6 #define CHROME_BROWSER_CHROMEOS_FILE_MANAGER_PATH_UTIL_H_
14 namespace file_manager {
17 // Gets the absolute path for the 'Downloads' folder for the |profile|.
18 base::FilePath GetDownloadsFolderForProfile(Profile* profile);
20 // Converts |old_path| to |new_path| and returns true, if the old path points
21 // to an old location of user folders (in "Downloads" or "Google Drive").
22 // The |profile| argument is used for determining the location of the
23 // "Downloads" folder.
25 // Here's the list of relocations we have made so far.
27 // M28: crbug.com/229304
28 // The "Google Drive" folder is moved from /special/drive to
29 // /special/drive/root to stored shared files outside of "My Drive" in
30 // /special/drive/other.
32 // [TODO(kinaba) not yet happening at this point crbug/309556]
33 // M32: crbug.com/313539
34 // The "Downloads" folder is changed from /home/chronos/user/Downloads to
35 // /home/chronos/u-<hash>/Downloads to support multi profiles.
37 // The path "/home/chronos/user" is a hard link to the u-<hash> directory of
38 // the primary profile of the current session. The two paths always meant the
39 // same directory before multi-profiles. However, for secondary profiles in
40 // a multi-profile session, the "user" path cannot be used to mean "its own"
41 // Download folder anymore. Thus we are switching to always use "u-<hash>"
42 // that consistently works whether or not multi-profile is enabled.
43 bool MigratePathFromOldFormat(Profile* profile,
44 const base::FilePath& old_path,
45 base::FilePath* new_path);
48 } // namespace file_manager
50 #endif // CHROME_BROWSER_CHROMEOS_FILE_MANAGER_PATH_UTIL_H_