Closed Bug 1597897 Opened 6 years ago Closed 4 years ago

Candidate window position is invalid when using physical keyboard

Categories

(GeckoView :: IME, defect, P3)

Unspecified
Android
defect

Tracking

(firefox97 fixed)

RESOLVED FIXED
97 Branch
Tracking Status
firefox97 --- fixed

People

(Reporter: m_kato, Assigned: m_kato)

Details

Attachments

(3 files)

Attached image Fenix

candidate window of IME is overlapped at inputting test. Fennec works well.

But floating mode of candidate window is physical keyboard only mode

Attached image Fennec

IME

Priority: -- → P3

Actually nsIWidget::GetDefaultScale() will always return 1.0 on GeckoView
([*1] and [*2]). When calculating CSS rect, although we have to consider zoom
factor too, but ConvertRectArrayToJavaRectFArray doesn't yet. So then,
GeckoView will notify IME of incorrect rect.

Now we already know the layout device rect, so we should use it directly
instead of converting to CSS unit.

Also, there is no way to add tests since we cannot have the physical keyboard
tests on geckoview-junit.

*1 https://searchfox.org/mozilla-central/rev/4646b826a25d3825cf209db890862b45fa09ffc3/widget/android/nsWindow.cpp#1919-1928
*2 https://searchfox.org/mozilla-central/rev/4646b826a25d3825cf209db890862b45fa09ffc3/widget/android/ScreenHelperAndroid.cpp#39-41

Assignee: nobody → m_kato
Status: NEW → ASSIGNED
Pushed by m_kato@ga2.so-net.ne.jp: https://hg.mozilla.org/integration/autoland/rev/11377c82f206 Use LayoutDeviceIntRect directly for IME composition rect. r=geckoview-reviewers,agi
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 97 Branch

Moving some keyboard bugs to the new GeckoView::IME component.

Component: General → IME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: