tvl-depot/third_party/gerrit/0007-Fix-gr-hovercard-behavior-under-Firefox.patch
Luke Granger-Brown a5c7e03dbd 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 <grfn@gws.fyi>
2020-07-26 11:29:28 +00:00

35 lines
1.5 KiB
Diff

From 460d4806feef7fdddc8e3b63dec4fa1854fd2561 Mon Sep 17 00:00:00 2001
From: Luke Granger-Brown <lukegb@google.com>
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