| 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 #ifndef CONTENT_RENDERER_WEBPLUGIN_DELEGATE_PROXY_H_ | 5 #ifndef CONTENT_RENDERER_WEBPLUGIN_DELEGATE_PROXY_H_ |
| 6 #define CONTENT_RENDERER_WEBPLUGIN_DELEGATE_PROXY_H_ | 6 #define CONTENT_RENDERER_WEBPLUGIN_DELEGATE_PROXY_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 #endif | 200 #endif |
| 201 | 201 |
| 202 void OnURLRedirectResponse(bool allow, int resource_id); | 202 void OnURLRedirectResponse(bool allow, int resource_id); |
| 203 | 203 |
| 204 // Helper function that sends the UpdateGeometry message. | 204 // Helper function that sends the UpdateGeometry message. |
| 205 void SendUpdateGeometry(bool bitmaps_changed); | 205 void SendUpdateGeometry(bool bitmaps_changed); |
| 206 | 206 |
| 207 // Draw a graphic indicating a crashed plugin. | 207 // Draw a graphic indicating a crashed plugin. |
| 208 void PaintSadPlugin(WebKit::WebCanvas* canvas, const gfx::Rect& rect); | 208 void PaintSadPlugin(WebKit::WebCanvas* canvas, const gfx::Rect& rect); |
| 209 | 209 |
| 210 // Returns true if the given rectangle is different in the native drawing | |
| 211 // context and the current background bitmap. | |
| 212 bool BackgroundChanged(gfx::NativeDrawingContext context, | |
| 213 const gfx::Rect& rect); | |
| 214 | |
| 215 // Copies the given rectangle from the back-buffer transport_stores_ bitmap to | 210 // Copies the given rectangle from the back-buffer transport_stores_ bitmap to |
| 216 // the front-buffer transport_stores_ bitmap. | 211 // the front-buffer transport_stores_ bitmap. |
| 217 void CopyFromBackBufferToFrontBuffer(const gfx::Rect& rect); | 212 void CopyFromBackBufferToFrontBuffer(const gfx::Rect& rect); |
| 218 | 213 |
| 219 // Updates the front-buffer with the given rectangle from the back-buffer, | 214 // Updates the front-buffer with the given rectangle from the back-buffer, |
| 220 // either by copying the rectangle or flipping the buffers. | 215 // either by copying the rectangle or flipping the buffers. |
| 221 void UpdateFrontBuffer(const gfx::Rect& rect, bool allow_buffer_flipping); | 216 void UpdateFrontBuffer(const gfx::Rect& rect, bool allow_buffer_flipping); |
| 222 | 217 |
| 223 // Clears the shared memory section and canvases used for windowless plugins. | 218 // Clears the shared memory section and canvases used for windowless plugins. |
| 224 void ResetWindowlessBitmaps(); | 219 void ResetWindowlessBitmaps(); |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 // Event passed in by the plugin process and is used to decide if messages | 296 // Event passed in by the plugin process and is used to decide if messages |
| 302 // need to be pumped in the NPP_HandleEvent sync call. | 297 // need to be pumped in the NPP_HandleEvent sync call. |
| 303 scoped_ptr<base::WaitableEvent> modal_loop_pump_messages_event_; | 298 scoped_ptr<base::WaitableEvent> modal_loop_pump_messages_event_; |
| 304 | 299 |
| 305 // Bitmap for crashed plugin | 300 // Bitmap for crashed plugin |
| 306 SkBitmap* sad_plugin_; | 301 SkBitmap* sad_plugin_; |
| 307 | 302 |
| 308 // True if we got an invalidate from the plugin and are waiting for a paint. | 303 // True if we got an invalidate from the plugin and are waiting for a paint. |
| 309 bool invalidate_pending_; | 304 bool invalidate_pending_; |
| 310 | 305 |
| 311 // Used to desynchronize windowless painting. When WebKit paints, we bitblt | |
| 312 // from our front buffer store of what the plugin rectangle looks like. The | |
| 313 // plugin paints into the back buffer store, and we swap the buffers when we | |
| 314 // get an invalidate from it. The background bitmap is used for transparent | |
| 315 // plugins, as they need the background data during painting. | |
| 316 bool transparent_; | |
| 317 // The index in the transport_stores_ array of the current front buffer | 306 // The index in the transport_stores_ array of the current front buffer |
| 318 // (i.e., the buffer to display). | 307 // (i.e., the buffer to display). |
| 319 int front_buffer_index_; | 308 int front_buffer_index_; |
| 320 SharedBitmap transport_stores_[2]; | 309 SharedBitmap transport_stores_[2]; |
| 321 SharedBitmap background_store_; | |
| 322 // This lets us know the total portion of the transport store that has been | 310 // This lets us know the total portion of the transport store that has been |
| 323 // painted since the buffers were created. | 311 // painted since the buffers were created. |
| 324 gfx::Rect transport_store_painted_; | 312 gfx::Rect transport_store_painted_; |
| 325 // This is a bounding box on the portion of the front-buffer that was painted | 313 // This is a bounding box on the portion of the front-buffer that was painted |
| 326 // on the last buffer flip and which has not yet been re-painted in the | 314 // on the last buffer flip and which has not yet been re-painted in the |
| 327 // back-buffer. | 315 // back-buffer. |
| 328 gfx::Rect front_buffer_diff_; | 316 gfx::Rect front_buffer_diff_; |
| 329 | 317 |
| 330 // The url of the main frame hosting the plugin. | 318 // The url of the main frame hosting the plugin. |
| 331 GURL page_url_; | 319 GURL page_url_; |
| 332 | 320 |
| 333 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateProxy); | 321 DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateProxy); |
| 334 }; | 322 }; |
| 335 | 323 |
| 336 } // namespace content | 324 } // namespace content |
| 337 | 325 |
| 338 #endif // CONTENT_RENDERER_WEBPLUGIN_DELEGATE_PROXY_H_ | 326 #endif // CONTENT_RENDERER_WEBPLUGIN_DELEGATE_PROXY_H_ |
| OLD | NEW |