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

Side by Side Diff: chrome/browser/ui/browser_init.cc

Issue 6249010: Cleanup: de-inline a bunch of classes, rename and move "PluginInstaller" to "... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/ui/browser_init.h" 5 #include "chrome/browser/ui/browser_init.h"
6 6
7 #include <algorithm> // For max(). 7 #include <algorithm> // For max().
8 8
9 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
10 #include "base/environment.h" 10 #include "base/environment.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 #include "chrome/browser/chromeos/wm_overview_controller.h" 94 #include "chrome/browser/chromeos/wm_overview_controller.h"
95 #include "chrome/browser/dom_ui/mediaplayer_ui.h" 95 #include "chrome/browser/dom_ui/mediaplayer_ui.h"
96 #endif 96 #endif
97 97
98 #if defined(HAVE_XINPUT2) 98 #if defined(HAVE_XINPUT2)
99 #include "views/focus/accelerator_handler.h" 99 #include "views/focus/accelerator_handler.h"
100 #endif 100 #endif
101 101
102 namespace { 102 namespace {
103 103
104 // SetAsDefaultBrowserTask ----------------------------------------------------
105
104 class SetAsDefaultBrowserTask : public Task { 106 class SetAsDefaultBrowserTask : public Task {
105 public: 107 public:
106 SetAsDefaultBrowserTask() { } 108 SetAsDefaultBrowserTask();
107 virtual void Run() { 109 virtual ~SetAsDefaultBrowserTask();
108 ShellIntegration::SetAsDefaultBrowser();
109 }
110 110
111 private: 111 private:
112 virtual void Run();
113
112 DISALLOW_COPY_AND_ASSIGN(SetAsDefaultBrowserTask); 114 DISALLOW_COPY_AND_ASSIGN(SetAsDefaultBrowserTask);
113 }; 115 };
114 116
117 SetAsDefaultBrowserTask::SetAsDefaultBrowserTask() {
118 }
119
120 SetAsDefaultBrowserTask::~SetAsDefaultBrowserTask() {
121 }
122
123 void SetAsDefaultBrowserTask::Run() {
124 ShellIntegration::SetAsDefaultBrowser();
125 }
126
127
128 // DefaultBrowserInfoBarDelegate ----------------------------------------------
129
115 // The delegate for the infobar shown when Chrome is not the default browser. 130 // The delegate for the infobar shown when Chrome is not the default browser.
116 class DefaultBrowserInfoBarDelegate : public ConfirmInfoBarDelegate { 131 class DefaultBrowserInfoBarDelegate : public ConfirmInfoBarDelegate {
117 public: 132 public:
118 explicit DefaultBrowserInfoBarDelegate(TabContents* contents) 133 explicit DefaultBrowserInfoBarDelegate(TabContents* contents);
119 : ConfirmInfoBarDelegate(contents),
120 profile_(contents->profile()),
121 action_taken_(false),
122 should_expire_(false),
123 ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
124 // We want the info-bar to stick-around for few seconds and then be hidden
125 // on the next navigation after that.
126 MessageLoop::current()->PostDelayedTask(FROM_HERE,
127 method_factory_.NewRunnableMethod(
128 &DefaultBrowserInfoBarDelegate::Expire),
129 8000); // 8 seconds.
130 }
131 134
135 private:
136 virtual ~DefaultBrowserInfoBarDelegate();
137
138 void AllowExpiry() { should_expire_ = true; }
139
140 // ConfirmInfoBarDelegate:
132 virtual bool ShouldExpire( 141 virtual bool ShouldExpire(
133 const NavigationController::LoadCommittedDetails& details) const { 142 const NavigationController::LoadCommittedDetails& details) const;
134 return should_expire_; 143 virtual void InfoBarClosed();
135 } 144 virtual SkBitmap* GetIcon() const;
136 145 virtual string16 GetMessageText() const;
137 // Overridden from ConfirmInfoBarDelegate: 146 virtual int GetButtons() const;
138 virtual void InfoBarClosed() { 147 virtual string16 GetButtonLabel(InfoBarButton button) const;
139 if (!action_taken_) 148 virtual bool NeedElevation(InfoBarButton button) const;
140 UMA_HISTOGRAM_COUNTS("DefaultBrowserWarning.Ignored", 1); 149 virtual bool Accept();
141 delete this; 150 virtual bool Cancel();
142 }
143
144 virtual string16 GetMessageText() const {
145 return l10n_util::GetStringUTF16(IDS_DEFAULT_BROWSER_INFOBAR_SHORT_TEXT);
146 }
147
148 virtual SkBitmap* GetIcon() const {
149 return ResourceBundle::GetSharedInstance().GetBitmapNamed(
150 IDR_PRODUCT_ICON_32);
151 }
152
153 virtual int GetButtons() const {
154 return BUTTON_OK | BUTTON_CANCEL | BUTTON_OK_DEFAULT;
155 }
156
157 virtual string16 GetButtonLabel(InfoBarButton button) const {
158 return button == BUTTON_OK ?
159 l10n_util::GetStringUTF16(IDS_SET_AS_DEFAULT_INFOBAR_BUTTON_LABEL) :
160 l10n_util::GetStringUTF16(IDS_DONT_ASK_AGAIN_INFOBAR_BUTTON_LABEL);
161 }
162
163 virtual bool NeedElevation(InfoBarButton button) const {
164 return button == BUTTON_OK;
165 }
166
167 virtual bool Accept() {
168 action_taken_ = true;
169 UMA_HISTOGRAM_COUNTS("DefaultBrowserWarning.SetAsDefault", 1);
170 g_browser_process->file_thread()->message_loop()->PostTask(FROM_HERE,
171 new SetAsDefaultBrowserTask());
172 return true;
173 }
174
175 virtual bool Cancel() {
176 action_taken_ = true;
177 UMA_HISTOGRAM_COUNTS("DefaultBrowserWarning.DontSetAsDefault", 1);
178 // User clicked "Don't ask me again", remember that.
179 profile_->GetPrefs()->SetBoolean(prefs::kCheckDefaultBrowser, false);
180 return true;
181 }
182
183 void Expire() {
184 should_expire_ = true;
185 }
186 151
187 private: 152 private:
188 // The Profile that we restore sessions from. 153 // The Profile that we restore sessions from.
189 Profile* profile_; 154 Profile* profile_;
190 155
191 // Whether the user clicked one of the buttons. 156 // Whether the user clicked one of the buttons.
192 bool action_taken_; 157 bool action_taken_;
193 158
194 // Whether the info-bar should be dismissed on the next navigation. 159 // Whether the info-bar should be dismissed on the next navigation.
195 bool should_expire_; 160 bool should_expire_;
196 161
197 // Used to delay the expiration of the info-bar. 162 // Used to delay the expiration of the info-bar.
198 ScopedRunnableMethodFactory<DefaultBrowserInfoBarDelegate> method_factory_; 163 ScopedRunnableMethodFactory<DefaultBrowserInfoBarDelegate> method_factory_;
199 164
200 DISALLOW_COPY_AND_ASSIGN(DefaultBrowserInfoBarDelegate); 165 DISALLOW_COPY_AND_ASSIGN(DefaultBrowserInfoBarDelegate);
201 }; 166 };
202 167
168 DefaultBrowserInfoBarDelegate::DefaultBrowserInfoBarDelegate(
169 TabContents* contents)
170 : ConfirmInfoBarDelegate(contents),
171 profile_(contents->profile()),
172 action_taken_(false),
173 should_expire_(false),
174 ALLOW_THIS_IN_INITIALIZER_LIST(method_factory_(this)) {
175 // We want the info-bar to stick-around for few seconds and then be hidden
176 // on the next navigation after that.
177 MessageLoop::current()->PostDelayedTask(FROM_HERE,
178 method_factory_.NewRunnableMethod(
179 &DefaultBrowserInfoBarDelegate::AllowExpiry), 8000); // 8 seconds.
180 }
181
182 DefaultBrowserInfoBarDelegate::~DefaultBrowserInfoBarDelegate() {
183 }
184
185 bool DefaultBrowserInfoBarDelegate::ShouldExpire(
186 const NavigationController::LoadCommittedDetails& details) const {
187 return should_expire_;
188 }
189
190 void DefaultBrowserInfoBarDelegate::InfoBarClosed() {
191 if (!action_taken_)
192 UMA_HISTOGRAM_COUNTS("DefaultBrowserWarning.Ignored", 1);
193 delete this;
194 }
195
196 SkBitmap* DefaultBrowserInfoBarDelegate::GetIcon() const {
197 return ResourceBundle::GetSharedInstance().GetBitmapNamed(
198 IDR_PRODUCT_ICON_32);
199 }
200
201 string16 DefaultBrowserInfoBarDelegate::GetMessageText() const {
202 return l10n_util::GetStringUTF16(IDS_DEFAULT_BROWSER_INFOBAR_SHORT_TEXT);
203 }
204
205 int DefaultBrowserInfoBarDelegate::GetButtons() const {
206 return BUTTON_OK | BUTTON_CANCEL;
207 }
208
209 string16 DefaultBrowserInfoBarDelegate::GetButtonLabel(
210 InfoBarButton button) const {
211 return button == BUTTON_OK ?
212 l10n_util::GetStringUTF16(IDS_SET_AS_DEFAULT_INFOBAR_BUTTON_LABEL) :
213 l10n_util::GetStringUTF16(IDS_DONT_ASK_AGAIN_INFOBAR_BUTTON_LABEL);
214 }
215
216 bool DefaultBrowserInfoBarDelegate::NeedElevation(InfoBarButton button) const {
217 return button == BUTTON_OK;
218 }
219
220 bool DefaultBrowserInfoBarDelegate::Accept() {
221 action_taken_ = true;
222 UMA_HISTOGRAM_COUNTS("DefaultBrowserWarning.SetAsDefault", 1);
223 g_browser_process->file_thread()->message_loop()->PostTask(FROM_HERE,
224 new SetAsDefaultBrowserTask());
225 return true;
226 }
227
228 bool DefaultBrowserInfoBarDelegate::Cancel() {
229 action_taken_ = true;
230 UMA_HISTOGRAM_COUNTS("DefaultBrowserWarning.DontSetAsDefault", 1);
231 // User clicked "Don't ask me again", remember that.
232 profile_->GetPrefs()->SetBoolean(prefs::kCheckDefaultBrowser, false);
233 return true;
234 }
235
236
237 // NotifyNotDefaultBrowserTask ------------------------------------------------
238
203 class NotifyNotDefaultBrowserTask : public Task { 239 class NotifyNotDefaultBrowserTask : public Task {
204 public: 240 public:
205 NotifyNotDefaultBrowserTask() { } 241 NotifyNotDefaultBrowserTask();
206 242 virtual ~NotifyNotDefaultBrowserTask();
207 virtual void Run() {
208 Browser* browser = BrowserList::GetLastActive();
209 if (!browser) {
210 // Reached during ui tests.
211 return;
212 }
213 TabContents* tab = browser->GetSelectedTabContents();
214 // Don't show the info-bar if there are already info-bars showing.
215 // In ChromeBot tests, there might be a race. This line appears to get
216 // called during shutdown and |tab| can be NULL.
217 if (!tab || tab->infobar_delegate_count() > 0)
218 return;
219 tab->AddInfoBar(new DefaultBrowserInfoBarDelegate(tab));
220 }
221 243
222 private: 244 private:
245 virtual void Run();
246
223 DISALLOW_COPY_AND_ASSIGN(NotifyNotDefaultBrowserTask); 247 DISALLOW_COPY_AND_ASSIGN(NotifyNotDefaultBrowserTask);
224 }; 248 };
225 249
250 NotifyNotDefaultBrowserTask::NotifyNotDefaultBrowserTask() {
251 }
252
253 NotifyNotDefaultBrowserTask::~NotifyNotDefaultBrowserTask() {
254 }
255
256 void NotifyNotDefaultBrowserTask::Run() {
257 Browser* browser = BrowserList::GetLastActive();
258 if (!browser)
259 return; // Reached during ui tests.
260 // Don't show the info-bar if there are already info-bars showing.
261 // In ChromeBot tests, there might be a race. This line appears to get
262 // called during shutdown and |tab| can be NULL.
263 TabContents* tab = browser->GetSelectedTabContents();
264 if (!tab || tab->infobar_delegate_count() > 0)
265 return;
266 tab->AddInfoBar(new DefaultBrowserInfoBarDelegate(tab));
267 }
268
269
270 // CheckDefaultBrowserTask ----------------------------------------------------
271
226 class CheckDefaultBrowserTask : public Task { 272 class CheckDefaultBrowserTask : public Task {
227 public: 273 public:
228 CheckDefaultBrowserTask() { 274 CheckDefaultBrowserTask();
229 } 275 virtual ~CheckDefaultBrowserTask();
230 276
231 virtual void Run() { 277 private:
232 if (ShellIntegration::IsDefaultBrowser()) 278 virtual void Run();
233 return; 279
280 DISALLOW_COPY_AND_ASSIGN(CheckDefaultBrowserTask);
281 };
282
283 CheckDefaultBrowserTask::CheckDefaultBrowserTask() {
284 }
285
286 CheckDefaultBrowserTask::~CheckDefaultBrowserTask() {
287 }
288
289 void CheckDefaultBrowserTask::Run() {
290 if (ShellIntegration::IsDefaultBrowser())
291 return;
234 #if defined(OS_WIN) 292 #if defined(OS_WIN)
235 if (!BrowserDistribution::GetDistribution()->CanSetAsDefault()) 293 if (!BrowserDistribution::GetDistribution()->CanSetAsDefault())
236 return; 294 return;
237 #endif 295 #endif
238 296 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
239 BrowserThread::PostTask( 297 new NotifyNotDefaultBrowserTask());
240 BrowserThread::UI, FROM_HERE, new NotifyNotDefaultBrowserTask()); 298 }
241 } 299
242 300
243 private: 301 // SessionCrashedInfoBarDelegate ----------------------------------------------
244 DISALLOW_COPY_AND_ASSIGN(CheckDefaultBrowserTask);
245 };
246 302
247 // A delegate for the InfoBar shown when the previous session has crashed. The 303 // A delegate for the InfoBar shown when the previous session has crashed. The
248 // bar deletes itself automatically after it is closed. 304 // bar deletes itself automatically after it is closed.
249 class SessionCrashedInfoBarDelegate : public ConfirmInfoBarDelegate { 305 class SessionCrashedInfoBarDelegate : public ConfirmInfoBarDelegate {
250 public: 306 public:
251 explicit SessionCrashedInfoBarDelegate(TabContents* contents) 307 explicit SessionCrashedInfoBarDelegate(TabContents* contents);
252 : ConfirmInfoBarDelegate(contents),
253 profile_(contents->profile()) {
254 }
255
256 // Overridden from ConfirmInfoBarDelegate:
257 virtual void InfoBarClosed() {
258 delete this;
259 }
260 virtual string16 GetMessageText() const {
261 return l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_MESSAGE);
262 }
263 virtual SkBitmap* GetIcon() const {
264 return ResourceBundle::GetSharedInstance().GetBitmapNamed(
265 IDR_INFOBAR_RESTORE_SESSION);
266 }
267 virtual int GetButtons() const { return BUTTON_OK; }
268 virtual string16 GetButtonLabel(InfoBarButton button) const {
269 return l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON);
270 }
271 virtual bool Accept() {
272 // Restore the session.
273 SessionRestore::RestoreSession(profile_, NULL, true, false,
274 std::vector<GURL>());
275 return true;
276 }
277 308
278 private: 309 private:
310 virtual ~SessionCrashedInfoBarDelegate();
311
312 // ConfirmInfoBarDelegate:
313 virtual void InfoBarClosed();
314 virtual SkBitmap* GetIcon() const;
315 virtual string16 GetMessageText() const;
316 virtual int GetButtons() const;
317 virtual string16 GetButtonLabel(InfoBarButton button) const;
318 virtual bool Accept();
319
279 // The Profile that we restore sessions from. 320 // The Profile that we restore sessions from.
280 Profile* profile_; 321 Profile* profile_;
281 322
282 DISALLOW_COPY_AND_ASSIGN(SessionCrashedInfoBarDelegate); 323 DISALLOW_COPY_AND_ASSIGN(SessionCrashedInfoBarDelegate);
283 }; 324 };
284 325
326 SessionCrashedInfoBarDelegate::SessionCrashedInfoBarDelegate(
327 TabContents* contents)
328 : ConfirmInfoBarDelegate(contents),
329 profile_(contents->profile()) {
330 }
331
332 SessionCrashedInfoBarDelegate::~SessionCrashedInfoBarDelegate() {
333 }
334
335 void SessionCrashedInfoBarDelegate::InfoBarClosed() {
336 delete this;
337 }
338
339 SkBitmap* SessionCrashedInfoBarDelegate::GetIcon() const {
340 return ResourceBundle::GetSharedInstance().GetBitmapNamed(
341 IDR_INFOBAR_RESTORE_SESSION);
342 }
343
344 string16 SessionCrashedInfoBarDelegate::GetMessageText() const {
345 return l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_MESSAGE);
346 }
347
348 int SessionCrashedInfoBarDelegate::GetButtons() const {
349 return BUTTON_OK;
350 }
351
352 string16 SessionCrashedInfoBarDelegate::GetButtonLabel(
353 InfoBarButton button) const {
354 DCHECK_EQ(BUTTON_OK, button);
355 return l10n_util::GetStringUTF16(IDS_SESSION_CRASHED_VIEW_RESTORE_BUTTON);
356 }
357
358 bool SessionCrashedInfoBarDelegate::Accept() {
359 SessionRestore::RestoreSession(profile_, NULL, true, false,
360 std::vector<GURL>());
361 return true;
362 }
363
364
365 // Utility functions ----------------------------------------------------------
366
285 SessionStartupPref GetSessionStartupPref(const CommandLine& command_line, 367 SessionStartupPref GetSessionStartupPref(const CommandLine& command_line,
286 Profile* profile) { 368 Profile* profile) {
287 SessionStartupPref pref = SessionStartupPref::GetStartupPref(profile); 369 SessionStartupPref pref = SessionStartupPref::GetStartupPref(profile);
288 if (command_line.HasSwitch(switches::kRestoreLastSession)) 370 if (command_line.HasSwitch(switches::kRestoreLastSession))
289 pref.type = SessionStartupPref::LAST; 371 pref.type = SessionStartupPref::LAST;
290 if (command_line.HasSwitch(switches::kIncognito) && 372 if (command_line.HasSwitch(switches::kIncognito) &&
291 pref.type == SessionStartupPref::LAST) { 373 pref.type == SessionStartupPref::LAST) {
292 // We don't store session information when incognito. If the user has 374 // We don't store session information when incognito. If the user has
293 // chosen to restore last session and launched incognito, fallback to 375 // chosen to restore last session and launched incognito, fallback to
294 // default launch behavior. 376 // default launch behavior.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 for (size_t i = 0; i < urls.size(); ++i) { 442 for (size_t i = 0; i < urls.size(); ++i) {
361 BrowserInit::LaunchWithProfile::Tab tab; 443 BrowserInit::LaunchWithProfile::Tab tab;
362 tab.is_pinned = false; 444 tab.is_pinned = false;
363 tab.url = urls[i]; 445 tab.url = urls[i];
364 tabs->push_back(tab); 446 tabs->push_back(tab);
365 } 447 }
366 } 448 }
367 449
368 } // namespace 450 } // namespace
369 451
452
453 // BrowserInit ----------------------------------------------------------------
454
370 BrowserInit::BrowserInit() {} 455 BrowserInit::BrowserInit() {}
371 456
372 BrowserInit::~BrowserInit() {} 457 BrowserInit::~BrowserInit() {}
373 458
374 void BrowserInit::AddFirstRunTab(const GURL& url) { 459 void BrowserInit::AddFirstRunTab(const GURL& url) {
375 first_run_tabs_.push_back(url); 460 first_run_tabs_.push_back(url);
376 } 461 }
377 462
378 // static 463 // static
379 bool BrowserInit::InProcessStartup() { 464 bool BrowserInit::InProcessStartup() {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 new chromeos::BrightnessObserver(); 550 new chromeos::BrightnessObserver();
466 chromeos::CrosLibrary::Get()->GetBrightnessLibrary() 551 chromeos::CrosLibrary::Get()->GetBrightnessLibrary()
467 ->AddObserver(brightness_observer); 552 ->AddObserver(brightness_observer);
468 553
469 profile->SetupChromeOSEnterpriseExtensionObserver(); 554 profile->SetupChromeOSEnterpriseExtensionObserver();
470 } 555 }
471 #endif 556 #endif
472 return true; 557 return true;
473 } 558 }
474 559
475 // Tab ------------------------------------------------------------------------ 560
561 // BrowserInit::LaunchWithProfile::Tab ----------------------------------------
476 562
477 BrowserInit::LaunchWithProfile::Tab::Tab() : is_app(false), is_pinned(true) {} 563 BrowserInit::LaunchWithProfile::Tab::Tab() : is_app(false), is_pinned(true) {}
478 564
479 BrowserInit::LaunchWithProfile::Tab::~Tab() {} 565 BrowserInit::LaunchWithProfile::Tab::~Tab() {}
480 566
481 // LaunchWithProfile ---------------------------------------------------------- 567
568 // BrowserInit::LaunchWithProfile ---------------------------------------------
482 569
483 BrowserInit::LaunchWithProfile::LaunchWithProfile( 570 BrowserInit::LaunchWithProfile::LaunchWithProfile(
484 const FilePath& cur_dir, 571 const FilePath& cur_dir,
485 const CommandLine& command_line) 572 const CommandLine& command_line)
486 : cur_dir_(cur_dir), 573 : cur_dir_(cur_dir),
487 command_line_(command_line), 574 command_line_(command_line),
488 profile_(NULL), 575 profile_(NULL),
489 browser_init_(NULL) { 576 browser_init_(NULL) {
490 } 577 }
491 578
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 939
853 const char* bad_flag = NULL; 940 const char* bad_flag = NULL;
854 for (const char** flag = kBadFlags; *flag; ++flag) { 941 for (const char** flag = kBadFlags; *flag; ++flag) {
855 if (command_line_.HasSwitch(*flag)) { 942 if (command_line_.HasSwitch(*flag)) {
856 bad_flag = *flag; 943 bad_flag = *flag;
857 break; 944 break;
858 } 945 }
859 } 946 }
860 947
861 if (bad_flag) { 948 if (bad_flag) {
862 tab->AddInfoBar(new SimpleAlertInfoBarDelegate(tab, 949 tab->AddInfoBar(new SimpleAlertInfoBarDelegate(tab, NULL,
863 l10n_util::GetStringFUTF16(IDS_BAD_FLAGS_WARNING_MESSAGE, 950 l10n_util::GetStringFUTF16(IDS_BAD_FLAGS_WARNING_MESSAGE,
864 UTF8ToUTF16(std::string("--") + bad_flag)), 951 UTF8ToUTF16(std::string("--") + bad_flag)),
865 NULL, false)); 952 false));
866 } 953 }
867 } 954 }
868 955
869 std::vector<GURL> BrowserInit::LaunchWithProfile::GetURLsFromCommandLine( 956 std::vector<GURL> BrowserInit::LaunchWithProfile::GetURLsFromCommandLine(
870 Profile* profile) { 957 Profile* profile) {
871 std::vector<GURL> urls; 958 std::vector<GURL> urls;
872 const std::vector<CommandLine::StringType>& params = command_line_.args(); 959 const std::vector<CommandLine::StringType>& params = command_line_.args();
873 960
874 for (size_t i = 0; i < params.size(); ++i) { 961 for (size_t i = 0; i < params.size(); ++i) {
875 FilePath param = FilePath(params[i]); 962 FilePath param = FilePath(params[i]);
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 return false; 1183 return false;
1097 automation->SetExpectedTabCount(expected_tabs); 1184 automation->SetExpectedTabCount(expected_tabs);
1098 1185
1099 AutomationProviderList* list = 1186 AutomationProviderList* list =
1100 g_browser_process->InitAutomationProviderList(); 1187 g_browser_process->InitAutomationProviderList();
1101 DCHECK(list); 1188 DCHECK(list);
1102 list->AddProvider(automation); 1189 list->AddProvider(automation);
1103 1190
1104 return true; 1191 return true;
1105 } 1192 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.cc ('k') | chrome/browser/ui/cocoa/infobars/infobar_controller_unittest.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698