mirror of
https://github.com/electron/electron.git
synced 2026-01-22 22:08:14 -05:00
Merge pull request #2175 from atom/propagate-app-model-id
Propagate App Model User ID on Windows
This commit is contained in:
@@ -8,6 +8,10 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include <shlobj.h>
|
||||
#endif
|
||||
|
||||
#include "atom/browser/atom_browser_context.h"
|
||||
#include "atom/browser/atom_browser_main_parts.h"
|
||||
#include "atom/browser/browser.h"
|
||||
@@ -388,6 +392,16 @@ void NativeWindow::AppendExtraCommandLineSwitches(
|
||||
command_line->AppendSwitchASCII(switches::kZoomFactor,
|
||||
base::DoubleToString(zoom_factor_));
|
||||
|
||||
#if defined(OS_WIN)
|
||||
PWSTR explicit_app_id;
|
||||
|
||||
if (SUCCEEDED(GetCurrentProcessExplicitAppUserModelID(&explicit_app_id))) {
|
||||
base::string16 appId = base::string16(explicit_app_id);
|
||||
command_line->AppendSwitchNative(switches::kAppUserModelId, appId);
|
||||
CoTaskMemFree(explicit_app_id);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (web_preferences_.IsEmpty())
|
||||
return;
|
||||
|
||||
|
||||
@@ -107,6 +107,9 @@ const char kDisableHttpCache[] = "disable-http-cache";
|
||||
// Register schemes to standard.
|
||||
const char kRegisterStandardSchemes[] = "register-standard-schemes";
|
||||
|
||||
// The browser process app model ID
|
||||
const char kAppUserModelId[] = "app-user-model-id";
|
||||
|
||||
} // namespace switches
|
||||
|
||||
} // namespace atom
|
||||
|
||||
@@ -58,6 +58,8 @@ extern const char kPageVisibility[];
|
||||
extern const char kDisableHttpCache[];
|
||||
extern const char kRegisterStandardSchemes[];
|
||||
|
||||
extern const char kAppUserModelId[];
|
||||
|
||||
} // namespace switches
|
||||
|
||||
} // namespace atom
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
|
||||
#include "atom/common/node_includes.h"
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include <shlobj.h>
|
||||
#endif
|
||||
|
||||
namespace atom {
|
||||
|
||||
namespace {
|
||||
@@ -87,6 +91,17 @@ void AtomRendererClient::WebKitInitialized() {
|
||||
blink::WebCustomElement::addEmbedderCustomElementName("webview");
|
||||
blink::WebCustomElement::addEmbedderCustomElementName("browserplugin");
|
||||
|
||||
#if defined(OS_WIN)
|
||||
base::CommandLine* command_line =
|
||||
base::CommandLine::ForCurrentProcess();
|
||||
base::string16 explicit_app_id =
|
||||
command_line->GetSwitchValueNative(switches::kAppUserModelId);
|
||||
|
||||
if (explicit_app_id.length() > 0) {
|
||||
SetCurrentProcessExplicitAppUserModelID(explicit_app_id.c_str());
|
||||
}
|
||||
#endif
|
||||
|
||||
node_bindings_->Initialize();
|
||||
node_bindings_->PrepareMessageLoop();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user