From 2611b288cfb8f25ae9310670f6de98075547aa3a Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Fri, 8 Oct 2021 01:51:29 +1100 Subject: [PATCH] Firefox supports navigator.share behind pref (#12194) * FF supports navigator.share behind pref * mark share/canShare as standard and not experimental * Add canShare spec_url * Update api/Navigator.json * Add macOS note and partial implementation for edge/opera * Add files as a subfeature * Add navigator share data_text_parameter and data_file_parameter * Mirror data params to canShare * Update api/Navigator.json Co-authored-by: Daniel D. Beck * partial_implementation for macOS limitation - from code review Co-authored-by: Daniel D. Beck * Remove superseded note about data/text support Co-authored-by: Daniel D. Beck --- api/Navigator.json | 249 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 240 insertions(+), 9 deletions(-) diff --git a/api/Navigator.json b/api/Navigator.json index 9ebd502f7e2b07..15ba45e01ec540 100644 --- a/api/Navigator.json +++ b/api/Navigator.json @@ -532,6 +532,7 @@ "canShare": { "__compat": { "mdn_url": "https://developer.mozilla.org/docs/Web/API/Navigator/canShare", + "spec_url": "https://w3c.github.io/web-share/#canshare-data-method", "support": { "chrome": { "version_added": "89", @@ -542,7 +543,9 @@ "version_added": "75" }, "edge": { - "version_added": false + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." }, "firefox": { "version_added": false @@ -554,10 +557,12 @@ "version_added": false }, "opera": { - "version_added": false + "version_added": "75", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." }, "opera_android": { - "version_added": false + "version_added": "54" }, "safari": { "version_added": "14" @@ -573,10 +578,120 @@ } }, "status": { - "experimental": true, - "standard_track": false, + "experimental": false, + "standard_track": true, "deprecated": false } + }, + "data_files_parameter": { + "__compat": { + "description": "data.files parameter", + "spec_url": "https://w3c.github.io/web-share/#dom-sharedata-files", + "support": { + "chrome": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "chrome_android": { + "version_added": "76" + }, + "edge": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "firefox": { + "version_added": false + }, + "firefox_android": { + "version_added": false + }, + "ie": { + "version_added": false + }, + "opera": { + "version_added": "75", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "opera_android": { + "version_added": "54" + }, + "safari": { + "version_added": "15" + }, + "safari_ios": { + "version_added": "15" + }, + "samsunginternet_android": { + "version_added": "11.0" + }, + "webview_android": { + "version_added": false + } + }, + "status": { + "experimental": false, + "standard_track": true, + "deprecated": false + } + } + }, + "data_text_parameter": { + "__compat": { + "description": "data.text parameter", + "spec_url": "https://w3c.github.io/web-share/#dom-sharedata-text", + "support": { + "chrome": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "chrome_android": { + "version_added": "76" + }, + "edge": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "firefox": { + "version_added": false + }, + "firefox_android": { + "version_added": false + }, + "ie": { + "version_added": false + }, + "opera": { + "version_added": "75", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "opera_android": { + "version_added": "54" + }, + "safari": { + "version_added": "15" + }, + "safari_ios": { + "version_added": "15" + }, + "samsunginternet_android": { + "version_added": "11.0" + }, + "webview_android": { + "version_added": false + } + }, + "status": { + "experimental": false, + "standard_track": true, + "deprecated": false + } + } } }, "clearAppBadge": { @@ -3229,12 +3344,18 @@ "version_added": "81" }, "firefox": { - "version_added": false + "version_added": "71", + "flags": [ + { + "type": "preference", + "name": "#dom.webshare.enabled", + "value_to_set": "enabled" + } + ] }, "firefox_android": { "version_added": "79", - "partial_implementation": true, - "notes": "Firefox for Android does not support sharing files or text." + "partial_implementation": true }, "ie": { "version_added": false @@ -3259,10 +3380,120 @@ } }, "status": { - "experimental": true, + "experimental": false, "standard_track": true, "deprecated": false } + }, + "data_files_parameter": { + "__compat": { + "description": "data.files parameter", + "spec_url": "https://w3c.github.io/web-share/#dom-sharedata-files", + "support": { + "chrome": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "chrome_android": { + "version_added": "76" + }, + "edge": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "firefox": { + "version_added": false + }, + "firefox_android": { + "version_added": false + }, + "ie": { + "version_added": false + }, + "opera": { + "version_added": "75", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "opera_android": { + "version_added": "54" + }, + "safari": { + "version_added": "15" + }, + "safari_ios": { + "version_added": "15" + }, + "samsunginternet_android": { + "version_added": "11.0" + }, + "webview_android": { + "version_added": false + } + }, + "status": { + "experimental": false, + "standard_track": true, + "deprecated": false + } + } + }, + "data_text_parameter": { + "__compat": { + "description": "data.text parameter", + "spec_url": "https://w3c.github.io/web-share/#dom-sharedata-text", + "support": { + "chrome": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "chrome_android": { + "version_added": "76" + }, + "edge": { + "version_added": "89", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "firefox": { + "version_added": false + }, + "firefox_android": { + "version_added": false + }, + "ie": { + "version_added": false + }, + "opera": { + "version_added": "75", + "partial_implementation": true, + "notes": "Not supported on macOS, see bug 1144920." + }, + "opera_android": { + "version_added": "54" + }, + "safari": { + "version_added": "15" + }, + "safari_ios": { + "version_added": "15" + }, + "samsunginternet_android": { + "version_added": "11.0" + }, + "webview_android": { + "version_added": false + } + }, + "status": { + "experimental": false, + "standard_track": true, + "deprecated": false + } + } } }, "storage": {