Commit fcd47db2 authored by Jonathon Kereliuk's avatar Jonathon Kereliuk Committed by Commit Bot

[ChromeDriver] Set error status in repsonse

Added status for every spec error code we currently use

spec: https://w3c.github.io/webdriver/webdriver-spec.html#dfn-error-code

Bug: chromedriver:2046
Change-Id: I36d7ee12859643b76133d342021015e7353f28cc
Reviewed-on: https://chromium-review.googlesource.com/687808Reviewed-by: default avatarShuotao Gao <stgao@chromium.org>
Commit-Queue: Jonathon Kereliuk <kereliuk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505239}
parent ef2e9827
...@@ -702,40 +702,83 @@ HttpHandler::PrepareStandardResponse( ...@@ -702,40 +702,83 @@ HttpHandler::PrepareStandardResponse(
case kOk: case kOk:
response.reset(new net::HttpServerResponseInfo(net::HTTP_OK)); response.reset(new net::HttpServerResponseInfo(net::HTTP_OK));
break; break;
case kNoSuchFrame: // error codes
case kStaleElementReference: case kElementNotInteractable:
case kElementNotVisible: response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
case kInvalidElementState: break;
case kNoSuchWindow: case kInvalidArgument:
response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
break;
case kInvalidCookieDomain: case kInvalidCookieDomain:
response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
break;
case kInvalidElementState:
response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
break;
case kInvalidSelector: case kInvalidSelector:
case kXPathLookupError:
case kNoAlertOpen:
case kInvalidArgument:
case kElementNotInteractable:
case kNoSuchExecutionContext:
response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST)); response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
break; break;
case kNoSuchSession: case kJavaScriptError:
case kNoSuchElement: response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
case kUnknownCommand: break;
case kNoSuchCookie: case kNoSuchCookie:
response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND)); response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND));
break; break;
case kTimeout: case kNoSuchElement:
response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND));
break;
case kNoSuchFrame:
response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND));
break;
case kNoSuchWindow:
response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND));
break;
case kScriptTimeout: case kScriptTimeout:
response.reset( response.reset(
new net::HttpServerResponseInfo(net::HTTP_REQUEST_TIMEOUT)); new net::HttpServerResponseInfo(net::HTTP_REQUEST_TIMEOUT));
break; break;
case kUnknownError: case kSessionNotCreatedException:
response.reset(
new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR));
break;
case kStaleElementReference:
response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND));
break;
case kTimeout:
response.reset(
new net::HttpServerResponseInfo(net::HTTP_REQUEST_TIMEOUT));
break;
case kUnableToSetCookie: case kUnableToSetCookie:
case kJavaScriptError: response.reset(
new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR));
break;
case kUnexpectedAlertOpen: case kUnexpectedAlertOpen:
case kSessionNotCreatedException: response.reset(
new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR));
break;
case kUnknownCommand:
response.reset(new net::HttpServerResponseInfo(net::HTTP_NOT_FOUND));
break;
case kUnknownError:
response.reset(
new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR));
break;
case kUnsupportedOperation:
response.reset(
new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR));
break;
// TODO(kereliuk): evaluate the usage of these as they relate to the spec
case kElementNotVisible:
case kXPathLookupError:
case kNoAlertOpen:
case kNoSuchExecutionContext:
response.reset(new net::HttpServerResponseInfo(net::HTTP_BAD_REQUEST));
break;
case kNoSuchSession:
case kChromeNotReachable: case kChromeNotReachable:
case kDisconnected: case kDisconnected:
case kForbidden: case kForbidden:
case kUnsupportedOperation:
case kTabCrashed: case kTabCrashed:
response.reset( response.reset(
new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR)); new net::HttpServerResponseInfo(net::HTTP_INTERNAL_SERVER_ERROR));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment