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

Side by Side Diff: chrome/browser/browser_main.h

Issue 7840041: Refactor some more BrowserMain code. Move core code that's required by all embedders to content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/browser_main.cc » ('j') | chrome/browser/browser_main.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef CHROME_BROWSER_BROWSER_MAIN_H_ 5 #ifndef CHROME_BROWSER_BROWSER_MAIN_H_
6 #define CHROME_BROWSER_BROWSER_MAIN_H_ 6 #define CHROME_BROWSER_BROWSER_MAIN_H_
7 #pragma once 7 #pragma once
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
11 #include "base/metrics/field_trial.h" 11 #include "base/metrics/field_trial.h"
12 #include "base/tracked_objects.h" 12 #include "base/tracked_objects.h"
13 #include "content/browser/browser_main.h" 13 #include "content/browser/browser_main.h"
14 #include "chrome/browser/first_run/first_run.h"
tony 2011/09/08 17:21:04 Nit: alphabetize
jam 2011/09/08 17:43:01 Done.
14 15
16 class BrowserProcessImpl;
15 class FieldTrialSynchronizer; 17 class FieldTrialSynchronizer;
16 class HistogramSynchronizer; 18 class HistogramSynchronizer;
17 class MetricsService; 19 class MetricsService;
18 class PrefService; 20 class PrefService;
21 class ProcessSingleton;
22 class Profile;
19 class ShutdownWatcherHelper; 23 class ShutdownWatcherHelper;
24 class TranslateManager;
20 25
21 namespace chrome_browser { 26 namespace chrome_browser {
22 // For use by ShowMissingLocaleMessageBox. 27 // For use by ShowMissingLocaleMessageBox.
23 extern const char kMissingLocaleDataTitle[]; 28 extern const char kMissingLocaleDataTitle[];
24 extern const char kMissingLocaleDataMessage[]; 29 extern const char kMissingLocaleDataMessage[];
25 } 30 }
26 31
27 class ChromeBrowserMainParts : public content::BrowserMainParts { 32 class ChromeBrowserMainParts : public content::BrowserMainParts {
28 public: 33 public:
29 virtual ~ChromeBrowserMainParts(); 34 virtual ~ChromeBrowserMainParts();
30 35
31 // Constructs HistogramSynchronizer which gets released early (before
32 // main_message_loop_).
33 void SetupHistogramSynchronizer();
34
35 // Constructs metrics service and does related initialization, including 36 // Constructs metrics service and does related initialization, including
36 // creation of field trials. Call only after labs have been converted to 37 // creation of field trials. Call only after labs have been converted to
37 // switches. 38 // switches.
38 MetricsService* SetupMetricsAndFieldTrials( 39 MetricsService* SetupMetricsAndFieldTrials(
39 const CommandLine& parsed_command_line, 40 const CommandLine& parsed_command_line,
40 PrefService* local_state); 41 PrefService* local_state);
41 42
42 protected: 43 protected:
43 explicit ChromeBrowserMainParts(const MainFunctionParams& parameters); 44 explicit ChromeBrowserMainParts(const MainFunctionParams& parameters);
44 45
45 virtual void PostMainMessageLoopStart() OVERRIDE; 46 virtual void PostMainMessageLoopStart() OVERRIDE;
47 virtual void PreMainMessageLoopRun() OVERRIDE;
48 virtual void MainMessageLoopRun() OVERRIDE;
49 virtual void PostMainMessageLoopRun() OVERRIDE;
46 virtual void ToolkitInitialized() OVERRIDE; 50 virtual void ToolkitInitialized() OVERRIDE;
47 51
48 virtual int TemporaryContinue() OVERRIDE;
49
50 private: 52 private:
51 // Methods for |EarlyInitialization()| --------------------------------------- 53 // Methods for |EarlyInitialization()| ---------------------------------------
52 54
53 // A/B test for the maximum number of persistent connections per host. 55 // A/B test for the maximum number of persistent connections per host.
54 void ConnectionFieldTrial(); 56 void ConnectionFieldTrial();
55 57
56 // A/B test for determining a value for unused socket timeout. 58 // A/B test for determining a value for unused socket timeout.
57 void SocketTimeoutFieldTrial(); 59 void SocketTimeoutFieldTrial();
58 60
59 // A/B test for the maximum number of connections per proxy server. 61 // A/B test for the maximum number of connections per proxy server.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 // destroyed after the main_message_loop. 97 // destroyed after the main_message_loop.
96 tracked_objects::AutoTracking tracking_objects_; 98 tracked_objects::AutoTracking tracking_objects_;
97 #endif 99 #endif
98 100
99 // Statistical testing infrastructure for the entire browser. NULL until 101 // Statistical testing infrastructure for the entire browser. NULL until
100 // SetupMetricsAndFieldTrials is called. 102 // SetupMetricsAndFieldTrials is called.
101 scoped_ptr<base::FieldTrialList> field_trial_list_; 103 scoped_ptr<base::FieldTrialList> field_trial_list_;
102 104
103 // Members initialized after / released before main_message_loop_ ------------ 105 // Members initialized after / released before main_message_loop_ ------------
104 106
105 // Initialized in SetupHistogramSynchronizer. 107 scoped_ptr<BrowserProcessImpl> browser_process_;
106 scoped_refptr<HistogramSynchronizer> histogram_synchronizer_; 108 scoped_refptr<HistogramSynchronizer> histogram_synchronizer_;
109 scoped_ptr<ProcessSingleton> process_singleton_;
110 scoped_ptr<FirstRun::MasterPrefs> master_prefs_;
111 bool record_search_engine_;
112 TranslateManager* translate_manager_;
113 MetricsService* metrics_;
114 Profile* profile_;
115 bool run_message_loop_;
107 116
108 // Initialized in SetupMetricsAndFieldTrials. 117 // Initialized in SetupMetricsAndFieldTrials.
109 scoped_refptr<FieldTrialSynchronizer> field_trial_synchronizer_; 118 scoped_refptr<FieldTrialSynchronizer> field_trial_synchronizer_;
110 119
111 FRIEND_TEST(BrowserMainTest, WarmConnectionFieldTrial_WarmestSocket); 120 FRIEND_TEST(BrowserMainTest, WarmConnectionFieldTrial_WarmestSocket);
112 FRIEND_TEST(BrowserMainTest, WarmConnectionFieldTrial_Random); 121 FRIEND_TEST(BrowserMainTest, WarmConnectionFieldTrial_Random);
113 FRIEND_TEST(BrowserMainTest, WarmConnectionFieldTrial_Invalid); 122 FRIEND_TEST(BrowserMainTest, WarmConnectionFieldTrial_Invalid);
114 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainParts); 123 DISALLOW_COPY_AND_ASSIGN(ChromeBrowserMainParts);
115 }; 124 };
116 125
(...skipping 13 matching lines...) Expand all
130 // Records the time from our process' startup to the present time in 139 // Records the time from our process' startup to the present time in
131 // the UMA histogram |metric_name|. 140 // the UMA histogram |metric_name|.
132 void RecordBrowserStartupTime(); 141 void RecordBrowserStartupTime();
133 142
134 // Records a time value to an UMA histogram in the context of the 143 // Records a time value to an UMA histogram in the context of the
135 // PreReadExperiment field-trial. This also reports to the appropriate 144 // PreReadExperiment field-trial. This also reports to the appropriate
136 // sub-histogram (_PreRead(Enabled|Disabled)). 145 // sub-histogram (_PreRead(Enabled|Disabled)).
137 void RecordPreReadExperimentTime(const char* name, base::TimeDelta time); 146 void RecordPreReadExperimentTime(const char* name, base::TimeDelta time);
138 147
139 #endif // CHROME_BROWSER_BROWSER_MAIN_H_ 148 #endif // CHROME_BROWSER_BROWSER_MAIN_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/browser_main.cc » ('j') | chrome/browser/browser_main.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698