From 37cd984acfdd206e85c50a851c4daedc2c87deb3 Mon Sep 17 00:00:00 2001
From: Claire <claire.github-309c@sitedethib.com>
Date: Fri, 10 Jun 2022 17:34:59 +0200
Subject: [PATCH] Fix logo gradient not working on some Safari and Blink-based
 browsers (#18634)

Works around https://bugs.chromium.org/p/chromium/issues/detail?id=258029
---
 app/javascript/styles/mastodon/basics.scss | 12 +++++++++++-
 app/views/layouts/application.html.haml    |  2 +-
 app/views/layouts/embedded.html.haml       |  2 +-
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/app/javascript/styles/mastodon/basics.scss b/app/javascript/styles/mastodon/basics.scss
index 391f1fad9..413a1cdd6 100644
--- a/app/javascript/styles/mastodon/basics.scss
+++ b/app/javascript/styles/mastodon/basics.scss
@@ -256,7 +256,17 @@ button {
 }
 
 .logo-resources {
-  display: none;
+  // Not using display: none because of https://bugs.chromium.org/p/chromium/issues/detail?id=258029
+  visibility: hidden;
+  user-select: none;
+  pointer-events: none;
+  width: 0;
+  height: 0;
+  overflow: hidden;
+  position: absolute;
+  top: 0;
+  left: 0;
+  z-index: -1000;
 }
 
 // NoScript adds a __ns__pop2top class to the full ancestry of blocked elements,
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 1501c2b97..25fd5bc34 100755
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -43,6 +43,6 @@
   %body{ class: body_classes }
     = content_for?(:content) ? yield(:content) : yield
 
-    .logo-resources
+    .logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => true }
       = render_symbol :icon
       = render_symbol :wordmark
diff --git a/app/views/layouts/embedded.html.haml b/app/views/layouts/embedded.html.haml
index 6c6730ef2..e74bff9cc 100644
--- a/app/views/layouts/embedded.html.haml
+++ b/app/views/layouts/embedded.html.haml
@@ -20,5 +20,5 @@
   %body.embed
     = yield
 
-    .logo-resources
+    .logo-resources{ 'tabindex' => '-1', 'inert' => true, 'aria-hidden' => true }
       = render_symbol :icon