OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // A BrowserPluginGuest is the browser side of a browser <--> embedder | 5 // A BrowserPluginGuest is the browser side of a browser <--> embedder |
6 // renderer channel. A BrowserPlugin (a WebPlugin) is on the embedder | 6 // renderer channel. A BrowserPlugin (a WebPlugin) is on the embedder |
7 // renderer side of browser <--> embedder renderer communication. | 7 // renderer side of browser <--> embedder renderer communication. |
8 // | 8 // |
9 // BrowserPluginGuest lives on the UI thread of the browser process. It has a | 9 // BrowserPluginGuest lives on the UI thread of the browser process. It has a |
10 // helper, BrowserPluginGuestHelper, which is a RenderViewHostObserver. The | 10 // helper, BrowserPluginGuestHelper, which is a RenderViewHostObserver. The |
11 // helper object intercepts messages (ViewHostMsg_*) directed at the browser | 11 // helper object intercepts messages (ViewHostMsg_*) directed at the browser |
12 // process and redirects them to this class. Any messages about the guest render | 12 // process and redirects them to this class. Any messages about the guest render |
13 // process that the embedder might be interested in receiving should be listened | 13 // process that the embedder might be interested in receiving should be listened |
14 // for here. | 14 // for here. |
15 // | 15 // |
16 // BrowserPluginGuest is a WebContentsDelegate and WebContentsObserver for the | 16 // BrowserPluginGuest is a WebContentsDelegate and WebContentsObserver for the |
17 // guest WebContents. BrowserPluginGuest operates under the assumption that the | 17 // guest WebContents. BrowserPluginGuest operates under the assumption that the |
18 // guest will be accessible through only one RenderViewHost for the lifetime of | 18 // guest will be accessible through only one RenderViewHost for the lifetime of |
19 // the guest WebContents. Thus, cross-process navigation is not supported. | 19 // the guest WebContents. Thus, cross-process navigation is not supported. |
20 | 20 |
21 #ifndef CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ | 21 #ifndef CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ |
22 #define CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ | 22 #define CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ |
23 | 23 |
24 #include <map> | 24 #include <map> |
25 #include <queue> | 25 #include <queue> |
26 | 26 |
27 #include "base/compiler_specific.h" | 27 #include "base/compiler_specific.h" |
28 #include "base/id_map.h" | 28 #include "base/id_map.h" |
| 29 #include "base/memory/shared_memory.h" |
29 #include "base/memory/weak_ptr.h" | 30 #include "base/memory/weak_ptr.h" |
30 #include "base/shared_memory.h" | |
31 #include "base/values.h" | 31 #include "base/values.h" |
32 #include "content/common/browser_plugin/browser_plugin_message_enums.h" | 32 #include "content/common/browser_plugin/browser_plugin_message_enums.h" |
33 #include "content/common/edit_command.h" | 33 #include "content/common/edit_command.h" |
34 #include "content/port/common/input_event_ack_state.h" | 34 #include "content/port/common/input_event_ack_state.h" |
35 #include "content/public/browser/browser_plugin_guest_delegate.h" | 35 #include "content/public/browser/browser_plugin_guest_delegate.h" |
36 #include "content/public/browser/notification_observer.h" | 36 #include "content/public/browser/notification_observer.h" |
37 #include "content/public/browser/notification_registrar.h" | 37 #include "content/public/browser/notification_registrar.h" |
38 #include "content/public/browser/render_view_host_observer.h" | 38 #include "content/public/browser/render_view_host_observer.h" |
39 #include "content/public/browser/web_contents_delegate.h" | 39 #include "content/public/browser/web_contents_delegate.h" |
40 #include "content/public/browser/web_contents_observer.h" | 40 #include "content/public/browser/web_contents_observer.h" |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
482 std::queue<IPC::Message*> pending_messages_; | 482 std::queue<IPC::Message*> pending_messages_; |
483 | 483 |
484 scoped_ptr<BrowserPluginGuestDelegate> delegate_; | 484 scoped_ptr<BrowserPluginGuestDelegate> delegate_; |
485 | 485 |
486 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest); | 486 DISALLOW_COPY_AND_ASSIGN(BrowserPluginGuest); |
487 }; | 487 }; |
488 | 488 |
489 } // namespace content | 489 } // namespace content |
490 | 490 |
491 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ | 491 #endif // CONTENT_BROWSER_BROWSER_PLUGIN_BROWSER_PLUGIN_GUEST_H_ |
OLD | NEW |