diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 440795831ae..ae2228ff941 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -67,6 +67,10 @@ int GetPathConstant(const std::string& name) { return brightray::DIR_APP_DATA; else if (name == "userData") return brightray::DIR_USER_DATA; + else if (name == "cache") + return brightray::DIR_CACHE; + else if (name == "userCache") + return brightray::DIR_USER_CACHE; else if (name == "home") return base::DIR_HOME; else diff --git a/atom/browser/default_app/main.js b/atom/browser/default_app/main.js index c7ea581cefa..103c05cc112 100644 --- a/atom/browser/default_app/main.js +++ b/atom/browser/default_app/main.js @@ -42,6 +42,7 @@ if (option.file && !option.webdriver) { else if (packageJson.name) app.setName(packageJson.name); app.setPath('userData', path.join(app.getPath('appData'), app.getName())); + app.setPath('userCache', path.join(app.getPath('cache'), app.getName())); } // Run the app. diff --git a/atom/browser/lib/init.coffee b/atom/browser/lib/init.coffee index b0cee6badf4..d3234db757a 100644 --- a/atom/browser/lib/init.coffee +++ b/atom/browser/lib/init.coffee @@ -90,8 +90,9 @@ process.once 'BIND_DONE', -> else app.setDesktopName '#{app.getName()}.desktop' - # Set the user data path according to application's name. + # Set the user path according to application's name. app.setPath 'userData', path.join(app.getPath('appData'), app.getName()) + app.setPath 'userCache', path.join(app.getPath('cache'), app.getName()) # Load the chrome extension support. require './chrome-extension.js' diff --git a/docs/api/app.md b/docs/api/app.md index b3203292478..9bc5c8b24ae 100644 --- a/docs/api/app.md +++ b/docs/api/app.md @@ -107,6 +107,12 @@ You can request following paths by the names: * `~/Library/Application Support` on OS X * `userData`: The directory for storing your app's configuration files, by default it is the `appData` directory appended with your app's name. +* `cache`: Per-user application cache directory, by default it is pointed to: + * `%APPDATA%` on Window, which doesn't has a universal place for cache + * `$XDG_CACHE_HOME` on Linux + * `~/Library/Caches` on OS X +* `userCache`: The directory for placing your app's caches, by default it is the + `cache` directory appended with your app's name. ## app.setPath(name, path) diff --git a/vendor/brightray b/vendor/brightray index f19c269ab97..ad17292154d 160000 --- a/vendor/brightray +++ b/vendor/brightray @@ -1 +1 @@ -Subproject commit f19c269ab974f22f31782c0c395119130fb59b15 +Subproject commit ad17292154ddd2436c377bbe2d10fa213338f4fa