Closed Bug 1761976 Opened 3 years ago Closed 3 years ago

Cannot move accessible caret into x-origin iframe on Android Fission

Categories

(Core :: Layout, defect, P2)

Unspecified
Android
defect

Tracking

()

RESOLVED DUPLICATE of bug 1783804

People

(Reporter: m_kato, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fission:android:m3])

I don't know whether this issue is on GeckoView, layout/AccessibleCaret* or APZ. If this is GeckoView bug, please move this to Component:GeckoView.

Step

  1. Launch Fenix Nightly with fission
  2. Browse http://wontfix.net/bugs/iframe1.html (inner frame is another domain)
  3. Tap textbox in iframe. Then accessible caret is shown.
  4. Move accessible caret

Result

I cannot move accessible caret. Instead, frame is moved.

Expected Result

I can move e accessible caret like non-fission.

Blocks: gv-fission
Type: enhancement → defect
OS: Unspecified → Android
Summary: Cannot move accessible caret into x-origin iframe on GV/fission → Cannot move accessible caret into x-origin iframe on Android Fission
Whiteboard: [fission:android]
Severity: -- → S2
Priority: -- → P2

Botond, does this Android Fission bug in AccessibleCaret look like a Layout/APZ bug?

Flags: needinfo?(botond)

I think it would make the most sense to start the investigation in AccessibleCaret, which I understand to be mainly Ting-Yu's area.

I know Ting-Yu is on parental leave until May 8; if we need this investigated more urgently than that, I could try to investigate it.

Flags: needinfo?(botond)

(In reply to Botond Ballo [:botond] from comment #2)

I think it would make the most sense to start the investigation in AccessibleCaret, which I understand to be mainly Ting-Yu's area.

I know Ting-Yu is on parental leave until May 8; if we need this investigated more urgently than that, I could try to investigate it.

Waiting until May for Ting-Yu to return is not a problem. This bug only happens with Android Fission, which is still in development.

In the meantime, I will tentatively move this bug from the DOM component to Layout.

Component: DOM: Selection → Layout
Whiteboard: [fission:android] → [fission:android:m3]

Minor update....Ting-Yu not due back until June 6th

For what it's worth, I can't reproduce using Firefox Nighty on a touchscreen laptop (which has AccessibleCaret as well, if I long-press some text via the touchscreen; and of course fission is enabled by default).

I'm using a MS Surface 3, with Ubuntu 22.04, with Nightly 2022-05-14. When I view the testcase in this environment, I can long-press the text in either textbox to make the AccessibleCaret appear, and then I can tap & drag the carets around within that textbox to change the selection extent, which I think is "expected/correct results" here.

So: probably this issue is Android-specific, as it seems like we've been assuming so far.

Accessible caret seems to be rendered in OOP child frame, but AccessibleEventHub/AccessibleEventManager handle the touch/mouse events in main content process, not OOP child frame. So AccessibleCaretManager::PressCaret recognizes no active caret.

08-09 15:10:10.433  7317  7332 I Gecko   : [Child 7317: Main Thread]: D/AccessibleCaret AccessibleCaretManager (7e5fdbb4e080): UpdateCaretsForCursorMode, selection: 7e5fdbb52c40
08-09 15:10:10.433  7317  7332 I Gecko   : [Child 7317: Main Thread]: D/AccessibleCaret AccessibleCaret (7e5fdbb45160): SetCaretElementStyle: left: 48.5px; top: 81px; width: 22px; margin-left: -11.5px; transition-duration: 250ms
08-09 15:10:10.433  7317  7332 I Gecko   : [Child 7317: Main Thread]: D/AccessibleCaret AccessibleCaret (7e5fdbb45160): SetTextOverlayElementStyle: height: 14.5px;
08-09 15:10:10.433  7317  7332 I Gecko   : [Child 7317: Main Thread]: D/AccessibleCaret AccessibleCaret (7e5fdbb45160): SetCaretImageElementStyle: height: 22px;
08-09 15:10:10.434  7317  7332 I Gecko   : [Child 7317: Main Thread]: D/AccessibleCaret AccessibleCaret (7e5fdbb45160): SetAppearance: Appearance::None -> Appearance::Normal
08-09 15:10:10.434  7317  7332 I Gecko   : [Child 7317: Main Thread]: D/AccessibleCaret AccessibleCaretManager (7e5fdbb4e080): DispatchCaretStateChangedEvent: reason 1

...

08-09 15:10:12.274  7214  7229 I Gecko   : [Child 7214: Main Thread]: D/AccessibleCaret AccessibleCaretEventHub (7e5fdb765dd0): NoActionState -> PressNoCaretState
08-09 15:10:12.274  7214  7229 I Gecko   : [Child 7214: Main Thread]: V/AccessibleCaret AccessibleCaretEventHub (7e5fdb765dd0): After eTouchStart, state: PressNoCaretState, consume: 0
...

Although I will file new issue for touch event on GeckoView, OOP child frame doesn't receive touch event....

Depends on: 1783804

Makoto, is this fixed by bug 1783804?

Flags: needinfo?(m_kato)

(In reply to Emilio Cobos Álvarez (:emilio) from comment #8)

Makoto, is this fixed by bug 1783804?

Yes

Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(m_kato)
Resolution: --- → DUPLICATE

Awesome! \0/ Thank you Makoto for looking into this.

You need to log in before you can comment on or make changes to this bug.