Index: chrome_elf/chrome_elf_main.cc |
diff --git a/chrome_elf/chrome_elf_main.cc b/chrome_elf/chrome_elf_main.cc |
index 95e0a415c41cb988fb256fe91ce2a12e9567d437..a0bf20a3e53f494ce8f15b2dbcd2bc6fbefc2521 100644 |
--- a/chrome_elf/chrome_elf_main.cc |
+++ b/chrome_elf/chrome_elf_main.cc |
@@ -7,7 +7,9 @@ |
#include <assert.h> |
#include <windows.h> |
+#include "chrome/install_static/install_details.h" |
#include "chrome/install_static/install_util.h" |
+#include "chrome/install_static/product_install_details.h" |
#include "chrome_elf/blacklist/blacklist.h" |
#include "chrome_elf/crash/crash_helper.h" |
@@ -26,8 +28,17 @@ void SignalChromeElf() { |
blacklist::ResetBeacon(); |
} |
+// Returns the payload for the ELF's InstallDetails instance. For use by |
+// install_static::InstallDetails::InitializeFromPrimaryModule. |
+extern "C" const install_static::InstallDetails::Payload* |
+GetInstallDetailsPayload() { |
+ return install_static::InstallDetails::Get().GetPayload(); |
+} |
+ |
BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { |
if (reason == DLL_PROCESS_ATTACH) { |
+ install_static::InitializeProductDetailsForPrimaryModule(); |
+ |
// CRT on initialization installs an exception filter which calls |
// TerminateProcess. We need to hook CRT's attempt to set an exception. |
// NOTE: Do not hook if ASan is present, or ASan will fail to install |