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

Unified Diff: chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.h

Issue 2476783002: Adding a destination platform histogram for UMA. (Closed)
Patch Set: Style fixes, git cl lint/format Created 4 years, 1 month 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
Index: chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.h
diff --git a/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.h b/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.h
index 0c7cf3e80e3819f12dc9b424102db64f90af7606..2d0eacb619d1878afba07a69b29171a84b922174 100644
--- a/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.h
+++ b/chrome/browser/chromeos/arc/intent_helper/arc_navigation_throttle.h
@@ -43,6 +43,15 @@ class ArcNavigationThrottle : public content::NavigationThrottle {
INVALID = SIZE,
};
+ // As for CloseReason, these define the buckets for an UMA histogram, so this
+ // must be treated in an append-only fashion. This helps especify where a
+ // navigation will continue.
+ enum class Platform : int {
+ ARC = 0,
+ CHROME = 1,
+ SIZE,
+ };
+
// Restricts the amount of apps displayed to the user without the need of a
// ScrollView.
enum { kMaxAppResults = 3 };
@@ -71,6 +80,13 @@ class ArcNavigationThrottle : public content::NavigationThrottle {
static size_t GetAppIndex(
const mojo::Array<mojom::IntentHandlerInfoPtr>& handlers,
const std::string& selected_app_package);
+ // Determines the destination of the current navigation. We know that if the
+ // |close_reason| is either ERROR or DIALOG_DEACTIVATED the navigation MUST
+ // stay in Chrome, otherwise we can assume the navigation goes to ARC with the
+ // exception of the |selected_app_package| being Chrome.
+ static Platform GetDestinationPlatform(
+ const std::string& selected_app_package,
+ CloseReason close_reason);
static bool IsAppAvailableForTesting(
const mojo::Array<mojom::IntentHandlerInfoPtr>& handlers);

Powered by Google App Engine
This is Rietveld 408576698