mock_browser_plugin_manager.h revision 2385ea399aae016c0806a4f9ef3c9cfe3d2a39df
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. 4 5#ifndef CONTENT_RENDERER_BROWSER_PLUGIN_MOCK_BROWSER_PLUGIN_MANAGER_H_ 6#define CONTENT_RENDERER_BROWSER_PLUGIN_MOCK_BROWSER_PLUGIN_MANAGER_H_ 7 8#include "content/renderer/browser_plugin/browser_plugin_manager.h" 9 10#include "base/memory/scoped_ptr.h" 11#include "ipc/ipc_message_utils.h" 12#include "ipc/ipc_test_sink.h" 13 14namespace content { 15 16class MockBrowserPluginManager : public BrowserPluginManager { 17 public: 18 MockBrowserPluginManager(RenderViewImpl* render_view); 19 20 // BrowserPluginManager implementation. 21 virtual BrowserPlugin* CreateBrowserPlugin( 22 RenderViewImpl* render_view, 23 WebKit::WebFrame* frame, 24 const WebKit::WebPluginParams& params) OVERRIDE; 25 virtual void AllocateInstanceID(BrowserPlugin* browser_plugin) OVERRIDE; 26 27 // Provides access to the messages that have been received by this thread. 28 IPC::TestSink& sink() { return sink_; } 29 30 // RenderViewObserver override. 31 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 32 virtual bool Send(IPC::Message* msg) OVERRIDE; 33 protected: 34 virtual ~MockBrowserPluginManager(); 35 void AllocateInstanceIDACK(BrowserPlugin* browser_plugin, 36 int guest_instance_id); 37 38 IPC::TestSink sink_; 39 40 // The last known good deserializer for sync messages. 41 scoped_ptr<IPC::MessageReplyDeserializer> reply_deserializer_; 42 43 int guest_instance_id_counter_; 44 45 DISALLOW_COPY_AND_ASSIGN(MockBrowserPluginManager); 46}; 47 48} // namespace content 49 50#endif // CONTENT_RENDERER_BROWSER_PLUGIN_MOCK_BROWSER_PLUGIN_MANAGER_H_ 51