Alex313031 / Thorium-Win

Chromium fork for Windows named after radioactive element No. 90; Windows builds of https://github.com/Alex313031/Thorium
https://thorium.rocks/
BSD 3-Clause "New" or "Revised" License
1.29k stars 33 forks source link

Certain websites' custom scrollbars are rendered wrong in Thorium 115 #59

Closed Delphox closed 10 months ago

Delphox commented 10 months ago

System Details

Problem Starting on version 115, certain websites that use custom scrollbars such as Youtube Studio and Discord show a generic scrollbar instead which looks very out of place.

Screenshots Discord: image Youtube Studio: image

Additional Notes I have tested vanilla Chrome 115, and confirmed that the scrollbars render correctly there.

gz83 commented 10 months ago

Check whether there is an extension or experimental function flag related to scroll bar rendering. If so, you need to close it and check the scroll bar rendering again.

Also, please upload an image that renders the scrollbars correctly.

@Delphox

Delphox commented 10 months ago

Also, please upload an image that renders the scrollbars correctly.

Youtube Studio: image Discord: image

It can also be observed on the Youtube homepage on Dark mode, it affects the left menu (where you can choose Home, Shorts, Subscriptions etc).

Interesting that you mention experimental flags, cuz I went and removed --enable-experimental-web-platform-features from the THORIUM.BAT launch arguments and the scrollbars look correct again. Not only that, but enabling that flag on vanilla Chrome does cause the same wrong scrollbars. That behavior was also observed when enabling that flag on Chromium 116 and 117. So we can confirm the issue originates from that flag starting on Chromium 115.

So although this is something on Chromium side, it does affect Thorium Portable out of the box as the enable-experimental-web-platform-features flag is one of the arguments in the launch bat.

Would it be a big loss dropping that flag @Alex313031 ? Not sure what exactly it brings or if some Thorium feature rely on it or something.

Alex313031 commented 10 months ago

@Delphox @gz83 Looks like the same issues we have with dark mode text selection. Where CSS meta-elements for font and scrollbars don't work correctly because Chromium rolled a third_party dep for rendering this stuff.

I will remove the experimental web platform features from linux and windows releases. You can still enable it on chrome://flags.

I like having the flag enabled to see the newest stuff, and is an artifact from when thorium was built to tip of tree, rather than stable revisions. But this is just me, and the community has overwhelmingly shown desire for stable, predictable behavior over the latest, potentially buggy behavior.

gz83 commented 10 months ago

If this experimental feature flag is turned on, some relatively new feature specifications (mainly affecting Blink rendering and layout engines) will be enabled, and these new feature specifications have not been supported by Chromium or have a low level of support, which can cause Chromium to experience abnormal situations on certain web pages (such as being unable to correctly present the highlighted content selection effect under certain conditions).

Based on my daily observations, it can be seen that turning off this experimental feature flag has no adverse impact on browser usage and performance. If you encounter problems, as mentioned in this issue, you can try turning off this experimental feature flag.

@Delphox

Alex313031 commented 10 months ago

@Delphox @gz83 I have removed all experimental web platform features for all platforms.

https://github.com/Alex313031/thorium/commit/d3a7696089cb0b60fad126060502e6d19058a6c9

Looking back now, I probably should have not enabled it by default, and left it up to the user. It is even on chrome://flags so you don't even have to specify it ont he commandline.

Delphox commented 10 months ago

Looks like the same issues we have with dark mode text selection

Oh man this was so annoying on Telegram lol, wish I had realized it was this flag sooner. Yea I don't think this flag is worth it for daily usage, I agree removing it was the right choice. I removed the two flags manually from the launch bat and will observe how things go but no issues so far.

I'll leave this open for now in case someone runs into the same issue, until the new launch arguments make into the releases.

Alex313031 commented 10 months ago

@Delphox Are you saying the text selection bug appeared on telegram?

And yeah, unfortunately I had just released the Windows releases when you filed this bug. M116 will have the fix though.

Delphox commented 10 months ago

Are you saying the text selection bug appeared on telegram?

Yes, specifically the K version of Telegram Web (there's a K version and A version that you can switch back and forth, K has a few missing features but is a lot slicker and loads a lot faster). I just didn't think much of it at the time and thought it was an issue with the optimizations.

And yeah, unfortunately I had just released the Windows releases when you filed this bug. M116 will have the fix though.

Well it was the latest release that brought the scrollbar bug that made we look into this in first place so we'll take it. :)

gz83 commented 10 months ago

The issue caused by this experimental flag should still not be resolved in the new version, and we may need to continue disabling this experimental flag

@Delphox @Alex313031

Alex313031 commented 10 months ago

@gz83 What do you mean? Are you saying removing the flag isn't fixing it?

gz83 commented 10 months ago

@gz83 What do you mean? Are you saying removing the flag isn't fixing it?

What I mean is that turning on the experimental web platform features experimental flag may cause some problems with the rendering of web page elements. There are some issue reports on crbug about turning on this experimental flag and destroying the rendering of web page elements.

To fix these damaged web page elements, we need to wait for chromium to fix it at the blink engine level, but it seems that chromium is not making progress in this regard very quickly, and we still need to wait for a while.

Based on the above, I think that if we encounter problems with the rendering of web page elements after turning on this experimental flag, we'd better turn off this experimental flag, which is consistent with the effect of deleting this experimental flag from the startup parameters

@Alex313031

Alex313031 commented 10 months ago

@gz83 Oh ok yeah thats also what I was saying. Closing now since @Delphox got resolved