summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2018-01-23 18:17:44 -0600
committerMike Greiling <mike@pixelcog.com>2018-01-24 00:11:19 -0600
commitac5cbb6cd66a41e2d77a86bcda743066714194f6 (patch)
tree47755e973d523933e11aca2359b1a86ed0deff1e
parent584fc5c5a7a5cbf36110135599c3d7a1e92bad5a (diff)
downloadgitlab-ce-ac5cbb6cd66a41e2d77a86bcda743066714194f6.tar.gz
disable CopyAsGFM on iOS due to bug in webkit
-rw-r--r--app/assets/javascripts/behaviors/copy_as_gfm.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/assets/javascripts/behaviors/copy_as_gfm.js b/app/assets/javascripts/behaviors/copy_as_gfm.js
index c6eca72c51b..ffe90595b5d 100644
--- a/app/assets/javascripts/behaviors/copy_as_gfm.js
+++ b/app/assets/javascripts/behaviors/copy_as_gfm.js
@@ -299,6 +299,13 @@ const gfmRules = {
export class CopyAsGFM {
constructor() {
+ // iOS currently does not support clipboardData.setData(). This bug should
+ // be fixed in iOS 12, but for now we'll disable this for all iOS browsers
+ // ref: https://trac.webkit.org/changeset/222228/webkit
+ const userAgent = (typeof navigator !== 'undefined' && navigator.userAgent) || '';
+ const isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent);
+ if (isIOS) return;
+
$(document).on('copy', '.md, .wiki', (e) => { CopyAsGFM.copyAsGFM(e, CopyAsGFM.transformGFMSelection); });
$(document).on('copy', 'pre.code.highlight, .diff-content .line_content', (e) => { CopyAsGFM.copyAsGFM(e, CopyAsGFM.transformCodeSelection); });
$(document).on('paste', '.js-gfm-input', CopyAsGFM.pasteGFM);