Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chrome / common / v8_breakpad_support_win.cc
blobd0c496250fafabc4f343b13c8ae1ef93ad6f2268
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/common/v8_breakpad_support_win.h"
7 #include <windows.h>
9 #include "base/logging.h"
10 #include "chrome/common/chrome_constants.h"
11 #include "gin/public/debug.h"
13 namespace v8_breakpad_support {
15 void SetUp() {
16 #ifdef _WIN64
17 // Get the breakpad pointer from chrome.exe
18 gin::Debug::CodeRangeCreatedCallback create_callback =
19 reinterpret_cast<gin::Debug::CodeRangeCreatedCallback>(
20 ::GetProcAddress(::GetModuleHandle(
21 chrome::kBrowserProcessExecutableName),
22 "RegisterNonABICompliantCodeRange"));
23 gin::Debug::CodeRangeDeletedCallback delete_callback =
24 reinterpret_cast<gin::Debug::CodeRangeDeletedCallback>(
25 ::GetProcAddress(::GetModuleHandle(
26 chrome::kBrowserProcessExecutableName),
27 "UnregisterNonABICompliantCodeRange"));
28 // When running e.g. browser_tests.exe, these might be NULL.
29 if (create_callback && delete_callback) {
30 gin::Debug::SetCodeRangeCreatedCallback(create_callback);
31 gin::Debug::SetCodeRangeDeletedCallback(delete_callback);
33 #endif
36 } // namespace v8_breakpad_support