Commit e086bf5f authored by Pavel Shmakov's avatar Pavel Shmakov Committed by Commit Bot

UMA for Web Share Target usage in TWAs

Bug: 985331
Change-Id: Ib28b7fbdbcc9ad7f888f4f3527f89b8410294cb7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1757930Reviewed-by: default avatarPeter Conn <peconn@chromium.org>
Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Commit-Queue: Pavel Shmakov <pshmakov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#693126}
parent 7766a987
......@@ -39,6 +39,14 @@ public class TrustedWebActivityUmaRecorder {
int NUM_ENTRIES = 4;
}
@IntDef({ShareRequestMethod.GET, ShareRequestMethod.POST})
@Retention(RetentionPolicy.SOURCE)
public @interface ShareRequestMethod {
int GET = 0;
int POST = 1;
int NUM_ENTRIES = 2;
}
private final ChromeBrowserInitializer mBrowserInitializer;
@Inject
......@@ -140,6 +148,14 @@ public class TrustedWebActivityUmaRecorder {
));
}
/**
* Records the fact that data was shared via a TWA.
*/
public void recordShareTargetRequest(@ShareRequestMethod int method) {
RecordHistogram.recordEnumeratedHistogram("TrustedWebActivity.ShareTargetRequest",
method, ShareRequestMethod.NUM_ENTRIES);
}
private void doWhenNativeLoaded(Runnable runnable) {
mBrowserInitializer.runNowOrAfterNativeInitialization(runnable);
}
......
......@@ -9,6 +9,8 @@ import android.text.TextUtils;
import android.util.Pair;
import org.chromium.base.Promise;
import org.chromium.chrome.browser.browserservices.TrustedWebActivityUmaRecorder;
import org.chromium.chrome.browser.browserservices.TrustedWebActivityUmaRecorder.ShareRequestMethod;
import org.chromium.chrome.browser.browserservices.trustedwebactivityui.controller.TrustedWebActivityVerifier;
import org.chromium.chrome.browser.customtabs.CustomTabIntentDataProvider;
import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigationController;
......@@ -35,16 +37,19 @@ public class TwaSharingController {
private final CustomTabActivityNavigationController mNavigationController;
private final WebApkPostShareTargetNavigator mPostNavigator;
private final TrustedWebActivityVerifier mVerifier;
private final TrustedWebActivityUmaRecorder mUmaRecorder;
@Inject
public TwaSharingController(CustomTabActivityTabProvider tabProvider,
CustomTabActivityNavigationController navigationController,
WebApkPostShareTargetNavigator postNavigator,
TrustedWebActivityVerifier verifier) {
TrustedWebActivityVerifier verifier,
TrustedWebActivityUmaRecorder umaRecorder) {
mTabProvider = tabProvider;
mNavigationController = navigationController;
mPostNavigator = postNavigator;
mVerifier = verifier;
mUmaRecorder = umaRecorder;
}
/**
......@@ -67,10 +72,15 @@ public class TwaSharingController {
}
WebApkInfo.ShareTarget target = toShareTargetInternal(shareTarget);
if (target.isShareMethodPost()) {
return sendPost(shareData, target);
boolean success = sendPost(shareData, target);
if (success) {
mUmaRecorder.recordShareTargetRequest(ShareRequestMethod.POST);
}
return success;
}
mNavigationController.navigate(computeStartUrlForGETShareTarget(shareData, target));
mUmaRecorder.recordShareTargetRequest(ShareRequestMethod.GET);
return true;
});
}
......
......@@ -63030,6 +63030,11 @@ Full version information for the fingerprint enum values:
<int value="2" label="Canceled"/>
</enum>
<enum name="WebShareTargetMethod">
<int value="0" label="GET"/>
<int value="1" label="POST"/>
</enum>
<enum name="WebsiteSettingsAction">
<int value="0" label="Opened"/>
<int value="1" label="(Deprecated) Selected Permissions tab"/>
......@@ -145515,6 +145515,13 @@ should be kept until we use this API. -->
</summary>
</histogram>
<histogram name="TrustedWebActivity.ShareTargetRequest"
enum="WebShareTargetMethod" expires_after="M84">
<owner>pshmakov@chromium.org</owner>
<owner>peconn@chromium.org</owner>
<summary>Recorded when data is shared via a Trusted Web Activity.</summary>
</histogram>
<histogram name="TrustedWebActivity.SplashScreenShown" enum="Boolean"
expires_after="M83">
<owner>pshmakov@chromium.org</owner>
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