Commit b4271bc3 authored by dominickn's avatar dominickn Committed by Commit bot

Add UseCounters for navigator.vibrate usage compared to site engagement.

These UseCounters will allow an investigation into how often
navigator.vibrate is called for sites with different engagement levels.

BUG=655415

Review-Url: https://codereview.chromium.org/2614913005
Cr-Commit-Position: refs/heads/master@{#441865}
parent 98f40af6
...@@ -1395,6 +1395,12 @@ class CORE_EXPORT UseCounter { ...@@ -1395,6 +1395,12 @@ class CORE_EXPORT UseCounter {
V8StereoPannerNode_Constructor = 1722, V8StereoPannerNode_Constructor = 1722,
V8WaveShaperNode_Constructor = 1723, V8WaveShaperNode_Constructor = 1723,
V8Headers_GetAll_Method = 1724, V8Headers_GetAll_Method = 1724,
NavigatorVibrateEngagementNone = 1725,
NavigatorVibrateEngagementMinimal = 1726,
NavigatorVibrateEngagementLow = 1727,
NavigatorVibrateEngagementMedium = 1728,
NavigatorVibrateEngagementHigh = 1729,
NavigatorVibrateEngagementMax = 1730,
// Add new features immediately above this line. Don't change assigned // Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots. // numbers of any item, and don't reuse removed slots.
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "modules/vibration/VibrationController.h" #include "modules/vibration/VibrationController.h"
#include "platform/Histogram.h" #include "platform/Histogram.h"
#include "platform/UserGestureIndicator.h" #include "platform/UserGestureIndicator.h"
#include "public/platform/site_engagement.mojom-blink.h"
namespace blink { namespace blink {
...@@ -124,6 +125,27 @@ void NavigatorVibration::collectHistogramMetrics(const LocalFrame& frame) { ...@@ -124,6 +125,27 @@ void NavigatorVibration::collectHistogramMetrics(const LocalFrame& frame) {
DEFINE_STATIC_LOCAL(EnumerationHistogram, NavigatorVibrateHistogram, DEFINE_STATIC_LOCAL(EnumerationHistogram, NavigatorVibrateHistogram,
("Vibration.Context", NavigatorVibrationType::EnumMax)); ("Vibration.Context", NavigatorVibrationType::EnumMax));
NavigatorVibrateHistogram.count(type); NavigatorVibrateHistogram.count(type);
switch (frame.document()->getEngagementLevel()) {
case mojom::blink::EngagementLevel::NONE:
UseCounter::count(&frame, UseCounter::NavigatorVibrateEngagementNone);
break;
case mojom::blink::EngagementLevel::MINIMAL:
UseCounter::count(&frame, UseCounter::NavigatorVibrateEngagementMinimal);
break;
case mojom::blink::EngagementLevel::LOW:
UseCounter::count(&frame, UseCounter::NavigatorVibrateEngagementLow);
break;
case mojom::blink::EngagementLevel::MEDIUM:
UseCounter::count(&frame, UseCounter::NavigatorVibrateEngagementMedium);
break;
case mojom::blink::EngagementLevel::HIGH:
UseCounter::count(&frame, UseCounter::NavigatorVibrateEngagementHigh);
break;
case mojom::blink::EngagementLevel::MAX:
UseCounter::count(&frame, UseCounter::NavigatorVibrateEngagementMax);
break;
}
} }
VibrationController* NavigatorVibration::controller(const LocalFrame& frame) { VibrationController* NavigatorVibration::controller(const LocalFrame& frame) {
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
#include "bindings/modules/v8/UnsignedLongOrUnsignedLongSequence.h" #include "bindings/modules/v8/UnsignedLongOrUnsignedLongSequence.h"
#include "core/dom/Document.h" #include "core/dom/Document.h"
#include "core/frame/Navigator.h" #include "core/frame/Navigator.h"
#include "core/frame/UseCounter.h"
#include "core/page/Page.h" #include "core/page/Page.h"
#include "platform/mojo/MojoHelper.h" #include "platform/mojo/MojoHelper.h"
#include "public/platform/InterfaceProvider.h" #include "public/platform/InterfaceProvider.h"
......
...@@ -88362,6 +88362,12 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. ...@@ -88362,6 +88362,12 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
<int value="1722" label="V8StereoPannerNode_Constructor"/> <int value="1722" label="V8StereoPannerNode_Constructor"/>
<int value="1723" label="V8WaveShaperNode_Constructor"/> <int value="1723" label="V8WaveShaperNode_Constructor"/>
<int value="1724" label="V8Headers_GetAll_Method"/> <int value="1724" label="V8Headers_GetAll_Method"/>
<int value="1725" label="NavigatorVibrateEngagementNone"/>
<int value="1726" label="NavigatorVibrateEngagementMinimal"/>
<int value="1727" label="NavigatorVibrateEngagementLow"/>
<int value="1728" label="NavigatorVibrateEngagementMedium"/>
<int value="1729" label="NavigatorVibrateEngagementHigh"/>
<int value="1730" label="NavigatorVibrateEngagementMax"/>
</enum> </enum>
<enum name="FetchRequestMode" type="int"> <enum name="FetchRequestMode" type="int">
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment