New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 862401 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: ----



Sign in to add a comment

Add periodic privacy disclosure for unbound WebAPKs

Project Member Reported by ckitagawa@chromium.org, Jul 10

Issue description

Unbound WebAPKs installed by an administrator have no indication that Chrome is involved in running them and that the cookies/profile are shared. This is a privacy concern since the user cannot find out easily that they are running in Chrome. WebAPKs should follow the model of TWAs as set up in:

https://chromium-review.googlesource.com/c/chromium/src/+/1097399

In this model a Toast is shown every 7 days disclosing that the app is "Running in Chrome".


 
Cc: yfried...@chromium.org
Components: Mobile>WebAPKs
I am still waiting for a reply for this privacy disclosure. See b/111107697.
We will use a dismissable snackbar per app per device for this privacy disclosure. It is only appears on newly installed unbound WebAPKs, since we don't want to show the promo again in existing Maps Go.
Screenshot_20180717-085921.png
1.3 MB View Download
Screenshot_20180717-135720.png
688 KB View Download
Status: Started (was: Assigned)
This is proposed the UI and text of the disclosure.
running_in_chrome_ui.png
238 KB View Download
Cc: twelling...@chromium.org
cc: twellington@ for UI images.
twellington@: please review the snackbar at the bottom of the "running_in_chrome_ui.png" at comment#3. Thanks!
I attached the screenshot of the current privacy disclosure in Maps Go (which is a unbound WebAPKs), and you can see that it does make the button of the content invisible. So ckitagawa@'s CL follow the same type of snackbar but with Chrome's style.

Besides, this privacy disclosure only used in unbound webapks and TWA. In TWA, they used to have a toast which is also on top of the web contents, so I think they are ok with this snackbar.

Infobar isn't what we are looking for, since it disappears when the page is navigating. We need to use the snackbar which will persistent shown until user leaves the WebAPK or TWA. Hopefully this helps.


maps_go_privicy_disclosure.png
439 KB View Download
Who's the UXer on this feature? I'd like to plus them into an existing thread about persistent snackbars for a different feature so that everyone can align on expected behavior.

There is currently no concept of a persistent snackbar in Clank. We're open to adding one :) but we need to make sure UX is bought in and the implementation fits in the existing ecosystem.
We don't have a UXer assigned. Should we just send to chrome-ui-review?
I don't think that's totally necessary. I added ckitagawa@ and hanxi@ to a thread with the UX team about persistent snackbars.
sgtm
Project Member

Comment 11 by bugdroid1@chromium.org, Aug 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5bf413bba761c55615b5bd09a4e5928b44b4fe2

commit c5bf413bba761c55615b5bd09a4e5928b44b4fe2
Author: Calder Kitagawa <ckitagawa@chromium.org>
Date: Fri Aug 10 16:04:15 2018

[WebAPKs] Privacy disclosure Snackbar

Adds a Snackbar to disclose when an unbound WebAPK or TWA is running in
Chrome. This is designed such that users see the disclosure under the
following conditions:

- The webapp is a TWA or WebAPK
- If it is a WebAPK it was not installed from Chrome.

Until the user presses "OK, got it" the snackbar will persist and
remains during navigation. If a session is ended without pressing
"OK, got it" then the message will appear the next time the app is
opened or resumed.

This appears once per app installation with the caveat that if a user
clears their Chrome data the app will show this message again.

This change is implemented to only start showing the disclosure when
the storage is null. This happens only when an app is opened for the
first time. As such all deployed and launched unbound WebAPKs will not
see this message. To facilitate this we set a boolean flag to show the
message when we launch with null storage. The reason this is necessary
that the default value for a key is false so for existing
unbound WebAPKs we would try to show the message regardless of state
if we didn't use a set, check, clear approach.

Known issues:
It appears that there is a finch trial for chrome modern that isn't
properly initialized if the WebAPK is launched cold (i.e. Chrome
hasn't been started) and Chrome's data has been wiped. As a result,
the old black snackbar is shown instead of the white one. This is
remedied if the app is relaunched and won't occur if Chrome is launched
before the WebAPK.

Bug:  862401 
Change-Id: Ieb09b7b628d5718908f8841b06b469c54ed59472
Reviewed-on: https://chromium-review.googlesource.com/1142224
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Reviewed-by: Xi Han <hanxi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582187}
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/AndroidManifest.xml
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java
[delete] https://crrev.com/15417f9fea50700ac8a02b77d554aeb1f3d220c8/chrome/android/java/src/org/chromium/chrome/browser/browserservices/TrustedWebActivityDisclosure.java
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceManager.java
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/src/org/chromium/chrome/browser/snackbar/Snackbar.java
[delete] https://crrev.com/15417f9fea50700ac8a02b77d554aeb1f3d220c8/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkDisclosureNotificationManager.java
[delete] https://crrev.com/15417f9fea50700ac8a02b77d554aeb1f3d220c8/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkDisclosureNotificationService.java
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappActivity.java
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDataStorage.java
[add] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappDisclosureSnackbarController.java
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java/strings/android_chrome_strings.grd
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/java_sources.gni
[add] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebappDisclosureSnackbarControllerTest.java
[modify] https://crrev.com/c5bf413bba761c55615b5bd09a4e5928b44b4fe2/tools/metrics/histograms/enums.xml

Status: Fixed (was: Started)

Sign in to add a comment