Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Unified Diff: trunk/src/chrome/app/client_util.cc

Issue 19572012: Revert 212230 "Create top-level separate targets for browser and..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « trunk/src/chrome/app/chrome_main_delegate.cc ('k') | trunk/src/chrome/chrome.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: trunk/src/chrome/app/client_util.cc
===================================================================
--- trunk/src/chrome/app/client_util.cc (revision 212238)
+++ trunk/src/chrome/app/client_util.cc (working copy)
@@ -74,6 +74,18 @@
GoogleUpdateSettings::UpdateDidRunState(false, system_level);
}
+#if defined(CHROME_SPLIT_DLL)
+// Deferred initialization entry point for chrome1.dll.
+typedef BOOL (__stdcall *DoDeferredCrtInitFunc)(HINSTANCE hinstance);
+
+bool InitSplitChromeDll(HMODULE mod) {
+ if (!mod)
+ return false;
+ DoDeferredCrtInitFunc init = reinterpret_cast<DoDeferredCrtInitFunc>(
+ ::GetProcAddress(mod, "_DoDeferredCrtInit@4"));
+ return (init(mod) == TRUE);
+}
+#endif
} // namespace
string16 GetExecutablePath() {
@@ -154,6 +166,14 @@
DCHECK(dll);
+#if defined(CHROME_SPLIT_DLL)
+ // In split dlls mode, we need to manually initialize both DLLs because
+ // the circular dependencies between them make the loader not call the
+ // Dllmain for DLL_PROCESS_ATTACH.
+ InitSplitChromeDll(dll);
+ InitSplitChromeDll(::GetModuleHandleA("chrome1.dll"));
+#endif
+
return dll;
}
« no previous file with comments | « trunk/src/chrome/app/chrome_main_delegate.cc ('k') | trunk/src/chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698