Customize: Prevent previewer from appearing to freeze when refreshing too fast.

Fixes race condition issue where a previous iframe fails to get destroyed, leaving a iframe pending loading persistently shown.

Props nikeo, westonruter.
Fixes #38728.


git-svn-id: https://develop.svn.wordpress.org/trunk@39199 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Weston Ruter 2016-11-10 22:42:38 +00:00
parent 195e86fda5
commit af640568fe

View File

@ -3930,18 +3930,18 @@
} );
previewer.loading.done( function( readyData ) {
var loadingFrame = this, previousPreview, onceSynced;
var loadingFrame = this, onceSynced;
previousPreview = previewer.preview;
previewer.preview = loadingFrame;
previewer.targetWindow( loadingFrame.targetWindow() );
previewer.channel( loadingFrame.channel() );
onceSynced = function() {
loadingFrame.unbind( 'synced', onceSynced );
if ( previousPreview ) {
previousPreview.destroy();
if ( previewer._previousPreview ) {
previewer._previousPreview.destroy();
}
previewer._previousPreview = previewer.preview;
previewer.deferred.active.resolve();
delete previewer.loading;
};