diff options
Diffstat (limited to 'content/browser/browser_plugin/test_browser_plugin_embedder.h')
-rw-r--r-- | content/browser/browser_plugin/test_browser_plugin_embedder.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/content/browser/browser_plugin/test_browser_plugin_embedder.h b/content/browser/browser_plugin/test_browser_plugin_embedder.h new file mode 100644 index 0000000..6c62bdb --- /dev/null +++ b/content/browser/browser_plugin/test_browser_plugin_embedder.h @@ -0,0 +1,49 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_BROWSER_BROWSER_PLUGIN_TEST_BROWSER_PLUGIN_EMBEDDER_H_ +#define CONTENT_BROWSER_BROWSER_PLUGIN_TEST_BROWSER_PLUGIN_EMBEDDER_H_ + +#include "base/compiler_specific.h" +#include "content/browser/browser_plugin/browser_plugin_embedder.h" +#include "content/public/test/test_utils.h" + +class WebContentsImpl; + +namespace content { + +class BrowserPluginGuest; +class RenderViewHost; + +// Test class for BrowserPluginEmbedder. +// +// Provides utilities to wait for certain state/messages in +// BrowserPluginEmbedder to be used in tests. +class TestBrowserPluginEmbedder : public BrowserPluginEmbedder { + public: + TestBrowserPluginEmbedder(WebContentsImpl* web_contents, + RenderViewHost* render_view_host); + virtual ~TestBrowserPluginEmbedder(); + + const ContainerInstanceMap& guest_web_contents_for_testing() const { + return guest_web_contents_by_instance_id_; + } + + // Waits until at least one guest is added to this embedder. + void WaitForGuestAdded(); + + private: + // Overridden to intercept in test. + virtual void AddGuest(int instance_id, + WebContents* guest_web_contents, + int64 frame_id) OVERRIDE; + + scoped_refptr<MessageLoopRunner> message_loop_runner_; + + DISALLOW_COPY_AND_ASSIGN(TestBrowserPluginEmbedder); +}; + +} // namespace content + +#endif // CONTENT_BROWSER_BROWSER_PLUGIN_TEST_BROWSER_PLUGIN_EMBEDDER_H_ |