[ 
https://issues.apache.org/jira/browse/CB-7444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Kotikov updated CB-7444:
---------------------------------
    Description: 
XHR request for local file that doesn't exist on device causes a runtime 
exception:
{noformat}
An exception of type 'System.OutOfMemoryException' occurred in 
Microsoft.Phone.Interop.ni.dll but was not handled in user code
{noformat}
that catched in the XHRHelper code and {{__onXHRLocalCallback}} for this 
request is never called.

*Repro steps:*
1. Create blank MDD app, add WP8 platform.
2. Try to get an unexistant file, e.g.:
{noformat}
var xhr = new XMLHttpRequest();
xhr.open("GET", "../this.file.is.not.exists", true);
xhr.onload = xhr.onerror = function() {
    console.log ('Callback called');
}
{noformat}
*Expected:*
'Callback called' is printed to console
*Actual:*
No output in console.
Problem is in arguments array, that passed to {{__onXHRLocalCallback}}. Seems 
that member of this array can't be null, so replace 
{noformat} new string[] { "404", null, reqId } {noformat}
with {noformat} new string [] { "404", string.Empty, reqId }{noformat} solves 
the problem.

  was:
XHR request for local file that doesn't exist on device causes a runtime 
exception:
{noformat}
An exception of type 'System.OutOfMemoryException' occurred in 
Microsoft.Phone.Interop.ni.dll but was not handled in user code
{noformat}
that catched in the XHRHelper code and {{__onXHRLocalCallback}} for this 
request is never called.

Problem is in arguments array, that passed to {{__onXHRLocalCallback}}. Seems 
that member of this array can't be null, so replace 
{noformat} new string[] { "404", null, reqId } {noformat}
with {noformat} new string [] { "404", string.Empty, reqId }{noformat} solves 
the problem.


> Success callback for XHR to local file that doesn't exist on device never 
> called.
> ---------------------------------------------------------------------------------
>
>                 Key: CB-7444
>                 URL: https://issues.apache.org/jira/browse/CB-7444
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: WP8
>    Affects Versions: 3.6.0
>            Reporter: Vladimir Kotikov
>            Assignee: Jesse MacFadyen
>            Priority: Critical
>              Labels: wp8, xhr, xhrhelper
>             Fix For: 3.6.0
>
>
> XHR request for local file that doesn't exist on device causes a runtime 
> exception:
> {noformat}
> An exception of type 'System.OutOfMemoryException' occurred in 
> Microsoft.Phone.Interop.ni.dll but was not handled in user code
> {noformat}
> that catched in the XHRHelper code and {{__onXHRLocalCallback}} for this 
> request is never called.
> *Repro steps:*
> 1. Create blank MDD app, add WP8 platform.
> 2. Try to get an unexistant file, e.g.:
> {noformat}
> var xhr = new XMLHttpRequest();
> xhr.open("GET", "../this.file.is.not.exists", true);
> xhr.onload = xhr.onerror = function() {
>     console.log ('Callback called');
> }
> {noformat}
> *Expected:*
> 'Callback called' is printed to console
> *Actual:*
> No output in console.
> Problem is in arguments array, that passed to {{__onXHRLocalCallback}}. Seems 
> that member of this array can't be null, so replace 
> {noformat} new string[] { "404", null, reqId } {noformat}
> with {noformat} new string [] { "404", string.Empty, reqId }{noformat} solves 
> the problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to