summaryrefslogtreecommitdiffstats
path: root/pdf/out_of_process_instance.cc
diff options
context:
space:
mode:
authortsergeant <tsergeant@chromium.org>2015-10-15 17:27:06 -0700
committerCommit bot <commit-bot@chromium.org>2015-10-16 00:27:43 +0000
commitf3f7317c276814ad1774776edfcfbc9e94a184bd (patch)
treeaed302fa378307f237b042900bf3fad18c80a11e /pdf/out_of_process_instance.cc
parent7439d775a6f292c98b52260fe01d2b9ce34de702 (diff)
downloadchromium_src-f3f7317c276814ad1774776edfcfbc9e94a184bd.zip
chromium_src-f3f7317c276814ad1774776edfcfbc9e94a184bd.tar.gz
chromium_src-f3f7317c276814ad1774776edfcfbc9e94a184bd.tar.bz2
Material PDF: Add metrics to count usage of PDF title and bookmarks
Support for these metadata fields was added recently, this will allow us to determine how commonly these features are used. BUG=439114 Review URL: https://codereview.chromium.org/1403833002 Cr-Commit-Position: refs/heads/master@{#354413}
Diffstat (limited to 'pdf/out_of_process_instance.cc')
-rw-r--r--pdf/out_of_process_instance.cc21
1 files changed, 19 insertions, 2 deletions
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index cfa11ba..12aad3c 100644
--- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc
@@ -156,6 +156,14 @@ namespace {
static const char kPPPPdfInterface[] = PPP_PDF_INTERFACE_1;
+// Used for UMA. Do not delete entries, and keep in sync with histograms.xml.
+enum PDFFeatures {
+ LOADED_DOCUMENT = 0,
+ HAS_TITLE = 1,
+ HAS_BOOKMARKS = 2,
+ FEATURES_COUNT
+};
+
PP_Var GetLinkAtPosition(PP_Instance instance, PP_Point point) {
pp::Var var;
void* object = pp::Instance::GetPerInstanceObject(instance, kPPPPdfInterface);
@@ -1101,6 +1109,8 @@ void OutOfProcessInstance::DocumentLoadComplete(int page_count) {
DCHECK(document_load_state_ == LOAD_STATE_LOADING);
document_load_state_ = LOAD_STATE_COMPLETE;
UserMetricsRecordAction("PDF.LoadSuccess");
+ uma_.HistogramEnumeration("PDF.DocumentFeature", LOADED_DOCUMENT,
+ FEATURES_COUNT);
// Note: If we are in print preview mode the scroll location is retained
// across document loads so we don't want to scroll again and override it.
@@ -1112,10 +1122,17 @@ void OutOfProcessInstance::DocumentLoadComplete(int page_count) {
pp::VarDictionary metadata_message;
metadata_message.Set(pp::Var(kType), pp::Var(kJSMetadataType));
std::string title = engine_->GetMetadata("Title");
- if (!base::TrimWhitespace(base::UTF8ToUTF16(title), base::TRIM_ALL).empty())
+ if (!base::TrimWhitespace(base::UTF8ToUTF16(title), base::TRIM_ALL).empty()) {
metadata_message.Set(pp::Var(kJSTitle), pp::Var(title));
+ uma_.HistogramEnumeration("PDF.DocumentFeature", HAS_TITLE, FEATURES_COUNT);
+ }
- metadata_message.Set(pp::Var(kJSBookmarks), engine_->GetBookmarks());
+ pp::VarArray bookmarks = engine_->GetBookmarks();
+ metadata_message.Set(pp::Var(kJSBookmarks), bookmarks);
+ if (bookmarks.GetLength() > 0) {
+ uma_.HistogramEnumeration("PDF.DocumentFeature", HAS_BOOKMARKS,
+ FEATURES_COUNT);
+ }
PostMessage(metadata_message);
pp::VarDictionary progress_message;