summaryrefslogtreecommitdiffstats
path: root/chrome/app
diff options
context:
space:
mode:
authorcaitkp@chromium.org <caitkp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-13 10:01:01 +0000
committercaitkp@chromium.org <caitkp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-13 10:01:01 +0000
commit91f0755c0f15ae1f49dc2d38309f9c5882945a18 (patch)
tree7072b3d791f6f811300eafac5b55b71d87340085 /chrome/app
parenta644bc199536de369b6a9feb66dba1b4f2b69e0a (diff)
downloadchromium_src-91f0755c0f15ae1f49dc2d38309f9c5882945a18.zip
chromium_src-91f0755c0f15ae1f49dc2d38309f9c5882945a18.tar.gz
chromium_src-91f0755c0f15ae1f49dc2d38309f9c5882945a18.tar.bz2
Chrome Early Loading Framework
chrome_elf.dll is shipped in Chrome's version directory to ease updates, and is loaded early in chrome.exe's lifetime by making it a private assembly in a subfolder of chrome.exe's folder (see http://msdn.microsoft.com/library/aa374224.aspx). BUG= http://crosbug.com/p/23889 Review URL: https://codereview.chromium.org/53793002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234795 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app')
-rw-r--r--chrome/app/DEPS1
-rw-r--r--chrome/app/chrome_exe_main_win.cc5
2 files changed, 6 insertions, 0 deletions
diff --git a/chrome/app/DEPS b/chrome/app/DEPS
index 4d39b78..c58a555 100644
--- a/chrome/app/DEPS
+++ b/chrome/app/DEPS
@@ -6,6 +6,7 @@ include_rules = [
"+chrome/plugin/chrome_content_plugin_client.h",
"+chrome/renderer/chrome_content_renderer_client.h",
"+chrome/utility/chrome_content_utility_client.h",
+ "+chrome_elf/chrome_elf_main.h",
"+chromeos/chromeos_paths.h",
"+chromeos/chromeos_switches.h",
"+components/breakpad",
diff --git a/chrome/app/chrome_exe_main_win.cc b/chrome/app/chrome_exe_main_win.cc
index 5c1d0d88b..0a22aad 100644
--- a/chrome/app/chrome_exe_main_win.cc
+++ b/chrome/app/chrome_exe_main_win.cc
@@ -19,6 +19,7 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/common/chrome_paths_internal.h"
#include "chrome/common/chrome_switches.h"
+#include "chrome_elf/chrome_elf_main.h"
#include "components/breakpad/app/breakpad_client.h"
#include "components/breakpad/app/breakpad_win.h"
#include "content/public/app/startup_helper_win.h"
@@ -119,6 +120,10 @@ int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE prev, wchar_t*, int) {
if (AttemptFastNotify(*CommandLine::ForCurrentProcess()))
return 0;
+ // The purpose of this call is to force the addition of an entry in the IAT
+ // for chrome_elf.dll to force a load time dependency.
+ InitChromeElf();
+
MetroDriver metro_driver;
if (metro_driver.in_metro_mode())
return metro_driver.RunInMetro(instance, &RunChrome);