Open Bug 1302571 Opened 8 years ago Updated 2 years ago

Tab border detached from tab body with LWT

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

Tracking Status
firefox49 --- wontfix
firefox50 --- wontfix
firefox51 --- wontfix
firefox52 --- fix-optional
firefox53 --- fix-optional
firefox54 --- fix-optional

People

(Reporter: Dolske, Unassigned)

References

Details

(Keywords: regression)

Attachments

(4 files)

Attached image Screenshot
The right-hand side of a the tab's border is detached from / has a gap with the main body of the tab when using a LWT. The left-side is fine. I vaguely remember an old bug similar to this, but thought we fixed it. Can't find any current bugs.
(In reply to Justin Dolske [:Dolske] from comment #0) > Created attachment 8790995 [details] > Screenshot > > The right-hand side of a the tab's border is detached from / has a gap with > the main body of the tab when using a LWT. The left-side is fine. On https://addons.mozilla.org/en-US/firefox/addon/groovy-blue/?src=ss (when actually installed, but somehow not when previewing?) I see overlap *outside* of the left-hand border as well. > I vaguely remember an old bug similar to this, but thought we fixed it. > Can't find any current bugs. Looking through mozregression.
(In reply to :Gijs Kruitbosch from comment #1) > (In reply to Justin Dolske [:Dolske] from comment #0) > > Created attachment 8790995 [details] > > Screenshot > > > > The right-hand side of a the tab's border is detached from / has a gap with > > the main body of the tab when using a LWT. The left-side is fine. > > On https://addons.mozilla.org/en-US/firefox/addon/groovy-blue/?src=ss (when > actually installed, but somehow not when previewing?) I see overlap > *outside* of the left-hand border as well. For whatever reason I can't really reproduce this anymore - it happens when the theme is not yet installed, but goes away afterwards. I see minor gaps in the "fill" inside the tab border on both sides (symmetrically) when the theme is fully installed, but not the wide gap in your screenshot. What OS, build and lwtheme is this? On Windows 10 I don't see lwtheme borders on tabs at all anymore.
Flags: needinfo?(dolske)
Attached image Screenshot 2
> > The right-hand side of a the tab's border is detached from / has a gap with > > the main body of the tab when using a LWT. The left-side is fine. > > On https://addons.mozilla.org/en-US/firefox/addon/groovy-blue/?src=ss (when > actually installed, but somehow not when previewing?) I see overlap > *outside* of the left-hand border as well. Wow, that's weird. I the the left-hand glitch too (when previewing), after I installed it ans switched tabs it seemed to be mostly normal? I wonder if this is a gfx/svg glitch? I'm on a current Nightly, OS X.
Flags: needinfo?(dolske)
Attached image Screenshot 3
Even weirder: The active tab in the background window (top) is totally wonky, whereas the active tab in the foreground window (bottom) is almost normal. (There's still a slight gap, but it's hard to notice without zooming in.)
Testing with https://addons.mozilla.org/en-US/firefox/addon/groovy-blue/?src=ss and treating the "slight gap" as ok (I think that's existed since Australis)... Mozregression got me down to this range on Nightly: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5f16c6c2b969f70e8da10ee34853246d593af412&tochange=0010c0cb259e28faf764949df54687e3a21a2d0a At this point mozregression seemed to get confused, it was stepping into the B2G merges and I got console spew about "Unable to find build info using the taskcluster route" / "Expanding [lower|higher] limit of the range"... It seemed to keep looping over the same builds (which were all good) so I killed it. Nothing glaringly obvious in that range, but there are some CSS and layout changes: bug 1069192, bug 1032613, bug 1126230, bug 1207378. The second one (bug 1032613) mentions SVG, so if I had to choose one... dholbert, does this seem like it might be yours?
Flags: needinfo?(dholbert)
Yeah, that sounds like the sort of bug that might have caused a glitch like this. (its "part 2" patch specifically) That patch reduced the number of frames that we use when updating overflow areas (which are the areas that get invalidated/repainted, when a repaint is needed). That might explain why this manifests as a temporary glitch & (sometimes?) goes away after a tab-switch (per comment 3). There must be some frame that was previously getting tracked, which is no longer tracked as a result of that patch, and so now we're repainting a smaller area. (though we don't necessarily want to just get that frame added back -- it might be that it was just masking a different painting-bug, by getting us to repaint an area that we already should've been repainting for other reasons.) Do you have concrete STR? Have you seen this on non-Mac? I just tested on linux (fresh profile, apply groovy-blue lightweight theme) and I couldn't reproduce anything like the glitches shown in the screenshots.
(ni=dolske for questions in comment 6) (tentatively marking this is a regression from bug 1032613 -- though as I noted in comment 6, it's possible (perhaps likely) that bug 1032613 just unmasked a latent invalidation/repaint bug)
Blocks: 1032613
Flags: needinfo?(dholbert) → needinfo?(dolske)
Keywords: regression
My STR was pretty basic. From a new profile, load https://addons.mozilla.org/en-US/firefox/addon/groovy-blue/?src=ss, hover/click the Add To Firefox button. I'm on OS X, Retina.
Flags: needinfo?(dolske)
Component: Theme → Layout
Product: Firefox → Core
Priority: -- → P3
Daniel, what should we do with this one? Can we fix it in 51?
Flags: needinfo?(dholbert)
I'm not sure, since I haven't been able to reproduce (on Linux). I suspect it's retina-dependent... I'm going to get a loaner retina-mac from IT and see what I can find out.
I can reproduce this on a loaner mac. With targeted builds, I determined this regressed from bug 1194480, *not* from bug 1032613. That confirms that this was a latent rendering bug, and we were just getting saved from exposing that bug via an unnecessary/extra reflow caused by "text-shadow" and/or "box-shadow" changes. (If we didn't apply those properties for lightweight themes, this issue would've been visible before that commit, presumably.)
Blocks: 1194480
No longer blocks: 1032613
Flags: needinfo?(dholbert)
OK, I can reproduce this on my main Lenovo laptop, too, but only on Windows (Win10) -- not Linux. It's subtle on Windows -- rather than a "detached gap" at the tab border, I instead see a "sharp corner" at the upper-left edge of the tab. And just like on Mac, the glitch goes away on tab-switch.) I don't have cycles to look into this thoroughly today, but I'll dive into it more next week, I think. (In reply to Milan Sreckovic [:milan] from comment #9) > Can we fix it in 51? (Maybe, depending on how complex the fix ends up being. Given that we've been shipping this since Firefox 44, and given that it's varying degrees of subtle, & only reproduces briefly from infrequently-performed STR: I'd say there's probably no huge urgency to get a fix out & backported ASAP. Though it'd definitely be nice to fix.)
Flags: needinfo?(dholbert)
Just for demonstration/testing purposes, here's a 1-liner hackaround [which we should not actually ship]. I tested this yesterday -- it basically restores the (expensive/should-be-unnecessary) reflow on text-shadow changes that we were doing before bug 1194480.
(In reply to Daniel Holbert [:dholbert] from comment #12) > (In reply to Milan Sreckovic [:milan] from comment #9) > (Maybe, depending on how complex the fix ends up being. Given that we've > been shipping this since Firefox 44, and given that it's varying degrees of > subtle, & only reproduces briefly from infrequently-performed STR: I'd say > there's probably no huge urgency to get a fix out & backported ASAP. Though > it'd definitely be nice to fix.) So, looks like it's a carry-over regression instead of new regression here. Can we put it clear on status flag ?
Do the steps to reproduce (STR) always involve installing/activating a lightweight theme (LWT)? Or are there some other steps?
(In reply to Astley Chen [:astley] (UTC+8) from comment #14) > So, looks like it's a carry-over regression instead of new regression here. > Can we put it clear on status flag ? I've now set firefox49 and 50 as "affected". (Doesn't look like Bugzilla's UI lets me edit the status of older branches.) (In reply to David Baron :dbaron: ⌚️UTC-7 from comment #15) > Do the steps to reproduce (STR) always involve installing/activating a > lightweight theme (LWT)? Or are there some other steps? Those are the only steps we have at the moment, yeah. (And they only work on Mac & Windows.) Presumably we could come up with a reduced testcase that would demonstrate the same issue, but we haven't yet.
Flags: needinfo?(dholbert)
Given the fact that this isn't new I'm going to make this fix-optional for 50.
See Also: → 1314159
Is this still reproducible (in the tabstrip), with the Photon retheming?
Flags: needinfo?(dolske)
This no longer applies to Firefox 57, since curvy tabs are dead. (Viva la square tabs!) I don't know if the issue here also would have applied to content in some circumstances, though.
Flags: needinfo?(dolske)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: