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

Issue 895886 link

Starred by 4 users

Issue metadata

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



Sign in to add a comment

Integrate per-keyboard settings into the Chrome OS settings UI

Project Member Reported by pcovell@chromium.org, Oct 16

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Nov 27

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

commit 28fa329ceaf5909a8ad542ef458b31b12624cfab
Author: Darren Shen <shend@chromium.org>
Date: Tue Nov 27 23:45:01 2018

[VK] Add feature flag for integrated keyboard settings.

Bug: 895886
Change-Id: I8e9bfd692e49cde029cb6fd8df1660713be45e05
Reviewed-on: https://chromium-review.googlesource.com/c/1341772
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611420}
[modify] https://crrev.com/28fa329ceaf5909a8ad542ef458b31b12624cfab/ui/base/ui_base_features.cc
[modify] https://crrev.com/28fa329ceaf5909a8ad542ef458b31b12624cfab/ui/base/ui_base_features.h

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 28

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

commit 2ddc71f2c913fd799144e8d7ce821af32cec5bb3
Author: Darren Shen <shend@chromium.org>
Date: Wed Nov 28 22:36:00 2018

[VK] Add input method APIs for getting / setting input method settings.

In ChromeOS, each input method has its own settings, which are currently
stored in the extension local storage. This is not good for several
reasons, so we want to move it to the ChromeOS prefs service:

- Putting it in prefs allows us to eventually sync these settings
  across machines.

- When we eventually deprecate the VK extension, there will be no
  more local storage.

- With the work in 895886, Chrome OS need to access these settings anyway.
  It is much easier for the extension to query Chrome OS than the
  other way around, due to how extension APIs work.

We add a new prefs entry for all the input method settings. Each input
method has a dictionary of key/value pairs to use. For the input method
to get/set these settings, we add private APIs in
chrome.inputMethodPrivate to get/set these values.

Bug: 895886
Change-Id: If1366ead35a8274eadae97c7e4cc37a95526d777
Reviewed-on: https://chromium-review.googlesource.com/c/1343471
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Reviewed-by: Shu Chen <shuchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611903}
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/browser/chromeos/extensions/input_method_api.cc
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/browser/chromeos/extensions/input_method_api.h
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/browser/chromeos/extensions/input_method_apitest_chromeos.cc
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/browser/chromeos/preferences.cc
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/common/extensions/api/input_method_private.json
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/common/pref_names.cc
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/common/pref_names.h
[add] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/test/data/extensions/api_test/input_method/settings/background.js
[add] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/chrome/test/data/extensions/api_test/input_method/settings/manifest.json
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/extensions/browser/extension_function_histogram_value.h
[modify] https://crrev.com/2ddc71f2c913fd799144e8d7ce821af32cec5bb3/tools/metrics/histograms/enums.xml

Cc: shend@chromium.org
 Issue 911400  has been merged into this issue.
Project Member

Comment 4 by bugdroid1@chromium.org, Dec 10

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

commit b3a799053c3872947d84e034726acf2c9caef57e
Author: Darren Shen <shend@chromium.org>
Date: Mon Dec 10 00:02:24 2018

[VK] Add onSettingsChanged event to inputMethodPrivate.

Add a new event onSettingsChanged for whenever setSettings is called.
This allows the virtual keyboard extension to listen for change to IME
settings and update accordingly.

Bug: 895886
Change-Id: I189ba4ce8699c3104d182f2818b3a34ee59c3009
Reviewed-on: https://chromium-review.googlesource.com/c/1367067
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615018}
[modify] https://crrev.com/b3a799053c3872947d84e034726acf2c9caef57e/chrome/browser/chromeos/extensions/input_method_api.cc
[modify] https://crrev.com/b3a799053c3872947d84e034726acf2c9caef57e/chrome/common/extensions/api/input_method_private.json
[modify] https://crrev.com/b3a799053c3872947d84e034726acf2c9caef57e/chrome/test/data/extensions/api_test/input_method/settings/background.js
[modify] https://crrev.com/b3a799053c3872947d84e034726acf2c9caef57e/extensions/browser/extension_event_histogram_value.h
[modify] https://crrev.com/b3a799053c3872947d84e034726acf2c9caef57e/tools/metrics/histograms/enums.xml

Project Member

Comment 5 by bugdroid1@chromium.org, Dec 10

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

commit 6ac00a3291e8d28682c83c973a1a0320420dadce
Author: Darren Shen <shend@chromium.org>
Date: Mon Dec 10 00:07:56 2018

[VK] Make inputMethodPrivate.setSetting callback optional.

Sometimes you don't need to wait for the setting to be updated.

TBR=benwells@chromium.org

Bug: 895886
Change-Id: I712d854e3256f26d08ee6d44db2e3f1355272775
Reviewed-on: https://chromium-review.googlesource.com/c/1367079
Reviewed-by: Darren Shen <shend@chromium.org>
Commit-Queue: Darren Shen <shend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615019}
[modify] https://crrev.com/6ac00a3291e8d28682c83c973a1a0320420dadce/chrome/common/extensions/api/input_method_private.json
[modify] https://crrev.com/6ac00a3291e8d28682c83c973a1a0320420dadce/chrome/test/data/extensions/api_test/input_method/settings/background.js

Sign in to add a comment