You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2013/09/17 01:55:47 UTC
git commit: Consolidated minor code diffs,
these will be refactored shortly into one class used by both wp7+wp8
Updated Branches:
refs/heads/master 7294c0283 -> 465eed51b
Consolidated minor code diffs, these will be refactored shortly into one class used by both wp7+wp8
Project: http://git-wip-us.apache.org/repos/asf/cordova-wp8/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp8/commit/465eed51
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp8/tree/465eed51
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp8/diff/465eed51
Branch: refs/heads/master
Commit: 465eed51ba2a6f503255079eadd46d91ed7f2a00
Parents: 7294c02
Author: purplecabbage <pu...@gmail.com>
Authored: Mon Sep 16 16:55:29 2013 -0700
Committer: purplecabbage <pu...@gmail.com>
Committed: Mon Sep 16 16:55:29 2013 -0700
----------------------------------------------------------------------
wp7/template/cordovalib/XHRHelper.cs | 31 +++++++++++++------------------
wp8/template/cordovalib/XHRHelper.cs | 10 +++++-----
2 files changed, 18 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/465eed51/wp7/template/cordovalib/XHRHelper.cs
----------------------------------------------------------------------
diff --git a/wp7/template/cordovalib/XHRHelper.cs b/wp7/template/cordovalib/XHRHelper.cs
index 35b8bd3..d9945f3 100644
--- a/wp7/template/cordovalib/XHRHelper.cs
+++ b/wp7/template/cordovalib/XHRHelper.cs
@@ -30,7 +30,7 @@ namespace WPCordovaClassLib.CordovaLib
if (!docDomain || docDomain.length === 0) {
var aliasXHR = win.XMLHttpRequest;
-
+
var XHRShim = function() {};
win.XMLHttpRequest = XHRShim;
XHRShim.noConflict = aliasXHR;
@@ -48,7 +48,7 @@ namespace WPCordovaClassLib.CordovaLib
withCredentials: false,
_requestHeaders: null,
open: function (reqType, uri, isAsync, user, password) {
-
+
if (uri && uri.indexOf('http') === 0) {
if (!this.wrappedXHR) {
this.wrappedXHR = new aliasXHR();
@@ -120,6 +120,9 @@ namespace WPCordovaClassLib.CordovaLib
if (this.onreadystatechange) {
this.onreadystatechange();
}
+ if (this.readyState == XHRShim.DONE){
+ this.onload && this.onload();
+ }
},
setRequestHeader: function(header, value) {
if (this.wrappedXHR) {
@@ -158,31 +161,28 @@ namespace WPCordovaClassLib.CordovaLib
send: function(data) {
if (this.wrappedXHR) {
return this.wrappedXHR.send(data);
- }
+ }
else {
this.changeReadyState(XHRShim.OPENED);
var alias = this;
- var root = window.location.href;
+
+ var root = window.location.href.split('#')[0]; // remove hash
var basePath = root.substr(0,root.lastIndexOf('/')) + '/';
-
- var resolvedUrl = this._url.split('//').join('/');
+ var resolvedUrl = this._url.split('//').join('/').split('#')[0]; // remove hash
var wwwFolderPath = navigator.userAgent.indexOf('MSIE 9.0') > -1 ? 'app/www/' : 'www/';
- console.log('original resolvedUrl = ' + resolvedUrl);
-
if(resolvedUrl.indexOf('/') == 0) {
- console.log('removing leading /');
+ //console.log('removing leading /');
resolvedUrl = resolvedUrl.substr(1);
}
+ // handle special case where url is of form app/www but we are loaded just from /www
if( resolvedUrl.indexOf('app/www') == 0 ) {
-
resolvedUrl = window.location.protocol + wwwFolderPath + resolvedUrl.substr(7);
}
else if( resolvedUrl.indexOf('www') == 0) {
-
resolvedUrl = window.location.protocol + wwwFolderPath + resolvedUrl.substr(4);
}
@@ -190,9 +190,6 @@ namespace WPCordovaClassLib.CordovaLib
resolvedUrl = basePath + resolvedUrl; // consider it relative
}
- console.log('sanitized resolvedUrl = ' + resolvedUrl);
-
-
var funk = function () {
window.__onXHRLocalCallback = function (responseCode, responseText) {
alias.status = responseCode;
@@ -204,11 +201,9 @@ namespace WPCordovaClassLib.CordovaLib
}
alias.changeReadyState(XHRShim.DONE);
- alias.onload && alias.onload();
-
}
alias.changeReadyState(XHRShim.LOADING);
- window.external.Notify('XHRLOCAL/' + resolvedUrl);
+ window.external.Notify('XHRLOCAL/' + resolvedUrl);
}
if (this.isAsync) {
setTimeout(funk, 0);
@@ -254,7 +249,7 @@ namespace WPCordovaClassLib.CordovaLib
if (resource == null)
{
- // 404 ?
+ // 404 ?
Browser.InvokeScript("__onXHRLocalCallback", new string[] { "404" });
return true;
}
http://git-wip-us.apache.org/repos/asf/cordova-wp8/blob/465eed51/wp8/template/cordovalib/XHRHelper.cs
----------------------------------------------------------------------
diff --git a/wp8/template/cordovalib/XHRHelper.cs b/wp8/template/cordovalib/XHRHelper.cs
index 45c31ea..d9945f3 100644
--- a/wp8/template/cordovalib/XHRHelper.cs
+++ b/wp8/template/cordovalib/XHRHelper.cs
@@ -120,6 +120,9 @@ namespace WPCordovaClassLib.CordovaLib
if (this.onreadystatechange) {
this.onreadystatechange();
}
+ if (this.readyState == XHRShim.DONE){
+ this.onload && this.onload();
+ }
},
setRequestHeader: function(header, value) {
if (this.wrappedXHR) {
@@ -171,16 +174,15 @@ namespace WPCordovaClassLib.CordovaLib
var wwwFolderPath = navigator.userAgent.indexOf('MSIE 9.0') > -1 ? 'app/www/' : 'www/';
if(resolvedUrl.indexOf('/') == 0) {
- console.log('removing leading /');
+ //console.log('removing leading /');
resolvedUrl = resolvedUrl.substr(1);
}
+ // handle special case where url is of form app/www but we are loaded just from /www
if( resolvedUrl.indexOf('app/www') == 0 ) {
-
resolvedUrl = window.location.protocol + wwwFolderPath + resolvedUrl.substr(7);
}
else if( resolvedUrl.indexOf('www') == 0) {
-
resolvedUrl = window.location.protocol + wwwFolderPath + resolvedUrl.substr(4);
}
@@ -199,8 +201,6 @@ namespace WPCordovaClassLib.CordovaLib
}
alias.changeReadyState(XHRShim.DONE);
- alias.onload && alias.onload();
-
}
alias.changeReadyState(XHRShim.LOADING);
window.external.Notify('XHRLOCAL/' + resolvedUrl);