Closed
Bug 1211704
Opened 10 years ago
Closed 10 years ago
Convert IME events to native calls
Categories
(Core Graveyard :: Widget: Android, defect)
Tracking
(firefox44 fixed)
RESOLVED
FIXED
mozilla44
| Tracking | Status | |
|---|---|---|
| firefox44 | --- | fixed |
People
(Reporter: jchen, Assigned: jchen)
References
Details
Attachments
(6 files)
|
14.72 KB,
patch
|
esawin
:
review+
|
Details | Diff | Splinter Review |
|
17.71 KB,
patch
|
esawin
:
review+
|
Details | Diff | Splinter Review |
|
63.18 KB,
patch
|
esawin
:
review+
|
Details | Diff | Splinter Review |
|
6.63 KB,
patch
|
esawin
:
review+
|
Details | Diff | Splinter Review |
|
20.42 KB,
patch
|
esawin
:
review+
|
Details | Diff | Splinter Review |
|
9.03 KB,
patch
|
esawin
:
review+
|
Details | Diff | Splinter Review |
No description provided.
| Assignee | ||
Comment 1•10 years ago
|
||
These native methods will replace the IME events used by GeckoEditable.
Attachment #8671149 -
Flags: review?(esawin)
| Assignee | ||
Comment 2•10 years ago
|
||
Remove IME events from GeckoEvent and use the newly added native calls
in GeckoEditable. The changes are mostly straightforward find & replace.
Attachment #8671150 -
Flags: review?(esawin)
| Assignee | ||
Comment 3•10 years ago
|
||
Move the IME event handler implementation in nsWindow::OnIMEEvent to
individual native calls in nsWindow::Natives. This patch also moves most
member variables and helper functions related to IME to inside
nsWindow::Natives. This has the benefit of better organization and saves
some memory because only the top-level nsWindow now keeps IME states.
GetIMEComposition and RemoveIMEComposition are kept inside nsWindow
because they are not strictly related to IME events, and they are used
by some other event handlers in nsWindow.
Attachment #8671151 -
Flags: review?(esawin)
| Assignee | ||
Comment 4•10 years ago
|
||
GeckoEvent.KEY_EVENT and GeckoEvent.IME_EVENT used to count as UI events
for the hang monitor. We should count the new native calls as UI
events also, through this patch.
Attachment #8671153 -
Flags: review?(esawin)
| Assignee | ||
Comment 5•10 years ago
|
||
Remove obsolete GeckoEvent definitions from GeckoEvent.java and
AndroidJavaWrappers.cpp/h.
Attachment #8671154 -
Flags: review?(snorp)
Updated•10 years ago
|
Attachment #8671149 -
Flags: review?(esawin) → review+
Updated•10 years ago
|
Attachment #8671150 -
Flags: review?(esawin) → review+
Comment 6•10 years ago
|
||
Comment on attachment 8671151 [details] [diff] [review]
Convert IME event handler in nsWindow to native calls (v1)
Review of attachment 8671151 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good, but it's becoming difficult to follow the subtle changes in semantics, do we have any tests for this?
::: widget/android/nsWindow.cpp
@@ +223,5 @@
> + * Java controls the composition, and Gecko shadows the Java
> + composition through update composition events
> + */
> +
> + struct IMEChange final {
Maybe IMETextChange would be better?
Attachment #8671151 -
Flags: review?(esawin) → review+
Updated•10 years ago
|
Attachment #8671153 -
Flags: review?(esawin) → review+
Comment 7•10 years ago
|
||
Comment on attachment 8671154 [details] [diff] [review]
Remove obsolete GeckoEvent definitions (v1)
Review of attachment 8671154 [details] [diff] [review]:
-----------------------------------------------------------------
LGTM (assuming it builds).
Attachment #8671154 -
Flags: review?(snorp) → review+
Updated•10 years ago
|
Assignee: nobody → nchen
| Assignee | ||
Comment 8•10 years ago
|
||
Right now we call disposeNative on GeckoEditable in the
nsWindow::Natives destructor. However, we may still have pending native
calls in the event queue at that point, and these events will cause
exceptions when handled. This patch makes GeckoEditable call
disposeNative, after ensuring there's no pending calls.
Attachment #8674432 -
Flags: review?(esawin)
Updated•10 years ago
|
Attachment #8674432 -
Flags: review?(esawin) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/8b395733b46e
https://hg.mozilla.org/integration/mozilla-inbound/rev/e1a8d414c6ea
https://hg.mozilla.org/integration/mozilla-inbound/rev/0855074944cd
https://hg.mozilla.org/integration/mozilla-inbound/rev/5200b0f4db3f
https://hg.mozilla.org/integration/mozilla-inbound/rev/f375aacdbc7c
https://hg.mozilla.org/integration/mozilla-inbound/rev/d9882266e0b3
Comment 10•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/8b395733b46e
https://hg.mozilla.org/mozilla-central/rev/e1a8d414c6ea
https://hg.mozilla.org/mozilla-central/rev/0855074944cd
https://hg.mozilla.org/mozilla-central/rev/5200b0f4db3f
https://hg.mozilla.org/mozilla-central/rev/f375aacdbc7c
https://hg.mozilla.org/mozilla-central/rev/d9882266e0b3
Status: NEW → RESOLVED
Closed: 10 years ago
status-firefox44:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Updated•4 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•