Closed Bug 1183135 Opened 5 years ago Closed 2 years ago

[e10s] tab separators update synchronously before tab becomes visuallyselected

Categories

(Firefox :: Tabbed Browser, defect, P2)

defect

Tracking

()

VERIFIED FIXED
Firefox 61
Tracking Status
e10s + ---
firefox61 --- verified

People

(Reporter: mstange, Assigned: dao)

References

(Blocks 2 open bugs)

Details

Attachments

(3 files)

Attached video screen recording
If I switch tabs using Cmd+Option+left/right quickly, I can see the tab separator to the right of the targeted tab disappear before the rest of the tab styling updates once the content process responds.

I'm attaching a screen recording but it's a little hard to see unless you step through it frame by frame.
Flags: needinfo?(gwright)
tracking-e10s: --- → ?
Flags: needinfo?(gwright)
Assignee: nobody → gwright
See Also: → 1244317
I haven't managed to reproduce this issue on the latest Aurora build(46.0a2). On the latest Nightly(47.0a1) this reproduced only once. I've tried again, but I was unable to reproduce it afterwards on the same Mac OS 10.11.

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160207004019

I've also tested on Windows 7 x32 and Ubuntu 14.04, on both Aurora and Nightly, but I wasn't able to reproduce it.
STR:
1. Open the following "data:" url in a new window. Close other tabs in that window
>   data:text/html,<a href="http://www.rp-online.de/">Link</a>
2. Middle-click that Link 10 times at the speed >= 1 middleclick per second
3. Close the tab with "data:" url. You'll get 10 tabs with the "heavy" site
4. Press Ctrl+PageDown 10 times as fast as possible (2-3 pressings per second)
5. If you still don't see the bug:   do {Ctrl+Shift+Tab, then Ctrl+Shift+R} 10 times, repeat Step 4

I usually have 40+ tabs opened, so I only need Step 4 to reproduce.
Thanks Arni2033 for the additional details. I was able to reproduce this issue following your latest steps on Windows 7 x32 and Mac OS 10.11, using both latest Aurora(46.0a2) and latest Nightly(47.0a1). This bug only appears when e10s is enabled, otherwise tab switching works correctly without tab separator disappearing.

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160209004008

User Agent: Mozilla/5.0 (Windows NT 6.1; rv:47.0) Gecko/20100101 Firefox/47.0
Build ID: 20160208030244

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0
Build ID: 20160209004008

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0
Build ID: 20160209030347
See Also: → 1248768
Priority: -- → P2
Duplicate of this bug: 1186850
Duplicate of this bug: 1254924
Assignee: gw → dao+bmo
Status: NEW → ASSIGNED
OS: Unspecified → All
Hardware: Unspecified → All
Blocks: 1401375
Duplicate of this bug: 1446454
Component: Theme → Tabbed Browser
Comment on attachment 8971805 [details]
Bug 1183135 - Update tab position attributes when a tab becomes visually selected rather than synchronously when switching tabs.

https://reviewboard.mozilla.org/r/240554/#review246726

Looks good, thanks!

::: browser/base/content/test/tabs/browser_positional_attributes.js:17
(Diff revision 1)
> -  is(elem.hasAttribute(attrib), attribValue, msg);
> +  return BrowserTestUtils.switchTab(gBrowser, gBrowser.tabs[index]);
> +}
> +
> +function testAttrib(tabIndex, attrib, expected) {
> +  is(gBrowser.tabs[tabIndex].hasAttribute(attrib), expected,
> +     `tab #${tabIndex} should${expected ? "" : "n't"} have the ${attrib} attribute`);

Typo: "n't" -> "not".
Attachment #8971805 - Flags: review?(mconley) → review+
(In reply to Mike Conley (:mconley) (:⚙️) (Totally backlogged on reviews and needinfos) from comment #9)
> ::: browser/base/content/test/tabs/browser_positional_attributes.js:17
> (Diff revision 1)
> > -  is(elem.hasAttribute(attrib), attribValue, msg);
> > +  return BrowserTestUtils.switchTab(gBrowser, gBrowser.tabs[index]);
> > +}
> > +
> > +function testAttrib(tabIndex, attrib, expected) {
> > +  is(gBrowser.tabs[tabIndex].hasAttribute(attrib), expected,
> > +     `tab #${tabIndex} should${expected ? "" : "n't"} have the ${attrib} attribute`);
> 
> Typo: "n't" -> "not".

Not a typo ;)
Pushed by dgottwald@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ee1e498e3c43
Update tab position attributes when a tab becomes visually selected rather than synchronously when switching tabs. r=mconley
https://hg.mozilla.org/mozilla-central/rev/ee1e498e3c43
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 61
See Also: → 1448497
Looks like this change introduced a frequent intermittent that sheriffs have been starring as bug 1448497:

TEST-UNEXPECTED-FAIL | browser/base/content/test/performance/browser_tabclose.js | unexpected changed rect: ({x1:0, x2:223, y1:0, y2:32, w:224, h:33}), window width: 1280 -

https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=ee1e498e3c433bb57de697fe68c3f6e61969c110&filter-searchStr=lin%20(bc6

I've attached a screenshot of the 2 data uris that the test prints out.
We won some perf improvements!

== Change summary for alert #13023 (as of Wed, 02 May 2018 07:35:26 GMT) ==

Improvements:

  3%  tps windows10-64 opt e10s stylo     14.67 -> 14.19
  3%  tps windows10-64 pgo e10s stylo     13.12 -> 12.75

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=13023
Backout by aiakab@mozilla.com:
https://hg.mozilla.org/mozilla-central/rev/ce588e44f415
Backed out changeset ee1e498e3c43 for failing browser chrome tests on browser/base/content/test/performance/browser_tabclose.js a=backout
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: Firefox 61 → ---
Flags: needinfo?(dao+bmo)
Pushed by dgottwald@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c07ba1f49f5e
Update tab position attributes when a tab becomes visually selected rather than synchronously when switching tabs. r=mconley
https://hg.mozilla.org/mozilla-central/rev/c07ba1f49f5e
Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 61
Managed to reproduce the issue on Firefox Nightly (2015-07-13) on Windows 10, Mac OS X 10.11 and Ubuntu 16.04 x64 using the steps provided in Comment 3. 

The issue cannot be reproduced on the latest Nightly Firefox 61.0a1. (20180503220110 / 2018-05-03) on Windows 10, Mac OS X 10.11 and Ubuntu 16.04 x64, thus I will close the issue as VERIFIED FIXED.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
See Also: 1448497
Depends on: 1458793
You need to log in before you can comment on or make changes to this bug.