1// Copyright (c) 2011 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// Mock objects for Chrome Frame interfaces.
6
7#ifndef CHROME_FRAME_TEST_CHROME_TAB_MOCKS_H_
8#define CHROME_FRAME_TEST_CHROME_TAB_MOCKS_H_
9
10#include "chrome_frame/chrome_tab.h"
11#include "testing/gmock/include/gmock/gmock.h"
12
13namespace testing {
14
15class IChromeFramePrivilegedMockImpl : public IChromeFramePrivileged {
16 public:
17  // Auto-generated by target chrome_frame_privileged_mock
18#include "mock_ichromeframeprivileged.gen"  // NOLINT
19};
20
21class MockIChromeFramePrivileged
22  : public CComObjectRootEx<CComSingleThreadModel>,
23    public testing::StrictMock<IChromeFramePrivilegedMockImpl> {
24 public:
25  DECLARE_NOT_AGGREGATABLE(MockIChromeFramePrivileged)
26  BEGIN_COM_MAP(MockIChromeFramePrivileged)
27    COM_INTERFACE_ENTRY(IChromeFramePrivileged)
28  END_COM_MAP()
29  DECLARE_PROTECT_FINAL_CONSTRUCT()
30
31  HRESULT Initialize(MockIChromeFramePrivileged** cfp) {
32    *cfp = this;
33    return S_OK;
34  }
35};
36
37}  // namespace testing
38
39#endif  // CHROME_FRAME_TEST_CHROME_TAB_MOCKS_H_
40