Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(273)

Side by Side Diff: content/renderer/browser_plugin/browser_plugin.h

Issue 23691039: Reland attempt 2: Improve <webview> autosize: (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Relax checking width/height since bunch of removeAttribute() and style.width assignments are not at… Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ 5 #ifndef CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_
6 #define CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ 6 #define CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_
7 7
8 #include "third_party/WebKit/public/web/WebPlugin.h" 8 #include "third_party/WebKit/public/web/WebPlugin.h"
9 9
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 virtual base::SharedMemory* CreateDamageBuffer( 245 virtual base::SharedMemory* CreateDamageBuffer(
246 const size_t size, 246 const size_t size,
247 base::SharedMemoryHandle* shared_memory_handle); 247 base::SharedMemoryHandle* shared_memory_handle);
248 // Swaps out the |current_damage_buffer_| with the |pending_damage_buffer_|. 248 // Swaps out the |current_damage_buffer_| with the |pending_damage_buffer_|.
249 void SwapDamageBuffers(); 249 void SwapDamageBuffers();
250 250
251 // Populates BrowserPluginHostMsg_ResizeGuest_Params with resize state and 251 // Populates BrowserPluginHostMsg_ResizeGuest_Params with resize state and
252 // allocates a new |pending_damage_buffer_| if in software rendering mode. 252 // allocates a new |pending_damage_buffer_| if in software rendering mode.
253 void PopulateResizeGuestParameters( 253 void PopulateResizeGuestParameters(
254 BrowserPluginHostMsg_ResizeGuest_Params* params, 254 BrowserPluginHostMsg_ResizeGuest_Params* params,
255 const gfx::Rect& view_size); 255 const gfx::Rect& view_size,
256 bool needs_repaint);
256 257
257 // Populates BrowserPluginHostMsg_AutoSize_Params object with autosize state. 258 // Populates BrowserPluginHostMsg_AutoSize_Params object with autosize state.
258 void PopulateAutoSizeParameters( 259 void PopulateAutoSizeParameters(
259 BrowserPluginHostMsg_AutoSize_Params* params, bool current_auto_size); 260 BrowserPluginHostMsg_AutoSize_Params* params, bool auto_size_enabled);
260 261
261 // Populates both AutoSize and ResizeGuest parameters based on the current 262 // Populates both AutoSize and ResizeGuest parameters based on the current
262 // autosize state. 263 // autosize state.
263 void GetDamageBufferWithSizeParams( 264 void GetDamageBufferWithSizeParams(
264 BrowserPluginHostMsg_AutoSize_Params* auto_size_params, 265 BrowserPluginHostMsg_AutoSize_Params* auto_size_params,
265 BrowserPluginHostMsg_ResizeGuest_Params* resize_guest_params); 266 BrowserPluginHostMsg_ResizeGuest_Params* resize_guest_params,
267 bool needs_repaint);
266 268
267 // Informs the guest of an updated autosize state. 269 // Informs the guest of an updated autosize state.
268 void UpdateGuestAutoSizeState(bool current_auto_size); 270 void UpdateGuestAutoSizeState(bool auto_size_enabled);
269 271
270 // Indicates whether a damage buffer was used by the guest process for the 272 // Indicates whether a damage buffer was used by the guest process for the
271 // provided |params|. 273 // provided |params|.
272 static bool UsesDamageBuffer( 274 static bool UsesDamageBuffer(
273 const BrowserPluginMsg_UpdateRect_Params& params); 275 const BrowserPluginMsg_UpdateRect_Params& params);
274 276
275 // Indicates whether the |pending_damage_buffer_| was used to copy over pixels 277 // Indicates whether the |pending_damage_buffer_| was used to copy over pixels
276 // given the provided |params|. 278 // given the provided |params|.
277 bool UsesPendingDamageBuffer( 279 bool UsesPendingDamageBuffer(
278 const BrowserPluginMsg_UpdateRect_Params& params); 280 const BrowserPluginMsg_UpdateRect_Params& params);
(...skipping 26 matching lines...) Expand all
305 // We cache the |render_view_|'s routing ID because we need it on destruction. 307 // We cache the |render_view_|'s routing ID because we need it on destruction.
306 // If the |render_view_| is destroyed before the BrowserPlugin is destroyed 308 // If the |render_view_| is destroyed before the BrowserPlugin is destroyed
307 // then we will attempt to access a NULL pointer. 309 // then we will attempt to access a NULL pointer.
308 int render_view_routing_id_; 310 int render_view_routing_id_;
309 WebKit::WebPluginContainer* container_; 311 WebKit::WebPluginContainer* container_;
310 scoped_ptr<BrowserPluginBindings> bindings_; 312 scoped_ptr<BrowserPluginBindings> bindings_;
311 scoped_ptr<BrowserPluginBackingStore> backing_store_; 313 scoped_ptr<BrowserPluginBackingStore> backing_store_;
312 scoped_ptr<base::SharedMemory> current_damage_buffer_; 314 scoped_ptr<base::SharedMemory> current_damage_buffer_;
313 scoped_ptr<base::SharedMemory> pending_damage_buffer_; 315 scoped_ptr<base::SharedMemory> pending_damage_buffer_;
314 uint32 damage_buffer_sequence_id_; 316 uint32 damage_buffer_sequence_id_;
315 bool resize_ack_received_; 317 bool paint_ack_received_;
316 gfx::Rect plugin_rect_; 318 gfx::Rect plugin_rect_;
317 float last_device_scale_factor_; 319 float last_device_scale_factor_;
318 // Bitmap for crashed plugin. Lazily initialized, non-owning pointer. 320 // Bitmap for crashed plugin. Lazily initialized, non-owning pointer.
319 SkBitmap* sad_guest_; 321 SkBitmap* sad_guest_;
320 bool guest_crashed_; 322 bool guest_crashed_;
321 scoped_ptr<BrowserPluginHostMsg_ResizeGuest_Params> pending_resize_params_; 323 scoped_ptr<BrowserPluginHostMsg_ResizeGuest_Params> pending_resize_params_;
322 bool auto_size_ack_pending_; 324 bool is_auto_size_state_dirty_;
325 // Maximum size constraint for autosize.
326 gfx::Size max_auto_size_;
323 std::string storage_partition_id_; 327 std::string storage_partition_id_;
324 bool persist_storage_; 328 bool persist_storage_;
325 bool valid_partition_id_; 329 bool valid_partition_id_;
326 int content_window_routing_id_; 330 int content_window_routing_id_;
327 bool plugin_focused_; 331 bool plugin_focused_;
328 // Tracks the visibility of the browser plugin regardless of the whole 332 // Tracks the visibility of the browser plugin regardless of the whole
329 // embedder RenderView's visibility. 333 // embedder RenderView's visibility.
330 bool visible_; 334 bool visible_;
331 335
332 WebCursor cursor_; 336 WebCursor cursor_;
(...skipping 22 matching lines...) Expand all
355 base::WeakPtrFactory<BrowserPlugin> weak_ptr_factory_; 359 base::WeakPtrFactory<BrowserPlugin> weak_ptr_factory_;
356 360
357 std::vector<EditCommand> edit_commands_; 361 std::vector<EditCommand> edit_commands_;
358 362
359 DISALLOW_COPY_AND_ASSIGN(BrowserPlugin); 363 DISALLOW_COPY_AND_ASSIGN(BrowserPlugin);
360 }; 364 };
361 365
362 } // namespace content 366 } // namespace content
363 367
364 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_ 368 #endif // CONTENT_RENDERER_BROWSER_PLUGIN_BROWSER_PLUGIN_H_
OLDNEW
« no previous file with comments | « content/browser/browser_plugin/browser_plugin_guest.cc ('k') | content/renderer/browser_plugin/browser_plugin.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698