Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2476)

Unified Diff: content/renderer/browser_plugin/browser_plugin_manager_impl.cc

Issue 10830072: Browser Plugin: New Implementation (Renderer Side) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Initialize content shell resources Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/browser_plugin/browser_plugin_manager_impl.cc
diff --git a/content/renderer/browser_plugin/browser_plugin_manager_impl.cc b/content/renderer/browser_plugin/browser_plugin_manager_impl.cc
new file mode 100644
index 0000000000000000000000000000000000000000..32d3573881c04f00abc5333b8e9bb42c993a4aaf
--- /dev/null
+++ b/content/renderer/browser_plugin/browser_plugin_manager_impl.cc
@@ -0,0 +1,74 @@
+// 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/renderer/browser_plugin/browser_plugin_manager_impl.h"
+
+#include "content/common/browser_plugin_messages.h"
+#include "content/renderer/browser_plugin/browser_plugin.h"
+#include "content/renderer/render_thread_impl.h"
+
+namespace content {
+
+BrowserPluginManagerImpl::BrowserPluginManagerImpl() {
+}
+
+BrowserPluginManagerImpl::~BrowserPluginManagerImpl() {
+}
+
+BrowserPlugin* BrowserPluginManagerImpl::CreateBrowserPlugin(
+ RenderViewImpl* render_view,
+ WebKit::WebFrame* frame,
+ const WebKit::WebPluginParams& params) {
+ return new BrowserPlugin(browser_plugin_counter_++,
+ render_view,
+ frame,
+ params);
+}
+
+bool BrowserPluginManagerImpl::Send(IPC::Message* msg) {
+ return RenderThread::Get()->Send(msg);
+}
+
+bool BrowserPluginManagerImpl::OnControlMessageReceived(
+ const IPC::Message& message) {
+ DCHECK(CalledOnValidThread());
+ bool handled = true;
+ IPC_BEGIN_MESSAGE_MAP(BrowserPluginManagerImpl, message)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_UpdateRect, OnUpdateRect)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_GuestCrashed,OnGuestCrashed)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_DidNavigate, OnDidNavigate)
+ IPC_MESSAGE_HANDLER(BrowserPluginMsg_AdvanceFocus, OnAdvanceFocus)
+ IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_END_MESSAGE_MAP()
+ return handled;
+}
+
+void BrowserPluginManagerImpl::OnUpdateRect(
+ int instance_id,
+ int message_id,
+ const BrowserPluginMsg_UpdateRect_Params& params) {
+ BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
+ if (plugin)
+ plugin->UpdateRect(message_id, params);
+}
+
+void BrowserPluginManagerImpl::OnGuestCrashed(int instance_id) {
+ BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
+ if (plugin)
+ plugin->GuestCrashed();
+}
+
+void BrowserPluginManagerImpl::OnDidNavigate(int instance_id, const GURL& url) {
+ BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
+ if (plugin)
+ plugin->DidNavigate(url);
+}
+
+void BrowserPluginManagerImpl::OnAdvanceFocus(int instance_id, bool reverse) {
+ BrowserPlugin* plugin = GetBrowserPlugin(instance_id);
+ if (plugin)
+ plugin->AdvanceFocus(reverse);
+}
+
+} // namespace content
« no previous file with comments | « content/renderer/browser_plugin/browser_plugin_manager_impl.h ('k') | content/renderer/browser_plugin/mock_browser_plugin.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698