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

Side by Side Diff: chrome/browser/ui/views/tabs/tab_strip.cc

Issue 16832003: Add UMA metrics to measure the effectiveness of views fuzzing (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ifdefs removed Created 7 years, 5 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
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/tabs/tab_strip.h" 5 #include "chrome/browser/ui/views/tabs/tab_strip.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windowsx.h> 8 #include <windowsx.h>
9 #endif 9 #endif
10 10
11 #include <algorithm> 11 #include <algorithm>
12 #include <iterator> 12 #include <iterator>
13 #include <string> 13 #include <string>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/compiler_specific.h" 16 #include "base/compiler_specific.h"
17 #include "base/metrics/histogram.h" 17 #include "base/metrics/histogram.h"
18 #include "base/stl_util.h" 18 #include "base/stl_util.h"
19 #include "base/strings/utf_string_conversions.h" 19 #include "base/strings/utf_string_conversions.h"
20 #include "chrome/browser/defaults.h" 20 #include "chrome/browser/defaults.h"
21 #include "chrome/browser/ui/tabs/tab_strip_model.h" 21 #include "chrome/browser/ui/tabs/tab_strip_model.h"
22 #include "chrome/browser/ui/view_ids.h" 22 #include "chrome/browser/ui/view_ids.h"
23 #include "chrome/browser/ui/views/tabs/stacked_tab_strip_layout.h" 23 #include "chrome/browser/ui/views/tabs/stacked_tab_strip_layout.h"
24 #include "chrome/browser/ui/views/tabs/tab.h" 24 #include "chrome/browser/ui/views/tabs/tab.h"
25 #include "chrome/browser/ui/views/tabs/tab_drag_controller.h" 25 #include "chrome/browser/ui/views/tabs/tab_drag_controller.h"
26 #include "chrome/browser/ui/views/tabs/tab_strip_controller.h" 26 #include "chrome/browser/ui/views/tabs/tab_strip_controller.h"
27 #include "chrome/browser/ui/views/tabs/tab_strip_observer.h" 27 #include "chrome/browser/ui/views/tabs/tab_strip_observer.h"
28 #include "chrome/browser/ui/views/touch_uma/touch_uma.h"
28 #include "content/public/browser/user_metrics.h" 29 #include "content/public/browser/user_metrics.h"
29 #include "grit/generated_resources.h" 30 #include "grit/generated_resources.h"
30 #include "grit/theme_resources.h" 31 #include "grit/theme_resources.h"
31 #include "ui/base/accessibility/accessible_view_state.h" 32 #include "ui/base/accessibility/accessible_view_state.h"
32 #include "ui/base/animation/animation_container.h" 33 #include "ui/base/animation/animation_container.h"
33 #include "ui/base/animation/throb_animation.h" 34 #include "ui/base/animation/throb_animation.h"
34 #include "ui/base/default_theme_provider.h" 35 #include "ui/base/default_theme_provider.h"
35 #include "ui/base/dragdrop/drag_drop_types.h" 36 #include "ui/base/dragdrop/drag_drop_types.h"
36 #include "ui/base/l10n/l10n_util.h" 37 #include "ui/base/l10n/l10n_util.h"
37 #include "ui/base/layout.h" 38 #include "ui/base/layout.h"
(...skipping 1450 matching lines...) Expand 10 before | Expand all | Expand 10 after
1488 1489
1489 /////////////////////////////////////////////////////////////////////////////// 1490 ///////////////////////////////////////////////////////////////////////////////
1490 // TabStrip, views::ButtonListener implementation: 1491 // TabStrip, views::ButtonListener implementation:
1491 1492
1492 void TabStrip::ButtonPressed(views::Button* sender, const ui::Event& event) { 1493 void TabStrip::ButtonPressed(views::Button* sender, const ui::Event& event) {
1493 if (sender == newtab_button_) { 1494 if (sender == newtab_button_) {
1494 content::RecordAction(UserMetricsAction("NewTab_Button")); 1495 content::RecordAction(UserMetricsAction("NewTab_Button"));
1495 UMA_HISTOGRAM_ENUMERATION("Tab.NewTab", TabStripModel::NEW_TAB_BUTTON, 1496 UMA_HISTOGRAM_ENUMERATION("Tab.NewTab", TabStripModel::NEW_TAB_BUTTON,
1496 TabStripModel::NEW_TAB_ENUM_COUNT); 1497 TabStripModel::NEW_TAB_ENUM_COUNT);
1497 controller()->CreateNewTab(); 1498 controller()->CreateNewTab();
1499 if (event.type() == ui::ET_GESTURE_TAP)
1500 TouchUMA::RecordGestureAction(TouchUMA::GESTURE_NEWTAB_TAP);
1498 } 1501 }
1499 } 1502 }
1500 1503
1501 /////////////////////////////////////////////////////////////////////////////// 1504 ///////////////////////////////////////////////////////////////////////////////
1502 // TabStrip, protected: 1505 // TabStrip, protected:
1503 1506
1504 // Overridden to support automation. See automation_proxy_uitest.cc. 1507 // Overridden to support automation. See automation_proxy_uitest.cc.
1505 const views::View* TabStrip::GetViewByID(int view_id) const { 1508 const views::View* TabStrip::GetViewByID(int view_id) const {
1506 if (tab_count() > 0) { 1509 if (tab_count() > 0) {
1507 if (view_id == VIEW_ID_TAB_LAST) { 1510 if (view_id == VIEW_ID_TAB_LAST) {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1576 } 1579 }
1577 1580
1578 case ui::ET_GESTURE_SCROLL_UPDATE: 1581 case ui::ET_GESTURE_SCROLL_UPDATE:
1579 ContinueDrag(this, *event); 1582 ContinueDrag(this, *event);
1580 break; 1583 break;
1581 1584
1582 case ui::ET_GESTURE_BEGIN: 1585 case ui::ET_GESTURE_BEGIN:
1583 EndDrag(END_DRAG_CANCEL); 1586 EndDrag(END_DRAG_CANCEL);
1584 break; 1587 break;
1585 1588
1589 case ui::ET_GESTURE_TAP: {
1590 const int active_index = controller_->GetActiveIndex();
1591 DCHECK_NE(-1, active_index);
1592 Tab* active_tab = tab_at(active_index);
1593 TouchUMA::GestureActionType action = TouchUMA::GESTURE_TABNOSWITCH_TAP;
1594 if (active_tab->tab_activated_with_last_gesture_begin())
1595 action = TouchUMA::GESTURE_TABSWITCH_TAP;
1596 TouchUMA::RecordGestureAction(action);
1597 break;
1598 }
1599
1586 default: 1600 default:
1587 break; 1601 break;
1588 } 1602 }
1589 event->SetHandled(); 1603 event->SetHandled();
1590 } 1604 }
1591 1605
1592 /////////////////////////////////////////////////////////////////////////////// 1606 ///////////////////////////////////////////////////////////////////////////////
1593 // TabStrip, private: 1607 // TabStrip, private:
1594 1608
1595 void TabStrip::Init() { 1609 void TabStrip::Init() {
(...skipping 1096 matching lines...) Expand 10 before | Expand all | Expand 10 after
2692 if (!adjust_layout_) 2706 if (!adjust_layout_)
2693 return false; 2707 return false;
2694 2708
2695 #if !defined(OS_CHROMEOS) 2709 #if !defined(OS_CHROMEOS)
2696 if (ui::GetDisplayLayout() != ui::LAYOUT_TOUCH) 2710 if (ui::GetDisplayLayout() != ui::LAYOUT_TOUCH)
2697 return false; 2711 return false;
2698 #endif 2712 #endif
2699 2713
2700 return true; 2714 return true;
2701 } 2715 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698