// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef IOS_CHROME_BROWSER_PASSWORDS_JS_CREDENTIAL_MANAGER_H_ #define IOS_CHROME_BROWSER_PASSWORDS_JS_CREDENTIAL_MANAGER_H_ #include "ios/web/public/web_state/credential.h" #import "ios/web/public/web_state/js/crw_js_injection_manager.h" namespace base { class DictionaryValue; } // namespace base // Constants for rejecting requests. extern const char kCredentialsPendingRequestErrorType[]; extern const char kCredentialsPendingRequestErrorMessage[]; extern const char kCredentialsSecurityErrorType[]; extern const char kCredentialsPasswordStoreUnavailableErrorType[]; extern const char kCredentialsPasswordStoreUnavailableErrorMessage[]; extern const char kCredentialsSecurityErrorMessageUntrustedOrigin[]; // Injects the JavaScript that implements the request credentials API and // provides an app-side interface for interacting with it. @interface JSCredentialManager : CRWJSInjectionManager // Resolves the JavaScript Promise associated with |requestID| with the // specified |credential|. |completionHandler| will be invoked after the // operation has completed with YES if successful. - (void)resolvePromiseWithRequestID:(NSInteger)requestID credential:(const web::Credential&)credential completionHandler:(void (^)(BOOL))completionHandler; // Resolves the JavaScript Promise associated with |requestID|. // |completionHandler| will be invoked after the operation has completed with // YES if successful. - (void)resolvePromiseWithRequestID:(NSInteger)requestID completionHandler:(void (^)(BOOL))completionHandler; // Rejects the JavaScript Promise associated with |requestID| with an Error of // the specified |errorType| and |message|. |completionHandler| will be invoked // after the operation has completed with YES if successful. - (void)rejectPromiseWithRequestID:(NSInteger)requestID errorType:(NSString*)errorType message:(NSString*)message completionHandler:(void (^)(BOOL))completionHandler; @end #endif // IOS_CHROME_BROWSER_PASSWORDS_JS_CREDENTIAL_MANAGER_H_