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

Unified Diff: ui/base/clipboard/clipboard.cc

Issue 12313009: Add UMA statistics to the clipboard (Closed) Base URL: http://git.chromium.org/chromium/src.git@bug-177140-fix-test
Patch Set: Remove unnecessary READ_* values Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/base/clipboard/clipboard.h ('k') | ui/base/clipboard/clipboard_android.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/base/clipboard/clipboard.cc
diff --git a/ui/base/clipboard/clipboard.cc b/ui/base/clipboard/clipboard.cc
index e384c6528d70dbc4bdd01ad8832b5704d1f3864e..32cea0edd7e73c88cd2b2ca67245353b7ef6e77b 100644
--- a/ui/base/clipboard/clipboard.cc
+++ b/ui/base/clipboard/clipboard.cc
@@ -9,6 +9,7 @@
#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
+#include "base/metrics/histogram.h"
#include "base/synchronization/lock.h"
#include "ui/gfx/size.h"
@@ -103,6 +104,8 @@ union SourceTag2BinaryHelper {
} // namespace
+const Clipboard::SourceTag Clipboard::kInvalidSourceTag =
+ reinterpret_cast<void*>(1);
const char Clipboard::kMimeTypeText[] = "text/plain";
const char Clipboard::kMimeTypeURIList[] = "text/uri-list";
const char Clipboard::kMimeTypeDownloadURL[] = "downloadurl";
@@ -186,6 +189,8 @@ void Clipboard::WriteObjects(Buffer buffer,
WriteObjectsImpl(buffer, objects, tag);
if (!write_objects_callback_.is_null())
write_objects_callback_.Run(buffer);
+ ReportAction(buffer, tag == SourceTag() ? WRITE_CLIPBOARD_NO_SOURCE_TAG
+ : WRITE_CLIPBOARD_SOURCE_TAG);
}
void Clipboard::DispatchObject(ObjectType type, const ObjectMapParams& params) {
@@ -299,4 +304,31 @@ void Clipboard::ReplaceSharedMemHandle(ObjectMap* objects,
}
}
+void Clipboard::ReportAction(Buffer buffer, TrackedAction action) const
+{
+ if (buffer != BUFFER_STANDARD)
+ return;
+
+ switch (action) {
+ case WRITE_CLIPBOARD_NO_SOURCE_TAG:
+ case WRITE_CLIPBOARD_SOURCE_TAG:
+ UMA_HISTOGRAM_ENUMERATION("Clipboard.IncognitoUseCase",
+ action,
+ MAX_TRACKED_ACTION);
+ break;
+ // The code below counts cases when there is the kInvalidSourceTag in the
+ // clipboard. That is, original data came from Incognito window and was
+ // destroyed with that window.
+ case READ_TEXT:
+ if (kInvalidSourceTag == ReadSourceTag(buffer)) {
+ UMA_HISTOGRAM_ENUMERATION("Clipboard.IncognitoUseCase",
+ action,
+ MAX_TRACKED_ACTION);
+ }
+ break;
+ case MAX_TRACKED_ACTION:
+ break;
+ }
+}
+
} // namespace ui
« no previous file with comments | « ui/base/clipboard/clipboard.h ('k') | ui/base/clipboard/clipboard_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698