From 70afec287545e76c59c1af11e86bbf52ad3e21de Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Thu, 16 Jun 2016 04:53:42 +0000 Subject: [PATCH] Media: properly refresh the position of the Plupload shim so it moves over the Select Files button or off the screen. Fixes selecting files in MS Edge on the Media grid and Media -> Add New screens. Fixes #37039. git-svn-id: https://develop.svn.wordpress.org/trunk@37722 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/media-grid.js | 4 ++++ src/wp-includes/js/media/views/frame/manage.js | 4 ++++ src/wp-includes/js/plupload/handlers.js | 10 +++++++--- src/wp-includes/js/plupload/wp-plupload.js | 8 +++++--- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/wp-includes/js/media-grid.js b/src/wp-includes/js/media-grid.js index e29494f576..5d0faa25f4 100644 --- a/src/wp-includes/js/media-grid.js +++ b/src/wp-includes/js/media-grid.js @@ -774,6 +774,10 @@ Manage = MediaFrame.extend({ addNewClickHandler: function( event ) { event.preventDefault(); this.trigger( 'toggle:upload:attachment' ); + + if ( this.uploader ) { + this.uploader.refresh(); + } }, /** diff --git a/src/wp-includes/js/media/views/frame/manage.js b/src/wp-includes/js/media/views/frame/manage.js index 46d758b64e..5dd09a9b79 100644 --- a/src/wp-includes/js/media/views/frame/manage.js +++ b/src/wp-includes/js/media/views/frame/manage.js @@ -189,6 +189,10 @@ Manage = MediaFrame.extend({ addNewClickHandler: function( event ) { event.preventDefault(); this.trigger( 'toggle:upload:attachment' ); + + if ( this.uploader ) { + this.uploader.refresh(); + } }, /** diff --git a/src/wp-includes/js/plupload/handlers.js b/src/wp-includes/js/plupload/handlers.js index 1396a2d3be..5ee7a43779 100644 --- a/src/wp-includes/js/plupload/handlers.js +++ b/src/wp-includes/js/plupload/handlers.js @@ -430,14 +430,14 @@ jQuery(document).ready(function($){ if ( up.features.dragdrop && ! $(document.body).hasClass('mobile') ) { uploaddiv.addClass('drag-drop'); - $('#drag-drop-area').bind('dragover.wp-uploader', function(){ // dragenter doesn't fire right :( + $('#drag-drop-area').on('dragover.wp-uploader', function(){ // dragenter doesn't fire right :( uploaddiv.addClass('drag-over'); - }).bind('dragleave.wp-uploader, drop.wp-uploader', function(){ + }).on('dragleave.wp-uploader, drop.wp-uploader', function(){ uploaddiv.removeClass('drag-over'); }); } else { uploaddiv.removeClass('drag-drop'); - $('#drag-drop-area').unbind('.wp-uploader'); + $('#drag-drop-area').off('.wp-uploader'); } if ( up.runtime === 'html4' ) { @@ -445,6 +445,10 @@ jQuery(document).ready(function($){ } }); + uploader.bind( 'postinit', function( up ) { + up.refresh(); + }); + uploader.init(); uploader.bind('FilesAdded', function( up, files ) { diff --git a/src/wp-includes/js/plupload/wp-plupload.js b/src/wp-includes/js/plupload/wp-plupload.js index 88f0170458..032a38feff 100644 --- a/src/wp-includes/js/plupload/wp-plupload.js +++ b/src/wp-includes/js/plupload/wp-plupload.js @@ -180,6 +180,11 @@ window.wp = window.wp || {}; $(self).trigger( 'uploader:ready' ); }); + this.uploader.bind( 'postinit', function( up ) { + up.refresh(); + self.init(); + }); + this.uploader.init(); if ( this.browser ) { @@ -311,9 +316,6 @@ window.wp = window.wp || {}; up.refresh(); }); - this.uploader.bind( 'PostInit', function() { - self.init(); - }); }; // Adds the 'defaults' and 'browser' properties.