Skip to content

Commit db4d990

Browse files
author
Gang Wu
committed
[Feed] fix missing UMA counts for suggestion open
counts open suggestions from menu to NewTabPage.ContentSuggestions.Opened. Bug: 911835 Change-Id: I6035cbcab72c1e7acba1ff92da06804e56b21e1f Reviewed-on: https://chromium-review.googlesource.com/c/1362210 Reviewed-by: Sky Malice <skym@chromium.org> Commit-Queue: Gang Wu <gangwu@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#613890}(cherry picked from commit 99a5cb6) Reviewed-on: https://chromium-review.googlesource.com/c/1365838 Reviewed-by: Gang Wu <gangwu@chromium.org> Cr-Commit-Position: refs/branch-heads/3626@{#111} Cr-Branched-From: d897fb1-refs/heads/master@{#612437}
1 parent 806042f commit db4d990

File tree

3 files changed

+24
-35
lines changed

3 files changed

+24
-35
lines changed

chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedLoggingBridge.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,10 @@ public void onContentSwiped(ContentLoggingData data) {
7979

8080
@Override
8181
public void onContentClicked(ContentLoggingData data) {
82-
// Bridge could have been destroyed for policy when this is called.
83-
// See https://crbug.com/901414.
84-
if (mNativeFeedLoggingBridge == 0) return;
85-
86-
nativeOnContentClicked(mNativeFeedLoggingBridge, data.getPositionInStream(),
87-
TimeUnit.SECONDS.toMillis(data.getPublishedTimeSeconds()), data.getScore());
82+
// Records content's clicks in onClientAction. When a user clicks on content, Feed libraries
83+
// will call both onClientAction and onContentClicked, and onClientAction will receive
84+
// ActionType.OPEN_URL in this case. so to avoid double counts, we records content's clicks
85+
// in onClientAction.
8886
}
8987

9088
@Override
@@ -94,8 +92,9 @@ public void onClientAction(ContentLoggingData data, @ActionType int actionType)
9492
if (mNativeFeedLoggingBridge == 0) return;
9593

9694
recordUserAction(actionType);
97-
nativeOnClientAction(
98-
mNativeFeedLoggingBridge, feedActionToWindowOpenDisposition(actionType));
95+
nativeOnClientAction(mNativeFeedLoggingBridge,
96+
feedActionToWindowOpenDisposition(actionType), data.getPositionInStream(),
97+
TimeUnit.SECONDS.toMillis(data.getPublishedTimeSeconds()), data.getScore());
9998
}
10099

