1 // Copyright (c) 2012 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.
5 #ifndef CONTENT_RENDERER_BROWSER_PLUGIN_MOCK_BROWSER_PLUGIN_MANAGER_H_
6 #define CONTENT_RENDERER_BROWSER_PLUGIN_MOCK_BROWSER_PLUGIN_MANAGER_H_
8 #include "content/renderer/browser_plugin/browser_plugin_manager.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "content/public/renderer/browser_plugin_delegate.h"
12 #include "ipc/ipc_message_utils.h"
13 #include "ipc/ipc_test_sink.h"
17 class MockBrowserPlugin;
19 class MockBrowserPluginManager : public BrowserPluginManager {
21 MockBrowserPluginManager(RenderViewImpl* render_view);
23 // BrowserPluginManager implementation.
24 virtual BrowserPlugin* CreateBrowserPlugin(
25 RenderViewImpl* render_view,
26 blink::WebFrame* frame,
27 scoped_ptr<BrowserPluginDelegate> delegate) OVERRIDE;
29 // Provides access to the messages that have been received by this thread.
30 IPC::TestSink& sink() { return sink_; }
32 // RenderViewObserver override.
33 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
34 virtual bool Send(IPC::Message* msg) OVERRIDE;
36 // Returns the latest browser plugin that was created by this manager.
37 MockBrowserPlugin* last_plugin() { return last_plugin_; }
40 virtual ~MockBrowserPluginManager();
44 // The last known good deserializer for sync messages.
45 scoped_ptr<IPC::MessageReplyDeserializer> reply_deserializer_;
47 MockBrowserPlugin* last_plugin_;
49 DISALLOW_COPY_AND_ASSIGN(MockBrowserPluginManager);
52 } // namespace content
54 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_MOCK_BROWSER_PLUGIN_MANAGER_H_