diff options
author | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-04 22:18:57 +0000 |
---|---|---|
committer | robertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-04 22:18:57 +0000 |
commit | 74d1eecc72f97cb759ea252d8838f5ee46670938 (patch) | |
tree | 0de991eb6f83c7390d4a72c6b467a2ed9dd3582d /chrome_frame | |
parent | ef9fc5845fa7e3d2e9b601bfae60805b8f1c3b89 (diff) | |
download | chromium_src-74d1eecc72f97cb759ea252d8838f5ee46670938.zip chromium_src-74d1eecc72f97cb759ea252d8838f5ee46670938.tar.gz chromium_src-74d1eecc72f97cb759ea252d8838f5ee46670938.tar.bz2 |
Continue to remove CHROME_FRAME_BUILD define from code that goes into chrome.dll. This reworks the browser distribution code to use the ChromeFrameBrowserDistribution iff --chrome-frame is present on the command line.
Also,
* At startup, chrome.exe now uses the BrowserDistribution code to determine where the Chromium version key resides (instead of hard coding it).
* The installer now propagates the presence of --verbose-logging to uninstalls.
* The chrome_launcher now allows the --chrome-frame switch through to chrome.
* The installer now accepts a --chrome-frame switch.
* Remove almost all occurences of the CHROME_FRAME_BUILD define from the installer.
BUG=26012, 26603
TEST=Chrome Frame still builds and runs correctly. Chrome Frame builds built without 'branding'='Chrome' now install correctly.
Review URL: http://codereview.chromium.org/345021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31015 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame')
-rw-r--r-- | chrome_frame/chrome_frame_automation.cc | 9 | ||||
-rw-r--r-- | chrome_frame/chrome_launcher.cc | 1 | ||||
-rw-r--r-- | chrome_frame/chrome_tab.cc | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/chrome_frame/chrome_frame_automation.cc b/chrome_frame/chrome_frame_automation.cc index 13a7339..0cafc87 100644 --- a/chrome_frame/chrome_frame_automation.cc +++ b/chrome_frame/chrome_frame_automation.cc @@ -165,8 +165,8 @@ ProxyFactory::ProxyFactory() ProxyFactory::~ProxyFactory() { for (size_t i = 0; i < proxies_.container().size(); ++i) { - if (WAIT_OBJECT_0 != - WaitForSingleObject(proxies_[i]->thread->thread_handle(), 0)) + DWORD result = WaitForSingleObject(proxies_[i]->thread->thread_handle(), 0); + if (WAIT_OBJECT_0 != result) // TODO(stoyan): Don't leak proxies on exit. DLOG(ERROR) << "Proxies leaked on exit."; } @@ -245,6 +245,11 @@ void ProxyFactory::CreateProxy(ProxyFactory::ProxyCacheEntry* entry, // to do with an improperly set up profile... command_line->AppendSwitch(switches::kDisableMetrics); + // Run Chrome in Chrome Frame mode. In practice, this modifies the paths + // and registry keys that Chrome looks in via the BrowserDistribution + // mechanism. + command_line->AppendSwitch(switches::kChromeFrame); + // Chrome Frame never wants Chrome to start up with a First Run UI. command_line->AppendSwitch(switches::kNoFirstRun); diff --git a/chrome_frame/chrome_launcher.cc b/chrome_frame/chrome_launcher.cc index af35481..731ff04 100644 --- a/chrome_frame/chrome_launcher.cc +++ b/chrome_frame/chrome_launcher.cc @@ -21,6 +21,7 @@ const wchar_t kLauncherExeBaseName[] = L"chrome_launcher.exe"; // safe-for-Low-Integrity version of the Chrome command line. const char* kAllowedSwitches[] = { switches::kAutomationClientChannelID, + switches::kChromeFrame, switches::kDisableMetrics, switches::kEnableRendererAccessibility, switches::kEnableExperimentalExtensionApis, diff --git a/chrome_frame/chrome_tab.cc b/chrome_frame/chrome_tab.cc index 8c526c4..0c79b03 100644 --- a/chrome_frame/chrome_tab.cc +++ b/chrome_frame/chrome_tab.cc @@ -126,9 +126,9 @@ extern "C" BOOL WINAPI DllMain(HINSTANCE instance, ATL::CTrace::s_trace.ChangeCategory(atlTraceRegistrar, 0, ATLTRACESTATUS_DISABLED); #endif + CommandLine::Init(0, NULL); InitializeCrashReporting(); g_exit_manager = new base::AtExitManager(); - CommandLine::Init(0, NULL); logging::InitLogging(NULL, logging::LOG_ONLY_TO_SYSTEM_DEBUG_LOG, logging::LOCK_LOG_FILE, logging::DELETE_OLD_LOG_FILE); } else if (reason == DLL_PROCESS_DETACH) { |