summaryrefslogtreecommitdiffstats
path: root/chrome/browser/first_run
diff options
context:
space:
mode:
authormarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 09:30:09 +0000
committermarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-15 09:30:09 +0000
commit6c0e890267f030dc126971ce696e629df0680b80 (patch)
treec936b4d28446af3fa01d3ee6ba91477752be5011 /chrome/browser/first_run
parent1ef1a1fcd0f6b2e8349fcbc4ddc91732a6a8f870 (diff)
downloadchromium_src-6c0e890267f030dc126971ce696e629df0680b80.zip
chromium_src-6c0e890267f030dc126971ce696e629df0680b80.tar.gz
chromium_src-6c0e890267f030dc126971ce696e629df0680b80.tar.bz2
Fix attempt for the double-SessionRestoreImpl problem.
The problem is that BrowserInit::ProcessCommandLineAlreadyRunning gets called too early, before launching the first profile during normal startup. BUG=111238 TEST=NONE Review URL: http://codereview.chromium.org/9365049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122065 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/first_run')
-rw-r--r--chrome/browser/first_run/try_chrome_dialog_view.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/chrome/browser/first_run/try_chrome_dialog_view.cc b/chrome/browser/first_run/try_chrome_dialog_view.cc
index f1da73d..71135a7 100644
--- a/chrome/browser/first_run/try_chrome_dialog_view.cc
+++ b/chrome/browser/first_run/try_chrome_dialog_view.cc
@@ -227,12 +227,14 @@ TryChromeDialogView::Result TryChromeDialogView::ShowModal(
SetToastRegion(popup_->GetNativeView(),
preferred.width(), preferred.height());
- // Time to show the window in a modal loop. We don't want this chrome
- // instance trying to serve WM_COPYDATA requests, as we'll surely crash.
- process_singleton->Lock(popup_->GetNativeView());
+ // Time to show the window in a modal loop. The ProcessSingleton should
+ // already be locked and it will not process WM_COPYDATA requests. Change the
+ // window to bring to foreground if a request arrives.
+ CHECK(process_singleton->locked());
+ process_singleton->SetForegroundWindow(popup_->GetNativeView());
popup_->Show();
MessageLoop::current()->Run();
- process_singleton->Unlock();
+ process_singleton->SetForegroundWindow(NULL);
return result_;
}