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

Side by Side Diff: chrome/browser/ui/webui/media_router/media_router_dialog_controller_impl.cc

Issue 1510603003: [Media Router] Add UMA metrics for Media Router Dialog WebUI performance. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years 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 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 "chrome/browser/ui/webui/media_router/media_router_dialog_controller_im pl.h" 5 #include "chrome/browser/ui/webui/media_router/media_router_dialog_controller_im pl.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 MediaRouterUI* media_router_ui = 190 MediaRouterUI* media_router_ui =
191 static_cast<MediaRouterUI*>(web_ui->GetController()); 191 static_cast<MediaRouterUI*>(web_ui->GetController());
192 if (media_router_ui) 192 if (media_router_ui)
193 media_router_ui->Close(); 193 media_router_ui->Close();
194 } 194 }
195 } 195 }
196 196
197 void MediaRouterDialogControllerImpl::CreateMediaRouterDialog() { 197 void MediaRouterDialogControllerImpl::CreateMediaRouterDialog() {
198 DCHECK(!dialog_observer_.get()); 198 DCHECK(!dialog_observer_.get());
199 199
200 base::Time dialog_creation_time = base::Time::Now();
200 TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("media_router", "UI", initiator()); 201 TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("media_router", "UI", initiator());
201 202
202 Profile* profile = 203 Profile* profile =
203 Profile::FromBrowserContext(initiator()->GetBrowserContext()); 204 Profile::FromBrowserContext(initiator()->GetBrowserContext());
204 DCHECK(profile); 205 DCHECK(profile);
205 206
206 WebDialogDelegate* web_dialog_delegate = 207 WebDialogDelegate* web_dialog_delegate =
207 new MediaRouterDialogDelegate(action_); 208 new MediaRouterDialogDelegate(action_);
208 // |web_dialog_delegate|'s owner is |constrained_delegate|. 209 // |web_dialog_delegate|'s owner is |constrained_delegate|.
209 // |constrained_delegate| is owned by the parent |views::View|. 210 // |constrained_delegate| is owned by the parent |views::View|.
(...skipping 15 matching lines...) Expand all
225 ConstrainedWebDialogDelegate* constrained_delegate = 226 ConstrainedWebDialogDelegate* constrained_delegate =
226 ShowConstrainedWebDialogWithAutoResize( 227 ShowConstrainedWebDialogWithAutoResize(
227 profile, web_dialog_delegate, initiator(), min_size, max_size); 228 profile, web_dialog_delegate, initiator(), min_size, max_size);
228 #endif 229 #endif
229 230
230 WebContents* media_router_dialog = constrained_delegate->GetWebContents(); 231 WebContents* media_router_dialog = constrained_delegate->GetWebContents();
231 TRACE_EVENT_NESTABLE_ASYNC_INSTANT1("media_router", "UI", initiator(), 232 TRACE_EVENT_NESTABLE_ASYNC_INSTANT1("media_router", "UI", initiator(),
232 "WebContents created", 233 "WebContents created",
233 media_router_dialog); 234 media_router_dialog);
234 235
236 // |media_router_ui| is created when |constrained_delegate| is created.
237 // For tests, GetWebUI() returns a nullptr.
238 if (media_router_dialog->GetWebUI()) {
239 MediaRouterUI* media_router_ui = static_cast<MediaRouterUI*>(
240 media_router_dialog->GetWebUI()->GetController());
241 DCHECK(media_router_ui);
242 media_router_ui->SetUIInitializationTimer(dialog_creation_time);
243 }
244
235 media_router_dialog_pending_ = true; 245 media_router_dialog_pending_ = true;
236 246
237 dialog_observer_.reset(new DialogWebContentsObserver( 247 dialog_observer_.reset(new DialogWebContentsObserver(
238 media_router_dialog, this)); 248 media_router_dialog, this));
239 249
240 if (action_) 250 if (action_)
241 action_->OnPopupShown(); 251 action_->OnPopupShown();
242 } 252 }
243 253
244 void MediaRouterDialogControllerImpl::Reset() { 254 void MediaRouterDialogControllerImpl::Reset() {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 ->GetWeakPtr(); 298 ->GetWeakPtr();
289 if (!create_connection_request.get()) { 299 if (!create_connection_request.get()) {
290 media_router_ui->InitWithDefaultMediaSource(delegate); 300 media_router_ui->InitWithDefaultMediaSource(delegate);
291 } else { 301 } else {
292 media_router_ui->InitWithPresentationSessionRequest( 302 media_router_ui->InitWithPresentationSessionRequest(
293 initiator(), delegate, create_connection_request.Pass()); 303 initiator(), delegate, create_connection_request.Pass());
294 } 304 }
295 } 305 }
296 306
297 } // namespace media_router 307 } // namespace media_router
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698