1// Copyright (c) 2013 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#ifndef CHROME_FRAME_TEST_PROXY_FACTORY_MOCK_H_ 5#define CHROME_FRAME_TEST_PROXY_FACTORY_MOCK_H_ 6 7#include <windows.h> 8#include <string> 9 10#include "gmock/gmock.h" 11#include "chrome_frame/chrome_frame_automation.h" 12 13struct LaunchDelegateMock : public LaunchDelegate { 14 MOCK_METHOD2(LaunchComplete, void(ChromeFrameAutomationProxy*, 15 AutomationLaunchResult)); 16 MOCK_METHOD0(AutomationServerDied, void()); 17}; 18 19class MockProxyFactory : public ProxyFactory { 20 public: 21 MOCK_METHOD3(GetAutomationServer, 22 void (LaunchDelegate*, // NOLINT 23 ChromeFrameLaunchParams* params, 24 void** automation_server_id)); 25 MOCK_METHOD2(ReleaseAutomationServer, bool(void* server_id, 26 LaunchDelegate* delegate)); 27 28 MockProxyFactory() : thread_("mock factory worker") { 29 thread_.Start(); 30 loop_ = thread_.message_loop(); 31 } 32 33 // Fake implementation 34 void GetServerImpl(ChromeFrameAutomationProxy* pxy, 35 void* proxy_id, 36 AutomationLaunchResult result, 37 LaunchDelegate* d, 38 ChromeFrameLaunchParams* params, 39 void** automation_server_id); 40 41 base::Thread thread_; 42 base::MessageLoop* loop_; 43}; 44 45#endif // CHROME_FRAME_TEST_PROXY_FACTORY_MOCK_H_ 46 47