Closed Bug 1683226 Opened 3 years ago Closed 3 years ago

Get rid of plugin support of IME/keyboard handling

Categories

(Core :: DOM: UI Events & Focus Handling, task, P2)

task

Tracking

()

RESOLVED FIXED
86 Branch
Tracking Status
firefox86 --- fixed

People

(Reporter: masayuki, Assigned: masayuki)

References

(Blocks 1 open bug)

Details

(Keywords: inputmethod)

Attachments

(16 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

Before creating automated test framework for native IME handlers, I'd like to drop unused path for plugins.

Blocks: 460056
No longer blocks: 489726

Before deleting IMEState::Enabled::PLUGIN, let's make it an enum class
for making the change safer. Almost all of this change is done by
"replace" of VSCode.

Currently, they are never focusable when its type is "plugin".
So, making stop them returning IMEEnabled::Plugin won't change
anything, but it guarantees that nobody will see IMEEnabled::Plugin
at runtime. This is a preparation for the following patches.

Depends on D100100

It's used only by IMM and keyboard handlers on Windows.

Depends on D100120

Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/87c164e0c093
part 1: Make `IMEState::Enabled` an enum class r=m_kato,geckoview-reviewers
https://hg.mozilla.org/integration/autoland/rev/bdcbb8d22b91
part 2: Make `HTMLEmbedElement` and `HTMLObjectElement` stop overriding `nsIContent::GetDesiredIMEState()` r=smaug
https://hg.mozilla.org/integration/autoland/rev/e39ed1138976
part 3: Get rid of pathes for handling plugin from `IMEStateManager`, `IMEContentObserver` and `ContentEventHandler` r=smaug
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/0c47e25d063f
part 4: Make stop `ContentCache` check whether a plugin has focus or not r=m_kato
https://hg.mozilla.org/integration/autoland/rev/78c4b82a3015
part 5: Get rid of the path setting candidate window position from plugin on Windows r=m_kato
https://hg.mozilla.org/integration/autoland/rev/8f2595f0dfda
part 6: Get rid of the path of `DefaultProcOfPluginEvent` r=m_kato
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/172084df9b2b
part 7: Get rid of remaining all IMM message handlers for plugin r=m_kato
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/72421ad7ff7b
part 8: Make `IMEHandler` on Windows stop handling plugin cases r=m_kato
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/2c9db4cd3d89
part 9: Get rid of `nsIWidget::PluginHasFocus()` r=m_kato
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/d3ddd7384de2
part 10: Get rid of `nsIWidget::EnableIMEForPlugin()` r=m_kato
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/af42b96cd2b8
part 11: Get rid of `IMEEnabled::Plugin` r=m_kato

It's used only for a placeholder of composition string in plugins.

Depends on D100387

Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/4b6c96d212f4
part 12: Get rid of `nsIWidget::SetPluginFocus()` r=m_kato
https://hg.mozilla.org/integration/autoland/rev/6ec93ada1e62
part 13: Get rid of `nsIWidget::StartPluginFocused()` r=m_kato,ipc-reviewers,mccr8
https://hg.mozilla.org/integration/autoland/rev/bc1cc01f5898
part 14: Get rid of `ComplexTextInputPanel` r=m_kato
Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/a43143cd7a24
part 15: Get rid of plugin specific members of `WidgetKeyboardEvent` r=m_kato,smaug
https://hg.mozilla.org/integration/autoland/rev/64e6fc7cfaeb
part 16: Get rid of `WidgetPluginEvent` r=smaug
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: