New issue
Advanced search Search tips

Issue 887383 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Regression: Unable to add languages in chrome://settings/languages page of Guest browser

Project Member Reported by rkalavakuntla@chromium.org, Sep 20

Issue description

Chrome Version: 71.0.3555.0/11082.0.0 dev channel Blaze,Paine,Candy
OS: Chrome OS

What steps will reproduce the problem?
(1)Open Guest Browser >>go to chrome://settings/languages
(2)From Add Languages >>try to add any language and observe

Actual: Unable to add languages in chrome://settings page of Guest browser
Expected: Should be able to add languages in chrome://settings page of Guest browser

This is a Regression issue as same is working fine in M-69

Note: Issue is also seen in 70.0.3538.22 dev and Dev RC #71.0.3554.0/ 11078.0.0 

Attached the screencast for reference..


 
ACtual.mp4
7.3 MB View Download
Expected.mp4
6.8 MB View Download
Unable to add Input methods in chrome://settings page from chrome://settings/inputMethods
Cc: tbuck...@chromium.org steve...@chromium.org
Able to reproduce the issue still on 70.0.3538.96/11021.70.0 stable channel Diasy,Reks,Kip
<Bulk edit> Reminder M71 Stable is approaching. Please review this bug and assess if this is indeed a RBS. If not, please remove the RBS label. If so, please make sure any planned work will be tested in Beta and verified before the Stable date. Thanks
Owner: michae...@chromium.org
Status: Assigned (was: Untriaged)
Labels: -ReleaseBlock-Stable -M-71 M-72
Owner: frechette@chromium.org
I haven't figured out what's happening here exactly. The settings.language.preferred_languages pref *is* getting set in TranslatePrefs, but the old "en-US" version is always returned from chrome.settingsPrivate.getPref.

So it seems like maybe the Settings page and the LanguageSettingsPrivate API functions are using different pref stores.

Since this occurs on M70, removing RBS.

Alexandre, can you take over the investigation?
Owner: anthonyvd@chromium.org
Cc: anthonyvd@chromium.org
Owner: michae...@chromium.org
This line appears to be the root cause: https://cs.chromium.org/chromium/src/chrome/browser/extensions/api/settings_private/settings_private_delegate_factory.cc?rcl=fd1a4804046eec31e0ba44435cb41aed015266b9&l=43.

https://codereview.chromium.org/2499093002 seems to suggest that this is the opposite of the intended behavior. Basically, that patch seems to want to use the Incognito overlay for prefs in Guest mode but GetBrowserContextRedirectedInIncognito does the opposite of that (it uses the original profile's pref store instead of the incognito overlay). 

It looks like TranslatePrefs is using the actual profile's prefs (the guest profile's), whereas chrome.settingsPrivate.getPref is using the original profile's. I'd be surprised if this didn't cause the original profile's prefs to be mutated instead of the guest profile's.

I'm not familiar enough with ChromeOS or the Settings page to know exactly what the intended behavior should be here, or what other things it would break but my intuition would be the use GetBrowserContextOwnInstanceInIncognito instead of GetBrowserContextRedirectedInIncognito in SettingsPrivateDelegateFactory. This would make all prefs accessed by chrome.settingsPrivate.getPref be backed by the guest's profile prefs store.

Michael, do you have an idea of who would be a good person to address this? This issue probably has ramifications outside of the Language case since settings accesses a bunch of prefs.

Sign in to add a comment