OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 CHROME_RENDERER_WEBPLUGIN_DELEGATE_PEPPER_H_ | 5 #ifndef CHROME_RENDERER_WEBPLUGIN_DELEGATE_PEPPER_H_ |
6 #define CHROME_RENDERER_WEBPLUGIN_DELEGATE_PEPPER_H_ | 6 #define CHROME_RENDERER_WEBPLUGIN_DELEGATE_PEPPER_H_ |
7 | 7 |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 void WindowlessSetWindow(bool force_set_window); | 157 void WindowlessSetWindow(bool force_set_window); |
158 | 158 |
159 //----------------------------------------- | 159 //----------------------------------------- |
160 // used for windowed and windowless plugins | 160 // used for windowed and windowless plugins |
161 | 161 |
162 NPAPI::PluginInstance* instance() { return instance_.get(); } | 162 NPAPI::PluginInstance* instance() { return instance_.get(); } |
163 | 163 |
164 // Closes down and destroys our plugin instance. | 164 // Closes down and destroys our plugin instance. |
165 void DestroyInstance(); | 165 void DestroyInstance(); |
166 | 166 |
| 167 #if defined(ENABLE_GPU) |
| 168 // Synchronize a 3D context state with the service. |
| 169 void Synchronize3DContext(NPDeviceContext3D* context, |
| 170 gpu::CommandBuffer::State state); |
| 171 #endif |
| 172 |
167 base::WeakPtr<RenderView> render_view_; | 173 base::WeakPtr<RenderView> render_view_; |
168 | 174 |
169 webkit_glue::WebPlugin* plugin_; | 175 webkit_glue::WebPlugin* plugin_; |
170 scoped_refptr<NPAPI::PluginInstance> instance_; | 176 scoped_refptr<NPAPI::PluginInstance> instance_; |
171 | 177 |
172 NPWindow window_; | 178 NPWindow window_; |
173 gfx::Rect window_rect_; | 179 gfx::Rect window_rect_; |
174 gfx::Rect clip_rect_; | 180 gfx::Rect clip_rect_; |
175 std::vector<gfx::Rect> cutout_rects_; | 181 std::vector<gfx::Rect> cutout_rects_; |
176 | 182 |
177 // Open device contexts | 183 // Open device contexts |
178 IDMap<Graphics2DDeviceContext, IDMapOwnPointer> graphic2d_contexts_; | 184 IDMap<Graphics2DDeviceContext, IDMapOwnPointer> graphic2d_contexts_; |
179 IDMap<AudioDeviceContext, IDMapOwnPointer> audio_contexts_; | 185 IDMap<AudioDeviceContext, IDMapOwnPointer> audio_contexts_; |
180 | 186 |
181 // Plugin graphics context implementation | 187 // Plugin graphics context implementation |
182 SkBitmap committed_bitmap_; | 188 SkBitmap committed_bitmap_; |
183 | 189 |
184 // The url with which the plugin was instantiated. | 190 // The url with which the plugin was instantiated. |
185 std::string plugin_url_; | 191 std::string plugin_url_; |
186 | 192 |
187 // The nested GPU plugin and its command buffer proxy. | 193 // The nested GPU plugin and its command buffer proxy. |
188 WebPluginDelegateProxy* nested_delegate_; | 194 WebPluginDelegateProxy* nested_delegate_; |
189 #if defined(ENABLE_GPU) | 195 #if defined(ENABLE_GPU) |
190 scoped_ptr<CommandBufferProxy> command_buffer_; | 196 scoped_ptr<CommandBufferProxy> command_buffer_; |
191 #endif | 197 #endif |
192 | 198 |
| 199 // Used to track whether additional commands have been put in the command |
| 200 // buffer since the last flush. |
| 201 int32 last_command_buffer_put_offset_; |
| 202 |
193 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegatePepper); | 203 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegatePepper); |
194 }; | 204 }; |
195 | 205 |
196 #endif // CHROME_RENDERER_WEBPLUGIN_DELEGATE_PEPPER_H_ | 206 #endif // CHROME_RENDERER_WEBPLUGIN_DELEGATE_PEPPER_H_ |
OLD | NEW |