Make WordPress Core

Ticket #29048: 29048.4.patch

File 29048.4.patch, 3.6 KB (added by azaozz, 11 years ago)
  • src/wp-includes/js/mce-view.js

     
    124124                },
    125125                /* jshint scripturl: true */
    126126                setIframes: function ( html ) {
    127                         var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
     127                        var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
     128                                importStyles = this.type === 'video' || this.type === 'audio' || this.type === 'playlist';
    128129
    129130                        if ( html.indexOf( '<script' ) !== -1 ) {
    130131                                this.getNodes( function ( editor, node, content ) {
    131132                                        var dom = editor.dom,
     133                                                styles = '',
     134                                                bodyClasses = editor.getBody().className || '',
    132135                                                iframe, iframeDoc, i, resize;
    133136
    134137                                        content.innerHTML = '';
    135138
     139                                        if ( importStyles ) {
     140                                                if ( ! wp.mce.views.sandboxStyles ) {
     141                                                        tinymce.each( dom.$( 'link[rel="stylesheet"]', editor.getDoc().head ), function( link ) {
     142                                                                if ( link.href && link.href.indexOf( 'skins/lightgray/content.min.css' ) === -1 &&
     143                                                                        link.href.indexOf( 'skins/wordpress/wp-content.css' ) === -1 ) {
     144
     145                                                                        styles += dom.getOuterHTML( link ) + '\n';
     146                                                                }
     147                                                        });
     148
     149                                                        wp.mce.views.sandboxStyles = styles;
     150                                                } else {
     151                                                        styles = wp.mce.views.sandboxStyles;
     152                                                }
     153                                        }
     154
    136155                                        // Seems Firefox needs a bit of time to insert/set the view nodes, or the iframe will fail
    137156                                        // especially when switching Text => Visual.
    138157                                        setTimeout( function() {
     
    156175                                                        '<html>' +
    157176                                                                '<head>' +
    158177                                                                        '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
     178                                                                        styles +
    159179                                                                        '<style>' +
    160180                                                                                'html {' +
    161181                                                                                        'background: transparent;' +
     
    164184                                                                                '}' +
    165185                                                                                'body#wpview-iframe-sandbox {' +
    166186                                                                                        'background: transparent;' +
    167                                                                                         'padding: 1px 0;' +
    168                                                                                         'margin: -1px 0 0;' +
     187                                                                                        'padding: 1px 0 !important;' +
     188                                                                                        'margin: -1px 0 0 !important;;' +
    169189                                                                                '}' +
    170190                                                                        '</style>' +
    171191                                                                '</head>' +
    172                                                                 '<body id="wpview-iframe-sandbox">' +
     192                                                                '<body id="wpview-iframe-sandbox" class="' + bodyClasses + '">' +
    173193                                                                        html +
    174194                                                                '</body>' +
    175195                                                        '</html>'
  • src/wp-includes/media.php

     
    33103310 */
    33113311function wpview_media_sandbox_styles() {
    33123312        $version = 'ver=' . $GLOBALS['wp_version'];
    3313         $open_sans = "//fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&ver=$version";
    3314         $dashicons = includes_url( "css/dashicons.css?$version" );
    33153313        $mediaelement = includes_url( "js/mediaelement/mediaelementplayer.min.css?$version" );
    33163314        $wpmediaelement = includes_url( "js/mediaelement/wp-mediaelement.css?$version" );
    33173315
    3318         /**
    3319          * For use by themes that need to override the styling of MediaElement based previews in the Visual editor.
    3320          * Not intended for adding editor-style.css. Ideally these styles will be applied by using
    3321          * the 'seamless' iframe attribute in the future.
    3322          *
    3323          * @since 4.0
    3324          *
    3325          * @param array The URLs to the stylesheets that will be loaded in the sandbox iframe.
    3326          */
    3327         return apply_filters( 'wpview_media_sandbox_styles', array( $open_sans, $dashicons, $mediaelement, $wpmediaelement ) );
     3316        return array( $mediaelement, $wpmediaelement );
    33283317}