From 1b165559f550f7dc421683d345b032e71e070e04 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 3 Nov 2015 15:49:37 +0800 Subject: [PATCH] win: Use electron.app.$1 as default user model id This is to keep compatibility with old apps that don't set app user model id explicitly. --- atom/browser/browser_win.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/atom/browser/browser_win.cc b/atom/browser/browser_win.cc index a2725b17c1f..ce36d56b620 100644 --- a/atom/browser/browser_win.cc +++ b/atom/browser/browser_win.cc @@ -15,6 +15,7 @@ #include "base/files/file_path.h" #include "base/memory/scoped_ptr.h" #include "base/path_service.h" +#include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" #include "base/win/win_util.h" @@ -25,6 +26,8 @@ namespace atom { namespace { +const wchar_t kAppUserModelIDFormat[] = L"electron.app.$1"; + BOOL CALLBACK WindowsEnumerationHandler(HWND hwnd, LPARAM param) { DWORD target_process_id = *reinterpret_cast(param); DWORD process_id = 0; @@ -123,8 +126,10 @@ void Browser::SetUserTasks(const std::vector& tasks) { } PCWSTR Browser::GetAppUserModelID() { - if (app_user_model_id_.empty()) - SetAppUserModelID(base::UTF8ToUTF16(GetName())); + if (app_user_model_id_.empty()) { + SetAppUserModelID(ReplaceStringPlaceholders( + kAppUserModelIDFormat, base::UTF8ToUTF16(GetName()), nullptr)); + } return app_user_model_id_.c_str(); }