From 5febc244f6c3b9d70147436c6f1e76623249e1a4 Mon Sep 17 00:00:00 2001 From: netpro2k <netpro2k@gmail.com> Date: Thu, 5 Jul 2018 16:29:40 -0700 Subject: [PATCH] Use url-loader to inline error image instead of raw data url --- package.json | 1 + src/assets/images/media-error.gif | Bin 0 -> 253 bytes src/components/image-plus.js | 5 +++-- yarn.lock | 12 ++++++++++++ 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 src/assets/images/media-error.gif diff --git a/package.json b/package.json index 3212db6bd..87a048fa4 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "selfsigned": "^1.10.2", "shelljs": "^0.8.1", "style-loader": "^0.20.2", + "url-loader": "^1.0.1", "webpack": "^4.0.1", "webpack-cli": "^2.0.9", "webpack-dev-server": "^3.0.0", diff --git a/src/assets/images/media-error.gif b/src/assets/images/media-error.gif new file mode 100644 index 0000000000000000000000000000000000000000..825bb624f1770088bf75eaa515d2e612e61adae9 GIT binary patch literal 253 zcmZ?wbhEHb6krfwXpv$70!Btg21Zs!MkYo^R%T{q2BXOgDZd$0e*d>*{AbO~&>_dr zDaY6;$IvCm+^O*0>fU#&2j8t8wzs!4eDc`6`_S$^Ky-M|p2G~k{{6=QivI+ii&7Iy zQd1PlGfOfQ+&z5*7!-f9Fmf@-Gw6V<2RVd+HT3~|Pl{!&2G<fDtGO?`&VH#m^vFEg z*ZHu4<T1xY2CW&62}>>|%5}RkTAqHIHr0Wl_+{9dLsE|lB94}D7A`w8$yH>_#)Ybr l9Ue$DJ*b)Lp_Hj9kznPW*3=TJW74AAm*!KVs;$Ui4FGQWWyb&j literal 0 HcmV?d00001 diff --git a/src/components/image-plus.js b/src/components/image-plus.js index 663b1cf67..c168789bb 100644 --- a/src/components/image-plus.js +++ b/src/components/image-plus.js @@ -1,4 +1,5 @@ import GIFWorker from "../workers/gifparsing.worker.js"; +import errorImageSrc from "!!url-loader!../assets/images/media-error.gif"; class GIFTexture extends THREE.Texture { constructor(frames, delays, disposals) { @@ -58,9 +59,9 @@ textureLoader.setCrossOrigin("anonymous"); const textureCache = new Map(); const errorImage = new Image(); -errorImage.src = - "data:image/png;base64,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"; +errorImage.src = errorImageSrc; const errorTexture = new THREE.Texture(errorImage); +errorTexture.magFilter = THREE.NearestFilter; errorImage.onload = () => { errorTexture.needsUpdate = true; }; diff --git a/yarn.lock b/yarn.lock index 2c6a760c2..a21cf77ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5266,6 +5266,10 @@ mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" +mime@^2.0.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" + mime@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.0.tgz#161e541965551d3b549fa1114391e3a3d55b923b" @@ -8268,6 +8272,14 @@ url-join@^2.0.2: version "2.0.5" resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728" +url-loader@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.0.1.tgz#61bc53f1f184d7343da2728a1289ef8722ea45ee" + dependencies: + loader-utils "^1.1.0" + mime "^2.0.3" + schema-utils "^0.4.3" + url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" -- GitLab