Changeset 44115
- Timestamp:
- 12/13/2018 05:26:09 PM (6 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/5.0 merged: 43738
- Property svn:mergeinfo changed
-
trunk/src/wp-includes/class-wp-editor.php
r43571 r44115 318 318 if ( is_admin() ) { 319 319 add_action( 'admin_print_footer_scripts', array( __CLASS__, 'editor_js' ), 50 ); 320 add_action( 'admin_print_footer_scripts', array( __CLASS__, 'force_uncompressed_tinymce' ), 1 ); 320 321 add_action( 'admin_print_footer_scripts', array( __CLASS__, 'enqueue_scripts' ), 1 ); 321 322 } else { 322 323 add_action( 'wp_print_footer_scripts', array( __CLASS__, 'editor_js' ), 50 ); 324 add_action( 'wp_print_footer_scripts', array( __CLASS__, 'force_uncompressed_tinymce' ), 1 ); 323 325 add_action( 'wp_print_footer_scripts', array( __CLASS__, 'enqueue_scripts' ), 1 ); 324 326 } … … 756 758 757 759 /** 760 * 761 * @static 762 * 758 763 * @param bool $default_scripts Optional. Whether default scripts should be enqueued. Default false. 759 764 */ … … 820 825 821 826 if ( is_admin() ) { 827 add_action( 'admin_print_footer_scripts', array( __CLASS__, 'force_uncompressed_tinymce' ), 1 ); 822 828 add_action( 'admin_print_footer_scripts', array( __CLASS__, 'print_default_editor_scripts' ), 45 ); 823 829 } else { 830 add_action( 'wp_print_footer_scripts', array( __CLASS__, 'force_uncompressed_tinymce' ), 1 ); 824 831 add_action( 'wp_print_footer_scripts', array( __CLASS__, 'print_default_editor_scripts' ), 45 ); 825 832 } … … 1389 1396 1390 1397 /** 1398 * Force uncompressed TinyMCE when a custom theme has been defined. 1399 * 1400 * The compressed TinyMCE file cannot deal with custom themes, so this makes 1401 * sure that we use the uncompressed TinyMCE file if a theme is defined. 1402 * Even if we are on a production environment. 1403 */ 1404 public static function force_uncompressed_tinymce() { 1405 $has_custom_theme = false; 1406 foreach ( self::$mce_settings as $init ) { 1407 if ( ! empty( $init['theme_url'] ) ) { 1408 $has_custom_theme = true; 1409 break; 1410 } 1411 } 1412 1413 if ( ! $has_custom_theme ) { 1414 return; 1415 } 1416 1417 $wp_scripts = wp_scripts(); 1418 1419 $wp_scripts->remove( 'wp-tinymce' ); 1420 wp_register_tinymce_scripts( $wp_scripts, true ); 1421 } 1422 1423 /** 1391 1424 * Print (output) the main TinyMCE scripts. 1392 1425 * … … 1398 1431 */ 1399 1432 public static function print_tinymce_scripts() { 1400 global $ tinymce_version, $concatenate_scripts, $compress_scripts;1433 global $concatenate_scripts; 1401 1434 1402 1435 if ( self::$tinymce_scripts_printed ) { … … 1409 1442 script_concat_settings(); 1410 1443 } 1411 1412 $suffix = SCRIPT_DEBUG ? '' : '.min';1413 $version = 'ver=' . $tinymce_version;1414 $baseurl = self::get_baseurl();1415 1416 $has_custom_theme = false;1417 foreach ( self::$mce_settings as $init ) {1418 if ( ! empty( $init['theme_url'] ) ) {1419 $has_custom_theme = true;1420 break;1421 }1422 }1423 1424 $compressed = $compress_scripts && $concatenate_scripts && isset( $_SERVER['HTTP_ACCEPT_ENCODING'] )1425 && false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && ! $has_custom_theme;1426 1427 // Load tinymce.js when running from /src, else load wp-tinymce.js.gz (production) or tinymce.min.js (SCRIPT_DEBUG)1428 $mce_suffix = false !== strpos( get_bloginfo( 'version' ), '-src' ) ? '' : '.min';1429 1430 if ( $compressed ) {1431 echo "<script type='text/javascript' src='{$baseurl}/wp-tinymce.php?c=1&$version'></script>\n";1432 } else {1433 echo "<script type='text/javascript' src='{$baseurl}/tinymce{$mce_suffix}.js?$version'></script>\n";1434 echo "<script type='text/javascript' src='{$baseurl}/plugins/compat3x/plugin{$suffix}.js?$version'></script>\n";1435 }1436 1437 echo "<script type='text/javascript'>\n" . self::wp_mce_translation() . "</script>\n";1438 1444 } 1439 1445 -
trunk/src/wp-includes/default-filters.php
r43982 r44115 503 503 // Script Loader 504 504 add_action( 'wp_default_scripts', 'wp_default_scripts' ); 505 add_action( 'wp_default_scripts', 'wp_default_packages' ); 506 505 507 add_action( 'wp_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 ); 506 508 add_action( 'admin_enqueue_scripts', 'wp_localize_jquery_ui_datepicker', 1000 ); -
trunk/src/wp-includes/script-loader.php
r44114 r44115 42 42 * @param WP_Scripts $scripts WP_Scripts object. 43 43 */ 44 function wp_register_tinymce_scripts( &$scripts ) {44 function wp_register_tinymce_scripts( &$scripts, $force_uncompressed = false ) { 45 45 global $tinymce_version, $concatenate_scripts, $compress_scripts; 46 $suffix = SCRIPT_DEBUG ? '' : '.min'; 46 $suffix = SCRIPT_DEBUG ? '' : '.min'; 47 48 script_concat_settings(); 49 47 50 $compressed = $compress_scripts && $concatenate_scripts && isset( $_SERVER['HTTP_ACCEPT_ENCODING'] ) 48 && false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ); 51 && false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && ! $force_uncompressed; 52 49 53 // Load tinymce.js when running from /src, otherwise load wp-tinymce.js.gz (in production) or 50 54 // tinymce.min.js (when SCRIPT_DEBUG is true). … … 53 57 $scripts->add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . 'wp-tinymce.php', array(), $tinymce_version ); 54 58 } else { 55 $scripts->add( 'wp-tinymce-root', includes_url( 'js/tinymce/' ) . "tinymce {$mce_suffix}.js", array(), $tinymce_version );56 $scripts->add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . "plugins/compat3x/plugin {$suffix}.js", array( 'wp-tinymce-root' ), $tinymce_version );57 } 58 59 $scripts->add( 'wp-tinymce-lists', includes_url( 'js/tinymce/plugins/lists/index' . $suffix . '.js', array( 'wp-tinymce' ), $tinymce_version ) );59 $scripts->add( 'wp-tinymce-root', includes_url( 'js/tinymce/' ) . "tinymce$mce_suffix.js", array(), $tinymce_version ); 60 $scripts->add( 'wp-tinymce', includes_url( 'js/tinymce/' ) . "plugins/compat3x/plugin$suffix.js", array( 'wp-tinymce-root' ), $tinymce_version ); 61 } 62 63 $scripts->add( 'wp-tinymce-lists', includes_url( "js/tinymce/plugins/lists/plugin$suffix.js", array( 'wp-tinymce' ), $tinymce_version ) ); 60 64 } 61 65 … … 70 74 * @param WP_Scripts $scripts WP_Scripts object. 71 75 */ 72 function wp_default_packages_vendor( &$scripts , $dev_suffix) {76 function wp_default_packages_vendor( &$scripts ) { 73 77 wp_register_tinymce_scripts( $scripts ); 78 79 $dev_suffix = wp_scripts_get_suffix( 'dev' ); 74 80 75 81 $vendor_scripts = array( … … 91 97 } 92 98 93 $path = '/js/dist/vendor/' . $handle . $dev_suffix . '.js';99 $path = "/js/dist/vendor/$handle$dev_suffix.js"; 94 100 95 101 $scripts->add( $handle, $path, $dependencies, false, 1 ); … … 125 131 * @return string Conditional polyfill inline script. 126 132 */ 127 function wp_get_script_polyfill( $scripts, $tests ) {133 function wp_get_script_polyfill( &$scripts, $tests ) { 128 134 $polyfill = ''; 129 135 foreach ( $tests as $test => $handle ) { … … 148 154 149 155 /** 150 * Register all the WordPress packages scripts that are in the standardized156 * Registers all the WordPress packages scripts that are in the standardized 151 157 * `js/dist/` location. 152 158 * … … 156 162 * 157 163 * @param WP_Scripts $scripts WP_Scripts object. 158 * @param string $suffix The suffix to use before `.js`. 159 */ 160 function wp_default_packages_scripts( &$scripts, $suffix ) { 164 */ 165 function wp_default_packages_scripts( &$scripts ) { 166 $suffix = wp_scripts_get_suffix(); 167 161 168 $packages_dependencies = array( 162 169 'api-fetch' => array( 'wp-polyfill', 'wp-hooks', 'wp-i18n' ), … … 331 338 foreach ( $packages_dependencies as $package => $dependencies ) { 332 339 $handle = 'wp-' . $package; 333 $path = '/js/dist/' . $package . $suffix . '.js';340 $path = "/js/dist/$package$suffix.js"; 334 341 335 342 $scripts->add( $handle, $path, $dependencies, false, 1 ); … … 423 430 ); 424 431 432 /* This filter is documented in wp-includes/class-wp-editor.php */ 425 433 $tinymce_settings = apply_filters( 426 434 'tiny_mce_before_init', … … 429 437 ',', 430 438 array_unique( 439 /* This filter is documented in wp-includes/class-wp-editor.php */ 431 440 apply_filters( 432 441 'tiny_mce_plugins', … … 457 466 ',', 458 467 array_merge( 468 /* This filter is documented in wp-includes/class-wp-editor.php */ 459 469 apply_filters( 460 470 'mce_buttons', … … 482 492 'toolbar2' => implode( 483 493 ',', 494 /* This filter is documented in wp-includes/class-wp-editor.php */ 484 495 apply_filters( 485 496 'mce_buttons_2', … … 500 511 ) 501 512 ), 513 /* This filter is documented in wp-includes/class-wp-editor.php */ 502 514 'toolbar3' => implode( ',', apply_filters( 'mce_buttons_3', array(), 'editor' ) ), 515 /* This filter is documented in wp-includes/class-wp-editor.php */ 503 516 'toolbar4' => implode( ',', apply_filters( 'mce_buttons_4', array(), 'editor' ) ), 517 /* This filter is documented in wp-includes/class-wp-editor.php */ 504 518 'external_plugins' => apply_filters( 'mce_external_plugins', array() ), 505 519 ), … … 526 540 527 541 /** 542 * Registers all the WordPress packages scripts. 543 * 544 * @since 5.0.0 545 * 546 * @param WP_Scripts $scripts WP_Scripts object. 547 */ 548 function wp_default_packages( &$scripts ) { 549 wp_default_packages_vendor( $scripts ); 550 wp_register_tinymce_scripts( $scripts ); 551 wp_default_packages_scripts( $scripts ); 552 553 if ( did_action( 'init' ) ) { 554 wp_default_packages_inline_scripts( $scripts ); 555 } 556 } 557 558 /** 559 * Returns the suffix that can be used for the scripts. 560 * 561 * There are two suffix types, the normal one and the dev suffix. 562 * 563 * @since 5.0.0 564 * 565 * @param string $type The type of suffix to retrieve. 566 * @return string The script suffix. 567 */ 568 function wp_scripts_get_suffix( $type = '' ) { 569 static $suffixes; 570 571 if ( $suffixes === null ) { 572 include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version 573 574 $develop_src = false !== strpos( $wp_version, '-src' ); 575 576 if ( ! defined( 'SCRIPT_DEBUG' ) ) { 577 define( 'SCRIPT_DEBUG', $develop_src ); 578 } 579 $suffix = SCRIPT_DEBUG ? '' : '.min'; 580 $dev_suffix = $develop_src ? '' : '.min'; 581 582 $suffixes = array( 583 'suffix' => $suffix, 584 'dev_suffix' => $dev_suffix, 585 ); 586 } 587 588 if ( $type === 'dev' ) { 589 return $suffixes['dev_suffix']; 590 } 591 592 return $suffixes['suffix']; 593 } 594 595 /** 528 596 * Register all WordPress scripts. 529 597 * … … 537 605 */ 538 606 function wp_default_scripts( &$scripts ) { 539 include( ABSPATH . WPINC . '/version.php' ); // include an unmodified $wp_version 540 541 $develop_src = false !== strpos( $wp_version, '-src' ); 542 543 if ( ! defined( 'SCRIPT_DEBUG' ) ) { 544 define( 'SCRIPT_DEBUG', $develop_src ); 545 } 607 $suffix = wp_scripts_get_suffix(); 608 $dev_suffix = wp_scripts_get_suffix( 'dev' ); 546 609 547 610 if ( ! $guessurl = site_url() ) { … … 554 617 $scripts->default_version = get_bloginfo( 'version' ); 555 618 $scripts->default_dirs = array( '/wp-admin/js/', '/wp-includes/js/' ); 556 557 $suffix = SCRIPT_DEBUG ? '' : '.min';558 $dev_suffix = $develop_src ? '' : '.min';559 619 560 620 $scripts->add( 'utils', "/wp-includes/js/utils$suffix.js" ); … … 625 685 $scripts->add( 'colorpicker', "/wp-includes/js/colorpicker$suffix.js", array( 'prototype' ), '3517m' ); 626 686 627 $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array( ' utils', 'jquery' ), false, 1 );687 $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array( 'wp-tinymce', 'utils', 'jquery' ), false, 1 ); 628 688 629 689 // Back-compat for old DFW. To-do: remove at the end of 2016. … … 1211 1271 $scripts->add( 'wp-api', "/wp-includes/js/wp-api$suffix.js", array( 'jquery', 'backbone', 'underscore', 'wp-api-request' ), false, 1 ); 1212 1272 1213 wp_default_packages_vendor( $scripts, $dev_suffix );1214 wp_default_packages_scripts( $scripts, $suffix );1215 if ( did_action( 'init' ) ) {1216 wp_default_packages_inline_scripts( $scripts );1217 }1218 1219 1273 if ( is_admin() ) { 1220 1274 $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array( 'jquery', 'wp-ajax-response' ), false, 1 ); -
trunk/tests/phpunit/tests/dependencies/scripts.php
r43565 r44115 11 11 $this->old_wp_scripts = isset( $GLOBALS['wp_scripts'] ) ? $GLOBALS['wp_scripts'] : null; 12 12 remove_action( 'wp_default_scripts', 'wp_default_scripts' ); 13 remove_action( 'wp_default_scripts', 'wp_default_packages' ); 13 14 $GLOBALS['wp_scripts'] = new WP_Scripts(); 14 15 $GLOBALS['wp_scripts']->default_version = get_bloginfo( 'version' ); -
trunk/tools/webpack/media.js
r44112 r44115 19 19 20 20 module.exports = function( env = { environment: 'production', watch: false } ) { 21 const mode = env.environment;22 21 23 22 const mediaConfig = { 24 mode ,23 mode: "production", 25 24 cache: true, 26 25 entry: Object.assign( admin_files, include_files ),
Note: See TracChangeset
for help on using the changeset viewer.