Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/browser_init.h" | 5 #include "chrome/browser/browser_init.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "app/resource_bundle.h" | 8 #include "app/resource_bundle.h" |
| 9 #include "base/event_recorder.h" | 9 #include "base/event_recorder.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| 11 #include "base/sys_info.h" | 11 #include "base/sys_info.h" |
| 12 #include "base/thread.h" | |
| 13 #include "chrome/browser/automation/automation_provider.h" | 12 #include "chrome/browser/automation/automation_provider.h" |
| 14 #include "chrome/browser/browser_list.h" | 13 #include "chrome/browser/browser_list.h" |
| 15 #include "chrome/browser/browser_process.h" | 14 #include "chrome/browser/browser_process.h" |
| 16 #include "chrome/browser/browser_window.h" | 15 #include "chrome/browser/browser_window.h" |
| 16 #include "chrome/browser/chrome_thread.h" | |
| 17 #include "chrome/browser/defaults.h" | 17 #include "chrome/browser/defaults.h" |
| 18 #include "chrome/browser/extensions/extension_creator.h" | 18 #include "chrome/browser/extensions/extension_creator.h" |
| 19 #include "chrome/browser/first_run.h" | 19 #include "chrome/browser/first_run.h" |
| 20 #include "chrome/browser/net/dns_global.h" | 20 #include "chrome/browser/net/dns_global.h" |
| 21 #include "chrome/browser/profile.h" | 21 #include "chrome/browser/profile.h" |
| 22 #include "chrome/browser/renderer_host/render_process_host.h" | 22 #include "chrome/browser/renderer_host/render_process_host.h" |
| 23 #include "chrome/browser/search_engines/template_url_model.h" | 23 #include "chrome/browser/search_engines/template_url_model.h" |
| 24 #include "chrome/browser/session_startup_pref.h" | 24 #include "chrome/browser/session_startup_pref.h" |
| 25 #include "chrome/browser/sessions/session_restore.h" | 25 #include "chrome/browser/sessions/session_restore.h" |
| 26 #include "chrome/browser/shell_integration.h" | 26 #include "chrome/browser/shell_integration.h" |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 167 return; | 167 return; |
| 168 tab->AddInfoBar(new DefaultBrowserInfoBarDelegate(tab)); | 168 tab->AddInfoBar(new DefaultBrowserInfoBarDelegate(tab)); |
| 169 } | 169 } |
| 170 | 170 |
| 171 private: | 171 private: |
| 172 DISALLOW_COPY_AND_ASSIGN(NotifyNotDefaultBrowserTask); | 172 DISALLOW_COPY_AND_ASSIGN(NotifyNotDefaultBrowserTask); |
| 173 }; | 173 }; |
| 174 | 174 |
| 175 class CheckDefaultBrowserTask : public Task { | 175 class CheckDefaultBrowserTask : public Task { |
| 176 public: | 176 public: |
| 177 explicit CheckDefaultBrowserTask(MessageLoop* ui_loop) : ui_loop_(ui_loop) { | 177 CheckDefaultBrowserTask() { |
| 178 } | 178 } |
| 179 | 179 |
| 180 virtual void Run() { | 180 virtual void Run() { |
| 181 if (!ShellIntegration::IsDefaultBrowser()) | 181 if (ShellIntegration::IsDefaultBrowser()) |
| 182 ui_loop_->PostTask(FROM_HERE, new NotifyNotDefaultBrowserTask()); | 182 return; |
| 183 | |
| 184 ChromeThread::PostTask( | |
| 185 ChromeThread::UI, FROM_HERE, new NotifyNotDefaultBrowserTask()); | |
| 183 } | 186 } |
| 184 | 187 |
| 185 private: | 188 private: |
| 186 MessageLoop* ui_loop_; | |
| 187 | 189 |
|
cpu_(ooo_6.6-7.5)
2009/11/03 02:16:24
remove blank line?
jam
2009/11/03 03:52:47
Done.
| |
| 188 DISALLOW_COPY_AND_ASSIGN(CheckDefaultBrowserTask); | 190 DISALLOW_COPY_AND_ASSIGN(CheckDefaultBrowserTask); |
| 189 }; | 191 }; |
| 190 | 192 |
| 191 // A delegate for the InfoBar shown when the previous session has crashed. The | 193 // A delegate for the InfoBar shown when the previous session has crashed. The |
| 192 // bar deletes itself automatically after it is closed. | 194 // bar deletes itself automatically after it is closed. |
| 193 // TODO(timsteele): This delegate can leak when a tab is closed, see | 195 // TODO(timsteele): This delegate can leak when a tab is closed, see |
| 194 // http://crbug.com/6520 | 196 // http://crbug.com/6520 |
| 195 class SessionCrashedInfoBarDelegate : public ConfirmInfoBarDelegate { | 197 class SessionCrashedInfoBarDelegate : public ConfirmInfoBarDelegate { |
| 196 public: | 198 public: |
| 197 explicit SessionCrashedInfoBarDelegate(TabContents* contents) | 199 explicit SessionCrashedInfoBarDelegate(TabContents* contents) |
| (...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 667 } | 669 } |
| 668 | 670 |
| 669 void BrowserInit::LaunchWithProfile::CheckDefaultBrowser(Profile* profile) { | 671 void BrowserInit::LaunchWithProfile::CheckDefaultBrowser(Profile* profile) { |
| 670 // We do not check if we are the default browser if: | 672 // We do not check if we are the default browser if: |
| 671 // - the user said "don't ask me again" on the infobar earlier. | 673 // - the user said "don't ask me again" on the infobar earlier. |
| 672 // - this is the first launch after the first run flow. | 674 // - this is the first launch after the first run flow. |
| 673 if (!profile->GetPrefs()->GetBoolean(prefs::kCheckDefaultBrowser) || | 675 if (!profile->GetPrefs()->GetBoolean(prefs::kCheckDefaultBrowser) || |
| 674 FirstRun::IsChromeFirstRun()) { | 676 FirstRun::IsChromeFirstRun()) { |
| 675 return; | 677 return; |
| 676 } | 678 } |
| 677 g_browser_process->file_thread()->message_loop()->PostTask(FROM_HERE, | 679 ChromeThread::PostTask( |
| 678 new CheckDefaultBrowserTask(MessageLoop::current())); | 680 ChromeThread::FILE, FROM_HERE, new CheckDefaultBrowserTask()); |
| 679 } | 681 } |
| 680 | 682 |
| 681 bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, | 683 bool BrowserInit::ProcessCmdLineImpl(const CommandLine& command_line, |
| 682 const std::wstring& cur_dir, | 684 const std::wstring& cur_dir, |
| 683 bool process_startup, | 685 bool process_startup, |
| 684 Profile* profile, | 686 Profile* profile, |
| 685 int* return_code, | 687 int* return_code, |
| 686 BrowserInit* browser_init) { | 688 BrowserInit* browser_init) { |
| 687 DCHECK(profile); | 689 DCHECK(profile); |
| 688 if (process_startup) { | 690 if (process_startup) { |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 832 scoped_refptr<AutomationProviderClass> automation = | 834 scoped_refptr<AutomationProviderClass> automation = |
| 833 new AutomationProviderClass(profile); | 835 new AutomationProviderClass(profile); |
| 834 automation->ConnectToChannel(channel_id); | 836 automation->ConnectToChannel(channel_id); |
| 835 automation->SetExpectedTabCount(expected_tabs); | 837 automation->SetExpectedTabCount(expected_tabs); |
| 836 | 838 |
| 837 AutomationProviderList* list = | 839 AutomationProviderList* list = |
| 838 g_browser_process->InitAutomationProviderList(); | 840 g_browser_process->InitAutomationProviderList(); |
| 839 DCHECK(list); | 841 DCHECK(list); |
| 840 list->AddProvider(automation); | 842 list->AddProvider(automation); |
| 841 } | 843 } |
| OLD | NEW |