summaryrefslogtreecommitdiffstats
path: root/chrome_frame
diff options
context:
space:
mode:
authorrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-04 22:18:57 +0000
committerrobertshield@chromium.org <robertshield@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-04 22:18:57 +0000
commit74d1eecc72f97cb759ea252d8838f5ee46670938 (patch)
tree0de991eb6f83c7390d4a72c6b467a2ed9dd3582d /chrome_frame
parentef9fc5845fa7e3d2e9b601bfae60805b8f1c3b89 (diff)
downloadchromium_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.cc9
-rw-r--r--chrome_frame/chrome_launcher.cc1
-rw-r--r--chrome_frame/chrome_tab.cc2
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) {