diff --git a/package.json b/package.json
index 9aa478d95a387..f4c110c5dacec 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"url": "https://develop.svn.wordpress.org/trunk"
},
"gutenberg": {
- "ref": "7a11a53377a95cba4d3786d71cadd4c2f0c5ac52"
+ "ref": "b441348bb7e05af351c250b74283f253acaf9138"
},
"engines": {
"node": ">=20.10.0",
diff --git a/src/wp-admin/edit-form-blocks.php b/src/wp-admin/edit-form-blocks.php
index d0f2000fdce17..2237fc69ce293 100644
--- a/src/wp-admin/edit-form-blocks.php
+++ b/src/wp-admin/edit-form-blocks.php
@@ -92,6 +92,12 @@ static function ( $classes ) {
'description',
'gmt_offset',
'home',
+ 'image_sizes',
+ 'image_size_threshold',
+ 'image_output_formats',
+ 'jpeg_interlaced',
+ 'png_interlaced',
+ 'gif_interlaced',
'name',
'site_icon',
'site_icon_url',
diff --git a/src/wp-admin/site-editor.php b/src/wp-admin/site-editor.php
index 1c8e8b525459b..9a8268c3392d7 100644
--- a/src/wp-admin/site-editor.php
+++ b/src/wp-admin/site-editor.php
@@ -218,6 +218,12 @@ static function ( $classes ) {
'description',
'gmt_offset',
'home',
+ 'image_sizes',
+ 'image_size_threshold',
+ 'image_output_formats',
+ 'jpeg_interlaced',
+ 'png_interlaced',
+ 'gif_interlaced',
'name',
'site_icon',
'site_icon_url',
diff --git a/src/wp-includes/default-filters.php b/src/wp-includes/default-filters.php
index 301b846343ee2..2291c92134641 100644
--- a/src/wp-includes/default-filters.php
+++ b/src/wp-includes/default-filters.php
@@ -675,6 +675,13 @@
add_action( 'plugins_loaded', '_wp_add_additional_image_sizes', 0 );
add_filter( 'plupload_default_settings', 'wp_show_heic_upload_error' );
+// Client-side media processing.
+add_action( 'admin_init', 'wp_set_client_side_media_processing_flag' );
+// Cross-origin isolation for client-side media processing.
+add_action( 'load-post.php', 'wp_set_up_cross_origin_isolation' );
+add_action( 'load-post-new.php', 'wp_set_up_cross_origin_isolation' );
+add_action( 'load-site-editor.php', 'wp_set_up_cross_origin_isolation' );
+add_action( 'load-widgets.php', 'wp_set_up_cross_origin_isolation' );
// Nav menu.
add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 );
add_filter( 'nav_menu_css_class', 'wp_nav_menu_remove_menu_item_has_children_class', 10, 4 );
diff --git a/src/wp-includes/media-template.php b/src/wp-includes/media-template.php
index 80399acd8ce0a..7a8ec1a07056a 100644
--- a/src/wp-includes/media-template.php
+++ b/src/wp-includes/media-template.php
@@ -156,6 +156,12 @@ class="wp-video-shortcode {{ classes.join( ' ' ) }}"
function wp_print_media_templates() {
$class = 'media-modal wp-core-ui';
+ $is_cross_origin_isolation_enabled = wp_is_client_side_media_processing_enabled();
+
+ if ( $is_cross_origin_isolation_enabled ) {
+ ob_start();
+ }
+
$alt_text_description = sprintf(
/* translators: 1: Link to tutorial, 2: Additional link attributes, 3: Accessibility text. */
__( 'Learn how to describe the purpose of the image%3$s. Leave empty if the image is purely decorative.' ),
@@ -1582,4 +1588,42 @@ function wp_print_media_templates() {
* @since 3.5.0
*/
do_action( 'print_media_templates' );
+
+ if ( $is_cross_origin_isolation_enabled ) {
+ $html = (string) ob_get_clean();
+
+ /*
+ * The media templates are inside