From c74f43b07ed8bf9c2c6c9fcaa6ea7d43722a5ecc Mon Sep 17 00:00:00 2001 From: Danny Wilson Date: Tue, 17 Jan 2017 11:11:55 +0100 Subject: [PATCH] HTML5: Let `Clipboard.text` setter copy to system clipboard --- lime/system/Clipboard.hx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/lime/system/Clipboard.hx b/lime/system/Clipboard.hx index 0fb6d7397..537fd656a 100644 --- a/lime/system/Clipboard.hx +++ b/lime/system/Clipboard.hx @@ -6,7 +6,10 @@ import lime._backend.native.NativeCFFI; #if flash import flash.desktop.Clipboard in FlashClipboard; #elseif js +import lime._backend.html5.HTML5Window; import js.Browser.document; + +@:access(lime._backend.html5.HTML5Window) #end #if !lime_debug @@ -66,9 +69,20 @@ class Clipboard { #elseif js _text = value; - #if html5 - if (document.queryCommandEnabled("copy")) + #if html5 // HTML5 needs focus on field for clipboard events to work + if (HTML5Window.textInput != null) { + + HTML5Window.textInput.focus(); + HTML5Window.textInput.value = _text; + HTML5Window.textInput.select(); + + } + + if (document.queryCommandEnabled("copy")) { + document.execCommand("copy"); + + } #end return value;