Closed Bug 1384027 Opened 2 years ago Closed 2 years ago

[e10s][Win] Composition is committed when application is being deactivated even on Windows when focus is in remote content

Categories

(Core :: DOM: UI Events & Focus Handling, enhancement)

enhancement
Not set

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: masayuki, Assigned: masayuki)

Details

(Keywords: inputmethod)

Attachments

(3 files)

On Windows, composition shouldn't be committed when application is being deactivated because when the process becomes the main process becomes busy, the window is temporarily loses focus.

This is caused by wrong design around nsIWidget::NotifyIME() in e10s mode.

This *might* cause the unexpected orange of bug 1349255.
FYI: See the last paragraph of the commit message for part2 first. That is the reason why we need the part1 change.
Oops, smaug is now vacation-ish. I'll change reviewer to Makoto-san. But if you have some suggestion, smaug, feel free to comment about them even after landing.
Attachment #8890364 - Flags: review?(bugs) → review?(m_kato)
Attachment #8890365 - Flags: review?(bugs) → review?(m_kato)
Attachment #8890366 - Flags: review?(bugs) → review?(m_kato)
Comment on attachment 8890364 [details]
Bug 1384027 - part1: PuppetWidget should have TextEventDispatcher like nsIWidget instance in the parent process

https://reviewboard.mozilla.org/r/161420/#review167658
Attachment #8890364 - Flags: review?(m_kato) → review+
Comment on attachment 8890365 [details]
Bug 1384027 - part2: Move PuppetWidget::NotifyIMEInternal() implementation to PuppetWidget::NotifyIME() which is a method of TextEventDispatcherListener, not nsIWidget

https://reviewboard.mozilla.org/r/161422/#review167672
Attachment #8890365 - Flags: review?(m_kato) → review+
Comment on attachment 8890366 [details]
Bug 1384027 - part3: Don't send blur notification to IME from IMEStateManager::OnChangeFocusInternal() if no window becomes active and IME wants to keep composition during deactive

https://reviewboard.mozilla.org/r/161424/#review167682
Attachment #8890366 - Flags: review?(m_kato) → review+
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/bd4ead9b69d4
part1: PuppetWidget should have TextEventDispatcher like nsIWidget instance in the parent process r=m_kato
https://hg.mozilla.org/integration/autoland/rev/51919d68802e
part2: Move PuppetWidget::NotifyIMEInternal() implementation to PuppetWidget::NotifyIME() which is a method of TextEventDispatcherListener, not nsIWidget r=m_kato
https://hg.mozilla.org/integration/autoland/rev/258d81d73953
part3: Don't send blur notification to IME from IMEStateManager::OnChangeFocusInternal() if no window becomes active and IME wants to keep composition during deactive r=m_kato
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.