Commit 4a4ab03f authored by noamsml@chromium.org's avatar noamsml@chromium.org

Added UMA actions to devices page

Added UMA actions for devices page, including for when it is opened, when "add
printers" is clicked, when "register" is clicked, when a registration is
canceled, when a registration fails, and when a registration succeeds.

BUG=286157

Review URL: https://chromiumcodereview.appspot.com/23508003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221913 0039d316-1c4b-4281-b951-d872f2087c98
parent 41956440
...@@ -86,6 +86,7 @@ cr.define('local_discovery', function() { ...@@ -86,6 +86,7 @@ cr.define('local_discovery', function() {
* Register the device. * Register the device.
*/ */
register: function() { register: function() {
recordUmaAction('DevicesPage_RegisterClicked');
chrome.send('registerDevice', [this.info.service_name]); chrome.send('registerDevice', [this.info.service_name]);
setRegisterPage('register-page-adding1'); setRegisterPage('register-page-adding1');
} }
...@@ -142,9 +143,10 @@ cr.define('local_discovery', function() { ...@@ -142,9 +143,10 @@ cr.define('local_discovery', function() {
} }
/** /**
* Hide the register overlay. * Show the register overlay.
*/ */
function showRegisterOverlay() { function showRegisterOverlay() {
recordUmaAction('DevicesPage_AddPrintersClicked');
$('register-overlay').classList.add('showing'); $('register-overlay').classList.add('showing');
$('overlay').hidden = false; $('overlay').hidden = false;
uber.invokeMethodOnParent('beginInterceptingEvents'); uber.invokeMethodOnParent('beginInterceptingEvents');
...@@ -152,13 +154,12 @@ cr.define('local_discovery', function() { ...@@ -152,13 +154,12 @@ cr.define('local_discovery', function() {
} }
/** /**
* Show the register overlay. * Hide the register overlay.
*/ */
function hideRegisterOverlay() { function hideRegisterOverlay() {
$('register-overlay').classList.remove('showing'); $('register-overlay').classList.remove('showing');
$('overlay').hidden = true; $('overlay').hidden = true;
uber.invokeMethodOnParent('stopInterceptingEvents'); uber.invokeMethodOnParent('stopInterceptingEvents');
chrome.send('cancelRegistration');
} }
/** /**
...@@ -176,6 +177,7 @@ cr.define('local_discovery', function() { ...@@ -176,6 +177,7 @@ cr.define('local_discovery', function() {
*/ */
function onRegistrationFailed() { function onRegistrationFailed() {
setRegisterPage('register-page-error'); setRegisterPage('register-page-error');
recordUmaAction('DevicesPage_RegisterFailure');
} }
/** /**
...@@ -255,6 +257,7 @@ cr.define('local_discovery', function() { ...@@ -255,6 +257,7 @@ cr.define('local_discovery', function() {
function onRegistrationSuccess() { function onRegistrationSuccess() {
hideRegisterOverlay(); hideRegisterOverlay();
requestPrinterList(); requestPrinterList();
recordUmaAction('DevicesPage_RegisterSuccess');
} }
/** /**
...@@ -292,25 +295,42 @@ cr.define('local_discovery', function() { ...@@ -292,25 +295,42 @@ cr.define('local_discovery', function() {
* @param {string} device_id ID of device. * @param {string} device_id ID of device.
*/ */
function manageCloudDevice(device_id) { function manageCloudDevice(device_id) {
recordUmaAction('DevicesPage_ManageClicked');
chrome.send('openCloudPrintURL', chrome.send('openCloudPrintURL',
[PRINTER_MANAGEMENT_PAGE_PREFIX + device_id]); [PRINTER_MANAGEMENT_PAGE_PREFIX + device_id]);
} }
/**
* Record an action in UMA.
* @param {string} actionDesc The name of the action to be logged.
*/
function recordUmaAction(actionDesc) {
chrome.send('metricsHandler:recordAction', [actionDesc]);
}
/**
* Cancel the registration.
*/
function cancelRegistration() {
hideRegisterOverlay();
chrome.send('cancelRegistration');
recordUmaAction('DevicesPage_RegisterCancel');
}
document.addEventListener('DOMContentLoaded', function() { document.addEventListener('DOMContentLoaded', function() {
uber.onContentFrameLoaded(); uber.onContentFrameLoaded();
cr.ui.overlay.setupOverlay($('overlay')); cr.ui.overlay.setupOverlay($('overlay'));
cr.ui.overlay.globalInitialization(); cr.ui.overlay.globalInitialization();
$('overlay').addEventListener('cancelOverlay', hideRegisterOverlay); $('overlay').addEventListener('cancelOverlay', cancelRegistration);
var cancelButtons = document.querySelectorAll('.register-cancel'); var cancelButtons = document.querySelectorAll('.register-cancel');
var cancelButtonsLength = cancelButtons.length; var cancelButtonsLength = cancelButtons.length;
for (var i = 0; i < cancelButtonsLength; i++) { for (var i = 0; i < cancelButtonsLength; i++) {
cancelButtons[i].addEventListener('click', hideRegisterOverlay); cancelButtons[i].addEventListener('click', cancelRegistration);
} }
$('register-error-exit').addEventListener('click', hideRegisterOverlay); $('register-error-exit').addEventListener('click', cancelRegistration);
$('add-printers-button').addEventListener('click', $('add-printers-button').addEventListener('click',
showRegisterOverlay); showRegisterOverlay);
...@@ -323,6 +343,7 @@ cr.define('local_discovery', function() { ...@@ -323,6 +343,7 @@ cr.define('local_discovery', function() {
uber.invokeMethodOnParent('setTitle', {title: title}); uber.invokeMethodOnParent('setTitle', {title: title});
chrome.send('start'); chrome.send('start');
recordUmaAction('DevicesPage_Opened');
requestPrinterList(); requestPrinterList();
}); });
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h" #include "chrome/browser/ui/webui/local_discovery/local_discovery_ui_handler.h"
#include "chrome/browser/ui/webui/metrics_handler.h"
#include "chrome/common/url_constants.h" #include "chrome/common/url_constants.h"
#include "content/public/browser/web_ui.h" #include "content/public/browser/web_ui.h"
#include "content/public/browser/web_ui_data_source.h" #include "content/public/browser/web_ui_data_source.h"
...@@ -83,4 +84,5 @@ LocalDiscoveryUI::LocalDiscoveryUI(content::WebUI* web_ui) ...@@ -83,4 +84,5 @@ LocalDiscoveryUI::LocalDiscoveryUI(content::WebUI* web_ui)
// TODO(gene): Use LocalDiscoveryUIHandler to send updated to the devices // TODO(gene): Use LocalDiscoveryUIHandler to send updated to the devices
// page. For example // page. For example
web_ui->AddMessageHandler(local_discovery::LocalDiscoveryUIHandler::Create()); web_ui->AddMessageHandler(local_discovery::LocalDiscoveryUIHandler::Create());
web_ui->AddMessageHandler(new MetricsHandler());
} }
...@@ -345,6 +345,13 @@ ...@@ -345,6 +345,13 @@
0xd3e90631d6d04d51 DevTools_InspectElement 0xd3e90631d6d04d51 DevTools_InspectElement
0xbadaf91b6bdbbe68 DevTools_ToggleConsole 0xbadaf91b6bdbbe68 DevTools_ToggleConsole
0xddaad2f5e9238157 DevTools_ToggleWindow 0xddaad2f5e9238157 DevTools_ToggleWindow
0x155de7afd2eae387 DevicesPage_AddPrintersClicked
0x876ad499b66d66f3 DevicesPage_ManageClicked
0x62644a4c7aa75135 DevicesPage_Opened
0xc95009afab055732 DevicesPage_RegisterCancel
0xd5e873a27b2a9d34 DevicesPage_RegisterClicked
0x48589e4ef5d72bba DevicesPage_RegisterFailure
0x4e7f3f684b09d823 DevicesPage_RegisterSuccess
0xe581401517f920ca DisabledExtensionNotificationDismissed 0xe581401517f920ca DisabledExtensionNotificationDismissed
0x240b0da0a404d35c DisabledExtensionNotificationShown 0x240b0da0a404d35c DisabledExtensionNotificationShown
0xdad0f491267f672e DockingWindow_Bottom 0xdad0f491267f672e DockingWindow_Bottom
......
...@@ -550,6 +550,20 @@ def AddHistoryPageActions(actions): ...@@ -550,6 +550,20 @@ def AddHistoryPageActions(actions):
actions.add('HistoryPage_ConfirmRemoveSelected') actions.add('HistoryPage_ConfirmRemoveSelected')
actions.add('HistoryPage_CancelRemoveSelected') actions.add('HistoryPage_CancelRemoveSelected')
def AddDevicesPageActions(actions):
"""Add actions that are used in Devices page.
Arguments
actions: set of actions to add to.
"""
actions.add('DevicesPage_Opened')
actions.add('DevicesPage_AddPrintersClicked')
actions.add('DevicesPage_RegisterClicked')
actions.add('DevicesPage_RegisterCancel')
actions.add('DevicesPage_RegisterFailure')
actions.add('DevicesPage_RegisterSuccess')
actions.add('DevicesPage_ManageClicked')
def main(argv): def main(argv):
if '--hash' in argv: if '--hash' in argv:
hash_output = True hash_output = True
...@@ -584,11 +598,12 @@ def main(argv): ...@@ -584,11 +598,12 @@ def main(argv):
# print "Scanned {0} number of files".format(number_of_files_total) # print "Scanned {0} number of files".format(number_of_files_total)
# print "Found {0} entries".format(len(actions)) # print "Found {0} entries".format(len(actions))
AddClosedSourceActions(actions)
AddChromeOSActions(actions)
AddExtensionActions(actions)
AddAndroidActions(actions) AddAndroidActions(actions)
AddBookmarkManagerActions(actions) AddBookmarkManagerActions(actions)
AddChromeOSActions(actions)
AddClosedSourceActions(actions)
AddDevicesPageActions(actions)
AddExtensionActions(actions)
AddHistoryPageActions(actions) AddHistoryPageActions(actions)
if hash_output: if hash_output:
......
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