// 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. #include "content/browser/browser_plugin/test_browser_plugin_embedder.h" #include "content/browser/browser_plugin/browser_plugin_embedder.h" #include "content/browser/web_contents/web_contents_impl.h" namespace content { TestBrowserPluginEmbedder::TestBrowserPluginEmbedder( WebContentsImpl* web_contents) : BrowserPluginEmbedder(web_contents), last_rvh_at_position_response_(NULL) { } TestBrowserPluginEmbedder::~TestBrowserPluginEmbedder() { } void TestBrowserPluginEmbedder::GetRenderViewHostCallback( RenderViewHost* rvh, int x, int y) { last_rvh_at_position_response_ = rvh; if (message_loop_runner_.get()) message_loop_runner_->Quit(); } void TestBrowserPluginEmbedder::WaitForRenderViewHostAtPosition(int x, int y) { GetRenderViewHostAtPosition(x, y, base::Bind(&TestBrowserPluginEmbedder::GetRenderViewHostCallback, base::Unretained(this))); message_loop_runner_ = new MessageLoopRunner(); message_loop_runner_->Run(); } WebContentsImpl* TestBrowserPluginEmbedder::web_contents() const { return static_cast<WebContentsImpl*>(BrowserPluginEmbedder::web_contents()); } } // namespace content