Remove some Ember.Deferred usage. It's deprecated.

This commit is contained in:
Robin Ward 2014-08-07 17:22:00 -04:00
parent 39c7101c4b
commit 271374a8c6
2 changed files with 9 additions and 9 deletions

View file

@ -313,14 +313,14 @@ Discourse.Utilities = {
@method cropAvatar @method cropAvatar
@param {String} url The url of the avatar @param {String} url The url of the avatar
@param {String} fileType The file type of the uploaded file @param {String} fileType The file type of the uploaded file
@returns {Ember.Deferred} a promise that will eventually be the cropped avatar. @returns {Promise} a promise that will eventually be the cropped avatar.
**/ **/
cropAvatar: function(url, fileType) { cropAvatar: function(url, fileType) {
if (Discourse.SiteSettings.allow_animated_avatars && fileType === "image/gif") { if (Discourse.SiteSettings.allow_animated_avatars && fileType === "image/gif") {
// can't crop animated gifs... let the browser stretch the gif // can't crop animated gifs... let the browser stretch the gif
return Ember.RSVP.resolve(url); return Ember.RSVP.resolve(url);
} else { } else {
return Ember.Deferred.promise(function(promise) { return new Ember.RSVP.Promise(function(resolve) {
var image = document.createElement("img"); var image = document.createElement("img");
// this event will be fired as soon as the image is loaded // this event will be fired as soon as the image is loaded
image.onload = function(e) { image.onload = function(e) {
@ -345,7 +345,7 @@ Discourse.Utilities = {
// draw the image into the canvas // draw the image into the canvas
canvas.getContext("2d").drawImage(img, x, y, dimension, dimension, 0, 0, size, size); canvas.getContext("2d").drawImage(img, x, y, dimension, dimension, 0, 0, size, size);
// retrieve the image from the canvas // retrieve the image from the canvas
promise.resolve(canvas.toDataURL(fileType)); resolve(canvas.toDataURL(fileType));
}; };
// launch the onload event // launch the onload event
image.src = url; image.src = url;

View file

@ -40,10 +40,10 @@ Discourse.Ajax = Em.Mixin.create({
Ember.Logger.error("DEPRECATION: Discourse.ajax should use promises, received 'error' callback"); Ember.Logger.error("DEPRECATION: Discourse.ajax should use promises, received 'error' callback");
} }
var performAjax = function(promise) { var performAjax = function(resolve, reject) {
var oldSuccess = args.success; var oldSuccess = args.success;
args.success = function(xhr) { args.success = function(xhr) {
Ember.run(promise, promise.resolve, xhr); Ember.run(null, resolve, xhr);
if (oldSuccess) oldSuccess(xhr); if (oldSuccess) oldSuccess(xhr);
}; };
@ -63,7 +63,7 @@ Discourse.Ajax = Em.Mixin.create({
xhr.jqTextStatus = textStatus; xhr.jqTextStatus = textStatus;
xhr.requestedUrl = url; xhr.requestedUrl = url;
Ember.run(promise, promise.reject, xhr); Ember.run(null, reject, xhr);
if (oldError) oldError(xhr); if (oldError) oldError(xhr);
}; };
@ -82,15 +82,15 @@ Discourse.Ajax = Em.Mixin.create({
// For cached pages we strip out CSRF tokens, need to round trip to server prior to sending the // For cached pages we strip out CSRF tokens, need to round trip to server prior to sending the
// request (bypass for GET, not needed) // request (bypass for GET, not needed)
if(args.type && args.type.toUpperCase() !== 'GET' && !Discourse.Session.currentProp('csrfToken')){ if(args.type && args.type.toUpperCase() !== 'GET' && !Discourse.Session.currentProp('csrfToken')){
return Ember.Deferred.promise(function(promise){ return new Ember.RSVP.Promise(function(resolve, reject){
$.ajax(Discourse.getURL('/session/csrf'), {cache: false}) $.ajax(Discourse.getURL('/session/csrf'), {cache: false})
.success(function(result){ .success(function(result){
Discourse.Session.currentProp('csrfToken', result.csrf); Discourse.Session.currentProp('csrfToken', result.csrf);
performAjax(promise); performAjax(resolve, reject);
}); });
}); });
} else { } else {
return Ember.Deferred.promise(performAjax); return new Ember.RSVP.Promise(performAjax);
} }
} }