OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ | 5 #ifndef EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ |
6 #define EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ | 6 #define EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 | 9 |
10 #include "base/memory/linked_ptr.h" | 10 #include "base/memory/linked_ptr.h" |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame); | 77 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame); |
78 ~ExtensionsGuestViewContainer() override; | 78 ~ExtensionsGuestViewContainer() override; |
79 | 79 |
80 static ExtensionsGuestViewContainer* FromID(int element_instance_id); | 80 static ExtensionsGuestViewContainer* FromID(int element_instance_id); |
81 | 81 |
82 void IssueRequest(linked_ptr<Request> request); | 82 void IssueRequest(linked_ptr<Request> request); |
83 void RegisterDestructionCallback(v8::Handle<v8::Function> callback, | 83 void RegisterDestructionCallback(v8::Handle<v8::Function> callback, |
84 v8::Isolate* isolate); | 84 v8::Isolate* isolate); |
85 | 85 |
86 // BrowserPluginDelegate implementation. | 86 // BrowserPluginDelegate implementation. |
| 87 bool OnMessageReceived(const IPC::Message& message) override; |
87 void SetElementInstanceID(int element_instance_id) override; | 88 void SetElementInstanceID(int element_instance_id) override; |
88 void Ready() override; | 89 void Ready() override; |
89 | 90 |
90 // GuestViewContainer override. | |
91 bool HandlesMessage(const IPC::Message& message) override; | |
92 bool OnMessage(const IPC::Message& message) override; | |
93 | |
94 private: | 91 private: |
95 void OnHandleCallback(const IPC::Message& message); | 92 void OnHandleCallback(const IPC::Message& message); |
96 | 93 |
97 void EnqueueRequest(linked_ptr<Request> request); | 94 void EnqueueRequest(linked_ptr<Request> request); |
98 void PerformPendingRequest(); | 95 void PerformPendingRequest(); |
99 void HandlePendingResponseCallback(const IPC::Message& message); | 96 void HandlePendingResponseCallback(const IPC::Message& message); |
100 | 97 |
101 bool ready_; | 98 bool ready_; |
102 | 99 |
103 std::deque<linked_ptr<Request> > pending_requests_; | 100 std::deque<linked_ptr<Request> > pending_requests_; |
104 linked_ptr<Request> pending_response_; | 101 linked_ptr<Request> pending_response_; |
105 | 102 |
106 ScopedPersistent<v8::Function> destruction_callback_; | 103 ScopedPersistent<v8::Function> destruction_callback_; |
107 v8::Isolate* destruction_isolate_; | 104 v8::Isolate* destruction_isolate_; |
108 | 105 |
109 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer); | 106 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer); |
110 }; | 107 }; |
111 | 108 |
112 } // namespace extensions | 109 } // namespace extensions |
113 | 110 |
114 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ | 111 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ |
OLD | NEW |