Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(525)

Unified Diff: net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java

Issue 1442053002: Refactor HttpNegotiate exposed status codes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
diff --git a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
index 917f174c50e8208af9144518460d0ec5a6015adc..5befc913e4d9de99fe5632927c330b07472e67f5 100644
--- a/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
+++ b/net/android/java/src/org/chromium/net/HttpNegotiateAuthenticator.java
@@ -18,6 +18,7 @@
import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
+import org.chromium.net.HttpNegotiateConstants.NegotiateStatus;
import java.io.IOException;
@@ -85,42 +86,25 @@ public void run(AccountManagerFuture<Bundle> future) {
Bundle result = future.getResult();
mSpnegoContext =
result.getBundle(HttpNegotiateConstants.KEY_SPNEGO_CONTEXT);
+
+ @NegotiateStatus
+ int authenticatorStatus = translateDeprecatedStatusCode(
+ result.getInt(HttpNegotiateConstants.KEY_SPNEGO_RESULT,
+ HttpNegotiateConstants.STATUS_CODE_REQUEST_ERROR));
int status;
- switch (result.getInt(HttpNegotiateConstants.KEY_SPNEGO_RESULT,
- HttpNegotiateConstants.ERR_UNEXPECTED)) {
- case HttpNegotiateConstants.OK:
+ switch (authenticatorStatus) {
+ case HttpNegotiateConstants.STATUS_CODE_OK:
status = 0;
break;
- case HttpNegotiateConstants.ERR_UNEXPECTED:
- status = NetError.ERR_UNEXPECTED;
- break;
- case HttpNegotiateConstants.ERR_ABORTED:
- status = NetError.ERR_ABORTED;
- break;
- case HttpNegotiateConstants.ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS:
- status = NetError.ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS;
+ case HttpNegotiateConstants.STATUS_CODE_AUTHENTICATOR_ERROR:
+ status = NetError.ERR_MISCONFIGURED_AUTH_ENVIRONMENT;
break;
- case HttpNegotiateConstants.ERR_INVALID_RESPONSE:
+ case HttpNegotiateConstants.STATUS_CODE_REQUEST_ERROR:
status = NetError.ERR_INVALID_RESPONSE;
break;
- case HttpNegotiateConstants.ERR_INVALID_AUTH_CREDENTIALS:
- status = NetError.ERR_INVALID_AUTH_CREDENTIALS;
- break;
- case HttpNegotiateConstants.ERR_UNSUPPORTED_AUTH_SCHEME:
- status = NetError.ERR_UNSUPPORTED_AUTH_SCHEME;
- break;
- case HttpNegotiateConstants.ERR_MISSING_AUTH_CREDENTIALS:
- status = NetError.ERR_MISSING_AUTH_CREDENTIALS;
- break;
- case HttpNegotiateConstants
- .ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS:
- status = NetError.ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS;
- break;
- case HttpNegotiateConstants.ERR_MALFORMED_IDENTITY:
- status = NetError.ERR_MALFORMED_IDENTITY;
- break;
default:
status = NetError.ERR_UNEXPECTED;
+ break;
}
nativeSetResult(nativeResultObject, status,
result.getString(AccountManager.KEY_AUTHTOKEN));
@@ -133,6 +117,32 @@ public void run(AccountManagerFuture<Bundle> future) {
}, new Handler(ThreadUtils.getUiThreadLooper()));
}
+ @SuppressWarnings("deprecation")
+ @NegotiateStatus
+ private int translateDeprecatedStatusCode(int statusCode) {
+ switch (statusCode) {
+ case HttpNegotiateConstants.OK:
+ return HttpNegotiateConstants.STATUS_CODE_OK;
+
+ case HttpNegotiateConstants.STATUS_CODE_AUTHENTICATOR_ERROR:
+ case HttpNegotiateConstants.ERR_UNEXPECTED_SECURITY_LIBRARY_STATUS:
+ case HttpNegotiateConstants.ERR_UNDOCUMENTED_SECURITY_LIBRARY_STATUS:
+ case HttpNegotiateConstants.ERR_UNSUPPORTED_AUTH_SCHEME:
+ return HttpNegotiateConstants.STATUS_CODE_AUTHENTICATOR_ERROR;
+
+ case HttpNegotiateConstants.STATUS_CODE_REQUEST_ERROR:
+ case HttpNegotiateConstants.ERR_ABORTED:
+ case HttpNegotiateConstants.ERR_UNEXPECTED:
+ case HttpNegotiateConstants.ERR_INVALID_AUTH_CREDENTIALS:
+ case HttpNegotiateConstants.ERR_INVALID_RESPONSE:
+ case HttpNegotiateConstants.ERR_MALFORMED_IDENTITY:
+ return HttpNegotiateConstants.STATUS_CODE_REQUEST_ERROR;
+
+ default:
+ return 42;
+ }
+ }
+
@VisibleForTesting
native void nativeSetResult(
long nativeJavaNegotiateResultWrapper, int status, String authToken);

Powered by Google App Engine
This is Rietveld 408576698