New issue
Advanced search Search tips

Issue 629609 link

Starred by 7 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocked on:
issue 646901
issue 530339
issue 583616
issue 651458
issue 651612



Sign in to add a comment

spellcheck master bug: make it launchable in webview and chrome for android

Project Member Reported by timvolod...@chromium.org, Jul 19 2016

Issue description

includes the following items:
1. componentize chrome code (to make it work for webview)
2. address/verify stability
3. address/verify performance

 
Blockedon: 583616
Components: UI>Browser>Spellcheck Mobile>WebView
internal design doc: https://goo.gl/tcDCGz
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 25 2016

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

commit 677f301fb8de766a62d065408821722bb89f85f3
Author: timvolodine <timvolodine@chromium.org>
Date: Mon Jul 25 14:00:59 2016

Componentize spellcheck [1]: create component and move switches there.

Current spellcheck code lives in the chrome/ layer, but we want to make it
available in webview as well. Therefore this effort of making a dedicated
spellcheck component. As a first step we create a //components/spellcheck
and move the chrome spellcheck related switches there.

BUG= 583616 , 629609

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

[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/browser/BUILD.gn
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/browser/about_flags.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/browser/spellchecker/feedback_sender.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/browser/spellchecker/feedback_sender_unittest.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/browser/spellchecker/spellcheck_platform_android.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/chrome_common.gypi
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/common/chrome_switches.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/common/chrome_switches.h
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/renderer/BUILD.gn
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/renderer/DEPS
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/chrome/renderer/spellchecker/spellcheck.cc
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/OWNERS
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/components.gyp
[add] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/spellcheck.gypi
[add] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/spellcheck/OWNERS
[add] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/spellcheck/common/BUILD.gn
[add] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/spellcheck/common/spellcheck_switches.cc
[add] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/components/spellcheck/common/spellcheck_switches.h
[modify] https://crrev.com/677f301fb8de766a62d065408821722bb89f85f3/ios/chrome/ios_chrome.gyp

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 28 2016

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

commit 51b39214e16874c2220dc5f024503fe7ab651920
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Jul 28 18:47:17 2016

Componentize spellcheck [2]: move common/ files to component.

Move chrome/common spellcheck files to component, update
spellcheck namespace, update dependencies and build files,
reformat.

The main motivation behind the componentization of the
spellcheck feature is that we want to make it available
in Android WebView.

Preceding 'componentize' patch:
[1] https://codereview.chromium.org/2166683003/

Note:
Skipping presubmit due to a warning about IPC_ENUM_TRAITS,
which is to be addressed separately.

BUG= 583616 , 629609
NOPRESUBMIT=true

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

[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/renderer_context_menu/spelling_menu_observer.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/feedback_sender.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/feedback_sender_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_custom_dictionary_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter_platform.h
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter_platform_android.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac_browsertest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_message_filter_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_platform_mac.mm
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_platform_mac_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_service.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellcheck_service_browsertest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spellchecker_session_bridge_android.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spelling_service_client.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/spellchecker/spelling_service_client_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/sync/test/integration/performance/dictionary_sync_perf_test.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/sync/test/integration/two_client_dictionary_sync_test.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/browser/ui/webui/options/language_options_handler_common.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/chrome_common.gypi
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/common/common_message_generator.h
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/hunspell_engine.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/hunspell_engine.h
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/platform_spelling_engine.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck_multilingual_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck_provider.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck_provider_mac_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck_provider_test.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/chrome/renderer/spellchecker/spellcheck_unittest.cc
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck.gypi
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/BUILD.gn
[add] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/DEPS
[add] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/OWNERS
[rename] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_bdict_language.h
[rename] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_common.cc
[rename] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_common.h
[rename] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_marker.h
[add] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_message_generator.cc
[add] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_message_generator.h
[rename] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_messages.h
[rename] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/components/spellcheck/common/spellcheck_result.h
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/tools/ipc_fuzzer/message_lib/BUILD.gn
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/tools/ipc_fuzzer/message_lib/DEPS
[modify] https://crrev.com/51b39214e16874c2220dc5f024503fe7ab651920/tools/ipc_fuzzer/message_lib/all_messages.h

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 12 2016

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

commit 7ef691f4cdae52d0171ee1abafe33b5df8c09dd3
Author: timvolodine <timvolodine@chromium.org>
Date: Fri Aug 12 00:18:22 2016

Componentize spellcheck [3]: move renderer/ files to component.

Move all chrome/renderer spellcheck files and tests to component,
update dependencies and build files. Also address some compile
and unittest issues, e.g. make sure to properly initialize blink
in tests to avoid crashes.

The main motivation behind the componentization of the spellcheck
feature is that we want to make it available in Android WebView.

Preceding 'componentize' patches:
[1] https://codereview.chromium.org/2166683003/
[2] https://codereview.chromium.org/2177343002/

BUG= 583616 , 629609

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

[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/chrome_renderer.gypi
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/chrome_tests_unit.gypi
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/renderer/BUILD.gn
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/renderer/DEPS
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/renderer/chrome_content_renderer_client.cc
[delete] https://crrev.com/2c985458286f90c514c0aef2992a46c69f372863/chrome/renderer/spellchecker/OWNERS
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/test/BUILD.gn
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/chrome/test/base/chrome_render_view_test.cc
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/BUILD.gn
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/components_tests.gyp
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck.gypi
[modify] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/common/BUILD.gn
[add] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/BUILD.gn
[add] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/DEPS
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/custom_dictionary_engine.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/custom_dictionary_engine.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/custom_dictionary_engine_unittest.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/hunspell_engine.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/hunspell_engine.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/platform_spelling_engine.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/platform_spelling_engine.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_language.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_language.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_multilingual_unittest.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_provider.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_provider.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_provider_hunspell_unittest.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_provider_mac_unittest.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_provider_test.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_provider_test.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_unittest.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_worditerator.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_worditerator.h
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spellcheck_worditerator_unittest.cc
[rename] https://crrev.com/7ef691f4cdae52d0171ee1abafe33b5df8c09dd3/components/spellcheck/renderer/spelling_engine.h

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 17 2016

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

commit 0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec
Author: timvolodine <timvolodine@chromium.org>
Date: Wed Aug 17 16:18:48 2016

Componentize spellcheck [4]: spellcheck/browser and android java-side.

Move some files and unit tests from chrome/browser/spellchecker/ and
android-specific java code to the spellcheck component. This move
generally includes the android slice of spellchecker.

In particular in this patch:
 - move the relevant chrome/browser/spellchecker files and unit tests
 - move the android java files and create proper jni registrar
 - isolate spellcheck preference constants into separate files
 - properly initialize "java_object_initialization_failed_" in
   spellchecker_session_bridge_android.cc
 - update references in the code base
 - update and create build files

The main motivation behind the componentization of the spellcheck
feature is that we want to make it available in Android WebView.

Preceding spellcheck componentization patches:
[1] https://codereview.chromium.org/2166683003/
[2] https://codereview.chromium.org/2177343002/
[3] https://codereview.chromium.org/2198143002/

BUG= 583616 , 629609
TBR=jam@chromium.org

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

[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/android/BUILD.gn
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/android/DEPS
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/android/java_sources.gni
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/BUILD.gn
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/android/DEPS
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/android/chrome_jni_registrar.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/extensions/api/preference/preference_api.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/policy/configuration_policy_handler_list_factory.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/render_view_context_menu.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/spelling_bubble_model.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/spelling_menu_observer.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/spelling_menu_observer.h
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/spelling_menu_observer_browsertest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/spelling_options_submenu_observer.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_context_menu/spelling_options_submenu_observer_browsertest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_custom_dictionary.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_custom_dictionary.h
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_custom_dictionary_unittest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_factory.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_hunspell_dictionary.h
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_message_filter.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_message_filter.h
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac_browsertest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_message_filter_platform_mac_unittest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_service.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_service_browsertest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spellcheck_service_unittest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/spellchecker/spelling_service_client_unittest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/browser/ui/webui/options/multilanguage_options_browsertest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/chrome_browser.gypi
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/chrome_tests_unit.gypi
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/common/pref_names.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/chrome/common/pref_names.h
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/BUILD.gn
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/BUILD.gn
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/DEPS
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/android/BUILD.gn
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/android/component_jni_registrar.cc
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/android/component_jni_registrar.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/android/java/src/org/chromium/components/spellcheck/SpellCheckerSessionBridge.java
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/feedback.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/feedback.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/feedback_sender.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/feedback_sender.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/feedback_sender_unittest.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/feedback_unittest.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/misspelling.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/misspelling.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/misspelling_unittest.cc
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/pref_names.cc
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/pref_names.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_action.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_action.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_action_unittest.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_dictionary.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_host_metrics.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_host_metrics.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_host_metrics_unittest.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_message_filter_platform.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_message_filter_platform_android.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_platform.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_platform_android.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_platform_mac.mm
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellcheck_platform_mac_unittest.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellchecker_session_bridge_android.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spellchecker_session_bridge_android.h
[add] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spelling_service_client.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/spelling_service_client.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/word_trimmer.cc
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/word_trimmer.h
[rename] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/browser/word_trimmer_unittest.cc
[modify] https://crrev.com/0eec9ec80a9f94acad54c0fe07e6e1bdd76643ec/components/spellcheck/renderer/spellcheck.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 25 2016

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

commit 469d6f7b21d83880658cef21112fa20841a4af1b
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Aug 25 05:46:10 2016

[Android] Add spellchecking support in android_webview.

Add spellcheck functionality to webview. Spellchecking
feature will be enabled if the kEnableAndroidSpellChecker
flag is present.

Historical note:
Blink used to have unified_textchecker_enabled setting
which was false by default in android webview and
needed to be enabled in order for spellchecking to work.
It was recently removed in
https://codereview.chromium.org/2235643002/ though.

BUG= 583616 , 629609

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

[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/BUILD.gn
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/browser/DEPS
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/native/BUILD.gn
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/native/DEPS
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/native/android_webview_jni_registrar.cc
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/renderer/DEPS
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/renderer/aw_content_renderer_client.cc
[modify] https://crrev.com/469d6f7b21d83880658cef21112fa20841a4af1b/android_webview/renderer/aw_content_renderer_client.h

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 1 2016

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

commit 34b1ffd11bd0976a3772c4697f7936e8b01b5601
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Sep 01 12:45:23 2016

[Android] Add AndroidSpellChecker feature to allow for gradual rollout using finch.

This patch replaces the kEnableAndroidSpellChecker flag with two
features "AndroidSpellChecker" and "AndroidSpellCheckerNonLowEnd".
This is to allow for finch testing (using chrome experimentation
framework) on e.g. canary and dev channels to verify stability
and obtain potential crash logs.

BUG= 583616 , 629609

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

[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/chrome/browser/about_flags.cc
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/browser/spellcheck_platform_android.cc
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/common/BUILD.gn
[add] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/common/spellcheck_features.cc
[add] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/common/spellcheck_features.h
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/common/spellcheck_switches.cc
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/common/spellcheck_switches.h
[modify] https://crrev.com/34b1ffd11bd0976a3772c4697f7936e8b01b5601/components/spellcheck/renderer/spellcheck.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 7 2016

Labels: merge-merged-2840
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/94b3d7dde8663eb9cb2138984f6618726f54c36c

commit 94b3d7dde8663eb9cb2138984f6618726f54c36c
Author: timvolodine <timvolodine@chromium.org>
Date: Wed Sep 07 12:55:32 2016

[Android] Add AndroidSpellChecker feature to allow for gradual rollout using finch.

Merge to M54 (2840) branch.

This patch replaces the kEnableAndroidSpellChecker flag with two
features "AndroidSpellChecker" and "AndroidSpellCheckerNonLowEnd".
This is to allow for finch testing (using chrome experimentation
framework) on e.g. canary and dev channels to verify stability
and obtain potential crash logs.

BUG= 583616 , 629609
TBR=tobiasjs@chromium.org,torne@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2284583002
Cr-Commit-Position: refs/heads/master@{#415936}
(cherry picked from commit 34b1ffd11bd0976a3772c4697f7936e8b01b5601)

Review-Url: https://codereview.chromium.org/2317043002
Cr-Commit-Position: refs/branch-heads/2840@{#202}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/chrome/browser/about_flags.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/browser/spellcheck_platform_android.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/BUILD.gn
[add] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_features.cc
[add] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_features.h
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_switches.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_switches.h
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/renderer/spellcheck.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 14 2016

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

commit 1653062cd62db1cda12c6368929e64d6c8d866a7
Author: timvolodine <timvolodine@chromium.org>
Date: Wed Sep 14 19:07:33 2016

[Android][Mac] Enable spellcheck caching on Android and Mac platforms.

This patch enables caching of spellcheck results to improve performance
and address issues mentioned below.

In its current state i.e. without caching spellcheck on Android and Mac
has a number of issues e.g.:
- selection (click) of words or movement of the caret can result
in unnecessary calls to the platform spellchecker.
- typing of non-word characters in the end results in unnecessary
calls to the platform spellchecker.
- modifying text does not always result in invocation of spellchecker,
hence not showing the misspelled words.

BUG= 583616 , 629609

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

[modify] https://crrev.com/1653062cd62db1cda12c6368929e64d6c8d866a7/components/spellcheck/renderer/spellcheck_provider.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 19 2016

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

commit 09cb6ca82acfc3044a5a3c03b02d41397a759e73
Author: timvolodine <timvolodine@chromium.org>
Date: Mon Sep 19 15:25:30 2016

Spellcheck cleanup: chrome/common/owners and obsolete java switch

Delete obsolete references to spellcheck files and a switch.

The files listed in chrome/common/owners have been moved to
components/spellcheck/common and are covered by an owners
file there.

The spellcheck switch in ChromeSwitches.java is not used
anywhere (in fact the flag has been removed in
crrev.com/2284583002).

BUG=629609

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

[modify] https://crrev.com/09cb6ca82acfc3044a5a3c03b02d41397a759e73/chrome/android/java/src/org/chromium/chrome/browser/ChromeSwitches.java
[modify] https://crrev.com/09cb6ca82acfc3044a5a3c03b02d41397a759e73/chrome/common/OWNERS

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 22 2016

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

commit 8cdb94cb9311400e353c03fdb9552e32570da426
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Sep 22 12:17:22 2016

Update watchlists for sensors, battery and spellcheck.

{device/sensors/}
created in https://codereview.chromium.org/2037513002

{content/renderer/battery_status/}
moved in https://codereview.chromium.org/1538803002

{chrome/browser/tab_contents/spellchecker,
chrome/browser/tab_contents/spelling_menu}
moved in https://codereview.chromium.org/178193005
to chrome/browser/renderer_context_menu/
spellchecker_* files further removed in
https://codereview.chromium.org/1357393002

{chrome/common/spellcheck_}
moved to component in https://codereview.chromium.org/2177343002/

{chrome/renderer/spellchecker/}
moved to component in https://codereview.chromium.org/2198143002/

BUG=629609

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

[modify] https://crrev.com/8cdb94cb9311400e353c03fdb9552e32570da426/WATCHLISTS

Project Member

Comment 14 by bugdroid1@chromium.org, Sep 29 2016

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

commit b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Sep 29 13:56:43 2016

Make default spellchecking behavior in html elements configurable via WebSettings.

This patch introduces the setSpellCheckEnabledByDefault method in
WebSettings to allow control over whether spellchecking should be
enabled by default in spellcheck-capable html elements (e.g. text
<input> elements and elements with the contenteditable="true"
attribute).

Currently the default behavior is that spellcheck is enabled. This
patch does not actually change any defaults or functionality, instead
this would happen at a later stage in a separate patch. For example on
Android where we may want to change the default for performance
reasons, or in Android WebView due to consistency considerations.

BUG= 583616 , 629609

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

[add] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-attribute-settings-default-expected.txt
[add] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/LayoutTests/editing/spelling/spellcheck-attribute-settings-default.html
[modify] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/Source/core/frame/Settings.in
[modify] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/Source/web/WebSettingsImpl.cpp
[modify] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/Source/web/WebSettingsImpl.h
[modify] https://crrev.com/b0a6d1d8932f6d5a1bbdfb4a650e139d6557163c/third_party/WebKit/public/web/WebSettings.h

Blockedon: 651612
Project Member

Comment 16 by bugdroid1@chromium.org, Oct 3 2016

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

commit 3c92f97e4e4ad473a0788a22820235c71c84ca00
Author: timvolodine <timvolodine@chromium.org>
Date: Mon Oct 03 15:45:11 2016

[Android] Fix spellcheck JNI crash when a tab is closed.

Closing a tab while a spellcheck request is still running can result
in a JNI crash, because the native part has already been destroyed.
This typically happens when the results from the android spellchecking
service come in with some delay which depends on the size of the
request (see crbug.com/651612).

This patch fixes this issue by zeroing the native pointer and checking
it before sending the results to the native side. It also makes sure
that this happens on the correct threads to avoid any potential race
conditions.

BUG=651612,  583616 , 629609

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

[modify] https://crrev.com/3c92f97e4e4ad473a0788a22820235c71c84ca00/components/spellcheck/browser/android/java/src/org/chromium/components/spellcheck/SpellCheckerSessionBridge.java
[modify] https://crrev.com/3c92f97e4e4ad473a0788a22820235c71c84ca00/components/spellcheck/browser/spellcheck_message_filter_platform.h
[modify] https://crrev.com/3c92f97e4e4ad473a0788a22820235c71c84ca00/components/spellcheck/browser/spellcheck_message_filter_platform_android.cc
[modify] https://crrev.com/3c92f97e4e4ad473a0788a22820235c71c84ca00/components/spellcheck/browser/spellchecker_session_bridge_android.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Oct 5 2016

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

commit db1951995f1ce6eb4937f5e431660db383e0ece0
Author: timvolodine <timvolodine@chromium.org>
Date: Wed Oct 05 13:52:45 2016

[Android WebView] make spellcheck off by default and opt-in using spellcheck="true" attribute.

In WebView no spellchecking will be provided on html elements
unless explicitly enabled via the spellcheck="true" attribute.
The main motivation is to have consistent backward behavior in
apps that use WebView. Also this will benefit performance and
battery life on mobile devices (see  crbug.com/652314 ).

Related blink-side patch:
https://codereview.chromium.org/2316303006/

BUG= 652314 ,  583616 , 629609

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

[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/android_webview/native/aw_settings.cc
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/public/common/web_preferences.cc
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/public/common/web_preferences.h
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/renderer/render_view_impl.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 6 2016

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

commit a1d692bf7489e628a2d6dc6786495e32c0059250
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Oct 06 13:59:07 2016

[Android WebView] Add functionality to enable features and enable the spellcheck feature.

This patch adds the necessary generic methods to selectively enable a
feature in webview. The feature is only added if it is not yet enabled
(using --enable-features switch) and not disabled (using
--disable-features).

This patch also enables spellchecking in WebView by default, but only
on non low-end devices.

The feature can be disabled via the command line:
echo 'chrome --disable-features=AndroidSpellCheckerNonLowEnd' > \
/data/local/tmp/webview-command-line

BUG= 583616 , 629609

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

[modify] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/BUILD.gn
[add] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/browser/command_line_helper.cc
[add] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/browser/command_line_helper.h
[add] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/browser/command_line_helper_unittest.cc
[modify] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/lib/main/aw_main_delegate.cc
[modify] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/test/BUILD.gn

Blockedon: 646901
Project Member

Comment 20 by bugdroid1@chromium.org, Oct 13 2016

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

commit f16e0045b2dd3e399e14e5a44db1d8b1b18d46e9
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Oct 13 12:05:11 2016

[Android] Fix NullPointerException crash in SpellCheckerSessionBridge.

Add a check for potential null results when the spellchecking service
returns in onGetSentenceSuggestions.

Haven't tested, reproduced or investigated the cause of this (i.e.
nulls in results) but seems the right approach to avoid crashes in
the first place, see crbug.com/651458 for more details.

BUG=651458, 583616 ,629609

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

[modify] https://crrev.com/f16e0045b2dd3e399e14e5a44db1d8b1b18d46e9/components/spellcheck/browser/android/java/src/org/chromium/components/spellcheck/SpellCheckerSessionBridge.java

Blockedon: 651458
Blockedon: 530339
Project Member

Comment 23 by bugdroid1@chromium.org, Oct 27 2016

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

commit db1951995f1ce6eb4937f5e431660db383e0ece0
Author: timvolodine <timvolodine@chromium.org>
Date: Wed Oct 05 13:52:45 2016

[Android WebView] make spellcheck off by default and opt-in using spellcheck="true" attribute.

In WebView no spellchecking will be provided on html elements
unless explicitly enabled via the spellcheck="true" attribute.
The main motivation is to have consistent backward behavior in
apps that use WebView. Also this will benefit performance and
battery life on mobile devices (see  crbug.com/652314 ).

Related blink-side patch:
https://codereview.chromium.org/2316303006/

BUG= 652314 ,  583616 , 629609

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

[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/android_webview/native/aw_settings.cc
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/public/common/web_preferences.cc
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/public/common/web_preferences.h
[modify] https://crrev.com/db1951995f1ce6eb4937f5e431660db383e0ece0/content/renderer/render_view_impl.cc

Project Member

Comment 24 by bugdroid1@chromium.org, Oct 27 2016

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

commit a1d692bf7489e628a2d6dc6786495e32c0059250
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Oct 06 13:59:07 2016

[Android WebView] Add functionality to enable features and enable the spellcheck feature.

This patch adds the necessary generic methods to selectively enable a
feature in webview. The feature is only added if it is not yet enabled
(using --enable-features switch) and not disabled (using
--disable-features).

This patch also enables spellchecking in WebView by default, but only
on non low-end devices.

The feature can be disabled via the command line:
echo 'chrome --disable-features=AndroidSpellCheckerNonLowEnd' > \
/data/local/tmp/webview-command-line

BUG= 583616 , 629609

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

[modify] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/BUILD.gn
[add] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/browser/command_line_helper.cc
[add] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/browser/command_line_helper.h
[add] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/browser/command_line_helper_unittest.cc
[modify] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/lib/main/aw_main_delegate.cc
[modify] https://crrev.com/a1d692bf7489e628a2d6dc6786495e32c0059250/android_webview/test/BUILD.gn

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 27 2016

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

commit 94b3d7dde8663eb9cb2138984f6618726f54c36c
Author: timvolodine <timvolodine@chromium.org>
Date: Wed Sep 07 12:55:32 2016

[Android] Add AndroidSpellChecker feature to allow for gradual rollout using finch.

Merge to M54 (2840) branch.

This patch replaces the kEnableAndroidSpellChecker flag with two
features "AndroidSpellChecker" and "AndroidSpellCheckerNonLowEnd".
This is to allow for finch testing (using chrome experimentation
framework) on e.g. canary and dev channels to verify stability
and obtain potential crash logs.

BUG= 583616 , 629609
TBR=tobiasjs@chromium.org,torne@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2284583002
Cr-Commit-Position: refs/heads/master@{#415936}
(cherry picked from commit 34b1ffd11bd0976a3772c4697f7936e8b01b5601)

Review-Url: https://codereview.chromium.org/2317043002
Cr-Commit-Position: refs/branch-heads/2840@{#202}
Cr-Branched-From: 1ae106dbab4bddd85132d5b75c670794311f4c57-refs/heads/master@{#414607}

[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/android_webview/browser/aw_content_browser_client.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/chrome/browser/about_flags.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/browser/spellcheck_platform_android.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/BUILD.gn
[add] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_features.cc
[add] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_features.h
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_switches.cc
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/common/spellcheck_switches.h
[modify] https://crrev.com/94b3d7dde8663eb9cb2138984f6618726f54c36c/components/spellcheck/renderer/spellcheck.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Nov 3 2016

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

commit df000848b18809fa5dbcf0cd5e45da6a7f1e673a
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Nov 03 20:34:32 2016

[Android] spellcheck: add latency UMA.

Add spellchecking service latency measurement on Android.
This measures how long it takes for the spellchecker to
return results. The purpose is to understand performance
characteristics of spellchecking on various devices.

Also during testing we have encountered some slow response
times on Nexus 5 Android Lollipop device, which however were
resolved after updating the "Google Keyboard" app via Google
Play. This UMA will help us understand if there are any such
regressions in the field and how frequent they are.

BUG=660074, 629609

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

[modify] https://crrev.com/df000848b18809fa5dbcf0cd5e45da6a7f1e673a/components/spellcheck/browser/android/java/src/org/chromium/components/spellcheck/SpellCheckerSessionBridge.java
[modify] https://crrev.com/df000848b18809fa5dbcf0cd5e45da6a7f1e673a/tools/metrics/histograms/histograms.xml

Project Member

Comment 27 by bugdroid1@chromium.org, Nov 4 2016

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

commit 821e4ef0cc2d7f7c68a538ebc6fed627f8fb802b
Author: timvolodine <timvolodine@chromium.org>
Date: Fri Nov 04 19:49:29 2016

Add AndroidSpellChecker experiment for fieldtrial testing.

This CL adds an "AndroidSpellChecker" experiment to the field trials
under test for the Android platform. It tests enabling spellchecking
in Chrome on Android by default on non low-end devices.

BUG=650851,629609

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

[modify] https://crrev.com/821e4ef0cc2d7f7c68a538ebc6fed627f8fb802b/testing/variations/fieldtrial_testing_config.json

Project Member

Comment 28 by bugdroid1@chromium.org, Nov 17 2016

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

commit d88cfcd00c078a5e54266f1f5f3eda07582f367f
Author: timvolodine <timvolodine@chromium.org>
Date: Thu Nov 17 21:46:00 2016

[Android] spellcheck: add availability UMA.

Add spellchecking service availability measurement on
Android. This measures whether the system spellchecking
service was available at the start of each new
spellchecking session during the editing of textual
input html elements.

Note that the service can be unavailable because the
user has disabled it in the Android settings.

BUG=660074, 629609

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

[modify] https://crrev.com/d88cfcd00c078a5e54266f1f5f3eda07582f367f/components/spellcheck/browser/spellchecker_session_bridge_android.cc
[modify] https://crrev.com/d88cfcd00c078a5e54266f1f5f3eda07582f367f/components/spellcheck/browser/spellchecker_session_bridge_android.h
[modify] https://crrev.com/d88cfcd00c078a5e54266f1f5f3eda07582f367f/tools/metrics/histograms/histograms.xml

Is it possible to merge https://crrev.com/f16e0045b2dd3e399e14e5a44db1d8b1b18d46e9 into M55? We're seeing cases of this crash among BlackBerry Hub users.

The fix looks very low risk.
Project Member

Comment 30 by bugdroid1@chromium.org, Nov 28 2016

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

commit cb1e0169211135db1dd2e0220434bcec2efd7f16
Author: timvolodine <timvolodine@chromium.org>
Date: Mon Nov 28 20:28:32 2016

Spellcheck : Fix caching in cases where text is deleted.

This patch fixes spellcheck caching in the following case:
1. paragraph is edited by removing text from the back and
2. paragraph does not contain misspelled words.

Currently this case results in a cache miss and consequently
spellcheck requests being sent to the spellchecking service
while completely unnecessary. This fix applies to all
platforms.

This patch also adds a few unit tests for the relevant
caching specific behavior.

BUG= 664247 ,629609

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

[modify] https://crrev.com/cb1e0169211135db1dd2e0220434bcec2efd7f16/components/spellcheck/renderer/BUILD.gn
[modify] https://crrev.com/cb1e0169211135db1dd2e0220434bcec2efd7f16/components/spellcheck/renderer/spellcheck_provider.cc
[modify] https://crrev.com/cb1e0169211135db1dd2e0220434bcec2efd7f16/components/spellcheck/renderer/spellcheck_provider_test.cc
[modify] https://crrev.com/cb1e0169211135db1dd2e0220434bcec2efd7f16/components/spellcheck/renderer/spellcheck_provider_test.h
[add] https://crrev.com/cb1e0169211135db1dd2e0220434bcec2efd7f16/components/spellcheck/renderer/spellcheck_provider_unittest.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Nov 29 2016

Labels: merge-merged-2883
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e3e8c3b951986590197b7c364c3041ae54cee52

commit 6e3e8c3b951986590197b7c364c3041ae54cee52
Author: timvolodine <timvolodine@chromium.org>
Date: Tue Nov 29 19:42:32 2016

[Android] Fix NullPointerException crash in SpellCheckerSessionBridge.

Merge to M55 (branch 2883)

Add a check for potential null results when the spellchecking service
returns in onGetSentenceSuggestions.

Haven't tested, reproduced or investigated the cause of this (i.e.
nulls in results) but seems the right approach to avoid crashes in
the first place, see crbug.com/651458 for more details.

BUG=651458, 583616 ,629609
TBR=tobiasjs@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2413873003
Cr-Commit-Position: refs/heads/master@{#425004}
(cherry picked from commit f16e0045b2dd3e399e14e5a44db1d8b1b18d46e9)

Review-Url: https://codereview.chromium.org/2539583003
Cr-Commit-Position: refs/branch-heads/2883@{#683}
Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768}

[modify] https://crrev.com/6e3e8c3b951986590197b7c364c3041ae54cee52/components/spellcheck/browser/android/java/src/org/chromium/components/spellcheck/SpellCheckerSessionBridge.java

Project Member

Comment 32 by bugdroid1@chromium.org, Dec 2 2016

Labels: merge-merged-2924
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0529dbf676ae32842dfe480eb421dcb3ba9b7291

commit 0529dbf676ae32842dfe480eb421dcb3ba9b7291
Author: timvolodine <timvolodine@chromium.org>
Date: Fri Dec 02 16:09:00 2016

Spellcheck : Fix caching in cases where text is deleted.

Merge to M56 (branch 2924)

This patch fixes spellcheck caching in the following case:
1. paragraph is edited by removing text from the back and
2. paragraph does not contain misspelled words.

Currently this case results in a cache miss and consequently
spellcheck requests being sent to the spellchecking service
while completely unnecessary. This fix applies to all
platforms.

This patch also adds a few unit tests for the relevant
caching specific behavior.

BUG= 664247 ,629609
TBR=tobiasjs@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2494123002
Cr-Commit-Position: refs/heads/master@{#434710}
(cherry picked from commit cb1e0169211135db1dd2e0220434bcec2efd7f16)

Review-Url: https://codereview.chromium.org/2548823002
Cr-Commit-Position: refs/branch-heads/2924@{#287}
Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059}

[modify] https://crrev.com/0529dbf676ae32842dfe480eb421dcb3ba9b7291/components/spellcheck/renderer/BUILD.gn
[modify] https://crrev.com/0529dbf676ae32842dfe480eb421dcb3ba9b7291/components/spellcheck/renderer/spellcheck_provider.cc
[modify] https://crrev.com/0529dbf676ae32842dfe480eb421dcb3ba9b7291/components/spellcheck/renderer/spellcheck_provider_test.cc
[modify] https://crrev.com/0529dbf676ae32842dfe480eb421dcb3ba9b7291/components/spellcheck/renderer/spellcheck_provider_test.h
[add] https://crrev.com/0529dbf676ae32842dfe480eb421dcb3ba9b7291/components/spellcheck/renderer/spellcheck_provider_unittest.cc

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 23 2017

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

commit be9a2649f4d349f42acc658d90cc78ef7b170d87
Author: timvolodine <timvolodine@chromium.org>
Date: Mon Jan 23 20:10:23 2017

[Android] Enable spellcheck on non low-end devices by default.

Currently spellcheck is being rolled out to all builds of M56 via
finch. This patch ensures spellcheck functionality continues to be
on for M57 and up on non low-end devices (i.e. having > 512MB RAM).
Also ensure that spellcheck can be disabled/enabled on non low-end
devices via chrome://flags.

BUG=629609, 683922 

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

[modify] https://crrev.com/be9a2649f4d349f42acc658d90cc78ef7b170d87/chrome/browser/about_flags.cc
[modify] https://crrev.com/be9a2649f4d349f42acc658d90cc78ef7b170d87/components/spellcheck/common/spellcheck_features.cc
[modify] https://crrev.com/be9a2649f4d349f42acc658d90cc78ef7b170d87/tools/metrics/histograms/histograms.xml

Project Member

Comment 34 by bugdroid1@chromium.org, Jan 24 2017

Labels: merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b628695210d74bb18ad5b818681413afbdfde26

commit 2b628695210d74bb18ad5b818681413afbdfde26
Author: timvolodine <timvolodine@chromium.org>
Date: Tue Jan 24 19:49:16 2017

[Android] Enable spellcheck on non low-end devices by default.

Merge to M57 (2987)

Currently spellcheck is being rolled out to all builds of M56 via
finch. This patch ensures spellcheck functionality continues to be
on for M57 and up on non low-end devices (i.e. having > 512MB RAM).
Also ensure that spellcheck can be disabled/enabled on non low-end
devices via chrome://flags.

BUG=629609, 683922 
TBR=tobiasjs@chromium.org,groby@chromium.org,isherman@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2636843004
Cr-Commit-Position: refs/heads/master@{#445454}
(cherry picked from commit be9a2649f4d349f42acc658d90cc78ef7b170d87)

Review-Url: https://codereview.chromium.org/2650133003
Cr-Commit-Position: refs/branch-heads/2987@{#70}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/2b628695210d74bb18ad5b818681413afbdfde26/chrome/browser/about_flags.cc
[modify] https://crrev.com/2b628695210d74bb18ad5b818681413afbdfde26/components/spellcheck/common/spellcheck_features.cc
[modify] https://crrev.com/2b628695210d74bb18ad5b818681413afbdfde26/tools/metrics/histograms/histograms.xml

Is there any plan to provide the suggestions dropdown that is available for misspelled words in Android text fields?
yes there are plans to add suggestions )
not sure about the exact timeline at this point

Components: -UI>Browser>Spellcheck UI>Browser>Language>Spellcheck
Is there any further insight into when the suggestions dropdown would be supported?
@timvolodine, is there any update on when the suggestions dropdown might be supported? Is there a separate issue tracking it?
I don't think this is currently on our near-term roadmap. This is probably low priority because it seems that a large proportion of devices don't provide a spellcheck service at all, and so unfortunately doesn't really benefit the majority of users :(
torne@, I don't think it's fair to say that a large proportion of devices don't provide a spellcheck service. I tried these:

BlackBerry PRIV (Android 6.0)
BlackBerry Motion (Android 7.1)
Google Nexus 6P (Android 8.1)
Google Pixel 2 (Android 8.1)
HTC One (Android 5.0)
HTC One M9 (Android 6.0)
Moto X 2nd gen (Android 6.0)
Samsung Galaxy S8 (Android 7.0)

They all supported spellcheck (red underline of misspelled words) in an HTML textarea in Chrome. All of them supported spellcheck by default except for the Samsung Galaxy S8, where I had to enable spellcheck in the keyboard settings.

Or is there something else I need to be looking for instead of that test?
Tim would know more details but while we were implementing this feature we discovered a large number of devices that don't provide a spellchecking service. A number of devices implement their own spellcheck functionality in the IME, but that's not something that chrome/webview can directly use itself (it's entirely up to the IME what happens there), since this isn't an implementation of the system API in question. This made it quite hard to test this feature on a representative sample of devices since many of them simply couldn't support it.

I don't have a Galaxy S8 to check but if the option is in the keyboard settings then that suggests it's probably *not* an actual android spellchecking service, but Samsung's settings app may categorise things differently. In AOSP the spellchecker is a separate thing to the selected IME and would be expected to be shown as an option where you can potentially choose between multiple different spellchecking services, not just a toggle, though I suspect that devices only have one installed by default.

It's possible the landscape has changed or that we were just looking at a different sample of devices, but it didn't look good before. :/
If this feature is important for your devices, I'm sure we'd accept a contribution :)
Cc: changwan@chromium.org
IME can make dropdown spellcheck suggestions, but it's a different issue and was fixed in  issue 672259 . What's the remaining work for this bug?

Comment 45 by torne@chromium.org, Mar 23 2018

The remaining work here is to implement the "regular" dropdown spellcheck suggestions, powered by the spellchecking service, not the IME.
@torne
@lquinn

I honestly think this is more important than its being made out to be- Spell check was introduced in 1981, I would think this is something in 2018 is a no brainier.
Cc: ctzsm@chromium.org torne@chromium.org
Re #45, isn't https://codereview.chromium.org/2905003003 implemented the regular dropdown spellcheck suggestions powered by the spelling service?

Sign in to add a comment