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 14 namespace content { 15 16 class 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