From 08e4e98c16e4203000fc4830e70df208f33c7e95 Mon Sep 17 00:00:00 2001 From: koopersmith Date: Wed, 9 May 2012 21:26:19 +0000 Subject: [PATCH] Uploader & Theme Customizer: Refresh uploader flash/silverlight shims when the mouse enters the browse button. Add class to body based on uploader's drag/drop support. Properly assign customize image uploader containers (so flash shims are positioned correctly when scrolled). see #19910, #20452, #20582. git-svn-id: http://core.svn.wordpress.org/trunk@20758 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/js/customize-controls.dev.js | 7 ++++--- wp-includes/js/plupload/wp-plupload.dev.js | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/wp-includes/js/customize-controls.dev.js b/wp-includes/js/customize-controls.dev.js index 626e9460f..98b608195 100644 --- a/wp-includes/js/customize-controls.dev.js +++ b/wp-includes/js/customize-controls.dev.js @@ -138,9 +138,10 @@ this.success = $.proxy( this.success, this ); this.uploader = new wp.Uploader({ - browser: this.container.find('.upload'), - dropzone: this.container.find('.upload-dropzone'), - success: this.success + container: this.container, + browser: this.container.find('.upload'), + dropzone: this.container.find('.upload-dropzone'), + success: this.success }); this.remover = this.container.find('.remove'); diff --git a/wp-includes/js/plupload/wp-plupload.dev.js b/wp-includes/js/plupload/wp-plupload.dev.js index 291991175..98911b6d3 100644 --- a/wp-includes/js/plupload/wp-plupload.dev.js +++ b/wp-includes/js/plupload/wp-plupload.dev.js @@ -2,6 +2,10 @@ if ( typeof wp === 'undefined' ) var wp = {}; (function( exports, $ ) { + var Uploader, body; + + body = $( document.body ); + /* * An object that helps create a WordPress uploader using plupload. * @@ -16,7 +20,7 @@ if ( typeof wp === 'undefined' ) * * @param attributes - object - Attributes and methods for this specific instance. */ - var Uploader = function( options ) { + Uploader = function( options ) { var self = this, elements = { container: 'container', @@ -70,6 +74,9 @@ if ( typeof wp === 'undefined' ) this.uploader.init(); + this.browser.on( 'mouseenter', this.refresh ); + body.toggleClass( 'uploader-drag-drop', this.uploader.features.dragdrop ); + this.uploader.bind( 'UploadProgress', this.progress ); this.uploader.bind( 'FileUploaded', function( up, file, response ) { @@ -160,7 +167,10 @@ if ( typeof wp === 'undefined' ) success: function() {}, added: function() {}, progress: function() {}, - complete: function() {} + complete: function() {}, + refresh: function() { + this.uploader.refresh(); + } }); exports.Uploader = Uploader;