Chromium Code Reviews| Index: components/filesystem/file_system_app.cc |
| diff --git a/components/filesystem/file_system_app.cc b/components/filesystem/file_system_app.cc |
| index 0de2211a729820b3caac005f3b5c1b5c98b33028..b06d20ff6c5390bfbaa0e392bb384f0b2145fa2f 100644 |
| --- a/components/filesystem/file_system_app.cc |
| +++ b/components/filesystem/file_system_app.cc |
| @@ -4,37 +4,22 @@ |
| #include "components/filesystem/file_system_app.h" |
| -#include "base/command_line.h" |
| -#include "base/files/file_path.h" |
| -#include "base/files/file_util.h" |
| +#include "base/logging.h" |
| #include "mojo/shell/public/cpp/connection.h" |
| #include "mojo/shell/public/cpp/shell.h" |
| -#if defined(OS_WIN) |
| -#include "base/base_paths_win.h" |
| -#include "base/path_service.h" |
| -#include "base/strings/utf_string_conversions.h" |
| -#elif defined(OS_ANDROID) |
| -#include "base/base_paths_android.h" |
| -#include "base/path_service.h" |
| -#elif defined(OS_LINUX) |
| -#include "base/environment.h" |
| -#include "base/nix/xdg_util.h" |
| -#elif defined(OS_MACOSX) |
| -#include "base/base_paths_mac.h" |
| -#include "base/path_service.h" |
| -#endif |
| - |
| namespace filesystem { |
| -namespace { |
| - |
| -const char kUserDataDir[] = "user-data-dir"; |
| - |
| -} // namespace filesystem |
| +scoped_ptr<mojo::ShellClient> CreateFileSystemApp( |
| + const base::FilePath& persistent_dir) { |
| + return make_scoped_ptr(new FileSystemApp(persistent_dir)); |
| +} |
| -FileSystemApp::FileSystemApp() |
| - : shell_(nullptr), lock_table_(new LockTable) {} |
| +FileSystemApp::FileSystemApp(const base::FilePath& persistent_dir) |
| + : shell_(nullptr), |
| + lock_table_(new LockTable), |
|
michaeln
2016/02/26 21:59:24
This only works if there's only one filesystem ven
Elliot Glaysher
2016/03/02 23:06:19
Two points:
- The filesystem app was meant to be
|
| + persistent_dir_(persistent_dir) { |
| +} |
| FileSystemApp::~FileSystemApp() {} |
| @@ -52,43 +37,8 @@ bool FileSystemApp::AcceptConnection(mojo::Connection* connection) { |
| // |InterfaceFactory<Files>| implementation: |
| void FileSystemApp::Create(mojo::Connection* connection, |
| mojo::InterfaceRequest<FileSystem> request) { |
| - new FileSystemImpl(connection, std::move(request), GetUserDataDir(), |
| + new FileSystemImpl(connection, std::move(request), persistent_dir_, |
| lock_table_.get()); |
| } |
| -//static |
| -base::FilePath FileSystemApp::GetUserDataDir() { |
| - base::FilePath path; |
| - |
| - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| - if (command_line->HasSwitch(kUserDataDir)) { |
| - path = command_line->GetSwitchValuePath(kUserDataDir); |
| - } else { |
| -#if defined(OS_WIN) |
| - CHECK(PathService::Get(base::DIR_LOCAL_APP_DATA, &path)); |
| - path = path.Append(FILE_PATH_LITERAL("mandoline")); |
| -#elif defined(OS_LINUX) |
| - scoped_ptr<base::Environment> env(base::Environment::Create()); |
| - base::FilePath config_dir( |
| - base::nix::GetXDGDirectory(env.get(), |
| - base::nix::kXdgConfigHomeEnvVar, |
| - base::nix::kDotConfigDir)); |
| - path = config_dir.Append("mandoline"); |
| -#elif defined(OS_MACOSX) |
| - CHECK(PathService::Get(base::DIR_APP_DATA, &path)); |
| - path = path.Append("Mandoline Shell"); |
| -#elif defined(OS_ANDROID) |
| - CHECK(PathService::Get(base::DIR_ANDROID_APP_DATA, &path)); |
| - path = path.Append(FILE_PATH_LITERAL("mandoline")); |
| -#else |
| - NOTIMPLEMENTED(); |
| -#endif |
| - } |
| - |
| - if (!base::PathExists(path)) |
| - base::CreateDirectory(path); |
| - |
| - return path; |
| -} |
| - |
| } // namespace filesystem |