diff --git a/atom/browser/api/atom_api_app.cc b/atom/browser/api/atom_api_app.cc index 37cfaf640395..78de29c1fac3 100644 --- a/atom/browser/api/atom_api_app.cc +++ b/atom/browser/api/atom_api_app.cc @@ -200,6 +200,13 @@ void App::SetDesktopName(const std::string& desktop_name) { #endif } +void App::SetAppUserModelId(const std::string& app_id) { +#if defined(OS_WIN) + base::string16 app_id_utf16 = base::UTF8ToUTF16(app_id); + SetCurrentProcessExplicitAppUserModelID(app_id_utf16.c_str()); +#endif +} + mate::ObjectTemplateBuilder App::GetObjectTemplateBuilder( v8::Isolate* isolate) { auto browser = base::Unretained(Browser::Get()); @@ -223,6 +230,7 @@ mate::ObjectTemplateBuilder App::GetObjectTemplateBuilder( .SetMethod("getPath", &App::GetPath) .SetMethod("resolveProxy", &App::ResolveProxy) .SetMethod("setDesktopName", &App::SetDesktopName); + .SetMethod("setAppUserModelId", &App::SetAppUserModelId); } // static diff --git a/atom/browser/api/atom_api_app.h b/atom/browser/api/atom_api_app.h index 062d2d083d2a..c2f9212b7ca7 100644 --- a/atom/browser/api/atom_api_app.h +++ b/atom/browser/api/atom_api_app.h @@ -61,6 +61,7 @@ class App : public mate::EventEmitter, void ResolveProxy(const GURL& url, ResolveProxyCallback callback); void SetDesktopName(const std::string& desktop_name); + void SetAppUserModelId(const std::string& app_id); DISALLOW_COPY_AND_ASSIGN(App); };