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

Side by Side Diff: chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc

Issue 2633743002: Add GetIsPinnedToTaskbarState() (Closed)
Patch Set: Created 3 years, 11 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 | « no previous file | chrome/browser/shell_integration_win.h » ('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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/metrics/chrome_browser_main_extra_parts_metrics.h" 5 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 UMA_TOUCH_EVENTS_AUTO_DISABLED, 106 UMA_TOUCH_EVENTS_AUTO_DISABLED,
107 UMA_TOUCH_EVENTS_DISABLED, 107 UMA_TOUCH_EVENTS_DISABLED,
108 // NOTE: Add states only immediately above this line. Make sure to 108 // NOTE: Add states only immediately above this line. Make sure to
109 // update the enum list in tools/metrics/histograms/histograms.xml 109 // update the enum list in tools/metrics/histograms/histograms.xml
110 // accordingly. 110 // accordingly.
111 UMA_TOUCH_EVENTS_STATE_COUNT 111 UMA_TOUCH_EVENTS_STATE_COUNT
112 }; 112 };
113 113
114 #if defined(OS_ANDROID) && defined(__arm__) 114 #if defined(OS_ANDROID) && defined(__arm__)
115 enum UMAAndroidArmFpu { 115 enum UMAAndroidArmFpu {
116 UMA_ANDROID_ARM_FPU_VFPV3_D16, // The ARM CPU only supports vfpv3-d16. 116 UMA_ANDROID_ARM_FPU_VFPV3_D16, // The ARM CPU only supports vfpv3-d16.
117 UMA_ANDROID_ARM_FPU_NEON, // The Arm CPU supports NEON. 117 UMA_ANDROID_ARM_FPU_NEON, // The Arm CPU supports NEON.
118 UMA_ANDROID_ARM_FPU_COUNT 118 UMA_ANDROID_ARM_FPU_COUNT
119 }; 119 };
120 #endif // defined(OS_ANDROID) && defined(__arm__) 120 #endif // defined(OS_ANDROID) && defined(__arm__)
121 121
122 void RecordMicroArchitectureStats() { 122 void RecordMicroArchitectureStats() {
123 #if defined(ARCH_CPU_X86_FAMILY) 123 #if defined(ARCH_CPU_X86_FAMILY)
124 base::CPU cpu; 124 base::CPU cpu;
125 base::CPU::IntelMicroArchitecture arch = cpu.GetIntelMicroArchitecture(); 125 base::CPU::IntelMicroArchitecture arch = cpu.GetIntelMicroArchitecture();
126 UMA_HISTOGRAM_ENUMERATION("Platform.IntelMaxMicroArchitecture", arch, 126 UMA_HISTOGRAM_ENUMERATION("Platform.IntelMaxMicroArchitecture", arch,
127 base::CPU::MAX_INTEL_MICRO_ARCHITECTURE); 127 base::CPU::MAX_INTEL_MICRO_ARCHITECTURE);
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 ui::InputDeviceManager::GetInstance()->RemoveObserver(this); 307 ui::InputDeviceManager::GetInstance()->RemoveObserver(this);
308 } 308 }
309 309
310 void AsynchronousTouchEventStateRecorder::OnDeviceListsComplete() { 310 void AsynchronousTouchEventStateRecorder::OnDeviceListsComplete() {
311 ui::InputDeviceManager::GetInstance()->RemoveObserver(this); 311 ui::InputDeviceManager::GetInstance()->RemoveObserver(this);
312 RecordTouchEventState(); 312 RecordTouchEventState();
313 } 313 }
314 314
315 #endif // defined(USE_OZONE) || defined(USE_X11) 315 #endif // defined(USE_OZONE) || defined(USE_X11)
316 316
317 #if defined(OS_WIN)
318 void RecordPinnedToTaskbarProcessError(bool error) {
319 UMA_HISTOGRAM_BOOLEAN("Windows.IsPinnedToTaskbar.ProcessError", error);
320 }
321
322 void OnShellHandlerConnectionError() {
323 RecordPinnedToTaskbarProcessError(true);
324 }
325
326 // Record the UMA histogram when a response is received.
327 void OnIsPinnedToTaskbarResult(bool succeeded, bool is_pinned_to_taskbar) {
328 RecordPinnedToTaskbarProcessError(false);
329
330 // Used for histograms; do not reorder.
331 enum Result { NOT_PINNED = 0, PINNED = 1, FAILURE = 2, NUM_RESULTS };
332
333 Result result = FAILURE;
334 if (succeeded)
335 result = is_pinned_to_taskbar ? PINNED : NOT_PINNED;
336 UMA_HISTOGRAM_ENUMERATION("Windows.IsPinnedToTaskbar", result, NUM_RESULTS);
337 }
338
339 // Records the pinned state of the current executable into a histogram.
340 void RecordIsPinnedToTaskbarHistogram() {
341 shell_integration::win::GetIsPinnedToTaskbarState(
342 base::Bind(&OnShellHandlerConnectionError),
343 base::Bind(&OnIsPinnedToTaskbarResult));
344 }
345 #endif // defined(OS_WIN)
346
317 } // namespace 347 } // namespace
318 348
319 ChromeBrowserMainExtraPartsMetrics::ChromeBrowserMainExtraPartsMetrics() 349 ChromeBrowserMainExtraPartsMetrics::ChromeBrowserMainExtraPartsMetrics()
320 : display_count_(0), is_screen_observer_(false) { 350 : display_count_(0), is_screen_observer_(false) {
321 } 351 }
322 352
323 ChromeBrowserMainExtraPartsMetrics::~ChromeBrowserMainExtraPartsMetrics() { 353 ChromeBrowserMainExtraPartsMetrics::~ChromeBrowserMainExtraPartsMetrics() {
324 if (is_screen_observer_) 354 if (is_screen_observer_)
325 display::Screen::GetScreen()->RemoveObserver(this); 355 display::Screen::GetScreen()->RemoveObserver(this);
326 } 356 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 #endif // defined(OS_MACOSX) 392 #endif // defined(OS_MACOSX)
363 393
364 constexpr base::TimeDelta kStartupMetricsGatheringDelay = 394 constexpr base::TimeDelta kStartupMetricsGatheringDelay =
365 base::TimeDelta::FromSeconds(45); 395 base::TimeDelta::FromSeconds(45);
366 content::BrowserThread::GetBlockingPool()->PostDelayedTask( 396 content::BrowserThread::GetBlockingPool()->PostDelayedTask(
367 FROM_HERE, base::Bind(&RecordStartupMetricsOnBlockingPool), 397 FROM_HERE, base::Bind(&RecordStartupMetricsOnBlockingPool),
368 kStartupMetricsGatheringDelay); 398 kStartupMetricsGatheringDelay);
369 #if defined(OS_WIN) 399 #if defined(OS_WIN)
370 content::BrowserThread::PostDelayedTask( 400 content::BrowserThread::PostDelayedTask(
371 content::BrowserThread::IO, FROM_HERE, 401 content::BrowserThread::IO, FROM_HERE,
372 base::Bind(&shell_integration::win::RecordIsPinnedToTaskbarHistogram), 402 base::Bind(&RecordIsPinnedToTaskbarHistogram),
373 kStartupMetricsGatheringDelay); 403 kStartupMetricsGatheringDelay);
374 #endif // defined(OS_WIN) 404 #endif // defined(OS_WIN)
375 405
376 display_count_ = display::Screen::GetScreen()->GetNumDisplays(); 406 display_count_ = display::Screen::GetScreen()->GetNumDisplays();
377 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnStartup", display_count_); 407 UMA_HISTOGRAM_COUNTS_100("Hardware.Display.Count.OnStartup", display_count_);
378 display::Screen::GetScreen()->AddObserver(this); 408 display::Screen::GetScreen()->AddObserver(this);
379 is_screen_observer_ = true; 409 is_screen_observer_ = true;
380 410
381 #if !defined(OS_ANDROID) 411 #if !defined(OS_ANDROID)
382 FirstWebContentsProfiler::Start(); 412 FirstWebContentsProfiler::Start();
(...skipping 23 matching lines...) Expand all
406 } 436 }
407 } 437 }
408 438
409 namespace chrome { 439 namespace chrome {
410 440
411 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts) { 441 void AddMetricsExtraParts(ChromeBrowserMainParts* main_parts) {
412 main_parts->AddParts(new ChromeBrowserMainExtraPartsMetrics()); 442 main_parts->AddParts(new ChromeBrowserMainExtraPartsMetrics());
413 } 443 }
414 444
415 } // namespace chrome 445 } // namespace chrome
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/shell_integration_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698