From 0b6c71f688b6e8d2c067f943879099a554e88728 Mon Sep 17 00:00:00 2001
From: James Allen <james@sharelatex.com>
Date: Tue, 11 Oct 2016 11:17:38 +0100
Subject: [PATCH] Patch Ace to fix accent key problem in Chrome

---
 services/web/public/js/ace-1.2.5/ace.js | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/services/web/public/js/ace-1.2.5/ace.js b/services/web/public/js/ace-1.2.5/ace.js
index 2b601cc9b9..713f82c218 100644
--- a/services/web/public/js/ace-1.2.5/ace.js
+++ b/services/web/public/js/ace-1.2.5/ace.js
@@ -34,6 +34,14 @@
  * @param payload a function to call with (require, exports, module) params
  */
 
+// WORKAROUND: Accent keys and Korean keys don't work in Chrome >53.
+// https://github.com/ajaxorg/ace/issues/3045
+var isChrome53PlusMatched = navigator.userAgent.match(/Chrome\/(.*?)(.|\s+|$)/);
+var isChrome53Plus = false;
+if (isChrome53PlusMatched) {
+  isChrome53Plus = isChrome53PlusMatched[1] >= 53;
+}
+
 (function() {
 
 var ACE_NAMESPACE = "ace";
@@ -2283,6 +2291,9 @@ var TextInput = function(parentNode, host) {
         if (e.type == "compositionend" && c.range) {
             host.selection.setRange(c.range);
         }
+        // WORKAROUND: Accent keys and Korean keys don't work in Chrome >53.
+        // https://github.com/ajaxorg/ace/issues/3045
+        if (isChrome53Plus) onInput();
     };