Keyboard-specific settings are now available in the same single-screen interface as the rest of settings Eng owner: shend Product owner: pcovell PRD: https://docs.google.com/document/d/1E5HFG-y3kRtrEDc_QAnRpAGdLmo1jYad3yXewJhPyZQ/edit# Mocks: https://docs.google.com/presentation/d/1pHF2dkf2dEz0TOAz839vQBm8SsRDz40gYHaoQ_5lJm0/edit#slide=id.g3e78b746db_0_0 Design doc: https://docs.google.com/document/d/1W00cVK1Z3OJ42KeiGgOhitFK6jiStNkleWTQJOJaknI/edit
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
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
Issue 911400 has been merged into this issue.
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
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
Comment 1 by bugdroid1@chromium.org
, Nov 27