wpView: consolidate pausePlayers() and unsetPlayers(), they are almost the same. Prevent errors when instead of a player ME.js shows only a "Download File" placeholder (in IE). See #28905.
Built from https://develop.svn.wordpress.org/trunk@29272 git-svn-id: http://core.svn.wordpress.org/trunk@29054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
270a57075c
commit
c40feac4d9
|
@ -504,15 +504,15 @@ window.wp = window.wp || {};
|
|||
|
||||
this.shortcode = options.shortcode;
|
||||
|
||||
_.bindAll( this, 'setIframes', 'setNodes', 'fetch', 'pausePlayers' );
|
||||
_.bindAll( this, 'setIframes', 'setNodes', 'fetch', 'stopPlayers' );
|
||||
$( this ).on( 'ready', this.setNodes );
|
||||
|
||||
$( document ).on( 'media:edit', this.pausePlayers );
|
||||
$( document ).on( 'media:edit', this.stopPlayers );
|
||||
|
||||
this.fetch();
|
||||
|
||||
this.getEditors( function( editor ) {
|
||||
editor.on( 'hide', self.pausePlayers );
|
||||
editor.on( 'hide', self.stopPlayers );
|
||||
});
|
||||
},
|
||||
|
||||
|
@ -553,35 +553,30 @@ window.wp = window.wp || {};
|
|||
} );
|
||||
},
|
||||
|
||||
pausePlayers: function() {
|
||||
stopPlayers: function( remove ) {
|
||||
var rem = remove === 'remove';
|
||||
|
||||
this.getNodes( function( editor, node, content ) {
|
||||
var p, win,
|
||||
iframe = $( 'iframe.wpview-sandbox', content ).get(0);
|
||||
|
||||
if ( iframe && ( win = iframe.contentWindow ) && win.mejs ) {
|
||||
for ( p in win.mejs.players ) {
|
||||
win.mejs.players[p].pause();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// Sometimes ME.js may show a "Download File" placeholder and player.remove() doesn't exist there.
|
||||
try {
|
||||
for ( p in win.mejs.players ) {
|
||||
win.mejs.players[p].pause();
|
||||
|
||||
unsetPlayers: function() {
|
||||
this.getNodes( function( editor, node, content ) {
|
||||
var p, win,
|
||||
iframe = $( 'iframe.wpview-sandbox', content ).get(0);
|
||||
|
||||
if ( iframe && ( win = iframe.contentWindow ) && win.mejs ) {
|
||||
for ( p in win.mejs.players ) {
|
||||
win.mejs.players[p].remove();
|
||||
}
|
||||
if ( rem ) {
|
||||
win.mejs.players[p].remove();
|
||||
}
|
||||
}
|
||||
} catch( er ) {}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
unbind: function() {
|
||||
this.pausePlayers();
|
||||
this.unsetPlayers();
|
||||
this.stopPlayers( 'remove' );
|
||||
}
|
||||
},
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue