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