OLD | NEW |
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/browser_main.h" | 5 #include "chrome/browser/browser_main.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "ui/base/l10n/l10n_util.h" | |
12 #include "base/at_exit.h" | 11 #include "base/at_exit.h" |
13 #include "base/command_line.h" | 12 #include "base/command_line.h" |
14 #include "base/debug/trace_event.h" | 13 #include "base/debug/trace_event.h" |
15 #include "base/file_path.h" | 14 #include "base/file_path.h" |
16 #include "base/file_util.h" | 15 #include "base/file_util.h" |
17 #include "base/mac/scoped_nsautorelease_pool.h" | 16 #include "base/mac/scoped_nsautorelease_pool.h" |
18 #include "base/metrics/field_trial.h" | 17 #include "base/metrics/field_trial.h" |
19 #include "base/metrics/histogram.h" | 18 #include "base/metrics/histogram.h" |
20 #include "base/path_service.h" | 19 #include "base/path_service.h" |
21 #include "base/process_util.h" | 20 #include "base/process_util.h" |
(...skipping 28 matching lines...) Expand all Loading... |
50 #include "chrome/browser/net/chrome_dns_cert_provenance_checker_factory.h" | 49 #include "chrome/browser/net/chrome_dns_cert_provenance_checker_factory.h" |
51 #include "chrome/browser/net/metadata_url_request.h" | 50 #include "chrome/browser/net/metadata_url_request.h" |
52 #include "chrome/browser/net/predictor_api.h" | 51 #include "chrome/browser/net/predictor_api.h" |
53 #include "chrome/browser/net/sdch_dictionary_fetcher.h" | 52 #include "chrome/browser/net/sdch_dictionary_fetcher.h" |
54 #include "chrome/browser/net/websocket_experiment/websocket_experiment_runner.h" | 53 #include "chrome/browser/net/websocket_experiment/websocket_experiment_runner.h" |
55 #include "chrome/browser/plugin_service.h" | 54 #include "chrome/browser/plugin_service.h" |
56 #include "chrome/browser/prefs/browser_prefs.h" | 55 #include "chrome/browser/prefs/browser_prefs.h" |
57 #include "chrome/browser/prefs/pref_service.h" | 56 #include "chrome/browser/prefs/pref_service.h" |
58 #include "chrome/browser/prefs/pref_value_store.h" | 57 #include "chrome/browser/prefs/pref_value_store.h" |
59 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" | 58 #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" |
| 59 #include "chrome/browser/printing/print_dialog_cloud.h" |
60 #include "chrome/browser/process_singleton.h" | 60 #include "chrome/browser/process_singleton.h" |
61 #include "chrome/browser/profiles/profile.h" | 61 #include "chrome/browser/profiles/profile.h" |
62 #include "chrome/browser/profiles/profile_manager.h" | 62 #include "chrome/browser/profiles/profile_manager.h" |
63 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" | 63 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" |
64 #include "chrome/browser/search_engines/search_engine_type.h" | 64 #include "chrome/browser/search_engines/search_engine_type.h" |
65 #include "chrome/browser/search_engines/template_url.h" | 65 #include "chrome/browser/search_engines/template_url.h" |
66 #include "chrome/browser/search_engines/template_url_model.h" | 66 #include "chrome/browser/search_engines/template_url_model.h" |
67 #include "chrome/browser/service/service_process_control.h" | 67 #include "chrome/browser/service/service_process_control.h" |
68 #include "chrome/browser/service/service_process_control_manager.h" | 68 #include "chrome/browser/service/service_process_control_manager.h" |
69 #include "chrome/browser/shell_integration.h" | 69 #include "chrome/browser/shell_integration.h" |
(...skipping 24 matching lines...) Expand all Loading... |
94 #include "net/base/network_change_notifier.h" | 94 #include "net/base/network_change_notifier.h" |
95 #include "net/http/http_network_layer.h" | 95 #include "net/http/http_network_layer.h" |
96 #include "net/http/http_stream_factory.h" | 96 #include "net/http/http_stream_factory.h" |
97 #include "net/socket/client_socket_pool_base.h" | 97 #include "net/socket/client_socket_pool_base.h" |
98 #include "net/socket/client_socket_pool_manager.h" | 98 #include "net/socket/client_socket_pool_manager.h" |
99 #include "net/socket/tcp_client_socket.h" | 99 #include "net/socket/tcp_client_socket.h" |
100 #include "net/spdy/spdy_session.h" | 100 #include "net/spdy/spdy_session.h" |
101 #include "net/spdy/spdy_session_pool.h" | 101 #include "net/spdy/spdy_session_pool.h" |
102 #include "net/url_request/url_request.h" | 102 #include "net/url_request/url_request.h" |
103 #include "net/url_request/url_request_throttler_manager.h" | 103 #include "net/url_request/url_request_throttler_manager.h" |
| 104 #include "ui/base/l10n/l10n_util.h" |
104 #include "ui/base/resource/resource_bundle.h" | 105 #include "ui/base/resource/resource_bundle.h" |
105 #include "ui/base/system_monitor/system_monitor.h" | 106 #include "ui/base/system_monitor/system_monitor.h" |
106 | 107 |
107 #if defined(USE_LINUX_BREAKPAD) | 108 #if defined(USE_LINUX_BREAKPAD) |
108 #include "base/linux_util.h" | 109 #include "base/linux_util.h" |
109 #include "chrome/app/breakpad_linux.h" | 110 #include "chrome/app/breakpad_linux.h" |
110 #endif | 111 #endif |
111 | 112 |
112 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 113 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
113 #include <dbus/dbus-glib.h> | 114 #include <dbus/dbus-glib.h> |
(...skipping 1516 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1630 // TODO(hclam): Need to check for cloud print proxy too. | 1631 // TODO(hclam): Need to check for cloud print proxy too. |
1631 if (parsed_command_line.HasSwitch(switches::kEnableRemoting)) { | 1632 if (parsed_command_line.HasSwitch(switches::kEnableRemoting)) { |
1632 if (user_prefs->GetBoolean(prefs::kRemotingHasSetupCompleted)) { | 1633 if (user_prefs->GetBoolean(prefs::kRemotingHasSetupCompleted)) { |
1633 ServiceProcessControl* control = | 1634 ServiceProcessControl* control = |
1634 ServiceProcessControlManager::GetInstance()->GetProcessControl( | 1635 ServiceProcessControlManager::GetInstance()->GetProcessControl( |
1635 profile); | 1636 profile); |
1636 control->Launch(NULL, NULL); | 1637 control->Launch(NULL, NULL); |
1637 } | 1638 } |
1638 } | 1639 } |
1639 | 1640 |
| 1641 if (parsed_command_line.HasSwitch(switches::kCloudPrintFile)) { |
| 1642 FilePath cloud_print_file; |
| 1643 cloud_print_file = |
| 1644 parsed_command_line.GetSwitchValuePath(switches::kCloudPrintFile); |
| 1645 if (!cloud_print_file.empty()) { |
| 1646 string16 print_job_title; |
| 1647 if (parsed_command_line.HasSwitch(switches::kCloudPrintJobTitle)) { |
| 1648 #ifdef OS_WIN |
| 1649 CommandLine::StringType native_job_title; |
| 1650 native_job_title = CommandLine::ForCurrentProcess()->GetSwitchValueNative( |
| 1651 switches::kCloudPrintJobTitle); |
| 1652 print_job_title = string16(native_job_title); |
| 1653 #elif defined(OS_POSIX) |
| 1654 // TODO(abodenha@google.com) Implement this for OS_POSIX |
| 1655 // Command line string types are different |
| 1656 #endif |
| 1657 } |
| 1658 PrintDialogCloud::CreatePrintDialogForPdf(cloud_print_file, |
| 1659 print_job_title, |
| 1660 false); |
| 1661 } |
| 1662 } |
| 1663 |
1640 #if defined(OS_CHROMEOS) | 1664 #if defined(OS_CHROMEOS) |
1641 // Run the Out of Memory priority manager while in this scope. Wait | 1665 // Run the Out of Memory priority manager while in this scope. Wait |
1642 // until here to start so that we give the most amount of time for | 1666 // until here to start so that we give the most amount of time for |
1643 // the other services to start up before we start adjusting the oom | 1667 // the other services to start up before we start adjusting the oom |
1644 // priority. In reality, it doesn't matter much where in this scope | 1668 // priority. In reality, it doesn't matter much where in this scope |
1645 // this is started, but it must be started in this scope so it will | 1669 // this is started, but it must be started in this scope so it will |
1646 // also be terminated when this scope exits. | 1670 // also be terminated when this scope exits. |
1647 scoped_ptr<browser::OomPriorityManager> oom_priority_manager( | 1671 scoped_ptr<browser::OomPriorityManager> oom_priority_manager( |
1648 new browser::OomPriorityManager); | 1672 new browser::OomPriorityManager); |
1649 #endif | 1673 #endif |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1749 #if defined(OS_CHROMEOS) | 1773 #if defined(OS_CHROMEOS) |
1750 // To be precise, logout (browser shutdown) is not yet done, but the | 1774 // To be precise, logout (browser shutdown) is not yet done, but the |
1751 // remaining work is negligible, hence we say LogoutDone here. | 1775 // remaining work is negligible, hence we say LogoutDone here. |
1752 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", | 1776 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", |
1753 false); | 1777 false); |
1754 chromeos::BootTimesLoader::Get()->WriteLogoutTimes(); | 1778 chromeos::BootTimesLoader::Get()->WriteLogoutTimes(); |
1755 #endif | 1779 #endif |
1756 TRACE_EVENT_END("BrowserMain", 0, 0); | 1780 TRACE_EVENT_END("BrowserMain", 0, 0); |
1757 return result_code; | 1781 return result_code; |
1758 } | 1782 } |
OLD | NEW |