101100
@Override
@@ -184,7 +183,7 @@ private int feedActionToWindowOpenDisposition(@ActionType int actionType) {
184183
case ActionType.OPEN_URL:
185184
return WindowOpenDisposition.CURRENT_TAB;
186185
case ActionType.OPEN_URL_INCOGNITO:
187-
return WindowOpenDisposition.IGNORE_ACTION;
186+
return WindowOpenDisposition.OFF_THE_RECORD;
188187
case ActionType.OPEN_URL_NEW_TAB:
189188
return WindowOpenDisposition.NEW_BACKGROUND_TAB;
190189
case ActionType.OPEN_URL_NEW_WINDOW:
@@ -256,10 +255,8 @@ private native void nativeOnContentViewed(long nativeFeedLoggingBridge, int posi
256255
private native void nativeOnContentDismissed(
257256
long nativeFeedLoggingBridge, int position, String uri);
258257
private native void nativeOnContentSwiped(long nativeFeedLoggingBridge);
259-
private native void nativeOnContentClicked(
260-
long nativeFeedLoggingBridge, int position, long publishedTimeMs, float score);
261-
private native void nativeOnClientAction(
262-
long nativeFeedLoggingBridge, int windowOpenDisposition);
258+
private native void nativeOnClientAction(long nativeFeedLoggingBridge,
259+
int windowOpenDisposition, int position, long publishedTimeMs, float score);
263260
private native void nativeOnContentContextMenuOpened(
264261
long nativeFeedLoggingBridge, int position, long publishedTimeMs, float score);
265262
private native void nativeOnMoreButtonViewed(long nativeFeedLoggingBridge, int position);

chrome/browser/android/feed/feed_logging_bridge.cc

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ void FeedLoggingBridge::OnContentViewed(
4848
JNIEnv* j_env,
4949
const base::android::JavaRef<jobject>& j_this,
5050
const jint j_position,
51-
const jlong j_publishedTimeSeconds,
52-
const jlong j_timeContentBecameAvailableSeconds,
51+
const jlong j_publishedTimeMs,
52+
const jlong j_timeContentBecameAvailableMs,
5353
const jfloat j_score) {
5454
feed_logging_metrics_->OnSuggestionShown(
55-
j_position, base::Time::FromJavaTime(j_publishedTimeSeconds), j_score,
56-
base::Time::FromJavaTime(j_timeContentBecameAvailableSeconds));
55+
j_position, base::Time::FromJavaTime(j_publishedTimeMs), j_score,
56+
base::Time::FromJavaTime(j_timeContentBecameAvailableMs));
5757
}
5858

5959
void FeedLoggingBridge::OnContentDismissed(
@@ -71,20 +71,15 @@ void FeedLoggingBridge::OnContentSwiped(
7171
feed_logging_metrics_->OnSuggestionSwiped();
7272
}
7373

74-
void FeedLoggingBridge::OnContentClicked(
74+
void FeedLoggingBridge::OnClientAction(
7575
JNIEnv* j_env,
7676
const base::android::JavaRef<jobject>& j_this,
77+
const jint j_window_open_disposition,
7778
const jint j_position,
78-
const jlong j_publishedTimeSeconds,
79+
const jlong j_publishedTimeMs,
7980
const jfloat j_score) {
8081
feed_logging_metrics_->OnSuggestionOpened(
81-
j_position, base::Time::FromJavaTime(j_publishedTimeSeconds), j_score);
82-
}
83-
84-
void FeedLoggingBridge::OnClientAction(
85-
JNIEnv* j_env,
86-
const base::android::JavaRef<jobject>& j_this,
87-
const jint j_window_open_disposition) {
82+
j_position, base::Time::FromJavaTime(j_publishedTimeMs), j_score);
8883
feed_logging_metrics_->OnSuggestionWindowOpened(
8984
static_cast<WindowOpenDisposition>(j_window_open_disposition));
9085
}
@@ -93,10 +88,10 @@ void FeedLoggingBridge::OnContentContextMenuOpened(
9388
JNIEnv* j_env,
9489
const base::android::JavaRef<jobject>& j_this,
9590
const jint j_position,
96-
const jlong j_publishedTimeSeconds,
91+
const jlong j_publishedTimeMs,
9792
const jfloat j_score) {
9893
feed_logging_metrics_->OnSuggestionMenuOpened(
99-
j_position, base::Time::FromJavaTime(j_publishedTimeSeconds), j_score);
94+
j_position, base::Time::FromJavaTime(j_publishedTimeMs), j_score);
10095
}
10196

10297
void FeedLoggingBridge::OnMoreButtonViewed(JNIEnv* j_env,

chrome/browser/android/feed/feed_logging_bridge.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,12 @@ class FeedLoggingBridge {
3838
void OnContentSwiped(JNIEnv* j_env,
3939
const base::android::JavaRef<jobject>& j_this);
4040

41-
void OnContentClicked(JNIEnv* j_env,
42-
const base::android::JavaRef<jobject>& j_this,
43-
const jint j_position,
44-
const jlong j_publishedTimeMs,
45-
const jfloat j_score);
46-
4741
void OnClientAction(JNIEnv* j_env,
4842
const base::android::JavaRef<jobject>& j_this,
49-
const jint j_window_open_disposition);
43+
const jint j_window_open_disposition,
44+
const jint j_position,
45+
const jlong j_publishedTimeMs,
46+
const jfloat j_score);
5047

5148
void OnContentContextMenuOpened(JNIEnv* j_env,
5249
const base::android::JavaRef<jobject>& j_this,

0 commit comments

Comments
 (0)