martok / palefill

Inject Polyfills for various web technologies into pages requiring them
https://martok.github.io/palefill/
Mozilla Public License 2.0
79 stars 9 forks source link

Header elements in the top-left corner on VirusTotal #39

Closed AstroSkipper closed 1 year ago

AstroSkipper commented 2 years ago

The header elements in the top-left corner are a bit broken on the website VirusTotal.com. Some elements are overlaid and difficult to reach or read, like for example, Sign-in or Sign-out. Tested in New Moon 28.10.6a1, latest build from 2022-07-15 and Serpent v52.9.0 (2022-07-15), both 32-bit with palefill 1.17 installed. OS is Windows XP Professional.

Kindest regards, AstroSkipper panne-ordi-2.gif

Vangelis66 commented 2 years ago

This is how https://www.virustotal.com/gui/home/upload is being rendered in a Chromium-86 fork:

ch86-vt

OTOH, on a UXP-based browser with latest palefill, it renders as below:

UPX-VT

i.e. the four "buttons" at the far right of the header (in Chromium) are being superimposed on the four "buttons/links" at the far left of the header... 😞 Obviously, VT are using Chromium-specific CSS syntax that UXP can't cope with (yet?) ... Additionally, when the page is being scrolled down, the four links on the far left remain as sticky/static, while the four buttons of interest (including the Sign in one) are moving out of sight:

UPX-VT2

I have no code solution per se for this predicament, but if you're not that interested in the four "Enterprise" links on the far left (i.e. Intelligence, Hunting, Graph, API), you can move them out of sight via a uBlock Origin cosmetic filter:

www.virustotal.com###enterprise-features

leaving the four other buttons uncluttered:

UPX-VT3

Again, the far left button ("Solutions") is unusable (its popup opens out of view) ,,,

martok commented 2 years ago

Obviously, VT are using Chromium-specific CSS syntax that UXP can't cope with (yet?) ...

Nothing about Chromium, just the "we will never implement Web Components" stance from several years ago coming back to bite UXP. Thankfully that has changed, but there's still some catching up to.

ShadowDOM's ::host selectors are implemented as of #1593 on RPMO, but still behind the dom.webcomponents.enabled gate along with everything else. Not much to do about it from this end...

Vangelis66 commented 2 years ago

Thanks for your elaboration on this! 👍 😄

As I see it myself, my quoted reference in your comment above isn't far from the truth after all :wink: ; Chrome(/-ium) has full support for Web Components (and ShadowDOM's :host selectors) since a long time ago, so the VT page code is sure to work as planned in Chromium (and forks of, and in Firefox), but not UXP, currently...

martok commented 1 year ago

Looks like VT now builds their app with ShadyCSS for the fallback scripts. Nothing else to do here then.