diff --git a/package-lock.json b/package-lock.json index 4071d3ced1..5eb18f3db4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5862,6 +5862,11 @@ } } }, + "core-js-url-browser": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-url-browser/-/core-js-url-browser-3.6.4.tgz", + "integrity": "sha512-VCMkPikOVp5JXftTj0E3gPZNKa0exQX837KxyPcnMAKvImWG8+RbXwEHEGMjiNz+9Vl2YgutkVYOpq7iaSOt/Q==" + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", diff --git a/package.json b/package.json index e86d885f9b..65e69dde1c 100644 --- a/package.json +++ b/package.json @@ -121,6 +121,7 @@ "@wordpress/wordcount": "2.7.0", "backbone": "1.4.0", "clipboard": "2.0.4", + "core-js-url-browser": "3.6.4", "element-closest": "^2.0.2", "formdata-polyfill": "3.0.13", "hoverintent": "2.2.1", diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php index f354b9edf0..8f9ec7b428 100644 --- a/src/wp-includes/script-loader.php +++ b/src/wp-includes/script-loader.php @@ -100,7 +100,7 @@ function wp_default_packages_vendor( $scripts ) { 'wp-polyfill-fetch' => '3.0.0', 'wp-polyfill-formdata' => '3.0.12', 'wp-polyfill-node-contains' => '3.42.0', - 'wp-polyfill-url' => '3.42.0', + 'wp-polyfill-url' => '3.6.4', 'wp-polyfill-dom-rect' => '3.42.0', 'wp-polyfill-element-closest' => '2.0.2', 'wp-polyfill' => '7.4.4', @@ -126,8 +126,8 @@ function wp_default_packages_vendor( $scripts ) { array( '\'fetch\' in window' => 'wp-polyfill-fetch', 'document.contains' => 'wp-polyfill-node-contains', - 'window.URL' => 'wp-polyfill-url', 'window.DOMRect' => 'wp-polyfill-dom-rect', + 'window.URL && window.URL.prototype && window.URLSearchParams' => 'wp-polyfill-url', 'window.FormData && window.FormData.prototype.keys' => 'wp-polyfill-formdata', 'Element.prototype.matches && Element.prototype.closest' => 'wp-polyfill-element-closest', ) diff --git a/tests/phpunit/tests/dependencies/scripts.php b/tests/phpunit/tests/dependencies/scripts.php index 5b885fe1b2..b3d02c129c 100644 --- a/tests/phpunit/tests/dependencies/scripts.php +++ b/tests/phpunit/tests/dependencies/scripts.php @@ -717,7 +717,7 @@ JS; $expected .= "\n"; $expected .= "\n"; $expected .= "\n"; $expected .= "\n"; $expected .= "\n"; diff --git a/tools/webpack/packages.js b/tools/webpack/packages.js index de6ed4a041..6867c47c91 100644 --- a/tools/webpack/packages.js +++ b/tools/webpack/packages.js @@ -77,7 +77,7 @@ module.exports = function( env = { environment: 'production', watch: false, buil 'wp-polyfill-fetch.js': 'whatwg-fetch/dist/fetch.umd.js', 'wp-polyfill-element-closest.js': 'element-closest/element-closest.js', 'wp-polyfill-node-contains.js': 'polyfill-library/polyfills/Node/prototype/contains/polyfill.js', - 'wp-polyfill-url.js': 'polyfill-library/polyfills/URL/polyfill.js', + 'wp-polyfill-url.js': 'core-js-url-browser/url.js', 'wp-polyfill-dom-rect.js': 'polyfill-library/polyfills/DOMRect/polyfill.js', 'wp-polyfill-formdata.js': 'formdata-polyfill/FormData.js', 'moment.js': 'moment/moment.js', @@ -89,6 +89,7 @@ module.exports = function( env = { environment: 'production', watch: false, buil 'lodash.min.js': 'lodash/lodash.min.js', 'wp-polyfill.min.js': '@babel/polyfill/dist/polyfill.min.js', 'wp-polyfill-formdata.min.js': 'formdata-polyfill/formdata.min.js', + 'wp-polyfill-url.min.js': 'core-js-url-browser/url.min.js', 'moment.min.js': 'moment/min/moment.min.js', 'react.min.js': 'react/umd/react.production.min.js', 'react-dom.min.js': 'react-dom/umd/react-dom.production.min.js', @@ -98,7 +99,6 @@ module.exports = function( env = { environment: 'production', watch: false, buil 'wp-polyfill-fetch.min.js': 'whatwg-fetch/dist/fetch.umd.js', 'wp-polyfill-element-closest.min.js': 'element-closest/element-closest.js', 'wp-polyfill-node-contains.min.js': 'polyfill-library/polyfills/Node/prototype/contains/polyfill.js', - 'wp-polyfill-url.min.js': 'polyfill-library/polyfills/URL/polyfill.js', 'wp-polyfill-dom-rect.min.js': 'polyfill-library/polyfills/DOMRect/polyfill.js', };