New issue
Advanced search Search tips

Issue 789273 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-12-11
OS: Linux , Windows , Mac
Pri: 1
Type: Bug

Blocking:
issue 638351



Sign in to add a comment

OOPIFs don't respect the spellcheck enabled setting

Project Member Reported by alex...@chromium.org, Nov 28 2017

Issue description

What steps will reproduce the problem?
(1) Start Chrome with --site-per-process
(2) Turn off spellchecking as you type:
  (2a) Linux/Windows: go to data:text/html,<textarea>, right-click on the textarea, and ensure that "Spellcheck -> Check the spelling of text fields" is disabled.
  (2b) Mac: from the Edit menu, ensure that "Spelling and Grammar -> Check spelling while typing" is off.
(3) Open a new tab and navigate to http://csreis.github.io/tests/cross-site-iframe-simple.html
(4) In the subframe (which is an OOPIF), type in "asdf asdf asdf" into the first text field.

What is the expected result?
No red squiggly lines under the text, as spellcheck has been disabled.

What happens instead?
Red lines are still visible.

I discovered this in issue 784673 and am filing this as a followup to that issue.

 

Comment 1 by nasko@chromium.org, Nov 28 2017

Blocking: 638351
Cc: -xiaoche...@chromium.org alex...@chromium.org
Owner: xiaoche...@chromium.org
xiaochengh@: you mentioned in https://crbug.com/784673#c16 that this could be fixed by removing Page::spell_check_status_ completely and just always checking SpellCheck::IsSpellcheckEnabled() directly.  Would you have any time to work on that in the next few days?

Ideally, we'd like to get this in for M64, as we anticipate more OOPIF users there as part of  issue 760761 .  We can probably merge back to M64 if it's too hard to get in a fix by branch point Thursday.  I don't think we need need this for M63.

As an alternative, on issue 784673 we've also discussed calling provider->EnableSpellcheck() for subframes and working around the LocalFrames not being initialized in time, but I think your idea is better if it works out.
alexmos@: my current plan is to start on Dec 11, and try to merge back to M64 if the patch is within a mergable scale.

Landing directly in M64 doesn't seem quite doable as we only have 2 days left...
NextAction: 2017-12-11
xiaochengh@: that sounds fine, thanks a lot for looking at it!  Setting NextAction accordingly as a reminder. :)
The NextAction date has arrived: 2017-12-11
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 19 2017

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

commit 03563dd1635a028d286beaf8b4f3d637cc4a8830
Author: Xiaocheng Hu <xiaochengh@chromium.org>
Date: Tue Dec 19 22:27:19 2017

Make Blink check the Chromium-side spellcheck-enabled status

We currently maintain two spellcheck-enabled status, one in Blink
and one in Chromium. This patch makes the Chromium-side status the
only effective one, by changing all querying of the Blink-side status
to query the Chromium-side one instead. In this way, we reduce
maintenance cost, and also fix a bug in syncing the the two statuses
(regression test included).

After this patch, the Blink-side status becomes useless. A follow-up
patch (crrev.com/c/827558) will remove it and its relevant dead code.

Bug:  789273 ,  710097 
Change-Id: I5d4ee851934a3cb2139f0df9aa4df949071644a6
Reviewed-on: https://chromium-review.googlesource.com/821496
Reviewed-by: Rachel Blum <groby@chromium.org>
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525157}
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/chrome/browser/chrome_site_per_process_browsertest.cc
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/components/spellcheck/renderer/spellcheck_provider.cc
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/components/spellcheck/renderer/spellcheck_provider.h
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/content/shell/test_runner/spell_check_client.cc
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/content/shell/test_runner/spell_check_client.h
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/editing/spellcheck/IdleSpellCheckCallback.h
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/editing/spellcheck/IdleSpellCheckCallbackTest.cpp
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckTestBase.cpp
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/editing/spellcheck/SpellCheckTestBase.h
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/editing/spellcheck/SpellChecker.cpp
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/exported/WebFrameTest.cpp
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/loader/EmptyClients.cpp
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/Source/core/loader/EmptyClients.h
[modify] https://crrev.com/03563dd1635a028d286beaf8b4f3d637cc4a8830/third_party/WebKit/public/web/WebTextCheckClient.h

Status: Fixed (was: Assigned)

Sign in to add a comment