You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ro...@apache.org on 2012/05/01 13:20:13 UTC
svn commit: r1332619 - in /thrift/trunk/lib/js: test/build.xml
test/test.html test/test.js thrift.js
Author: roger
Date: Tue May 1 11:20:12 2012
New Revision: 1332619
URL: http://svn.apache.org/viewvc?rev=1332619&view=rev
Log:
THRIFT-1514 Callbacks with newer jQuery versions don't work
Patch: Andrew Grumet
Modified:
thrift/trunk/lib/js/test/build.xml
thrift/trunk/lib/js/test/test.html
thrift/trunk/lib/js/test/test.js
thrift/trunk/lib/js/thrift.js
Modified: thrift/trunk/lib/js/test/build.xml
URL: http://svn.apache.org/viewvc/thrift/trunk/lib/js/test/build.xml?rev=1332619&r1=1332618&r2=1332619&view=diff
==============================================================================
--- thrift/trunk/lib/js/test/build.xml (original)
+++ thrift/trunk/lib/js/test/build.xml Tue May 1 11:20:12 2012
@@ -93,7 +93,7 @@
</target>
<target name="jslibs" depends="init, proxy">
- <get src="http://code.jquery.com/jquery-1.5.2.js" dest="${build}/js/lib" usetimestamp="true"/>
+ <get src="http://code.jquery.com/jquery-1.7.2.js" dest="${build}/js/lib" usetimestamp="true"/>
<get src="http://js-test-driver.googlecode.com/svn/trunk/JsTestDriver/contrib/qunit/src/equiv.js" dest="${build}/js/lib" usetimestamp="true"/>
<get src="http://js-test-driver.googlecode.com/svn/trunk/JsTestDriver/contrib/qunit/src/QUnitAdapter.js" dest="${build}/js/lib" usetimestamp="true"/>
Modified: thrift/trunk/lib/js/test/test.html
URL: http://svn.apache.org/viewvc/thrift/trunk/lib/js/test/test.html?rev=1332619&r1=1332618&r2=1332619&view=diff
==============================================================================
--- thrift/trunk/lib/js/test/test.html (original)
+++ thrift/trunk/lib/js/test/test.html Tue May 1 11:20:12 2012
@@ -27,7 +27,7 @@
<script src="gen-js/ThriftTest.js" type="text/javascript" charset="utf-8"></script>
<!-- jQuery -->
- <script type="text/javascript" src="build/js/lib/jquery-1.5.2.js" charset="utf-8"></script>
+ <script type="text/javascript" src="build/js/lib/jquery-1.7.2.js" charset="utf-8"></script>
<!-- QUnit Test framework-->
<script type="text/javascript" src="build/js/lib/qunit.js" charset="utf-8"></script>
Modified: thrift/trunk/lib/js/test/test.js
URL: http://svn.apache.org/viewvc/thrift/trunk/lib/js/test/test.js?rev=1332619&r1=1332618&r2=1332619&view=diff
==============================================================================
--- thrift/trunk/lib/js/test/test.js (original)
+++ thrift/trunk/lib/js/test/test.js Tue May 1 11:20:12 2012
@@ -390,7 +390,7 @@ module("Async");
ok(false);
QUnit.start();
})
- .error(function(e){
+ .error(function(xhr,status,e){
equal(e.errorCode, 1001);
equal(e.message, "Xception");
QUnit.start();
Modified: thrift/trunk/lib/js/thrift.js
URL: http://svn.apache.org/viewvc/thrift/trunk/lib/js/thrift.js?rev=1332619&r1=1332618&r2=1332619&view=diff
==============================================================================
--- thrift/trunk/lib/js/thrift.js (original)
+++ thrift/trunk/lib/js/thrift.js Tue May 1 11:20:12 2012
@@ -223,46 +223,26 @@ Thrift.Transport.prototype = {
throw 'Thrift.js requires jQuery 1.5+ to use asynchronous requests';
}
- // Deferreds
- var deferred = jQuery.Deferred();
- var completeDfd = jQuery._Deferred();
- var dfd = deferred.promise();
- dfd.success = dfd.done;
- dfd.error = dfd.fail;
- dfd.complete = completeDfd.done;
+ var thriftTransport = this;
var jqXHR = jQuery.ajax({
url: this.url,
data: postData,
type: 'POST',
cache: false,
- dataType: 'text',
- context: this,
- success: this.jqResponse,
- error: function(xhr, status, e) {
- deferred.rejectWith(client, jQuery.merge([e], xhr.tArgs));
+ dataType: 'text thrift',
+ converters: {
+ 'text thrift' : function(responseData) {
+ thriftTransport.setRecvBuffer(responseData);
+ var value = recv_method.call(client);
+ return value;
+ }
},
- complete: function(xhr, status) {
- completeDfd.resolveWith(client, [xhr, status]);
- }
+ context: client,
+ success: jQuery.makeArray(args).pop()
});
- deferred.done(jQuery.makeArray(args).pop()); //pop callback from args
- jqXHR.tArgs = args;
- jqXHR.tClient = client;
- jqXHR.tRecvFn = recv_method;
- jqXHR.tDfd = deferred;
- return dfd;
- },
-
- jqResponse: function(responseData, textStatus, jqXHR) {
- this.setRecvBuffer(responseData);
- try {
- var value = jqXHR.tRecvFn.call(jqXHR.tClient);
- jqXHR.tDfd.resolveWith(jqXHR, jQuery.merge([value], jqXHR.tArgs));
- } catch (ex) {
- jqXHR.tDfd.rejectWith(jqXHR, jQuery.merge([ex], jqXHR.tArgs));
- }
+ return jqXHR;
},
setRecvBuffer: function(buf) {