jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: Move file upload support detection to browser.js
......................................................................


Hygiene: Move file upload support detection to browser.js

Change-Id: I696e0a112babe38631d1cec573288fb92155abff
---
M javascripts/browser.js
M javascripts/modules/uploads/PhotoUploaderButton.js
2 files changed, 31 insertions(+), 26 deletions(-)

Approvals:
  Jdlrobson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/javascripts/browser.js b/javascripts/browser.js
index 7e7b4c3..9a97c67 100644
--- a/javascripts/browser.js
+++ b/javascripts/browser.js
@@ -187,6 +187,32 @@
                        } catch ( e ) {
                                return false;
                        }
+               },
+               /**
+                * Detect if we support file input uploads
+                * @return {Boolean}
+                */
+               supportsFileUploads: function () {
+                       var browserSupported;
+                       // If already calculated, just return it
+                       if ( this._fileUploads !== undefined ) {
+                               return this._fileUploads;
+                       }
+
+                       // deal with known false positives which don't support 
file input (bug 47374)
+                       if ( this.userAgent.match( /Windows Phone (OS 7|8.0)/ ) 
) {
+                               this._fileUploads = false;
+                       } else {
+                               browserSupported = (
+                                       typeof FileReader !== 'undefined' &&
+                                       typeof FormData !== 'undefined' &&
+                                       // Firefox OS 1.0 turns <input 
type="file"> into <input type="text">
+                                       ( $( '<input type="file"/>' ).prop( 
'type' ) === 'file' )
+                               );
+                               this._fileUploads = browserSupported &&
+                                       !mw.config.get( 'wgImagesDisabled', 
false );
+                       }
+                       return this._fileUploads;
                }
        };
 
diff --git a/javascripts/modules/uploads/PhotoUploaderButton.js 
b/javascripts/modules/uploads/PhotoUploaderButton.js
index 37a6eb3..197a3ff 100644
--- a/javascripts/modules/uploads/PhotoUploaderButton.js
+++ b/javascripts/modules/uploads/PhotoUploaderButton.js
@@ -1,5 +1,6 @@
-( function ( M, $ ) {
-       var View = M.require( 'View' ),
+( function ( M ) {
+       var browser = M.require( 'browser' ),
+               View = M.require( 'View' ),
                Icon = M.require( 'Icon' ),
                photoIcon = new Icon( {
                        name: 'photo',
@@ -7,28 +8,6 @@
                        additionalClassNames: 'mw-ui-progressive mw-ui-button 
button'
                } ),
                PhotoUploaderButton;
-
-       /**
-        * Check whether photo upload is supported
-        * FIXME: Move to Browser.js
-        * @method
-        * @ignore
-        * @returns {Boolean}
-        */
-       function isSupported() {
-               // FIXME: create a module for browser detection stuff
-               // deal with known false positives which don't support file 
input (bug 47374)
-               if ( navigator.userAgent.match( /Windows Phone (OS 7|8.0)/ ) ) {
-                       return false;
-               }
-               var browserSupported = (
-                       typeof FileReader !== 'undefined' &&
-                       typeof FormData !== 'undefined' &&
-                       ( $( '<input type="file"/>' ).prop( 'type' ) === 'file' 
) // Firefox OS 1.0 turns <input type="file"> into <input type="text">
-               );
-
-               return browserSupported && !mw.config.get( 'wgImagesDisabled', 
false );
-       }
 
        /**
         * @class PhotoUploaderButton
@@ -90,8 +69,8 @@
                }
        } );
 
-       PhotoUploaderButton.isSupported = isSupported();
+       PhotoUploaderButton.isSupported = browser.supportsFileUploads();
 
        M.define( 'modules/uploads/PhotoUploaderButton', PhotoUploaderButton );
 
-}( mw.mobileFrontend, jQuery ) );
+}( mw.mobileFrontend ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/180824
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I696e0a112babe38631d1cec573288fb92155abff
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jhernandez <[email protected]>
Gerrit-Reviewer: Bmansurov <[email protected]>
Gerrit-Reviewer: Florianschmidtwelzow <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Jhernandez <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to