From c8e4e1e90322a652b01fa0eb1e6612b9c244f744 Mon Sep 17 00:00:00 2001
From: qsm-odoo <qsm@odoo.com>
Date: Thu, 30 Dec 2021 11:35:18 +0000
Subject: [PATCH] [FIX] web, *: fix the grab cursor not working on all browsers

*: web_editor, pos_restaurant

The grab cursor is currently not working on all browsers (at least
Chrome Linux). The fallback rule does not even work, meaning that if
you type:

```
cursor: move;
cursor: grab;
```

Those browsers does not even use "move" as they see "grab" as valid but
use the "default" cursor.

This commit replaces our "grab" uses with a local cursor ensuring it
works.

Related to task-2431469

closes odoo/odoo#82060

Related: odoo/enterprise#23175
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
---
 .../pos_restaurant/static/src/css/restaurant.css  |   6 +++---
 addons/web/static/src/img/openhand.cur            | Bin 0 -> 326 bytes
 addons/web/static/src/scss/utils.scss             |  10 ++++++++++
 .../static/src/scss/wysiwyg_snippets.scss         |   5 +----
 4 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 addons/web/static/src/img/openhand.cur

diff --git a/addons/pos_restaurant/static/src/css/restaurant.css b/addons/pos_restaurant/static/src/css/restaurant.css
index b17a3002ce6b..2a1328c5a6d1 100644
--- a/addons/pos_restaurant/static/src/css/restaurant.css
+++ b/addons/pos_restaurant/static/src/css/restaurant.css
@@ -13,7 +13,7 @@
 
 /* ------ FLOOR SELECTOR ------- */
 
-.floor-selector { 
+.floor-selector {
     line-height: 48px;
     font-size: 18px;
     display: -webkit-flex;
@@ -219,7 +219,8 @@
     margin-top:  -24px;
     background: white;
     box-shadow: 0px 2px 3px rgba(0,0,0,0.2);
-    cursor: grab;
+    /* See o-grab-cursor mixin */
+    cursor: url(/web/static/src/img/openhand.cur), grab;
     transition: all 150ms linear;
     z-index: 100;
 }
@@ -317,4 +318,3 @@
     opacity: 0.5;
     margin-right: 4px;
 }
-
diff --git a/addons/web/static/src/img/openhand.cur b/addons/web/static/src/img/openhand.cur
new file mode 100644
index 0000000000000000000000000000000000000000..fba3ddc807fd2e29b41d09af0b14d6db6bdb879c
GIT binary patch
literal 326
zcmbu(u?@m75QX92i6U1h9TF8ODcJzFVFXGt0;3=b>Wq?t0aBq9D39kj1vQ-Y*=OHL
zXDA3XO+ln$A7Bmatg)j7uQ`?@<wbs(cS&Ej-_mk`Bw9VfHhIIr&UTtyd%@~qci7yr
j(B^sm!(TB*DH*IUr7j6lYa~cl>la<+x_h6sG+m?*Z%Tfs

literal 0
HcmV?d00001

diff --git a/addons/web/static/src/scss/utils.scss b/addons/web/static/src/scss/utils.scss
index 794b8bea90e7..cfc09c70d6d2 100644
--- a/addons/web/static/src/scss/utils.scss
+++ b/addons/web/static/src/scss/utils.scss
@@ -144,6 +144,16 @@
     -moz-transform: scale(0.9999); // Smooth the caret on firefox
 }
 
+//-------------------------------------------------------------------
+// Cursor
+//-------------------------------------------------------------------
+
+@mixin o-grab-cursor() {
+    // Use a custom cursor for the open hand icon as "grab" is not properly
+    // working on Chrome Linux (at least)
+    cursor: url(/web/static/src/img/openhand.cur), grab;
+}
+
 // ------------------------------------------------------------------
 // Hovering effects
 // ------------------------------------------------------------------
diff --git a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
index c78a3f313a4e..6325f8d0e1e4 100644
--- a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
+++ b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
@@ -119,10 +119,7 @@ body.editor_enable.editor_has_snippets {
                 box-shadow: none;
                 background-color: transparent;
                 user-select: none;
-
-                cursor: pointer;
-                cursor: copy;
-                cursor: grab;
+                @include o-grab-cursor;
 
                 .oe_snippet_thumbnail {
                     .oe_snippet_thumbnail_img {
-- 
GitLab