New issue
Advanced search Search tips

Issue 733880 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug

Blocked on:
issue 712395

Blocking:
issue 638351



Sign in to add a comment

Maintenance of SpellCheckPanel::spelling_panel_visible_ is broken

Project Member Reported by xiaoche...@chromium.org, Jun 16 2017

Issue description

On Mac, there is only one global spelling panel for all tabs and all renderer processes. However, whether the panel is visible is maintained per RenderFrame in an isolated manner:

- Each RenderFrame owns a SpellCheckPanel
- Each SpellCheckPanel maintains a boolean field spelling_panel_visible_, which is never synchronized with other frames

As a result, if we open the panel for one frame and then switch to another frame/tab, the interaction is broken.

We should either make this field synchronized across all frames, or find some better way to maintain the visibility of the panel.
 

Comment 1 by noel@chromium.org, Jun 16 2017

Blockedon: 712395

Comment 2 by noel@chromium.org, Jun 16 2017

Testing steps: (Mac only of course)

1. Open http://csreis.github.io/tests/cross-site-iframe-simple.html

2. Focus and type some misspelled words in an input field of the subframe

3a. Press ⌘+;
Expected: The next misspelled word is marked

3b. Press ⌘+:
Expected: Spell check panel appears showing the next misspelled word

Comment 3 by noel@chromium.org, Jun 16 2017

Another possible option to consider: delete spelling_panel_visible_.

Comment 4 by creis@chromium.org, Nov 2 2017

Blocking: 638351

Comment 5 by groby@google.com, Dec 19 2017

The panel should be visible across all tabs - i.e. visibility is render-global.

We can't just delete spelling_panel_visible_ because:
* The menu entry *should* have a checkmark if it's already visible (it doesn't right now)
* it should be greyed out if a non-checkable element is focused. (it doesn't right now)
* The UI command needs to toggle the panel, and you can't do that without knowing current visibility :)

Comment 6 by noel@chromium.org, Jan 9 2018

> We can't just delete spelling_panel_visible_ because:

What I meant was if SpellingPanel wants / must know the global state, then maybe do an IPC request to get that global state, and this as an alternative to sync-ing the global state across all child frames.







Project Member

Comment 7 by sheriffbot@chromium.org, Jan 10

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment