retrieve download directory using on linux
This commit is contained in:
parent
bb439c5f1c
commit
bfaa50a79e
2 changed files with 17 additions and 1 deletions
|
@ -22,6 +22,7 @@
|
||||||
#include "base/command_line.h"
|
#include "base/command_line.h"
|
||||||
#include "base/environment.h"
|
#include "base/environment.h"
|
||||||
#include "base/files/file_path.h"
|
#include "base/files/file_path.h"
|
||||||
|
#include "base/nix/xdg_util.h"
|
||||||
#include "base/path_service.h"
|
#include "base/path_service.h"
|
||||||
#include "brightray/browser/brightray_paths.h"
|
#include "brightray/browser/brightray_paths.h"
|
||||||
#include "content/public/browser/client_certificate_delegate.h"
|
#include "content/public/browser/client_certificate_delegate.h"
|
||||||
|
@ -155,6 +156,17 @@ void PassLoginInformation(scoped_refptr<LoginHandler> login_handler,
|
||||||
login_handler->CancelAuth();
|
login_handler->CancelAuth();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool GetUserDownloadsDirectory(base::FilePath* path) {
|
||||||
|
#if defined(OS_LINUX)
|
||||||
|
*path = base::nix::GetXDGUserDirectory("DOWNLOAD", "Downloads");
|
||||||
|
return true;
|
||||||
|
#elif defined(OS_MACOSX)
|
||||||
|
return false;
|
||||||
|
#elif defined(OS_WIN)
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
App::App() {
|
App::App() {
|
||||||
|
@ -272,8 +284,11 @@ base::FilePath App::GetPath(mate::Arguments* args, const std::string& name) {
|
||||||
int key = GetPathConstant(name);
|
int key = GetPathConstant(name);
|
||||||
if (key >= 0)
|
if (key >= 0)
|
||||||
succeed = PathService::Get(key, &path);
|
succeed = PathService::Get(key, &path);
|
||||||
if (!succeed)
|
if (!succeed) {
|
||||||
|
if (name == "downloads" && GetUserDownloadsDirectory(&path))
|
||||||
|
return path;
|
||||||
args->ThrowError("Failed to get path");
|
args->ThrowError("Failed to get path");
|
||||||
|
}
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -241,6 +241,7 @@ You can request the following paths by the name:
|
||||||
* `userDesktop` The current user's Desktop directory.
|
* `userDesktop` The current user's Desktop directory.
|
||||||
* `exe` The current executable file.
|
* `exe` The current executable file.
|
||||||
* `module` The `libchromiumcontent` library.
|
* `module` The `libchromiumcontent` library.
|
||||||
|
* `downloads` User's download directory.
|
||||||
|
|
||||||
### `app.setPath(name, path)`
|
### `app.setPath(name, path)`
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue