1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_CREDENTIAL_MANAGER_CLIENT_H_ 6#define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_CREDENTIAL_MANAGER_CLIENT_H_ 7 8#include "base/memory/scoped_ptr.h" 9#include "third_party/WebKit/public/platform/WebCredentialManagerClient.h" 10#include "third_party/WebKit/public/platform/WebVector.h" 11 12namespace blink { 13class WebCredential; 14class WebFrame; 15class WebURL; 16} 17 18namespace content { 19 20class MockCredentialManagerClient : public blink::WebCredentialManagerClient { 21 public: 22 MockCredentialManagerClient(); 23 virtual ~MockCredentialManagerClient(); 24 25 // We take ownership of the |credential|. 26 void SetResponse(blink::WebCredential* credential); 27 28 // blink::WebCredentialManager: 29 virtual void dispatchFailedSignIn(const blink::WebCredential& credential, 30 NotificationCallbacks* callbacks); 31 virtual void dispatchSignedIn(const blink::WebCredential& credential, 32 NotificationCallbacks* callbacks); 33 virtual void dispatchSignedOut(NotificationCallbacks* callbacks); 34 virtual void dispatchRequest( 35 bool zero_click_only, 36 const blink::WebVector<blink::WebURL>& federations, 37 RequestCallbacks* callbacks); 38 39 private: 40 scoped_ptr<blink::WebCredential> credential_; 41 42 DISALLOW_COPY_AND_ASSIGN(MockCredentialManagerClient); 43}; 44 45} // namespace content 46 47#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_CREDENTIAL_MANAGER_CLIENT_H_ 48