From 1d888f1a1f6fdab3aaf696ac7f7855ff409f16bf Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Mon, 16 Apr 2012 09:04:39 +0000 Subject: [PATCH] [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true). https://bugs.webkit.org/show_bug.cgi?id=83866 Source/WebCore: Patch by Jason Liu on 2012-04-16 Reviewed by George Staikos. We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true). There are no data received because its method is HEAD. This case shouldn't be treated as a failure. Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html * platform/network/blackberry/NetworkJob.cpp: (WebCore::NetworkJob::handleNotifyClose): LayoutTests: Patch by Jason Liu on 2012-04-16 Reviewed by George Staikos. * http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404-expected.txt: Added. * http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114235 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 10 ++++++++ ...uest-check-head-readystate-for-404-expected.txt | 3 +++ ...lhttprequest-check-head-readystate-for-404.html | 30 ++++++++++++++++++++++ Source/WebCore/ChangeLog | 16 ++++++++++++ .../platform/network/blackberry/NetworkJob.cpp | 2 +- 5 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404-expected.txt create mode 100644 LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index c00125b..eb51fc7 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,13 @@ +2012-04-16 Jason Liu + + [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true). + https://bugs.webkit.org/show_bug.cgi?id=83866 + + Reviewed by George Staikos. + + * http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404-expected.txt: Added. + * http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html: Added. + 2012-04-16 Kent Tamura [Chromium] Rebaseline for date-appearance.html. diff --git a/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404-expected.txt b/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404-expected.txt new file mode 100644 index 0000000..deafbf6 --- /dev/null +++ b/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404-expected.txt @@ -0,0 +1,3 @@ +This tests the readyState of a XMLHttpRequset which is sent with a "HEAD" method to a not exist resource. + +PASS diff --git a/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html b/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html new file mode 100644 index 0000000..8896c8e --- /dev/null +++ b/LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html @@ -0,0 +1,30 @@ + + +

This tests the readyState of a XMLHttpRequset which is sent with a "HEAD" method to a not exist resource.

+
FAIL
+ + + diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 202bcce..dc72175 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,19 @@ +2012-04-16 Jason Liu + + [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true). + https://bugs.webkit.org/show_bug.cgi?id=83866 + + Reviewed by George Staikos. + + We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true). + There are no data received because its method is HEAD. + This case shouldn't be treated as a failure. + + Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html + + * platform/network/blackberry/NetworkJob.cpp: + (WebCore::NetworkJob::handleNotifyClose): + 2012-04-16 Jon Lee Build fix. diff --git a/Source/WebCore/platform/network/blackberry/NetworkJob.cpp b/Source/WebCore/platform/network/blackberry/NetworkJob.cpp index 6516586..7852df2 100644 --- a/Source/WebCore/platform/network/blackberry/NetworkJob.cpp +++ b/Source/WebCore/platform/network/blackberry/NetworkJob.cpp @@ -487,7 +487,7 @@ void NetworkJob::handleNotifyClose(int status) if (isClientAvailable()) { RecursionGuard guard(m_callingClient); - if (isError(m_extendedStatusCode) && !m_dataReceived) { + if (isError(m_extendedStatusCode) && !m_dataReceived && m_handle->firstRequest().httpMethod() != "HEAD") { String domain = m_extendedStatusCode < 0 ? ResourceError::platformErrorDomain : ResourceError::httpErrorDomain; ResourceError error(domain, m_extendedStatusCode, m_response.url().string(), m_response.httpStatusText()); m_handle->client()->didFail(m_handle.get(), error); -- 2.7.4