Closed Bug 1210091 Opened 9 years ago Closed 9 years ago

New Tab Page Drag&Drop Causes Overlapping Tiles

Categories

(Firefox :: New Tab Page, defect, P1)

42 Branch
defect
Points:
13

Tracking

()

VERIFIED FIXED
Firefox 44
Iteration:
44.2 - Oct 19
Tracking Status
firefox42 - unaffected
firefox43 + verified
firefox44 + verified

People

(Reporter: tspurway, Assigned: mzhilyaev)

References

Details

Attachments

(3 files, 1 obsolete file)

With the introduction of scrollbars in about:newtab, we can easily reproduce a bunch of inconsistent behaviour while dragging and dropping tiles. The first problem is that the page does not 'hot scroll', which is a typical behaviour when dragging off/near a scrollable boundary. The expected behaviour would be that scrolling would automatically be activated when a tile is dragged close to the edge of a scrollable region. That is, a tile dragged to the bottom of the window should cause the window's contents to 'scroll up'. When a tile is dropped onto a partially visible tile on the bottom of the screen, it causes inconsistent overlapping of tiles, where one tile sits on top of another. Resizing the window while in this state causes the obscured tile (and the search text entry box) to move incorrectly. In addition, there is a 'hole' in the tileset where (one would presume) the obscured tile is *supposed* to be. Also, once the newtab is in this state, drag & drop does not work anymore. (please see attachment movies)
Hey all, Back out the regression on beta asap. Fix on nightly please.
This bug will be fixed by uplift of the fix to 1196437. I am requesting the uplift for beta/aurora right now.
I meant the fix to Bug 1196437 will fix this issue.
After talking to tspurway and watching him reproducing this bug, I managed to repro same behavior on current nightly build. So, following dougt requested suggest backing out scrollbar from beta until root cause could be identified.
Depends on: 1211016
apparently this behavior is not new: https://bugzilla.mozilla.org/show_bug.cgi?id=1000097 The scroll bar surfaces it badly, so we will backout the scrollbar per Bug 1211016.
[Tracking Requested - why for this release]:
Assignee: nobody → mzhilyaev
Iteration: --- → 44.2 - Oct 19
Points: --- → 13
Priority: -- → P1
Target Milestone: --- → Firefox 44
Attached patch 1210091.v1.patch (obsolete) — Splinter Review
Root cause analysis: This failure occurs when the mouse is released outside the viewport of the newtab window. In which case no drop event is generated, and the dragged tile moves back into its original position. However, the rest of tiles still handle dragend event and move into new positions. which is why the user sees overlapping tiles and empty spots. The issue was present since the grid was introduced in 2013. However, addition of the scrollbar made it very easy for a user to slide past the bottom of the window when he drags top tile into the bottom row. The fix: Simply check if the drop event was seen inside dragend handler and abort the whole drag&drop operation if the drop never arrived. This assumes that drop event always precedes dragend event, which seems to be the case according to mdn documentation (https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Drag_and_drop) and manual testing unit testing: creating a mochitest for the failure is involved. Given that this code will become obsolete with introduction of remote newtab, suggest manual testing only.
Attachment #8672033 - Flags: review?(mcaceres)
Comment on attachment 8672033 [details] [diff] [review] 1210091.v1.patch Review of attachment 8672033 [details] [diff] [review]: ----------------------------------------------------------------- R+, just minor nit. ::: browser/base/content/newtab/dropTargetShim.js @@ +141,5 @@ > this._lastDropTarget = null; > this._cellPositions = null; > } > > + this._dropSeen = null; Can you please set this to false instead?
Comment on attachment 8672033 [details] [diff] [review] 1210091.v1.patch Review of attachment 8672033 [details] [diff] [review]: ----------------------------------------------------------------- R+, just minor nit. ::: browser/base/content/newtab/dropTargetShim.js @@ +141,5 @@ > this._lastDropTarget = null; > this._cellPositions = null; > } > > + this._dropSeen = null; Can you please set this to false instead?
Attachment #8672033 - Flags: review?(mcaceres) → review+
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Attachment #8672033 - Attachment is obsolete: true
Attachment #8672823 - Attachment description: fixed reviewer comment → nightly patch v2. - fixed reviewer comment
Blocks: 1180387
Attached patch aurora patchSplinter Review
Approval Request Comment [Feature/regressing bug #]: Bug 1210091 - New Tab Page Drag&Drop Causes Overlapping Tiles [User impact if declined]: Significant user impact. The bug existed in the code since 2013. Introduction of the scrollbar made releasing the drag outside the browser window easy. In which case the drop event would never be generated, and the failure case would surface (for details see https://bugzilla.mozilla.org/show_bug.cgi?id=1210091#c8). Since 1180387 functionality was requested by community at large (note that it was backed out from beta in 1211016), we recommend the fix to be uplifted to aurora to then become beta. [Describe test coverage new/current, TreeHerder]: https://treeherder.mozilla.org/#/jobs?repo=try&revision=bd03745d1eed manually tested on linux, macos and windows [Risks and why]: Risks are minimal - fixing per-exsting flaw in code logic. [String/UUID change made/needed]: None
Attachment #8672827 - Flags: approval-mozilla-aurora?
Andrei can your team verify this fix on Nightly before we uplift to aurora? Thanks.
Flags: qe-verify+
Flags: needinfo?(andrei.vaida)
(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #15) > Andrei can your team verify this fix on Nightly before we uplift to aurora? > Thanks. Assigning Mihai for verification.
Flags: needinfo?(andrei.vaida)
QA Contact: mihai.boldan
42 is unaffected as we backout the patch causing this issue. See bug 1211016 for more information.
I was able to reproduce this issue on Windows 10 x86 using Firefox 43.0a2 (20151014004030). The issue is no longer reproducible on Windows 10 x86, Mac OS X 10.11 and Ubuntu 14.04 x86, using Firefox 44.0a1 (20151014030223). I'll keep an eye on this bug in order to verify it as soon as it lands in aurora build.
Status: RESOLVED → VERIFIED
Comment on attachment 8672827 [details] [diff] [review] aurora patch Fix verified in nightly; ok to uplift to aurora.
Attachment #8672827 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
The issue is no longer reproducible on Windows 10 x86, Mac OS X 10.11 and Ubuntu 14.04 x64, using Firefox 43.0 Beta 1.
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: