OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HELPER_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HELPER_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HELPER_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HELPER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
| 9 #include <deque> |
9 #include <map> | 10 #include <map> |
10 | 11 |
11 #include "base/atomic_sequence_num.h" | 12 #include "base/atomic_sequence_num.h" |
12 #include "base/hash_tables.h" | 13 #include "base/hash_tables.h" |
13 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
14 #include "base/process.h" | 15 #include "base/process.h" |
15 #include "base/synchronization/lock.h" | 16 #include "base/synchronization/lock.h" |
16 #include "base/synchronization/waitable_event.h" | 17 #include "base/synchronization/waitable_event.h" |
17 #include "content/public/common/window_container_type.h" | 18 #include "content/public/common/window_container_type.h" |
18 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" | 19 #include "third_party/WebKit/Source/WebKit/chromium/public/WebPopupType.h" |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 // Lookup the compositing surface corresponding to a widget ID. | 154 // Lookup the compositing surface corresponding to a widget ID. |
154 gfx::PluginWindowHandle LookupCompositingSurface(int render_widget_id); | 155 gfx::PluginWindowHandle LookupCompositingSurface(int render_widget_id); |
155 | 156 |
156 private: | 157 private: |
157 // A class used to proxy a paint message. PaintMsgProxy objects are created | 158 // A class used to proxy a paint message. PaintMsgProxy objects are created |
158 // on the IO thread and destroyed on the UI thread. | 159 // on the IO thread and destroyed on the UI thread. |
159 class UpdateMsgProxy; | 160 class UpdateMsgProxy; |
160 friend class UpdateMsgProxy; | 161 friend class UpdateMsgProxy; |
161 friend class base::RefCountedThreadSafe<RenderWidgetHelper>; | 162 friend class base::RefCountedThreadSafe<RenderWidgetHelper>; |
162 | 163 |
163 // Map from render_widget_id to live PaintMsgProxy instance. | 164 typedef std::deque<UpdateMsgProxy*> UpdateMsgProxyQueue; |
164 typedef base::hash_map<int, UpdateMsgProxy*> UpdateMsgProxyMap; | 165 // Map from render_widget_id to a queue of live PaintMsgProxy instances. |
| 166 typedef base::hash_map<int, UpdateMsgProxyQueue > UpdateMsgProxyMap; |
165 | 167 |
166 ~RenderWidgetHelper(); | 168 ~RenderWidgetHelper(); |
167 | 169 |
168 // Called on the UI thread to discard a paint message. | 170 // Called on the UI thread to discard a paint message. |
169 void OnDiscardUpdateMsg(UpdateMsgProxy* proxy); | 171 void OnDiscardUpdateMsg(UpdateMsgProxy* proxy); |
170 | 172 |
171 // Called on the UI thread to dispatch a paint message if necessary. | 173 // Called on the UI thread to dispatch a paint message if necessary. |
172 void OnDispatchUpdateMsg(UpdateMsgProxy* proxy); | 174 void OnDispatchUpdateMsg(UpdateMsgProxy* proxy); |
173 | 175 |
174 // Called on the UI thread to finish creating a window. | 176 // Called on the UI thread to finish creating a window. |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
220 | 222 |
221 // The next routing id to use. | 223 // The next routing id to use. |
222 base::AtomicSequenceNumber next_routing_id_; | 224 base::AtomicSequenceNumber next_routing_id_; |
223 | 225 |
224 ResourceDispatcherHost* resource_dispatcher_host_; | 226 ResourceDispatcherHost* resource_dispatcher_host_; |
225 | 227 |
226 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHelper); | 228 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHelper); |
227 }; | 229 }; |
228 | 230 |
229 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HELPER_H_ | 231 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HELPER_H_ |
OLD | NEW |