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

Side by Side Diff: mandoline/ui/browser/browser_manager.cc

Issue 1278673002: Add stats collection for telemetry startup.warm.blank_page test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comment. Created 5 years, 4 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
« no previous file with comments | « mandoline/ui/browser/DEPS ('k') | mojo/common/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "mandoline/ui/browser/browser_manager.h" 5 #include "mandoline/ui/browser/browser_manager.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/time/time.h"
8 #include "components/view_manager/public/cpp/view.h" 9 #include "components/view_manager/public/cpp/view.h"
9 #include "components/view_manager/public/cpp/view_observer.h" 10 #include "components/view_manager/public/cpp/view_observer.h"
10 #include "mandoline/ui/browser/browser.h" 11 #include "mandoline/ui/browser/browser.h"
12 #include "mojo/services/tracing/public/cpp/switches.h"
13 #include "mojo/services/tracing/public/interfaces/tracing.mojom.h"
11 14
12 namespace mandoline { 15 namespace mandoline {
13 16
14 namespace { 17 namespace {
15 18
16 const char kGoogleURL[] = "http://www.google.com"; 19 const char kGoogleURL[] = "http://www.google.com";
17 20
18 } // namespace 21 } // namespace
19 22
20 BrowserManager::BrowserManager() 23 BrowserManager::BrowserManager()
(...skipping 26 matching lines...) Expand all
47 // Create a Browser for each valid URL in the command line. 50 // Create a Browser for each valid URL in the command line.
48 for (const auto& arg : command_line->GetArgs()) { 51 for (const auto& arg : command_line->GetArgs()) {
49 GURL url(arg); 52 GURL url(arg);
50 if (url.is_valid()) 53 if (url.is_valid())
51 CreateBrowser(url); 54 CreateBrowser(url);
52 } 55 }
53 // If there were no valid URLs in the command line create a Browser with the 56 // If there were no valid URLs in the command line create a Browser with the
54 // default URL. 57 // default URL.
55 if (browsers_.empty()) 58 if (browsers_.empty())
56 CreateBrowser(GURL(kGoogleURL)); 59 CreateBrowser(GURL(kGoogleURL));
60
61 // Record the browser startup time metrics for performance testing.
62 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
63 tracing::kEnableStatsCollectionBindings)) {
64 mojo::URLRequestPtr request(mojo::URLRequest::New());
65 request->url = mojo::String::From("mojo:tracing");
66 tracing::StartupPerformanceDataCollectorPtr collector;
67 app_->ConnectToService(request.Pass(), &collector);
68 // TODO(msw): When to record the browser message loop start time?
69 const base::Time startup_time = base::Time::Now();
70 collector->SetBrowserMessageLoopStartTime(startup_time.ToInternalValue());
71 // TODO(msw): When to record the browser window display time?
72 const base::Time display_time = base::Time::Now();
73 collector->SetBrowserWindowDisplayTime(display_time.ToInternalValue());
74 // TODO(msw): When to record the browser open tabs time?
75 const base::Time open_tabs_time = base::Time::Now();
76 collector->SetBrowserOpenTabsTime(open_tabs_time.ToInternalValue());
77 }
57 } 78 }
58 79
59 bool BrowserManager::ConfigureIncomingConnection( 80 bool BrowserManager::ConfigureIncomingConnection(
60 mojo::ApplicationConnection* connection) { 81 mojo::ApplicationConnection* connection) {
61 connection->AddService<LaunchHandler>(this); 82 connection->AddService<LaunchHandler>(this);
62 return true; 83 return true;
63 } 84 }
64 85
65 void BrowserManager::BrowserClosed(Browser* browser) { 86 void BrowserManager::BrowserClosed(Browser* browser) {
66 scoped_ptr<Browser> browser_owner(browser); 87 scoped_ptr<Browser> browser_owner(browser);
(...skipping 10 matching lines...) Expand all
77 aura_init_.reset(new AuraInit(view, app_->shell())); 98 aura_init_.reset(new AuraInit(view, app_->shell()));
78 #endif 99 #endif
79 } 100 }
80 101
81 void BrowserManager::Create(mojo::ApplicationConnection* connection, 102 void BrowserManager::Create(mojo::ApplicationConnection* connection,
82 mojo::InterfaceRequest<LaunchHandler> request) { 103 mojo::InterfaceRequest<LaunchHandler> request) {
83 launch_handler_bindings_.AddBinding(this, request.Pass()); 104 launch_handler_bindings_.AddBinding(this, request.Pass());
84 } 105 }
85 106
86 } // namespace mandoline 107 } // namespace mandoline
OLDNEW
« no previous file with comments | « mandoline/ui/browser/DEPS ('k') | mojo/common/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698