Index: chrome/browser/browser_plugin/chrome_browser_plugin_guest_observer.h |
diff --git a/chrome/browser/browser_plugin/chrome_browser_plugin_guest_observer.h b/chrome/browser/browser_plugin/chrome_browser_plugin_guest_observer.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8c0330bb10c59a3f1e2b57e1ea9b5c96a5365427 |
--- /dev/null |
+++ b/chrome/browser/browser_plugin/chrome_browser_plugin_guest_observer.h |
@@ -0,0 +1,56 @@ |
+// 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 CHROME_BROWSER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_GUEST_OBSERVER_H_ |
+#define CHROME_BROWSER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_GUEST_OBSERVER_H_ |
+ |
+#include "content/public/browser/browser_plugin/browser_plugin_guest_observer.h" |
+ |
+#include "base/memory/ref_counted.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/extensions/script_executor.h" |
+ |
+namespace base { |
+class ListValue; |
+} // namespace base |
+ |
+namespace extensions { |
+class Extension; |
+} // namespace extensions |
+ |
+class ChromeBrowserPluginGuestObserver |
+ : public content::BrowserPluginGuestObserver, |
+ public base::RefCounted<ChromeBrowserPluginGuestObserver> { |
+ public: |
+ explicit ChromeBrowserPluginGuestObserver(content::BrowserPluginGuest* guest); |
+ |
+ virtual bool OnMessageReceivedFromEmbedder( |
+ const IPC::Message& message) OVERRIDE; |
+ |
+ private: |
+ friend class base::RefCounted<ChromeBrowserPluginGuestObserver>; |
+ |
+ virtual ~ChromeBrowserPluginGuestObserver(); |
+ |
+ virtual void OnDestruct() OVERRIDE; |
+ |
+ // Message handlers. |
+ void OnExecuteScript(int instance_id, |
+ int request_id, |
+ const base::ListValue& list); |
+ void OnExecuteCodeFinished(int request_id, |
+ const std::string& error, |
+ int32 on_page_id, |
+ const GURL& on_url, |
+ const base::ListValue& script_result); |
+ |
+ ObserverList<extensions::TabHelper::ScriptExecutionObserver> |
+ script_observers_; |
+ scoped_ptr<extensions::ScriptExecutor> script_executor_; |
+ scoped_refptr<extensions::Extension> extension_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ChromeBrowserPluginGuestObserver); |
+}; |
+ |
+#endif // CHROME_BROWSER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_GUEST_OBSERVER_H_ |