Closed Bug 960859 Opened 12 years ago Closed 12 years ago

[e10s] Can't scroll content when text in chrome UI is focused

Categories

(Core :: DOM: Events, defect)

x86
macOS
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla29
Tracking Status
firefox31 --- verified

People

(Reporter: reuben, Assigned: billm)

References

Details

Attachments

(1 file, 1 obsolete file)

STR: 1) Click on awesome bar or search bar 2) Hover content with the mouse and try to scroll it
Untriaged because I don't know what component to put this under.
Attached patch mouse-wheel-guess (obsolete) — Splinter Review
I'm just looking for feedback here since this patch is probably wrong. Here's what I'm seeing when I try this STR. 1. We enter nsEventStateManager::PreHandleEvent for an NS_WHEEL_WHEEL event. It sets mCurrentTargetContent to the be the URL bar (assuming it was in focus). 2. (In non-e10s builds) We enter nsEventStateManager::PostHandleEvent for the same event. aTargetFrame is a frame in the actual HTML document. All the scrolling stuff is done in terms of aTargetFrame. 2. (In e10s builds) We enter nsEventStateManager::PostHandleEvent and call HandleCrossProcessEvent. It looks at mCurrentTargetContent, which is still the URL bar, and ignores the event because mCurrentTargetContent isn't a remote target. My patch just changes HandleCrossProcessEvent so that it uses aTargetFrame instead of mCurrentTargetContent. With this change, the mouse wheel works. I didn't notice any other problems, but I didn't do much testing. I don't really understand the purpose of mCurrentTargetContent. Maybe you guys can explain it?
Attachment #8362736 - Flags: feedback?(felipc)
Attachment #8362736 - Flags: feedback?(bugs)
Component: Untriaged → DOM: Events
Product: Firefox → Core
Comment on attachment 8362736 [details] [diff] [review] mouse-wheel-guess Review of attachment 8362736 [details] [diff] [review]: ----------------------------------------------------------------- Olli knows for sure, but this looks reasonable. I wonder if it's worth to keep the opposite logic, i.e. if aTargetFrame = null use mCurrentTargetContent
Attachment #8362736 - Flags: feedback?(felipc) → feedback+
Could you make that code nsIFrame* frame = GetEventTarget(); nsIContent* target = frame ? frame->GetContent() : null; if (IsRemoteTarget(target)) { targets.AppendElement(target); } (I need to cleanup mCurrentTargetContent handling a bit. That stuff is _old_.)
Attachment #8362736 - Flags: feedback?(bugs)
Attached patch scrollwheel-fixSplinter Review
Thanks for the help!
Assignee: nobody → wmccloskey
Attachment #8362736 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8363884 - Flags: review?(bugs)
Attachment #8363884 - Flags: review?(bugs) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla29
Reproduced in Nightly 2014-01-17, Win 7 x64. Verified fixed FF 31 RC 2.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: