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

Issue 870130 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Oct 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocked on:
issue 850176
issue 881924

Blocking:
issue 870123
issue 873310


Participants' hotlists:
Better-Together-Launch-Blockers


Sign in to add a comment

Update "Screen lock" settings page

Project Member Reported by khorimoto@chromium.org, Aug 2

Issue description

(1) Remove section about disabling/learning more about the feature. This is now part of the "Connected Devices" section.
(2) Remove "Distance needed...to unlock" setting.
(3) Transition "Use Smart Lock to sign in..." toggle to be radio buttons instead; see [1] for a mock.
(4) Integrate device policy indicators on this page. See  issue 870113 .

[1] https://docs.google.com/presentation/d/1hloC0CmSxtuwHbVLbKSaq1HWpxyYt4EDTTxMuPu0wHc/edit#slide=id.g3b03913cc0_1_27
 
Owner: jhawkins@chromium.org
Labels: Pri-2
Status: Assigned (was: Available)
Status: Started (was: Assigned)
One other thing to note: At security review, the security reviewers said that we need to add an enterprise policy for allowing users to sign in via SmartLock. This would be in addition to the existing enterprise policy for allowing users to use SmartLock at all (i.e., for unlock).

*If both policies are allowed: All SmartLock functionality available
*If unlock is allowed but sign-in is prohibited: Only unlock allowed
*If unlock is prohibited by sign-in is allowed: All SmartLock functionality is prohibited
*If both policies are prohibited: All SmartLock functionality is prohibited

I imagine we also want to show enterprise logos when appropriate as well.

Adding a policy for this is fairly easy; see [1] where I added a policy for syncing SMS messages.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1187730
Labels: -Pri-2 Pri-1
Upgrading to P1.

With the flags on, the current "Screen lock" page does not display the correct data. Clicking "Set up" opens the deprecated Chrome App instead of Unified Setup, and clicking "Turn off" sends a ToggleEasyUnlockRequest to CryptAUth instead of changing the local user pref. Thus, this should be launch blocking since settings no longer will work correctly without fixes.
Thinking about this more, it is probably much easier to build out the new "Smart Lock" page instead of retrofitting the existing "Lock Screen" page to support the updated Smart Lock settings.

The main reason is that the new page could very easily share a bunch of the existing functionality in the Connected Devices settings. It would be trivial to hook up the Smart Lock toggle using a <settings-multidevice-feature-toggle>, and sending/receiving messages from the browser could be easily integrated using the existing MultiDeviceBrowserProxy. Adapting these controls to fit cleanly within Screen Lock settings will be more challenging.

All we would need to do is:
(1) Add a new route at [1]: r.MULTIDEVICE_SMARTLOCK = r.MULTIDEVICE.createChild('/smartLock');
(2) Create a new subpage element, <settings-multidevice-smartlock-subpage>. This page would derive from MultiDeviceFeatureBehavior and would take the MultiDevicePageContentData via data binding. That page would contain a <settings-multidevice-feature-toggle>.
(3) In <settings-multidevice-page> (see [2]), add the <settings-multidevice-smartlock-subpage> element, wrapped in a dom-if template and <settings-subpage>, just like what is currently done in with <settings-multidevice-subpage>.

[1] https://cs.chromium.org/chromium/src/chrome/browser/resources/settings/route.js
[2] https://cs.chromium.org/chromium/src/chrome/browser/resources/settings/multidevice_page/multidevice_page.html
+1 on that suggestion
@Jesse: See bottom for PRD request.

I have a change the implements most of the new subpage; however, it is not as trivial as Kyle had in mind. Adding a toggle to the settings-subpage element, especially with respect to the specific behavior we require of that toggle, is a rather large API change for Settings as a whole (either implemented directly in settings-page or via subclassing).

Give the fact that we are post-branch, I am planning to implement the P0 aspect of this bug, which is to remove the SmartLock setup button from current Settings UI and replace it with the toggle as spec'ed.  Once that is merged, we are in less of a time crunch to either finish the current implementation inside of screenLock or properly implement the SmartLock subpage.

Jesse can you confirm those are the right priorities?
Confirmed, thanks for keeping me in the loop.
Blockedon: 881924
Labels: -Pri-1 -M-70 M-71 Pri-2
Reducing the priority on this issue because the core launch blocker part has been reduced to crbug/881924.
Re: comment #9: The toggle should be part of the <settings-multidevice-smartlock-subpage> element and explicitly should *not* be part of the <settings-subpage> element. There is no refactor of that element necessary for this change.

