From a5c7e03dbdc754996c76a32a9c7d157bd5c938de Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sun, 26 Jul 2020 01:17:00 +0100 Subject: fix(gerrit): fix hovercards under Firefox Firefox doesn't implement the IE6 fromElement/toElement, and it's not in the MouseEvent spec (at the moment). Replace with the worse-named but better-specified target and relatedTarget attributes instead. Upstream change: https://gerrit-review.googlesource.com/q/I9eeb26c032a38de9d7185749373c7982c796acb2 Change-Id: I9f9a1eb9342bc80b91b5b364a04cc5fa9a7ccaeb Reviewed-on: https://cl.tvl.fyi/c/depot/+/1442 Tested-by: BuildkiteCI Reviewed-by: glittershark --- .../0001-Use-detzip-in-download_bower.py.patch | 2 +- third_party/gerrit/0002-Syntax-highlight-nix.patch | 2 +- .../gerrit/0003-Syntax-highlight-rules.pl.patch | 2 +- .../gerrit/0004-Add-titles-to-CLs-over-HTTP.patch | 2 +- ...local-fonts-always-assume-Gerrit-is-mount.patch | 2 +- .../gerrit/0006-Always-use-Google-Fonts.patch | 2 +- ...7-Fix-gr-hovercard-behavior-under-Firefox.patch | 35 ++++++++++++++++++++++ third_party/gerrit/default.nix | 1 + 8 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 third_party/gerrit/0007-Fix-gr-hovercard-behavior-under-Firefox.patch (limited to 'third_party') diff --git a/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch b/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch index c120667a60..7830b0e479 100644 --- a/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch +++ b/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch @@ -1,7 +1,7 @@ From c88d8c133d2f50451c7fb73592db4a000b87f15f Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Thu, 2 Jul 2020 23:02:09 +0100 -Subject: [PATCH 1/6] Use detzip in download_bower.py +Subject: [PATCH 1/7] Use detzip in download_bower.py --- tools/js/download_bower.py | 2 +- diff --git a/third_party/gerrit/0002-Syntax-highlight-nix.patch b/third_party/gerrit/0002-Syntax-highlight-nix.patch index 9df29ab07b..4353f1e477 100644 --- a/third_party/gerrit/0002-Syntax-highlight-nix.patch +++ b/third_party/gerrit/0002-Syntax-highlight-nix.patch @@ -1,7 +1,7 @@ From 1310ad5e56248bf216774cd13e828ba76e0c6f65 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Thu, 2 Jul 2020 23:02:32 +0100 -Subject: [PATCH 2/6] Syntax highlight nix +Subject: [PATCH 2/7] Syntax highlight nix --- .../app/elements/diff/gr-syntax-layer/gr-syntax-layer.js | 1 + diff --git a/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch b/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch index a1c43a0485..3b87dc14f2 100644 --- a/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch +++ b/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch @@ -1,7 +1,7 @@ From a8dad8e63a1be32f473e96c6c7530a70d368369f Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Thu, 2 Jul 2020 23:02:43 +0100 -Subject: [PATCH 3/6] Syntax highlight rules.pl +Subject: [PATCH 3/7] Syntax highlight rules.pl --- .../elements/diff/gr-syntax-layer/gr-syntax-layer.js | 10 ++++++++++ diff --git a/third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch b/third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch index d6f5e8c9fa..d0d1b52c68 100644 --- a/third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch +++ b/third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch @@ -1,7 +1,7 @@ From 61035d1e81884390708675ab994e0e7210659883 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Thu, 2 Jul 2020 23:03:02 +0100 -Subject: [PATCH 4/6] Add titles to CLs over HTTP +Subject: [PATCH 4/7] Add titles to CLs over HTTP --- .../gerrit/httpd/raw/IndexHtmlUtil.java | 14 +++- diff --git a/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch b/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch index a1666c0559..d62c7f0c57 100644 --- a/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch +++ b/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch @@ -1,7 +1,7 @@ From 73edc92dfa584117f6a4373388c9bc47e50a5713 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sat, 11 Jul 2020 00:45:57 +0000 -Subject: [PATCH 5/6] When using local fonts, always assume Gerrit is mounted +Subject: [PATCH 5/7] When using local fonts, always assume Gerrit is mounted at the root. --- diff --git a/third_party/gerrit/0006-Always-use-Google-Fonts.patch b/third_party/gerrit/0006-Always-use-Google-Fonts.patch index 597e44604f..87ce3a1b2b 100644 --- a/third_party/gerrit/0006-Always-use-Google-Fonts.patch +++ b/third_party/gerrit/0006-Always-use-Google-Fonts.patch @@ -1,7 +1,7 @@ From f3b85ab3ac139d8ec51c09aa5e0d430d65e35a96 Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown Date: Sat, 11 Jul 2020 00:46:13 +0000 -Subject: [PATCH 6/6] Always use Google Fonts. +Subject: [PATCH 6/7] Always use Google Fonts. We're not a corporate, and we're not behind the GFW. Always use Google Fonts, because even though we no longer get the caching benefits (boo, browsers), diff --git a/third_party/gerrit/0007-Fix-gr-hovercard-behavior-under-Firefox.patch b/third_party/gerrit/0007-Fix-gr-hovercard-behavior-under-Firefox.patch new file mode 100644 index 0000000000..715c70d701 --- /dev/null +++ b/third_party/gerrit/0007-Fix-gr-hovercard-behavior-under-Firefox.patch @@ -0,0 +1,35 @@ +From 460d4806feef7fdddc8e3b63dec4fa1854fd2561 Mon Sep 17 00:00:00 2001 +From: Luke Granger-Brown +Date: Sat, 25 Jul 2020 23:54:18 +0000 +Subject: [PATCH 7/7] Fix gr-hovercard-behavior under Firefox + +Firefox doesn't implement toElement/fromElement (they're not in the +spec, and were implemented by Chrome apparently for compatibility with +IE), but does implement target and relatedTarget, which are part of +the UI Events spec +(https://w3c.github.io/uievents/#interface-mouseevent). + +Bug: Issue 13175 +Change-Id: I9eeb26c032a38de9d7185749373c7982c796acb2 +--- + .../app/elements/shared/gr-hovercard/gr-hovercard-behavior.js | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.js b/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.js +index 04c3166dd5..3d5937b1fa 100644 +--- a/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.js ++++ b/polygerrit-ui/app/elements/shared/gr-hovercard/gr-hovercard-behavior.js +@@ -209,8 +209,8 @@ export const hovercardBehaviorMixin = superClass => class extends superClass { + // from the hovercard but now hovering over the target (to stop an annoying + // flicker effect), just return. + if (opt_e) { +- if (opt_e.toElement === this || +- (opt_e.fromElement === this && opt_e.toElement === this._target)) { ++ if (opt_e.relatedTarget === this || ++ (opt_e.target === this && opt_e.relatedTarget === this._target)) { + return; + } + } +-- +2.27.0 + diff --git a/third_party/gerrit/default.nix b/third_party/gerrit/default.nix index 8893f46cde..b90e042b73 100644 --- a/third_party/gerrit/default.nix +++ b/third_party/gerrit/default.nix @@ -48,6 +48,7 @@ pkgs.buildBazelPackage { ./0004-Add-titles-to-CLs-over-HTTP.patch ./0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch ./0006-Always-use-Google-Fonts.patch + ./0007-Fix-gr-hovercard-behavior-under-Firefox.patch ]; bazelTarget = "release"; -- cgit 1.4.1