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