New issue
Advanced search Search tips

Issue 822038 link

Starred by 6 users

Issue metadata

Status: WontFix
Owner:
Closed: Jul 17
Cc:
Components:
EstimatedDays: 1
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 821991



Sign in to add a comment

Window frame style for MD refresh in Windows <10

Project Member Reported by pbos@chromium.org, Mar 14 2018

Issue description

Releases before Windows 10 won't support a fully custom frame, we need a good-looking fallback alternative for 7 / 8.
 

Comment 1 by pbos@chromium.org, Mar 15 2018

Labels: Proj-MdRefresh
Cc: -bsep@chromium.org
Owner: bsep@chromium.org
Status: Assigned (was: Available)
Initial direction from bettes/markchang meeting is to go with the Win 10-style frame on Win 7/8, especially since Win 7 is 3 years past mainstream EOL and will be leaving extended support in 2020.  We can mitigate the non-nativeness, if desired, by having some more Win 7-looking caption button shapes/icons on Win 7; I would consider that P3.
Possibly-more-sane version of comment 4:

* Force Win 7 to always use opaque frame
* Change opaque frame to be programmatically drawn with flat colors in a way that mimics the simple Win 10 appearance
* Square off window corners if feasible
* Probably will need to tweak presentation of caption buttons

Comment 5 by bsep@chromium.org, Mar 27 2018

For additional context, the plan in comment #3 is impossible; we can't really draw Windows 10 style in Windows 7. The plan in comment #4 is what we came up with after discussing this. I will make a prototype and post screenshots so we know what we're getting into.

I will note that we have more Windows 7 users than Windows 10 users, so we should not consider starting end-of-life. Whatever we do should look good.

Comment 6 by bsep@chromium.org, Mar 27 2018

Cc: bettes@chromium.org
Labels: -Pri-3 Target-69 Pri-2
EstimatedDays: 3

Comment 9 by bsep@chromium.org, May 31 2018

Status: WontFix (was: Assigned)
After talking with bettes@ we decided we're not going to take any action for Windows <10. Refresh looks fine, more or less, with the old glass frame so we're not going to try to do anything more complicated.
Well, you may be going to get a few complains about

The contrast between active and inactive tabs is super bad.
(with the current coloring they appear almost no different without the shape-less design of inactive tabs)

And the dividers between inactive tabs are not center-aligned.
(they are 1 pixel to right. I know this is intended to draw divider on the left side of a tab, and not an issue for the shape-less design. But quite noticeable when inactive tabs all have shape)

Among other issues.
Actually, let me go straight. Why can't you do the same with what Firefox Australis did? As Refresh tabstrip is arguably a copycat of Australis...
firefox19.jpg
305 KB View Download
Components: UI>Browser
Owner: ----
Status: Available (was: WontFix)
I don't think we can do nothing here.  At the very least, the way we do dividers doesn't make sense when tab color and frame color don't match.

It's possible that we can't end up doing much by M69, but a true WontFix doesn't make sense to me.  The ideal is probably something more akin to comment 11.
Labels: -Pri-2 Pri-3
EstimatedDays: 1
Labels: -Pri-3 OS-Windows Pri-2
Summary: Window frame style for MD refresh in Windows <10 (was: Fallback update of window frame style for MD refresh in Windows <10.)
There are effectively three choices here.

(1) Draw text on glass, as in comment 11.  We previously considered this and determined it was both technically challenging (given the current architecture) and unlikely to look good with the refresh design and dense tabstrips.  I'm softening on the latter, but upgrading "technically challenging" to "might be almost impossible".  Given how Chrome is composited, I don't know whether it would even work to do some kind of #ifdef OS_WIN that uses the native APIs to draw text on glass or how to handle high DPI.

(2) Treat the Win 7 case like we do for custom themes whose frame and background tab images don't match; then solve however we decide to solve that.

(3) Remove all DWMed everything on <Win 10 and draw the entire frame manually.  From a technical perspective, this is what the opaque frame does today, so one way would be "just force the opaque frame"; however, we might not like how the opaque frame looks by default.

I think (2) probably can and should be done for M69.  (3) may be better long-term.

Estimated Days field reflects the time to implement (2) assuming a good solution for themes already exists; basically, we'll need to add some kind of mode switch oracle function between "background tabs blend with frame" and "the other way", and this bug would be about updating that oracle to always use "the other way" for Windows < 10.  (Maybe we could get away with < 8 instead?  Perhaps Win 8 can render like Win 10.)

Comment 15 by bsep@chromium.org, May 31 2018

You're right, I was assuming the theme case would Just Work but it probably does need to be plumbed in. I don't think we should try to do anything more complicated than that for 69.

Comment 16 by bsep@chromium.org, May 31 2018

(Windows 8 can't render like 10 either, but anything that works for 7 should work for 8.)
Did Firefox Australis really draw text on glass...? In an actual screenshot it seemed to me there was some sort of added semi-transparent background behind tabstrip? Perhaps only there for contrast reason.
And I just read a bug about Chrome is bad at rendering on a non-opaque background. So whatever it was, guess it would not help anyway.

Apologize for the untrained random guessing noise, I will be silent from now on. Thank you sincerely for the reconsideration.
firefox-294-100267931-orig.jpg
637 KB View Download
Owner: bettes@chromium.org
Status: Assigned (was: Available)
bettes: Does design approve of the window frame on Win7 in both Aero and Non-aero modes? If so, feel free to WontFix this bug. If not, please add details as soon as possible on the additional work required.
Labels: Group-Window_Frame
Status: WontFix (was: Assigned)
bettes: lgtm

Sign in to add a comment