Please see <settings-multidevice-subpage> for an example; that subpage also includes a top-level toggle. The first <div> which contains the <settings-multidevice-feature-toggle> is the example which you should follow. See https://cs.chromium.org/chromium/src/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html.

This change should be far simpler than trying to make a change to the Lock Screen page. Let me know if you have any questions.
Blocking: 870123
Labels: -Pri-2 Pri-1
Components: -UI>ProximityAuth UI>Multidevice
Blocking: 873310
Blockedon: 850176
Project Member

Comment 19 by bugdroid1@chromium.org, Oct 8

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

commit c51327f52f872932837f380eaa76af365bba44ef
Author: James Hawkins <jhawkins@chromium.org>
Date: Mon Oct 08 21:01:13 2018

SmartLock: Implement the basic Better Together subpage.

This implementation contains read-only access to the sign-in enabled
setting, though the feature toggle itself works as necessary.

Followup changes will implement policy support, including restricting
write access to the sign-in pref.

R=khorimoto@chromium.org

Bug:  870130 
Test: none
Change-Id: Ib1bfd5ed65c6ba82e08ac2af9e12883d20db7e18
Reviewed-on: https://chromium-review.googlesource.com/c/1265564
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Commit-Queue: James Hawkins <jhawkins@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597680}
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/basic_page/basic_page.html
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/multidevice_page/BUILD.gn
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/multidevice_page/multidevice_page.html
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/multidevice_page/multidevice_page.js
[add] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/multidevice_page/multidevice_smartlock_subpage.html
[add] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/multidevice_page/multidevice_smartlock_subpage.js
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/multidevice_page/multidevice_subpage.html
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/route.js
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/resources/settings/settings_resources.grd
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/browser/ui/webui/settings/md_settings_localized_strings_provider.cc
[modify] https://crrev.com/c51327f52f872932837f380eaa76af365bba44ef/chrome/test/data/webui/settings/multidevice_subpage_tests.js

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 10

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

commit a7501fe8ada5c2b78b8a0984ad53ed81fd4725b7
Author: James Hawkins <jhawkins@chromium.org>
Date: Wed Oct 10 19:09:33 2018

settings/lockScreen: Hide Smart Lock if Multidevice is enabled.

R=stevenjb@chromium.org

Bug:  870130 
Test: none
Change-Id: Id84d370ee5422f6d55c647d21f2b966d80ba0480
Reviewed-on: https://chromium-review.googlesource.com/c/1273621
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Commit-Queue: James Hawkins <jhawkins@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598435}
[modify] https://crrev.com/a7501fe8ada5c2b78b8a0984ad53ed81fd4725b7/chrome/browser/resources/settings/people_page/lock_screen.html
[modify] https://crrev.com/a7501fe8ada5c2b78b8a0984ad53ed81fd4725b7/chrome/browser/resources/settings/people_page/lock_screen.js

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 10

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

commit 39d4eddcbfc8486f505cf721c65c0469ee492d33
Author: James Hawkins <jhawkins@chromium.org>
Date: Wed Oct 10 20:07:48 2018

Smart Lock: Properly query the sign-in pref through browser proxy.

This removes the pref from the whitelist for the new flow.

R=khorimoto@chromium.org

Bug:  870130 
Test: none
Change-Id: I6feb66695549f83a6c928522fdfea6e236150f78
Reviewed-on: https://chromium-review.googlesource.com/c/1271355
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Commit-Queue: James Hawkins <jhawkins@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598469}
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/extensions/api/settings_private/prefs_util.cc
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/resources/settings/multidevice_page/multidevice_browser_proxy.js
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/resources/settings/multidevice_page/multidevice_smartlock_subpage.html
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/resources/settings/multidevice_page/multidevice_smartlock_subpage.js
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.cc
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/ui/webui/settings/chromeos/multidevice_handler.h
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/ui/webui/settings/chromeos/multidevice_handler_unittest.cc
[modify] https://crrev.com/39d4eddcbfc8486f505cf721c65c0469ee492d33/chrome/browser/ui/webui/settings/md_settings_ui.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 11

Status: Fixed (was: Started)
Breaking out a new bug for having the UI reflect the state of "disabled by policy" accurately.

Sign in to add a comment