From d77546963b823629c86fcbec949d9fd895fc0922 Mon Sep 17 00:00:00 2001
From: Heinrich Fenkart <hnrch02@gmail.com>
Date: Wed, 5 Nov 2014 19:10:48 +0100
Subject: [PATCH] Customizer: Remove file type check from config import

Fixes #14978.
---
 docs/assets/js/src/customizer.js | 32 +++++++++++++-------------------
 1 file changed, 13 insertions(+), 19 deletions(-)

diff --git a/docs/assets/js/src/customizer.js b/docs/assets/js/src/customizer.js
index b0fefb0f03..407427a15d 100644
--- a/docs/assets/js/src/customizer.js
+++ b/docs/assets/js/src/customizer.js
@@ -361,32 +361,26 @@ window.onload = function () { // wait for load in a dumb way because B-0
 
     var file = (e.originalEvent.hasOwnProperty('dataTransfer')) ? e.originalEvent.dataTransfer.files[0] : e.originalEvent.target.files[0]
 
-    if (!file.type.match('application/json')) {
-      return showAlert('danger', '<strong>Ruh roh.</strong> We can only read <code>.json</code> files. Please try again.', importDropTarget)
-    }
-
     var reader = new FileReader()
 
-    reader.onload = (function () {
-      return function (e) {
-        var text = e.target.result
+    reader.onload = function (e) {
+      var text = e.target.result
 
-        try {
-          var json = JSON.parse(text)
-
-          if (typeof json != 'object') {
-            throw new Error('JSON data from config file is not an object.')
-          }
+      try {
+        var json = JSON.parse(text)
 
-          updateCustomizerFromJson(json)
-          showAlert('success', '<strong>Woohoo!</strong> Your configuration was successfully uploaded. Tweak your settings, then hit Download.', importDropTarget)
-        } catch (err) {
-          return showAlert('danger', '<strong>Shucks.</strong> We can only read valid <code>.json</code> files. Please try again.', importDropTarget)
+        if (!$.isPlainObject(json)) {
+          throw new Error('JSON data from config file is not an object.')
         }
+
+        updateCustomizerFromJson(json)
+        showAlert('success', '<strong>Woohoo!</strong> Your configuration was successfully uploaded. Tweak your settings, then hit Download.', importDropTarget)
+      } catch (err) {
+        return showAlert('danger', '<strong>Shucks.</strong> We can only read valid <code>.json</code> files. Please try again.', importDropTarget)
       }
-    })(file)
+    }
 
-    reader.readAsText(file)
+    reader.readAsText(file, 'utf-8')
   }
 
   function handleConfigDragOver(e) {
-- 
GitLab