OLD | NEW |
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.h" | 5 #include "chrome/browser/ui/startup/startup_browser_creator.h" |
6 | 6 |
7 #include <algorithm> // For max(). | 7 #include <algorithm> // For max(). |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "apps/app_load_service.h" | 10 #include "apps/app_load_service.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 #include "chrome/browser/browser_process.h" | 33 #include "chrome/browser/browser_process.h" |
34 #include "chrome/browser/chrome_notification_types.h" | 34 #include "chrome/browser/chrome_notification_types.h" |
35 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 35 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
36 #include "chrome/browser/extensions/startup_helper.h" | 36 #include "chrome/browser/extensions/startup_helper.h" |
37 #include "chrome/browser/extensions/unpacked_installer.h" | 37 #include "chrome/browser/extensions/unpacked_installer.h" |
38 #include "chrome/browser/first_run/first_run.h" | 38 #include "chrome/browser/first_run/first_run.h" |
39 #include "chrome/browser/google/google_util.h" | 39 #include "chrome/browser/google/google_util.h" |
40 #include "chrome/browser/notifications/desktop_notification_service.h" | 40 #include "chrome/browser/notifications/desktop_notification_service.h" |
41 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 41 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
42 #include "chrome/browser/prefs/session_startup_pref.h" | 42 #include "chrome/browser/prefs/session_startup_pref.h" |
43 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" | |
44 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory.
h" | |
45 #include "chrome/browser/printing/print_dialog_cloud.h" | |
46 #include "chrome/browser/profiles/profile.h" | 43 #include "chrome/browser/profiles/profile.h" |
47 #include "chrome/browser/profiles/profile_manager.h" | 44 #include "chrome/browser/profiles/profile_manager.h" |
48 #include "chrome/browser/search_engines/util.h" | 45 #include "chrome/browser/search_engines/util.h" |
49 #include "chrome/browser/ui/browser.h" | 46 #include "chrome/browser/ui/browser.h" |
50 #include "chrome/browser/ui/browser_finder.h" | 47 #include "chrome/browser/ui/browser_finder.h" |
51 #include "chrome/browser/ui/browser_window.h" | 48 #include "chrome/browser/ui/browser_window.h" |
52 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h" | 49 #include "chrome/browser/ui/startup/startup_browser_creator_impl.h" |
53 #include "chrome/common/chrome_constants.h" | 50 #include "chrome/common/chrome_constants.h" |
54 #include "chrome/common/chrome_paths.h" | 51 #include "chrome/common/chrome_paths.h" |
55 #include "chrome/common/chrome_result_codes.h" | 52 #include "chrome/common/chrome_result_codes.h" |
(...skipping 21 matching lines...) Expand all Loading... |
77 | 74 |
78 #if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) | 75 #if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) |
79 #include "ui/base/touch/touch_factory_x11.h" | 76 #include "ui/base/touch/touch_factory_x11.h" |
80 #endif | 77 #endif |
81 | 78 |
82 #if defined(OS_WIN) | 79 #if defined(OS_WIN) |
83 #include "chrome/browser/automation/chrome_frame_automation_provider_win.h" | 80 #include "chrome/browser/automation/chrome_frame_automation_provider_win.h" |
84 #include "chrome/browser/ui/startup/startup_browser_creator_win.h" | 81 #include "chrome/browser/ui/startup/startup_browser_creator_win.h" |
85 #endif | 82 #endif |
86 | 83 |
| 84 #if defined(ENABLE_FULL_PRINTING) |
| 85 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
| 86 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service_factory.
h" |
| 87 #include "chrome/browser/printing/print_dialog_cloud.h" |
| 88 #endif |
| 89 |
87 using content::BrowserThread; | 90 using content::BrowserThread; |
88 using content::ChildProcessSecurityPolicy; | 91 using content::ChildProcessSecurityPolicy; |
89 | 92 |
90 namespace { | 93 namespace { |
91 | 94 |
92 // Keeps track on which profiles have been launched. | 95 // Keeps track on which profiles have been launched. |
93 class ProfileLaunchObserver : public content::NotificationObserver { | 96 class ProfileLaunchObserver : public content::NotificationObserver { |
94 public: | 97 public: |
95 ProfileLaunchObserver() | 98 ProfileLaunchObserver() |
96 : profile_to_activate_(NULL), | 99 : profile_to_activate_(NULL), |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 return false; | 522 return false; |
520 #endif | 523 #endif |
521 } else { | 524 } else { |
522 if (!CreateAutomationProvider<AutomationProvider>( | 525 if (!CreateAutomationProvider<AutomationProvider>( |
523 automation_channel_id, last_used_profile, expected_tabs)) | 526 automation_channel_id, last_used_profile, expected_tabs)) |
524 return false; | 527 return false; |
525 } | 528 } |
526 } | 529 } |
527 #endif // defined(ENABLE_AUTOMATION) | 530 #endif // defined(ENABLE_AUTOMATION) |
528 | 531 |
| 532 #if defined(ENABLE_FULL_PRINTING) |
529 // If we are just displaying a print dialog we shouldn't open browser | 533 // If we are just displaying a print dialog we shouldn't open browser |
530 // windows. | 534 // windows. |
531 if (command_line.HasSwitch(switches::kCloudPrintFile) && | 535 if (command_line.HasSwitch(switches::kCloudPrintFile) && |
532 print_dialog_cloud::CreatePrintDialogFromCommandLine(command_line)) { | 536 print_dialog_cloud::CreatePrintDialogFromCommandLine(command_line)) { |
533 silent_launch = true; | 537 silent_launch = true; |
534 } | 538 } |
535 | 539 |
536 // If we are checking the proxy enabled policy, don't open any windows. | 540 // If we are checking the proxy enabled policy, don't open any windows. |
537 if (command_line.HasSwitch(switches::kCheckCloudPrintConnectorPolicy)) { | 541 if (command_line.HasSwitch(switches::kCheckCloudPrintConnectorPolicy)) { |
538 silent_launch = true; | 542 silent_launch = true; |
539 if (CloudPrintProxyServiceFactory::GetForProfile(last_used_profile)-> | 543 if (CloudPrintProxyServiceFactory::GetForProfile(last_used_profile)-> |
540 EnforceCloudPrintConnectorPolicyAndQuit()) | 544 EnforceCloudPrintConnectorPolicyAndQuit()) |
541 // Success, nothing more needs to be done, so return false to stop | 545 // Success, nothing more needs to be done, so return false to stop |
542 // launching and quit. | 546 // launching and quit. |
543 return false; | 547 return false; |
544 } | 548 } |
| 549 #endif // defined(ENABLE_FULL_PRINTING) |
545 | 550 |
546 if (command_line.HasSwitch(switches::kExplicitlyAllowedPorts)) { | 551 if (command_line.HasSwitch(switches::kExplicitlyAllowedPorts)) { |
547 std::string allowed_ports = | 552 std::string allowed_ports = |
548 command_line.GetSwitchValueASCII(switches::kExplicitlyAllowedPorts); | 553 command_line.GetSwitchValueASCII(switches::kExplicitlyAllowedPorts); |
549 net::SetExplicitlyAllowedPorts(allowed_ports); | 554 net::SetExplicitlyAllowedPorts(allowed_ports); |
550 } | 555 } |
551 | 556 |
552 if (command_line.HasSwitch(switches::kInstallFromWebstore)) { | 557 if (command_line.HasSwitch(switches::kInstallFromWebstore)) { |
553 extensions::StartupHelper helper; | 558 extensions::StartupHelper helper; |
554 helper.InstallFromWebstore(command_line, last_used_profile); | 559 helper.InstallFromWebstore(command_line, last_used_profile); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
739 | 744 |
740 // static | 745 // static |
741 bool StartupBrowserCreator::ActivatedProfile() { | 746 bool StartupBrowserCreator::ActivatedProfile() { |
742 return profile_launch_observer.Get().activated_profile(); | 747 return profile_launch_observer.Get().activated_profile(); |
743 } | 748 } |
744 | 749 |
745 bool HasPendingUncleanExit(Profile* profile) { | 750 bool HasPendingUncleanExit(Profile* profile) { |
746 return profile->GetLastSessionExitType() == Profile::EXIT_CRASHED && | 751 return profile->GetLastSessionExitType() == Profile::EXIT_CRASHED && |
747 !profile_launch_observer.Get().HasBeenLaunched(profile); | 752 !profile_launch_observer.Get().HasBeenLaunched(profile); |
748 } | 753 } |
OLD | NEW |