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

Side by Side Diff: chrome/browser/ui/startup/startup_browser_creator_impl.cc

Issue 2248873002: Convert WindowOpenDisposition to an enum class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 4 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/startup/startup_browser_creator_impl.h" 5 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
316 if (AppListService::HandleLaunchCommandLine(command_line_, profile)) 316 if (AppListService::HandleLaunchCommandLine(command_line_, profile))
317 return true; 317 return true;
318 318
319 if (command_line_.HasSwitch(switches::kAppId)) { 319 if (command_line_.HasSwitch(switches::kAppId)) {
320 std::string app_id = command_line_.GetSwitchValueASCII(switches::kAppId); 320 std::string app_id = command_line_.GetSwitchValueASCII(switches::kAppId);
321 const Extension* extension = GetPlatformApp(profile, app_id); 321 const Extension* extension = GetPlatformApp(profile, app_id);
322 // If |app_id| is a disabled or terminated platform app we handle it 322 // If |app_id| is a disabled or terminated platform app we handle it
323 // specially here, otherwise it will be handled below. 323 // specially here, otherwise it will be handled below.
324 if (extension) { 324 if (extension) {
325 RecordCmdLineAppHistogram(extensions::Manifest::TYPE_PLATFORM_APP); 325 RecordCmdLineAppHistogram(extensions::Manifest::TYPE_PLATFORM_APP);
326 AppLaunchParams params(profile, extension, 326 AppLaunchParams params(
327 extensions::LAUNCH_CONTAINER_NONE, NEW_WINDOW, 327 profile, extension, extensions::LAUNCH_CONTAINER_NONE,
328 extensions::SOURCE_COMMAND_LINE); 328 WindowOpenDisposition::NEW_WINDOW, extensions::SOURCE_COMMAND_LINE);
329 params.command_line = command_line_; 329 params.command_line = command_line_;
330 params.current_directory = cur_dir_; 330 params.current_directory = cur_dir_;
331 ::OpenApplicationWithReenablePrompt(params); 331 ::OpenApplicationWithReenablePrompt(params);
332 return true; 332 return true;
333 } 333 }
334 } 334 }
335 335
336 // Open the required browser windows and tabs. First, see if 336 // Open the required browser windows and tabs. First, see if
337 // we're being run as an application window. If so, the user 337 // we're being run as an application window. If so, the user
338 // opened an app shortcut. Don't restore tabs or open initial 338 // opened an app shortcut. Don't restore tabs or open initial
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 return false; 419 return false;
420 420
421 // If the user doesn't want to open a tab, fail. 421 // If the user doesn't want to open a tab, fail.
422 if (launch_container != extensions::LAUNCH_CONTAINER_TAB) 422 if (launch_container != extensions::LAUNCH_CONTAINER_TAB)
423 return false; 423 return false;
424 424
425 RecordCmdLineAppHistogram(extension->GetType()); 425 RecordCmdLineAppHistogram(extension->GetType());
426 426
427 WebContents* app_tab = ::OpenApplication( 427 WebContents* app_tab = ::OpenApplication(
428 AppLaunchParams(profile, extension, extensions::LAUNCH_CONTAINER_TAB, 428 AppLaunchParams(profile, extension, extensions::LAUNCH_CONTAINER_TAB,
429 NEW_FOREGROUND_TAB, extensions::SOURCE_COMMAND_LINE)); 429 WindowOpenDisposition::NEW_FOREGROUND_TAB,
430 extensions::SOURCE_COMMAND_LINE));
430 return (app_tab != NULL); 431 return (app_tab != NULL);
431 } 432 }
432 433
433 bool StartupBrowserCreatorImpl::OpenApplicationWindow(Profile* profile) { 434 bool StartupBrowserCreatorImpl::OpenApplicationWindow(Profile* profile) {
434 std::string url_string, app_id; 435 std::string url_string, app_id;
435 if (!IsAppLaunch(&url_string, &app_id)) 436 if (!IsAppLaunch(&url_string, &app_id))
436 return false; 437 return false;
437 438
438 // This can fail if the app_id is invalid. It can also fail if the 439 // This can fail if the app_id is invalid. It can also fail if the
439 // extension is external, and has not yet been installed. 440 // extension is external, and has not yet been installed.
440 // TODO(skerner): Do something reasonable here. Pop up a warning panel? 441 // TODO(skerner): Do something reasonable here. Pop up a warning panel?
441 // Open an URL to the gallery page of the extension id? 442 // Open an URL to the gallery page of the extension id?
442 if (!app_id.empty()) { 443 if (!app_id.empty()) {
443 extensions::LaunchContainer launch_container; 444 extensions::LaunchContainer launch_container;
444 const Extension* extension; 445 const Extension* extension;
445 if (!GetAppLaunchContainer(profile, app_id, &extension, &launch_container)) 446 if (!GetAppLaunchContainer(profile, app_id, &extension, &launch_container))
446 return false; 447 return false;
447 448
448 // TODO(skerner): Could pass in |extension| and |launch_container|, 449 // TODO(skerner): Could pass in |extension| and |launch_container|,
449 // and avoid calling GetAppLaunchContainer() both here and in 450 // and avoid calling GetAppLaunchContainer() both here and in
450 // OpenApplicationTab(). 451 // OpenApplicationTab().
451 452
452 if (launch_container == extensions::LAUNCH_CONTAINER_TAB) 453 if (launch_container == extensions::LAUNCH_CONTAINER_TAB)
453 return false; 454 return false;
454 455
455 RecordCmdLineAppHistogram(extension->GetType()); 456 RecordCmdLineAppHistogram(extension->GetType());
456 457
457 AppLaunchParams params(profile, extension, launch_container, NEW_WINDOW, 458 AppLaunchParams params(profile, extension, launch_container,
459 WindowOpenDisposition::NEW_WINDOW,
458 extensions::SOURCE_COMMAND_LINE); 460 extensions::SOURCE_COMMAND_LINE);
459 params.command_line = command_line_; 461 params.command_line = command_line_;
460 params.current_directory = cur_dir_; 462 params.current_directory = cur_dir_;
461 WebContents* tab_in_app_window = ::OpenApplication(params); 463 WebContents* tab_in_app_window = ::OpenApplication(params);
462 464
463 // Platform apps fire off a launch event which may or may not open a window. 465 // Platform apps fire off a launch event which may or may not open a window.
464 return (tab_in_app_window != NULL || CanLaunchViaEvent(extension)); 466 return (tab_in_app_window != NULL || CanLaunchViaEvent(extension));
465 } 467 }
466 468
467 if (url_string.empty()) 469 if (url_string.empty())
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
748 continue; 750 continue;
749 751
750 int add_types = first_tab ? TabStripModel::ADD_ACTIVE : 752 int add_types = first_tab ? TabStripModel::ADD_ACTIVE :
751 TabStripModel::ADD_NONE; 753 TabStripModel::ADD_NONE;
752 add_types |= TabStripModel::ADD_FORCE_INDEX; 754 add_types |= TabStripModel::ADD_FORCE_INDEX;
753 if (tabs[i].is_pinned) 755 if (tabs[i].is_pinned)
754 add_types |= TabStripModel::ADD_PINNED; 756 add_types |= TabStripModel::ADD_PINNED;
755 757
756 chrome::NavigateParams params(browser, tabs[i].url, 758 chrome::NavigateParams params(browser, tabs[i].url,
757 ui::PAGE_TRANSITION_AUTO_TOPLEVEL); 759 ui::PAGE_TRANSITION_AUTO_TOPLEVEL);
758 params.disposition = first_tab ? NEW_FOREGROUND_TAB : NEW_BACKGROUND_TAB; 760 params.disposition = first_tab ? WindowOpenDisposition::NEW_FOREGROUND_TAB
761 : WindowOpenDisposition::NEW_BACKGROUND_TAB;
759 params.tabstrip_add_types = add_types; 762 params.tabstrip_add_types = add_types;
760 763
761 #if defined(ENABLE_RLZ) 764 #if defined(ENABLE_RLZ)
762 if (process_startup && google_util::IsGoogleHomePageUrl(tabs[i].url)) { 765 if (process_startup && google_util::IsGoogleHomePageUrl(tabs[i].url)) {
763 params.extra_headers = rlz::RLZTracker::GetAccessPointHttpHeader( 766 params.extra_headers = rlz::RLZTracker::GetAccessPointHttpHeader(
764 rlz::RLZTracker::ChromeHomePage()); 767 rlz::RLZTracker::ChromeHomePage());
765 } 768 }
766 #endif // defined(ENABLE_RLZ) 769 #endif // defined(ENABLE_RLZ)
767 770
768 chrome::Navigate(&params); 771 chrome::Navigate(&params);
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
989 #if defined(OS_WIN) 992 #if defined(OS_WIN)
990 TriggeredProfileResetter* triggered_profile_resetter = 993 TriggeredProfileResetter* triggered_profile_resetter =
991 TriggeredProfileResetterFactory::GetForBrowserContext(profile_); 994 TriggeredProfileResetterFactory::GetForBrowserContext(profile_);
992 // TriggeredProfileResetter instance will be nullptr for incognito profiles. 995 // TriggeredProfileResetter instance will be nullptr for incognito profiles.
993 if (triggered_profile_resetter) { 996 if (triggered_profile_resetter) {
994 has_reset_trigger = triggered_profile_resetter->HasResetTrigger(); 997 has_reset_trigger = triggered_profile_resetter->HasResetTrigger();
995 } 998 }
996 #endif // defined(OS_WIN) 999 #endif // defined(OS_WIN)
997 return has_reset_trigger; 1000 return has_reset_trigger;
998 } 1001 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/singleton_tabs.cc ('k') | chrome/browser/ui/sync/one_click_signin_links_delegate_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698