wp/wp-admin/js/svg-painter.js
changeset 22 8c2e4d02f4ef
parent 18 be944660c56a
--- a/wp/wp-admin/js/svg-painter.js	Fri Sep 05 18:40:08 2025 +0200
+++ b/wp/wp-admin/js/svg-painter.js	Fri Sep 05 18:52:52 2025 +0200
@@ -8,123 +8,22 @@
 
 wp.svgPainter = ( function( $, window, document, undefined ) {
 	'use strict';
-	var selector, base64, painter,
+	var selector, painter,
 		colorscheme = {},
 		elements = [];
 
 	$( function() {
-		// Detection for browser SVG capability.
-		if ( document.implementation.hasFeature( 'http://www.w3.org/TR/SVG11/feature#Image', '1.1' ) ) {
-			$( document.body ).removeClass( 'no-svg' ).addClass( 'svg' );
-			wp.svgPainter.init();
-		}
+		wp.svgPainter.init();
 	});
 
-	/**
-	 * Needed only for IE9
-	 *
-	 * Based on jquery.base64.js 0.0.3 - https://github.com/yckart/jquery.base64.js
-	 *
-	 * Based on: https://gist.github.com/Yaffle/1284012
-	 *
-	 * Copyright (c) 2012 Yannick Albert (http://yckart.com)
-	 * Licensed under the MIT license
-	 * http://www.opensource.org/licenses/mit-license.php
-	 */
-	base64 = ( function() {
-		var c,
-			b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
-			a256 = '',
-			r64 = [256],
-			r256 = [256],
-			i = 0;
-
-		function init() {
-			while( i < 256 ) {
-				c = String.fromCharCode(i);
-				a256 += c;
-				r256[i] = i;
-				r64[i] = b64.indexOf(c);
-				++i;
-			}
-		}
-
-		function code( s, discard, alpha, beta, w1, w2 ) {
-			var tmp, length,
-				buffer = 0,
-				i = 0,
-				result = '',
-				bitsInBuffer = 0;
-
-			s = String(s);
-			length = s.length;
-
-			while( i < length ) {
-				c = s.charCodeAt(i);
-				c = c < 256 ? alpha[c] : -1;
-
-				buffer = ( buffer << w1 ) + c;
-				bitsInBuffer += w1;
-
-				while( bitsInBuffer >= w2 ) {
-					bitsInBuffer -= w2;
-					tmp = buffer >> bitsInBuffer;
-					result += beta.charAt(tmp);
-					buffer ^= tmp << bitsInBuffer;
-				}
-				++i;
-			}
-
-			if ( ! discard && bitsInBuffer > 0 ) {
-				result += beta.charAt( buffer << ( w2 - bitsInBuffer ) );
-			}
-
-			return result;
-		}
-
-		function btoa( plain ) {
-			if ( ! c ) {
-				init();
-			}
-
-			plain = code( plain, false, r256, b64, 8, 6 );
-			return plain + '===='.slice( ( plain.length % 4 ) || 4 );
-		}
-
-		function atob( coded ) {
-			var i;
-
-			if ( ! c ) {
-				init();
-			}
-
-			coded = coded.replace( /[^A-Za-z0-9\+\/\=]/g, '' );
-			coded = String(coded).split('=');
-			i = coded.length;
-
-			do {
-				--i;
-				coded[i] = code( coded[i], true, r64, a256, 6, 8 );
-			} while ( i > 0 );
-
-			coded = coded.join('');
-			return coded;
-		}
-
-		return {
-			atob: atob,
-			btoa: btoa
-		};
-	})();
-
 	return {
 		init: function() {
 			painter = this;
 			selector = $( '#adminmenu .wp-menu-image, #wpadminbar .ab-item' );
 
-			this.setColors();
-			this.findElements();
-			this.paint();
+			painter.setColors();
+			painter.findElements();
+			painter.paint();
 		},
 
 		setColors: function( colors ) {
@@ -201,11 +100,7 @@
 				}
 
 				try {
-					if ( 'atob' in window ) {
-						xml = window.atob( encoded[1] );
-					} else {
-						xml = base64.atob( encoded[1] );
-					}
+					xml = window.atob( encoded[1] );
 				} catch ( error ) {}
 
 				if ( xml ) {
@@ -218,11 +113,7 @@
 					// Replace `fill` properties in `<style>` tags.
 					xml = xml.replace( /fill:.*?;/g, 'fill: ' + color + ';');
 
-					if ( 'btoa' in window ) {
-						xml = window.btoa( xml );
-					} else {
-						xml = base64.btoa( xml );
-					}
+					xml = window.btoa( xml );
 
 					$element.data( 'wp-ui-svg-' + color, xml );
 				} else {