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

Issue 693226 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug

Blocking:
issue 671375
issue 693302



Sign in to add a comment

auto-fill and manage passwords toggle buttons not disabled when extension-controlled

Project Member Reported by michae...@chromium.org, Feb 16 2017

Issue description

1. install an extension that controls form auto-fill, like https://chrome.google.com/webstore/detail/fillr-autofill-for-chrome/ojhegjfmbbpahdggoekcbmejnifimeca?hl=en-US
2. visit chrome://md-settings

Expected: "Autofill settings" and "Manage passwords" are disabled and show extension-controlled indicators, as in chrome://settings-frame

Actual: both are enabled; trying to toggle them on instantly resets them back to off
 
Blocking: 693302
Blocking: -671375 -684849

Comment 3 by dbeam@chromium.org, Feb 23 2017

Blocking: 671375
Cc: dschuyler@chromium.org hcarmona@chromium.org
Owner: ----
Status: Available (was: Untriaged)
Labels: Hotlist-MD-Settings-PasswordsForms
Cc: scottchen@chromium.org
Owner: scottchen@chromium.org
Status: Started (was: Available)
Project Member

Comment 7 by bugdroid1@chromium.org, Feb 28 2017

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

commit a37a3c270737739b63bca0dc46e7ee2e1d1ebdd4
Author: scottchen <scottchen@chromium.org>
Date: Tue Feb 28 19:44:56 2017

MD Settings: add more extension controlled pref handling.

This previously existing code was removed earlier, but turns out to be necessary so adding the code back.

BUG= 693226 

Review-Url: https://codereview.chromium.org/2720503007
Cr-Commit-Position: refs/heads/master@{#453673}

[modify] https://crrev.com/a37a3c270737739b63bca0dc46e7ee2e1d1ebdd4/chrome/browser/extensions/api/settings_private/prefs_util.cc

Comment 8 by dbeam@chromium.org, Mar 1 2017

Cc: -scottchen@chromium.org dbeam@chromium.org
Status: Fixed (was: Started)
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 10 2017

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

commit 4a3253c3dc5edc041db7f64cca32476181f09013
Author: dbeam <dbeam@chromium.org>
Date: Fri Mar 10 20:56:01 2017

MD Settings: defer sending pref updates until all synchronous operations finish

In the case of extension-controlled prefs, extensions like fillr use

  chrome.privacy.services.autofillEnabled.set({value: false});

To disable Chrome's native Autofill.

When this happens, code runs[1] in chrome to set a pref in the:

1) profile pref store
2) extensions pref store

We observe changes to the profile pref store.  So the order is:

1) set value in profile pref store
-> change happens
2) set value in extensions pref store

Unfortunately, we ask in the observer whether
pref->IsExtensionControlled()[2], which check which store the value comes from.

This will change on the next line of code, but isn't updated yet.

I considered just changing the order (which might be valid), but I think
asyncrifying potentially solves other types of observer order issues.

R=rdevlin.cronin@chromium.org
BUG= 693226 

[1] https://cs.chromium.org/chromium/src/chrome/browser/extensions/api/preference/preference_api.cc?type=cs&q=passwordsavingenabled&l=448,446
[2] https://cs.chromium.org/chromium/src/chrome/browser/extensions/api/settings_private/prefs_util.cc?q=prefs_util.cc&sq=package:chromium&dr&l=486,751

Review-Url: https://codereview.chromium.org/2742663002
Cr-Commit-Position: refs/heads/master@{#456155}

[modify] https://crrev.com/4a3253c3dc5edc041db7f64cca32476181f09013/chrome/browser/extensions/api/settings_private/settings_private_event_router.cc
[modify] https://crrev.com/4a3253c3dc5edc041db7f64cca32476181f09013/chrome/browser/extensions/api/settings_private/settings_private_event_router.h

Sign in to add a comment