diff options
| -rw-r--r-- | src/ng/httpBackend.js | 8 | ||||
| -rw-r--r-- | test/ng/httpBackendSpec.js | 10 | 
2 files changed, 9 insertions, 9 deletions
| diff --git a/src/ng/httpBackend.js b/src/ng/httpBackend.js index 565e1b12..d2806e3e 100644 --- a/src/ng/httpBackend.js +++ b/src/ng/httpBackend.js @@ -121,14 +121,14 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc      }      function completeRequest(callback, status, response, headersString) { -      var protocol = urlResolve(url).protocol; -        // cancel timeout and subsequent timeout promise resolution        timeoutId && $browserDefer.cancel(timeoutId);        jsonpDone = xhr = null; -      // fix status code for file protocol (it's always 0) -      status = (protocol == 'file' && status === 0) ? (response ? 200 : 404) : status; +      // fix status code when it is 0 (0 status is undocumented). +      // Occurs when accessing file resources. +      // On Android 4.1 stock browser it occurs while retrieving files from application cache. +      status = (status === 0) ? (response ? 200 : 404) : status;        // normalize IE bug (http://bugs.jquery.com/ticket/1450)        status = status == 1223 ? 204 : status; diff --git a/test/ng/httpBackendSpec.js b/test/ng/httpBackendSpec.js index 49514d8e..92781f9a 100644 --- a/test/ng/httpBackendSpec.js +++ b/test/ng/httpBackendSpec.js @@ -421,7 +421,7 @@ describe('$httpBackend', function() {      // TODO(vojta): test whether it fires "async-end" on both success and error    }); -  describe('file protocol', function() { +  describe('protocols that return 0 status code', function() {      function respond(status, content) {        xhr = MockXhr.$$lastInstance; @@ -435,7 +435,7 @@ describe('$httpBackend', function() {      it('should convert 0 to 200 if content', function() {        $backend = createHttpBackend($browser, createMockXhr); -      $backend('GET', 'file:///whatever/index.html', null, callback); +      $backend('GET', 'someProtocol:///whatever/index.html', null, callback);        respond(0, 'SOME CONTENT');        expect(callback).toHaveBeenCalled(); @@ -446,7 +446,7 @@ describe('$httpBackend', function() {      it('should convert 0 to 404 if no content', function() {        $backend = createHttpBackend($browser, createMockXhr); -      $backend('GET', 'file:///whatever/index.html', null, callback); +      $backend('GET', 'someProtocol:///whatever/index.html', null, callback);        respond(0, '');        expect(callback).toHaveBeenCalled(); @@ -462,10 +462,10 @@ describe('$httpBackend', function() {          hash : "#/C:/",          host : "",          hostname : "", -        href : "file:///C:/base#!/C:/foo", +        href : "someProtocol:///C:/base#!/C:/foo",          pathname : "/C:/foo",          port : "", -        protocol : "file:", +        protocol : "someProtocol:",          search : "",          setAttribute: angular.noop        }; | 
