Closed
Bug 855232
Opened 11 years ago
Closed 11 years ago
UIABridge should access focus state in real-time vs. relying on delayed observer events (was: sporadic soft keyboard display)
Categories
(Firefox for Metro Graveyard :: Input, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
Firefox 23
People
(Reporter: jimm, Assigned: jimm)
References
Details
Attachments
(2 files, 3 obsolete files)
1.05 KB,
patch
|
davidb
:
review+
|
Details | Diff | Splinter Review |
20.93 KB,
patch
|
bbondy
:
review+
|
Details | Diff | Splinter Review |
I did some debugging on this earlier in the week. I think the problem here is that we rely on accessible observer events to update focus state in our uia bridge down in widget. Unfortunately the observers fire off the refresh timer, so they can come delayed, after the last input event has been sent. For example: mozilla::widget::winrt::MetroInput::OnPointerEntered mozilla::widget::winrt::MetroInput::OnPointerPressed MetroWidget::GetDPI mozilla::widget::winrt::MetroInput::OnPointerReleased mozilla::widget::winrt::MetroInput::OnTapped UIABridge::GetFocus focus=0 UIATextElement::get_BoundingRectangle 0.000000 0.000000 0.000000 0.000000 mozilla::widget::winrt::UIATextElement::get_IsReadOnly mozilla::widget::winrt::MetroInput::OnPointerExited Bridge: EVENT_FOCUS Bridge: Focus element flags: 1 1 0 Bridge: focus item can be focused mozilla::widget::winrt::UIABridge::SetFocusInternal mozilla::widget::winrt::UIABridge::SetFocus mozilla::widget::winrt::UIATextElement::SetFocusInternal mozilla::widget::winrt::UIATextElement::SetFocus What we probably have to do here is query the accessible tree in realtime when windows asks us about it. Starting with the call to UIABridge::GetFocus, which queries for the focused IRawElementProviderFragment. Internally accessible should be up to date at this point.
Assignee | ||
Updated•11 years ago
|
Assignee | ||
Updated•11 years ago
|
Whiteboard: [forms]
Assignee | ||
Comment 1•11 years ago
|
||
Assignee | ||
Comment 2•11 years ago
|
||
Attachment #730217 -
Attachment is obsolete: true
Assignee | ||
Comment 3•11 years ago
|
||
This turns off some native event msaa code that's confusing the uia implementation in metro.
Attachment #730219 -
Attachment is obsolete: true
Attachment #732391 -
Flags: review?(dbolter)
Assignee | ||
Comment 4•11 years ago
|
||
Comment 5•11 years ago
|
||
Comment on attachment 732391 [details] [diff] [review] msaa patch Review of attachment 732391 [details] [diff] [review]: ----------------------------------------------------------------- r=me. Yeah makes sense for metro mode.
Attachment #732391 -
Flags: review?(dbolter) → review+
Assignee | ||
Comment 6•11 years ago
|
||
UIABridge now queries for state directly from accessible when it needs it. I've also removed some comment cruft.
Attachment #732967 -
Flags: review?(netzen)
Assignee | ||
Updated•11 years ago
|
Attachment #732392 -
Attachment is obsolete: true
Updated•11 years ago
|
Attachment #732967 -
Flags: review?(netzen) → review+
Assignee | ||
Updated•11 years ago
|
Whiteboard: [forms]
Comment 7•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/10bcc9c3ca1d https://hg.mozilla.org/mozilla-central/rev/1225c6016d10
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 23
Updated•10 years ago
|
OS: Windows 8 Metro → Windows 8.1
You need to log in
before you can comment on or make changes to this bug.
Description
•