Closed
Bug 1327185
Opened 8 years ago
Closed 7 years ago
[e10s] dragleave events don't fire on the page, so Imgur.com doesn't remove huge image obscuring content
Categories
(Core :: DOM: Events, defect, P2)
Core
DOM: Events
Tracking
()
VERIFIED
FIXED
mozilla54
Tracking | Status | |
---|---|---|
firefox54 | --- | verified |
People
(Reporter: arni2033, Assigned: stone)
References
Details
Attachments
(2 files, 4 obsolete files)
(deleted),
patch
|
stone
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
stone
:
review+
|
Details | Diff | Splinter Review |
>>> My Info: Win7_64, Nightly 49, 32bit, ID 20160526082509 STR_1: 1. Open any image on imgur, for example http://imgur.com/0Cw7aKJ or http://imgur.com/a/fTif0 2. Drag identity block [useless (i) button implemented in bug 1206244] from urlbar to the center of the page without dropping 3. Drop identity block to the "Back" button in urlbar AR: A huge image saying "Drop images here" appears in Step 2 and doesn't disappear FOREVER ER: In Step 3 image (obscuring the rest of content) should disappear STR_2: 1. Open url data:text/html,<html ondragleave="console.log(123)"> 2. Drag identity block [useless (i) button] from urlbar to the center of the page without dropping 3. Drop identity block to the "Back" button in urlbar AR: No messages in console ER: Should be a message, just like in non-e10s
Comment 1•8 years ago
|
||
Hi Stone, this looks a regression from e10s. Could you please take a look?
Flags: needinfo?(sshih)
Priority: -- → P2
Assignee | ||
Comment 2•8 years ago
|
||
We generated dragleave event [1] at handling dragover in EventStateManager::PreHandleEvent. However, we only dispatch it to DOM via EventDispatcher::Dispatch, which doesn't forward to content process. [1] http://searchfox.org/mozilla-central/rev/82ebc0c5ea45477ef4a4bfb3bbff35069bd18cee/dom/events/EventStateManager.cpp#4466
Assignee: nobody → sshih
Flags: needinfo?(sshih)
Assignee | ||
Comment 3•7 years ago
|
||
Assignee | ||
Comment 4•7 years ago
|
||
Assignee | ||
Comment 5•7 years ago
|
||
Attachment #8827317 -
Attachment is obsolete: true
Assignee | ||
Comment 6•7 years ago
|
||
Comment on attachment 8827318 [details] [diff] [review] Part2: Forward eDragExit to remote target Forward dragexit to content process when dragging something from web content to chrome.
Attachment #8827318 -
Flags: review?(bugs)
Assignee | ||
Updated•7 years ago
|
Attachment #8827319 -
Flags: review?(bugs)
Assignee | ||
Comment 7•7 years ago
|
||
Comment on attachment 8827318 [details] [diff] [review] Part2: Forward eDragExit to remote target oops, wrong file
Attachment #8827318 -
Flags: review?(bugs)
Assignee | ||
Comment 8•7 years ago
|
||
Attachment #8827318 -
Attachment is obsolete: true
Assignee | ||
Updated•7 years ago
|
Attachment #8827336 -
Flags: review?(bugs)
Comment 9•7 years ago
|
||
Comment on attachment 8827319 [details] [diff] [review] Part1: Refine EventStateManager::FireDragEnterOrExit > void >+EventStateManager::CopyWidgetDragEvent(WidgetDragEvent* aDragEvent, >+ nsIContent* aRelatedTarget, >+ WidgetDragEvent* aOutDragEvent) >+{ >+ aOutDragEvent->mRefPoint = aDragEvent->mRefPoint; >+ aOutDragEvent->mModifiers = aDragEvent->mModifiers; >+ aOutDragEvent->buttons = aDragEvent->buttons; >+ aOutDragEvent->relatedTarget = aRelatedTarget; >+ aOutDragEvent->pointerId = aDragEvent->pointerId; >+ aOutDragEvent->inputSource = aDragEvent->inputSource; >+} >+ Ok, so WidgetDrapEvent::Duplicate() can't be used here easily, since that copies also the flags and that means copying also preventDefault etc. state. AssignDragEventData might be useful, not sure. But since you're just moving code, fine.
Attachment #8827319 -
Flags: review?(bugs) → review+
Updated•7 years ago
|
Attachment #8827336 -
Flags: review?(bugs) → review+
Assignee | ||
Comment 10•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=8ea6a26199f7303d60e36083d061cde8c40d848f
Assignee | ||
Comment 11•7 years ago
|
||
Refined patch with using AssignDragEventData to copy event attributes
Attachment #8827319 -
Attachment is obsolete: true
Attachment #8829299 -
Flags: review+
Assignee | ||
Comment 12•7 years ago
|
||
Updated the patch summary.
Attachment #8827336 -
Attachment is obsolete: true
Attachment #8829300 -
Flags: review+
Assignee | ||
Updated•7 years ago
|
Keywords: checkin-needed
Comment 13•7 years ago
|
||
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/a37c536d93aa Part 1: Refine EventStateManager::FireDragEnterOrExit. r=smaug https://hg.mozilla.org/integration/mozilla-inbound/rev/ee3a429c5878 Part 2: Forward eDragExit to remote target. r=smaug
Keywords: checkin-needed
Comment 14•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/a37c536d93aa https://hg.mozilla.org/mozilla-central/rev/ee3a429c5878
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox54:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
Updated•7 years ago
|
Flags: qe-verify+
Comment 15•7 years ago
|
||
I managed to reproduce the issue on Firefox 53.0a1 (2017-01-01), under Windows 10x64. The issue is no longer reproducible on Firefox 54.0b2, using the STR from Comment 0. Tests were performed under Windows 10x64, Ubuntu 16.04x64, Mac OS X 10.12.1.
You need to log in
before you can comment on or make changes to this bug.
Description
•