Closed
Bug 1272256
Opened 8 years ago
Closed 8 years ago
Long press on "plus button" should allow the user to open a container tab
Categories
(Firefox :: Tabbed Browser, defect, P2)
Firefox
Tabbed Browser
Tracking
()
VERIFIED
FIXED
Firefox 52
Tracking | Status | |
---|---|---|
firefox52 | --- | verified |
People
(Reporter: baku, Assigned: jkt)
References
(Blocks 3 open bugs)
Details
(Whiteboard: [domsecurity-active][userContextId])
Attachments
(2 files, 8 obsolete files)
30.51 KB,
image/png
|
Details | |
23.44 KB,
patch
|
Gijs
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Updated•8 years ago
|
Whiteboard: [domsecurity-active]
Reporter | ||
Comment 1•8 years ago
|
||
The idea here is: on long-press of the plus button, we could open the containers submenu to select which container we wanted to open. Mike, do you know if we have an existing "widget" for this?
Flags: needinfo?(mconley)
Updated•8 years ago
|
Whiteboard: [domsecurity-active] → [domsecurity-active][userContextId]
Comment 2•8 years ago
|
||
Marking this as P2, as it would be nice to have for the initial launch, but isn't necessary since we have the down arrow.
Priority: -- → P2
Comment 3•8 years ago
|
||
Not an existing XUL widget, no, I don't think so. The thing I was thinking of was the back button - if you press and hold the back button, we show a list of recent shistory for where the browser can go back to. Here's the code that does that for the back / forward buttons: http://searchfox.org/mozilla-central/source/browser/base/content/browser.js#312 I notice, however, that there's a comment about maybe moving this into an XBL binding, which might be useful for our case here.
Flags: needinfo?(mconley)
Comment 4•8 years ago
|
||
If we are going to always show the down arrow when containers is enabled and use that for open new container tab, then is this bug still valid? Do we want long press on the plus button to open a menu under the plus button? Or do we want it to open the down arrow menu?
Comment 5•8 years ago
|
||
Let’s stick with exclusively using the down arrow. Click-and-hold isn’t obvious enough, and the arrow menu already works well when there are too many tabs present. I remember another bug where I’ve proposed changing the plus button’s tooltip – something like “Open a new tab (accel-t), or click and hold to open a new container tab” – but this is still not an obvious hint, because you need to hover your mouse over the area for a bit.
Comment 6•8 years ago
|
||
After hearing from shorlander, he'd like us to go with this long press bug instead of the drop down bug https://bugzilla.mozilla.org/show_bug.cgi?id=1272416. Bram, can you give us a UX design for the long press. How should the containers menu be anchored by the plus button? With an arrow of some sort? Or should it look like a thought bubble/square coming from the plus button?
Flags: needinfo?(bram)
Comment 7•8 years ago
|
||
Hi Tanvi, thanks for filing this bug! The design should be as unobstrusive as possible, just like the back button. This means that we won’t show an arrow or a thought bubble. What would happen is, when you hover over the plus symbol, a tooltip appears that says: Open a new tab (accel-T) Click and hold to open a new container tab And, just like the back button history, when you click and hold, the list of container tabs appears as shown.
Flags: needinfo?(bram)
Comment 8•8 years ago
|
||
We've gotten some feedback from users that request right click on the plus button instead of long press: https://blog.mozilla.org/tanvi/2016/06/16/contextual-identities-on-the-web/#comment-31041 Bram or Bryan, do you have any thoughts on this? Why does the back button use long press instead of right click?
Flags: needinfo?(bram)
Flags: needinfo?(bbell)
Comment 9•8 years ago
|
||
(In reply to Tanvi Vyas - out until 6/27 [:tanvi] from comment #8) > Why does the back button use long press instead of right click? The back button supports both long press and right-click. Sebastian
Comment 10•8 years ago
|
||
(In reply to Tanvi Vyas - out until 6/27 [:tanvi] from comment #8) > Bram or Bryan, do you have any thoughts on this? Why does the back button > use long press instead of right click? As :sebo has mentioned on comment 9, the back button supports both long press and right-click. I was well aware of the long press, but never thought that right-click would do the same thing, too. For consistency’s sake, I think we should follow this behaviour on the plus button. If a menu appear on long press, that same menu should also appear on right-click. And then the tooltip can say: “Open a new tab (accel-T) Click and hold or right-click to open a new container tab” What do you think?
Flags: needinfo?(bram)
Flags: needinfo?(bbell)
Comment 11•8 years ago
|
||
How about if we open another bug with the same mission but for the new window button? The new window button can be dropped in all the same places as the new tab button (including the tab bar). Beyond the idea using the same reasoning as this bug, some users may prefer to delineate their contexts into separate windows, thereby increasing the use of new windows for this purpose.
Updated•8 years ago
|
Assignee: amarchesini → jkt
Updated•8 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 12•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=61b8f95568a6
Assignee | ||
Comment 13•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=361cb8f93e0f
Assignee | ||
Comment 14•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=70a85711e4cb
Assignee | ||
Comment 15•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=858cc92ffd4a
Assignee | ||
Comment 16•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=29e86af4f372
Assignee | ||
Comment 17•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=cf880317fab0
Assignee | ||
Comment 18•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/65708/diff/#index_header See other reviews: https://reviewboard.mozilla.org/r/65708/
Assignee | ||
Comment 19•8 years ago
|
||
The current issue with the submitted patch is this: https://treeherder.mozilla.org/#/jobs?repo=try&revision=cf880317fab0&selectedJob=24229401 When I inspect the new tab button and "use in console" and temp1.click() I end up with two tabs. I think this is why the test(s) are failing.
Assignee | ||
Comment 20•8 years ago
|
||
This patch is ready to go (may need a rebase). However the patch makes tests fail regarding the new tab click. Bug 1290965 is what in XUL is happening here which is blocking this really.
Comment hidden (mozreview-request) |
Assignee | ||
Comment 22•8 years ago
|
||
Comment on attachment 8773066 [details] Bug 1272256 - Adding in longpress new tab button container menu Hey Baku would you be able to review this also? The DOM patch landed which was breaking tests when this was added. It's the dependent bug however not essential to review to the functionality to the user just the tests. Thanks
Attachment #8773066 -
Flags: review?(amarchesini)
Assignee | ||
Comment 23•8 years ago
|
||
Comment on attachment 8773066 [details] Bug 1272256 - Adding in longpress new tab button container menu Sorry after rebase notice an issue.
Attachment #8773066 -
Flags: review?(amarchesini)
Comment hidden (mozreview-request) |
Reporter | ||
Comment 25•8 years ago
|
||
Comment on attachment 8773066 [details] Bug 1272256 - Adding in longpress new tab button container menu I cannot review this code. Gijs, can you help here?
Attachment #8773066 -
Flags: review?(amarchesini) → review?(gijskruitbosch+bugs)
Comment 26•8 years ago
|
||
mozreview-review |
Comment on attachment 8773066 [details] Bug 1272256 - Adding in longpress new tab button container menu https://reviewboard.mozilla.org/r/65708/#review69834 I think we should refactor the mouse hold code in browser.js so that we can 'attach' that code to buttons, rather than the encapsulated function design that makes it impossible to reuse the code. Right now it seems you're duplicating a lot of that logic. With that refactor, we can also dynamically add/remove the menu kid to/from the button, which will make more sense of the a11y change and the duplication of "are we using a menu" state between the popup being disabled and the type=menu attribute. Hopefully it will also end up being a smaller patch in some respects, because we won't need the utilityOverlay.js duplicate set of code to deal with the tabbrowser.xml binding case. ::: accessible/tests/mochitest/tree/test_tabbrowser.xul:122 (Diff revision 3) > + children: [ > + { > + role: ROLE_MENUPOPUP, > - children: [] > + children: [] > - } > + } > + ] Shouldn't this be conditional on the pref? Can you get a11y-review from MarcoZ or someone else who can comment on whether having the menupopup as a permanent kid makes sense? IMHO it would make more sense to add it dynamically when we use containers and set type=menu on it, but if it doesn't make a difference for the a11y side of things I guess we can potentially leave it like this. It's just that this change implies that it *does* make a difference... :-) ::: browser/base/content/browser.js:275 (Diff revision 3) > + if (aEvent.currentTarget.firstChild.disabled) { > + aEvent.preventDefault(); > + return; This is somewhat confusing. The markup doesn't have the kid disabled, but equally, the markup doesn't have the type=menu attribute. So in effect, the "current state" of the markup is in limbo (menu not disabled, but type=menu not set). On top of that, this code is already in use for the back/fwd button, and modifying it in this way seems... odd. Wouldn't it be simpler to just not have these handlers attached if containers are disabled? ::: browser/base/content/browser.js:323 (Diff revision 3) > cmdEvent.initCommandEvent("command", true, true, window, 0, > aEvent.ctrlKey, aEvent.altKey, aEvent.shiftKey, > aEvent.metaKey, null); > aEvent.currentTarget.dispatchEvent(cmdEvent); > } > + aEvent.preventDefault(); Why is this necessary? ::: browser/base/content/browser.js:348 (Diff revision 3) > + let newTabButton = document.getElementById("new-tab-button"); > + newTabButton.setAttribute("type", "menu"); > + _addClickAndHoldListenersOnElement(newTabButton); This always sets the type=menu attribute, irrespective of the state of the pref, which I think is wrong. ::: browser/base/content/browser.xul:609 (Diff revision 3) > ondragexit="newTabButtonObserver.onDragExit(event)" > cui-areatype="toolbar" > - removable="true"/> > + removable="true"> > + <menupopup id="newtab-popup" > + oncommand="event.stopPropagation();" > + class="newtab-popup" This doesn't match the class you're using in the XBL binding, which is why you're now having to duplicate things in the CSS code later on... ::: browser/base/content/tabbrowser.xml:5035 (Diff revision 3) > + const newTabPopup = document.getElementById("newtab-popup"); > + const newTab2 = document.getAnonymousElementByAttribute(this, "anonid", "tabs-newtab-button") > + const newTabPopup2 = document.getAnonymousElementByAttribute(this, "anonid", "newtab-popup") Isn't the popup just button.firstChild all the time? ::: browser/base/content/tabbrowser.xml:6740 (Diff revision 3) > createUserContextMenu(event); > return; > } > > let containersEnabled = Services.prefs.getBoolPref("privacy.userContext.enabled"); > + let undoTabDisabled = SessionStore.getClosedTabCount(window) == 0; Why did you touch this code and then not use `undoTabDisabled` anywhere else? ::: browser/base/content/utilityOverlay.js:413 (Diff revision 3) > // (Menus close automatically with left-click but not with middle-click.) > closeMenus(event.target); > } > } > > +function checkForHold(node, aEvent) { This code looks duplicated from the existing click-and-hold code. Can you instead refactor that code to use an object structure that makes it easier to add those handlers to these anon buttons, without duplicating the code?
Attachment #8773066 -
Flags: review?(gijskruitbosch+bugs) → review-
Assignee | ||
Comment 27•8 years ago
|
||
mozreview-review-reply |
Comment on attachment 8773066 [details] Bug 1272256 - Adding in longpress new tab button container menu https://reviewboard.mozilla.org/r/65708/#review69834 > Why is this necessary? This is to prevent the DOM fails which was causing the duplication of events.
Comment hidden (mozreview-request) |
Comment 29•8 years ago
|
||
mozreview-review |
Comment on attachment 8773066 [details] Bug 1272256 - Adding in longpress new tab button container menu https://reviewboard.mozilla.org/r/65708/#review71700 With the below changes the code looks OK to me. Note that I haven't tested it - I'm assuming that by now you have practical tested confidence that it does the job. :-) ::: browser/base/content/tabbrowser.xml:5014 (Diff revision 4) > + switch (aTopic) { > + case "nsPref:changed": > + // This is the only pref observed. > + let containersEnabled = Services.prefs.getBoolPref("privacy.userContext.enabled"); > + > + const newTab = document.getElementById("new-tab-button"); Note that this can be null. Let's file a followup to deal with the case where the button is added to an existing window using customize mode. ::: browser/base/content/tabbrowser.xml:5018 (Diff revision 4) > + const newTabPopup = document.createElementNS( > + "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", > + "menupopup"); > + newTabPopup.id = "newtab-popup"; > + newTabPopup.oncommand="event.stopPropagation();"; > + newTabPopup.className = "new-tab-popup"; > + newTabPopup.setAttribute("position", "after_end"); > + newTab.appendChild(newTabPopup); > + > + const newTabPopup2 = document.createElementNS( > + "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", > + "menupopup"); > + newTabPopup2.setAttribute("anonid", "newtab-popup"); > + newTabPopup2.oncommand="event.stopPropagation();"; > + newTabPopup2.className = "new-tab-popup"; > + newTabPopup2.setAttribute("position", "after_end"); > + newTab2.appendChild(newTabPopup2); Instead of the repetition, you could do: ``` for (let parent of [newTab, newTab2]) { if (!parent) continue; let popup = document.createElementNS(...); if (parent.id) { popup.id = "newtab-popup"; } else { popup.setAttribute("anonid", "newtab-popup"); } ... addClickAndHoldListenersOnElement(parent); parent.setAttribute("type", "menu"); } ``` ditto for the removal case. ::: browser/base/content/tabbrowser.xml (Diff revision 4) > - containersTab.setAttribute("disabled", "true"); > + containersTab.setAttribute("disabled", "true"); > - } > + } > > - document.getElementById("alltabs_undoCloseTab").disabled = > + document.getElementById("alltabs_undoCloseTab").disabled = > - SessionStore.getClosedTabCount(window) == 0; > + SessionStore.getClosedTabCount(window) == 0; > - Nit: The line above and below this whitespace are unrelated, so please leave the empty line.
Attachment #8773066 -
Flags: review?(gijskruitbosch+bugs) → review+
Assignee | ||
Comment 30•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=39858da94746
Comment hidden (mozreview-request) |
Assignee | ||
Updated•8 years ago
|
Keywords: checkin-needed
Comment 32•8 years ago
|
||
This can't be autolanded because all outstanding issues haven't been marked as resolved in MozReview.
Flags: needinfo?(jkt)
Keywords: checkin-needed
Comment hidden (mozreview-request) |
Assignee | ||
Comment 34•8 years ago
|
||
Final whitespace issue resolved in latest push.
Flags: needinfo?(jkt)
Keywords: checkin-needed
Comment 35•8 years ago
|
||
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/autoland/rev/08e4eadbb77d Adding in longpress new tab button container menu r=Gijs
Keywords: checkin-needed
Comment 36•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/08e4eadbb77d
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox51:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Comment 37•8 years ago
|
||
Please make an effort to file bugs in the right component so that the people maintaining that component get a chance to follow along with your changes. This is 100% front-end and not at all a Core/DOM: Security bug.
Component: DOM: Security → Tabbed Browser
Product: Core → Firefox
Target Milestone: mozilla51 → Firefox 51
Version: unspecified → Trunk
Comment 38•8 years ago
|
||
I've backed this out for causing bug 1299667: https://hg.mozilla.org/integration/mozilla-inbound/rev/1d96c286f93e
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•8 years ago
|
status-firefox51:
fixed → ---
Comment 39•8 years ago
|
||
While you're working on fixing the regressions, please don't spread out SetClickAndHoldHandlers into a slew of global functions / variables that are only needed privately. This code needs to be contained somehow.
Assignee | ||
Updated•8 years ago
|
Attachment #8773066 -
Attachment is obsolete: true
Assignee | ||
Comment 40•8 years ago
|
||
Was unable to use mozreview as it's already landed. This should fix the other two regressions. Dao are you available to review this or to pass it on to someone relevant?
Attachment #8788131 -
Flags: review?(dao+bmo)
Assignee | ||
Comment 41•8 years ago
|
||
Hey Dao, did you get chance to have a look at this change? Thanks
Flags: needinfo?(dao+bmo)
Comment 42•8 years ago
|
||
Comment on attachment 8788131 [details] [diff] [review] Adding a longpress menu to the new tab button for containers >+ cancelHold(aButton) { >+ clearTimeout(this.timers.get(aButton)); >+ aButton.removeEventListener("mouseout", (e) => this.mouseoutHandler(e), false); >+ aButton.removeEventListener("mouseup", (e) => this.mouseupHandler(e), false); >+ }, >+ >+ remove(aButton) { >+ aButton.removeEventListener("mousedown", (e) => this.mousedownHandler(e), true); >+ aButton.removeEventListener("click", (e) => this.clickHandler(e), true); >+ }, These removeEventListener calls don't work because (e) => this.foo(e) creates a new function. The cleanest way to do this would be to implement handleEvent on gClickAndHoldListenersOnElement and pass 'this' as the listener. >+ <field name="newtabUndoCloseTab" readonly="true"> >+ document.getAnonymousElementByAttribute(this, "anonid", "newtab_undoCloseTab"); >+ </field> This appears to be unused. >+ popup.oncommand="event.stopPropagation();"; Does this work? It looks like it shouldn't, because element.oncommand is not a thing in XUL. >+ if (event.target.getAttribute('anonid') == "newtab-popup" || >+ event.target.id == "newtab-popup") { >+ createUserContextMenu(event); >+ } else { Please use double quotes consistently and return early instead of the 'else'.
Flags: needinfo?(dao+bmo)
Attachment #8788131 -
Flags: review?(dao+bmo) → review-
Assignee | ||
Comment 43•8 years ago
|
||
I'm 99% sure the oncommand did work, it was however for the undo button so not needed anyway.
Assignee | ||
Comment 44•8 years ago
|
||
Attachment #8788131 -
Attachment is obsolete: true
Attachment #8789830 -
Flags: review?(dao+bmo)
Assignee | ||
Comment 45•8 years ago
|
||
Rebased to latest central
Attachment #8789830 -
Attachment is obsolete: true
Attachment #8789830 -
Flags: review?(dao+bmo)
Attachment #8790269 -
Flags: review?(dao+bmo)
Comment 46•8 years ago
|
||
Comment on attachment 8790269 [details] [diff] [review] Fixing contextual identity menu icon to be visible by using the favicon class This is the wrong patch. I'll just review the previous one assuming nothing drastically changed.
Attachment #8790269 -
Attachment is obsolete: true
Attachment #8790269 -
Flags: review?(dao+bmo)
Updated•8 years ago
|
Attachment #8789830 -
Attachment is obsolete: false
Comment 47•8 years ago
|
||
Comment on attachment 8789830 [details] [diff] [review] Adding a longpress menu to the new tab button for containers >+const gClickAndHoldListenersOnElement = { >+ timers: new Map(), >+ >+ mousedownHandler(aEvent) { nit: please prefix "private" methods (those that are not supposed to be called from outside this object) with _
Attachment #8789830 -
Flags: review+
Comment 48•8 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #47) > >+const gClickAndHoldListenersOnElement = { > >+ timers: new Map(), > >+ > >+ mousedownHandler(aEvent) { > > nit: please prefix "private" methods (those that are not supposed to be > called from outside this object) with _ The same applies to properties like "timers".
Assignee | ||
Comment 49•8 years ago
|
||
The differences in the patch were reordering a test line and in this one fixing a code nit. Sorry for uploading the wrong patch. Thanks!
Attachment #8789830 -
Attachment is obsolete: true
Attachment #8790352 -
Flags: review+
Assignee | ||
Updated•8 years ago
|
Keywords: checkin-needed
Comment 50•8 years ago
|
||
Pushed by kwierso@gmail.com: https://hg.mozilla.org/integration/fx-team/rev/7826ad7df05f Adding a longpress menu to the new tab button for containers r=dao
Keywords: checkin-needed
Comment 51•8 years ago
|
||
bugherder landing |
https://hg.mozilla.org/integration/fx-team/rev/7826ad7df05f
I had to back this out for bustage like https://treeherder.mozilla.org/logviewer.html#?job_id=11546351&repo=fx-team https://hg.mozilla.org/integration/fx-team/rev/d97767257c71
Flags: needinfo?(jkt)
There was also an ESLint failure from this https://treeherder.mozilla.org/logviewer.html#?job_id=11546177&repo=fx-team
Assignee | ||
Comment 54•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6874e8abb952
Assignee | ||
Comment 55•8 years ago
|
||
Fixes test and eslint issue, pushed to try to double check.
Attachment #8790352 -
Attachment is obsolete: true
Flags: needinfo?(jkt)
Attachment #8790638 -
Flags: review+
Comment 56•8 years ago
|
||
(In reply to Wes Kocher (:KWierso) from comment #53) > There was also an ESLint failure from this > https://treeherder.mozilla.org/logviewer.html#?job_id=11546177&repo=fx-team Nice! I was going to complain about those return statements but forgot about it when r+'ing the patch.
Assignee | ||
Comment 57•8 years ago
|
||
Fixes test and linting issue, no other changes.
Attachment #8790638 -
Attachment is obsolete: true
Attachment #8791085 -
Flags: review+
Comment 59•8 years ago
|
||
Pushed by cbook@mozilla.com: https://hg.mozilla.org/integration/fx-team/rev/ce601f208476 Adding a longpress menu to the new tab button for containers. r=dao
Keywords: checkin-needed
I had to back this out for frequent failures like https://treeherder.mozilla.org/logviewer.html#?job_id=11591764&repo=fx-team https://hg.mozilla.org/integration/fx-team/rev/115fe096722b
Flags: needinfo?(jkt)
Assignee | ||
Comment 61•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=61aab97de984
Assignee | ||
Comment 62•8 years ago
|
||
Hey Kamil, if you have a chance would you be able to look at getting a replication on this? I can't get one in linux or windows. I'm pushing again to try, the screenshot looks like the main process being blocked however I can't see this with the patch. Thanks
Flags: needinfo?(jkt) → needinfo?(kjozwiak)
I retriggered the Win7VMOpt m-e10s(bc7) job a bunch and got some of the failures on your try push.
Comment 64•8 years ago
|
||
Clearing ni? for now as Jonathan is going to try getting a Win 7 development VM running. Jonathan, let me know if you need any help!
Flags: needinfo?(kjozwiak)
Assignee | ||
Comment 65•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ad5d6f9a6b1c
Assignee | ||
Comment 66•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=bf2e6110eb50
Assignee | ||
Comment 67•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6818308585a4
Assignee | ||
Comment 68•8 years ago
|
||
Still unable to replicate with the latest rebase the best error I have seen is a replication of this (however happens about every 40 runs of the test that is failing): https://bugzilla.mozilla.org/show_bug.cgi?id=983948#c96 Will wait for the latest try.
Assignee | ||
Comment 69•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e963603936cf
Assignee | ||
Comment 70•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f44c6e7768cc
Assignee | ||
Comment 71•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f24e6febeb8d
Assignee | ||
Comment 72•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=8d24e8c79694
Assignee | ||
Comment 73•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f90031ae3c68
Assignee | ||
Comment 74•8 years ago
|
||
Hey Gijs, This bug got backed out due to test failure timeouts in Windows. The only way I have been able to prevent the timeout is with a Promise settimeout: https://hg.mozilla.org/try/rev/f90031ae3c683c7a5ec0d277406dae7b84e50b79#l6.43 Is there anything you could think of that could be needed to be checked for in windows? Thanks
Flags: needinfo?(gijskruitbosch+bugs)
Comment 75•8 years ago
|
||
(In reply to Jonathan Kingston [:jkt] from comment #74) > Hey Gijs, > > This bug got backed out due to test failure timeouts in Windows. > > The only way I have been able to prevent the timeout is with a Promise > settimeout: > https://hg.mozilla.org/try/rev/f90031ae3c683c7a5ec0d277406dae7b84e50b79#l6. > 43 Is there anything you could think of that could be needed to be checked > for in windows? > > Thanks Not off-hand. It looks like the context menu isn't opening. I tried to look at screenshots for the failure but the wifi I'm on is too terrible to do so (server not found errors). In the screenshot for the timeout, is the back/fwd button disabled? It that case it sounds like you're not waiting to be sure that there are in fact session history items available so that the back/fwd buttons are enabled and visible. You could verify this by logging the bounding client rects of the buttons before synthesizing the clicks (with an appropriate info() call) and/or checking the browser's sessionHistory property.
Flags: needinfo?(gijskruitbosch+bugs)
Assignee | ||
Comment 76•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=fce9f963a528
Assignee | ||
Comment 77•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=9489e0a166cf
Assignee | ||
Comment 78•8 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=65154b727f6a
Assignee | ||
Comment 79•8 years ago
|
||
Updated patch fixes tests in Windows.
Attachment #8791085 -
Attachment is obsolete: true
Attachment #8804210 -
Flags: review?(dao+bmo)
Assignee | ||
Comment 80•8 years ago
|
||
Would you be able to review? the changes are small since last time just fixing tests really for Windows.
Flags: needinfo?(dao+bmo)
Updated•8 years ago
|
Flags: needinfo?(dao+bmo)
Attachment #8804210 -
Flags: review?(dao+bmo) → review+
Assignee | ||
Updated•8 years ago
|
Keywords: checkin-needed
Comment 81•8 years ago
|
||
Pushed by cbook@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/309e32ebbc3a Adding a longpress menu to the new tab button for containers. r=dao
Keywords: checkin-needed
Comment 82•8 years ago
|
||
backed out for eslint failure https://treeherder.mozilla.org/logviewer.html#?job_id=38605154&repo=mozilla-inbound
Flags: needinfo?(jkt)
Comment 83•8 years ago
|
||
Backout by cbook@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/822379ac9dbb Backed out changeset 309e32ebbc3a for eslint failure
Comment 84•8 years ago
|
||
Pushed by amarchesini@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/f19157ac2e48 Adding a longpress menu to the new tab button for containers. r=dao
Comment 85•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f19157ac2e48
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
status-firefox52:
--- → fixed
Resolution: --- → FIXED
Comment 86•8 years ago
|
||
backed out for possibly causing timeouts
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Comment 87•8 years ago
|
||
Backout by cbook@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/8d988053f47b Backed out changeset f19157ac2e48 for possibly causing timeouts on trunk trees on a CLOSED TREE
Comment 88•8 years ago
|
||
Pushed by cbook@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/e00ed3bd29f9 Adding a longpress menu to the new tab button for containers because innocent of Bustage on a CLOSED TREE. r=dao
Comment 89•8 years ago
|
||
Backout by cbook@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/67f0d823967c Backed out changeset e00ed3bd29f9 fix eslint issues
Assignee | ||
Comment 90•8 years ago
|
||
Hey :Tomcat, Sorry I was off ill most of last week. I have fixed the test that had an ESLint fail, the patch is a 3 line change only in a test does this need another r+? No functionality has changed even in the test. Seems the backouts were only related to this and the others were just checking if the timeouts were caused by this patch. Thanks Jonathan
Attachment #8804210 -
Attachment is obsolete: true
Flags: needinfo?(jkt) → needinfo?(cbook)
Attachment #8808174 -
Flags: review+
Assignee | ||
Comment 91•8 years ago
|
||
Comment on attachment 8808174 [details] [diff] [review] bug-1272256.3.patch Hey Gijs, The change here is: - var backButton = document.getElementById("back-button"); + let backButton = document.getElementById("back-button"); - var contextMenu = document.getElementById("backForwardMenu"); + let contextMenu = document.getElementById("backForwardMenu"); - var rect = backButton.getBoundingClientRect(); Could you give me an review for this please :) Thanks
Attachment #8808174 -
Flags: review+ → review?(gijskruitbosch+bugs)
Comment 92•8 years ago
|
||
Comment on attachment 8808174 [details] [diff] [review] bug-1272256.3.patch - var backButton = document.getElementById("back-button"); + let backButton = document.getElementById("back-button"); - var contextMenu = document.getElementById("backForwardMenu"); + let contextMenu = document.getElementById("backForwardMenu"); - var rect = backButton.getBoundingClientRect(); ^^ r=me for that. I can't work out how to get interdiff on bugzilla to do the right thing because all the attachments have the same name :-( . So I'm just assuming there's nothing else. FWIW, in future you don't need a re-review for those kinds of changes.
Attachment #8808174 -
Flags: review?(gijskruitbosch+bugs) → review+
Assignee | ||
Updated•8 years ago
|
Keywords: checkin-needed
Comment 93•8 years ago
|
||
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/93361acd5e00 Add a longpress menu to the new tab button for containers. r=dao, r=Gijs
Keywords: checkin-needed
Comment 94•8 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/93361acd5e00
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
Resolution: --- → FIXED
Comment 95•8 years ago
|
||
Successfully managed to reproduce this bug on Nightly 49.0a1 (2016-05-12) from Ubuntu 14.04.5 (64 Bit) This issue is now verified as fixed on Latest Firefox Nightly 52.0a1 (2016-11-12) (64-bit) Build ID: 20161112030203 User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 OS: Linux 4.4.0-47-generic; Ubuntu 14.04.5
QA Whiteboard: [bugday-20161109]
Updated•8 years ago
|
Status: RESOLVED → VERIFIED
Updated•8 years ago
|
Flags: needinfo?(cbook)
Comment 96•8 years ago
|
||
Jonathan, it's irritating that you didn't make sure to fix all regressions that got reported the first time this landed. Please double down on your efforts to fix bug 1299669 or we may have to back this out again especially since it's already on aurora now.
Assignee | ||
Comment 97•8 years ago
|
||
The patches were tested on all platforms, it's likely something changed between them landing for Windows. I'm on PTO at the moment and unlikely to have a Windows machine to look at until Wednesday. The patch likely won't be more than a one liner when I have a machine. I will take a look now to see if I can spot anything obvious that has changed.
Flags: needinfo?(dao+bmo)
Comment 98•8 years ago
|
||
(In reply to Dão Gottwald [:dao] from comment #96) > especially > since it's already on aurora now. containers are disabled on aurora. I would not expect the patch to have any side-effects on aurora. Am I wrong?
Assignee | ||
Comment 99•8 years ago
|
||
Other than users can enable it via the pref: privacy.userContext.enabled As far as I'm aware: privacy.userContext.ui.enabled is disabled on aurora which is the about:preferences way of enabling containers. There is some direction to pref this on via test pilot but not anytime soon.
Flags: needinfo?(dao+bmo)
Comment 100•8 years ago
|
||
(In reply to Jonathan Kingston [:jkt] from comment #99) > There is some direction to pref this on via test pilot but not anytime soon. We will enable the pref in Firefox 50+ in Test Pilot studies. The Long Press might get overriden by the addon (we aren't sure yet; waiting for a UX).
Updated•7 years ago
|
Target Milestone: Firefox 51 → Firefox 52
Comment 101•7 years ago
|
||
We are doing a Test Pilot experiment on Containers in Firefox 51 in late January. It doesn't look like an addon can replicate this plus button behavior, as we previously thought it could. Without an easy way to create a new container tab, we may have limited results from the experiment. What would be the risk to uplifting this to Firefox 51/beta? Would we also have to uplift https://bugzilla.mozilla.org/show_bug.cgi?id=1299669?
Flags: needinfo?(jkt)
Flags: needinfo?(gijskruitbosch+bugs)
Comment 102•7 years ago
|
||
(In reply to Tanvi Vyas[:tanvi] from comment #101) > We are doing a Test Pilot experiment on Containers in Firefox 51 in late > January. It doesn't look like an addon can replicate this plus button > behavior, as we previously thought it could. Off-hand, it seems to me that a XUL-based add-on should be able to. Who knows more about the claim that this is not possible and what it's based on? > Without an easy way to create > a new container tab, we may have limited results from the experiment. What > would be the risk to uplifting this to Firefox 51/beta? Well, it's a relatively large patch to things with relatively poor test coverage (given it initially caused stuff like bug 1299667 without that being caught by automated testing). There are also unresolved and not-well-understood bugs still (e.g. bug 1298064, bug 1327949). I also don't know what the state of containers is on 51 - a lot of the other container-related fixes haven't gone into it, I should think. Could we run this test pilot experiment against 52 beta instead? > Would we also have > to uplift https://bugzilla.mozilla.org/show_bug.cgi?id=1299669? Yes, and a fix for bug 1327949, which at the moment is still unfixed on Nightly, but without which this really can't ship. Plus uplifting bug 1318491. Plus maybe other things (I haven't done an exhaustive search). I'm not super excited about that prospect, at least not until we understand the remaining open bugs better and have had some QA checks on some of this functionality... :-(
Flags: needinfo?(gijskruitbosch+bugs)
Comment 103•7 years ago
|
||
Thanks Gijs! We won't try uplifting this patch then. Plus you are right that an addon can do more than what we had thought.
Flags: needinfo?(jkt)
You need to log in
before you can comment on or make changes to this bug.
Description
•