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

Side by Side Diff: chrome/browser/ui/views/ash/tab_scrubber.cc

Issue 12315136: Add uma histogram for tab scrubbing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/views/ash/tab_scrubber.h" 5 #include "chrome/browser/ui/views/ash/tab_scrubber.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/wm/window_util.h" 8 #include "ash/wm/window_util.h"
9 #include "base/metrics/histogram.h"
9 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
10 #include "chrome/browser/ui/browser_finder.h" 11 #include "chrome/browser/ui/browser_finder.h"
11 #include "chrome/browser/ui/tabs/tab_strip_model.h" 12 #include "chrome/browser/ui/tabs/tab_strip_model.h"
12 #include "chrome/browser/ui/views/frame/browser_view.h" 13 #include "chrome/browser/ui/views/frame/browser_view.h"
13 #include "chrome/browser/ui/views/immersive_mode_controller.h" 14 #include "chrome/browser/ui/views/immersive_mode_controller.h"
14 #include "chrome/browser/ui/views/tabs/tab.h" 15 #include "chrome/browser/ui/views/tabs/tab.h"
15 #include "chrome/browser/ui/views/tabs/tab_strip.h" 16 #include "chrome/browser/ui/views/tabs/tab_strip.h"
16 #include "chrome/common/chrome_notification_types.h" 17 #include "chrome/common/chrome_notification_types.h"
17 #include "content/public/browser/notification_service.h" 18 #include "content/public/browser/notification_service.h"
18 #include "content/public/browser/notification_source.h" 19 #include "content/public/browser/notification_source.h"
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 activate_timer_.Stop(); 255 activate_timer_.Stop();
255 256
256 if (browser_ && browser_->window()) { 257 if (browser_ && browser_->window()) {
257 BrowserView* browser_view = 258 BrowserView* browser_view =
258 BrowserView::GetBrowserViewForNativeWindow( 259 BrowserView::GetBrowserViewForNativeWindow(
259 browser_->window()->GetNativeWindow()); 260 browser_->window()->GetNativeWindow());
260 TabStrip* tab_strip = browser_view->tabstrip(); 261 TabStrip* tab_strip = browser_view->tabstrip();
261 if (activate && highlighted_tab_ != -1) { 262 if (activate && highlighted_tab_ != -1) {
262 Tab* tab = tab_strip->tab_at(highlighted_tab_); 263 Tab* tab = tab_strip->tab_at(highlighted_tab_);
263 tab->hover_controller()->HideImmediately(); 264 tab->hover_controller()->HideImmediately();
265 int distance =
266 std::abs(
267 highlighted_tab_ - browser_->tab_strip_model()->active_index());
268 UMA_HISTOGRAM_CUSTOM_COUNTS("TabScrubber.Distance", distance, 0, 20, 20);
264 browser_->tab_strip_model()->ActivateTabAt(highlighted_tab_, true); 269 browser_->tab_strip_model()->ActivateTabAt(highlighted_tab_, true);
265 } 270 }
266 tab_strip->RemoveObserver(this); 271 tab_strip->RemoveObserver(this);
267 if (!cancel_immersive_reveal_timer_.IsRunning() && 272 if (!cancel_immersive_reveal_timer_.IsRunning() &&
268 should_cancel_immersive_reveal_) { 273 should_cancel_immersive_reveal_) {
269 cancel_immersive_reveal_timer_.Start( 274 cancel_immersive_reveal_timer_.Start(
270 FROM_HERE, 275 FROM_HERE,
271 base::TimeDelta::FromMilliseconds(kCancelImmersiveRevelDelayMS), 276 base::TimeDelta::FromMilliseconds(kCancelImmersiveRevelDelayMS),
272 base:: Bind(&TabScrubber::CancelImmersiveReveal, 277 base:: Bind(&TabScrubber::CancelImmersiveReveal,
273 weak_ptr_factory_.GetWeakPtr())); 278 weak_ptr_factory_.GetWeakPtr()));
274 } 279 }
275 } 280 }
276 swipe_x_ = -1; 281 swipe_x_ = -1;
277 swipe_y_ = -1; 282 swipe_y_ = -1;
278 scrubbing_ = false; 283 scrubbing_ = false;
279 highlighted_tab_ = -1; 284 highlighted_tab_ = -1;
280 } 285 }
281 286
282 void TabScrubber::CancelImmersiveReveal() { 287 void TabScrubber::CancelImmersiveReveal() {
283 cancel_immersive_reveal_timer_.Stop(); 288 cancel_immersive_reveal_timer_.Stop();
284 if (browser_ && should_cancel_immersive_reveal_) { 289 if (browser_ && should_cancel_immersive_reveal_) {
285 BrowserView* browser_view = 290 BrowserView* browser_view =
286 BrowserView::GetBrowserViewForNativeWindow( 291 BrowserView::GetBrowserViewForNativeWindow(
287 browser_->window()->GetNativeWindow()); 292 browser_->window()->GetNativeWindow());
288 browser_view->immersive_mode_controller()->CancelReveal(); 293 browser_view->immersive_mode_controller()->CancelReveal();
289 } 294 }
290 should_cancel_immersive_reveal_ = false; 295 should_cancel_immersive_reveal_ = false;
291 } 296 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698