| 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_RENDER_WIDGET_H_ | 5 #ifndef CONTENT_RENDERER_RENDER_WIDGET_H_ |
| 6 #define CONTENT_RENDERER_RENDER_WIDGET_H_ | 6 #define CONTENT_RENDERER_RENDER_WIDGET_H_ |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <map> | 9 #include <map> |
| 10 | 10 |
| (...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 // without ref-counting is an error. | 350 // without ref-counting is an error. |
| 351 friend class base::RefCounted<RenderWidget>; | 351 friend class base::RefCounted<RenderWidget>; |
| 352 // For unit tests. | 352 // For unit tests. |
| 353 friend class RenderWidgetTest; | 353 friend class RenderWidgetTest; |
| 354 | 354 |
| 355 enum ResizeAck { | 355 enum ResizeAck { |
| 356 SEND_RESIZE_ACK, | 356 SEND_RESIZE_ACK, |
| 357 NO_RESIZE_ACK, | 357 NO_RESIZE_ACK, |
| 358 }; | 358 }; |
| 359 | 359 |
| 360 RenderWidget(blink::WebPopupType popup_type, | 360 RenderWidget(CompositorDependencies* compositor_deps, |
| 361 blink::WebPopupType popup_type, |
| 361 const blink::WebScreenInfo& screen_info, | 362 const blink::WebScreenInfo& screen_info, |
| 362 bool swapped_out, | 363 bool swapped_out, |
| 363 bool hidden, | 364 bool hidden, |
| 364 bool never_visible); | 365 bool never_visible); |
| 365 | 366 |
| 366 ~RenderWidget() override; | 367 ~RenderWidget() override; |
| 367 | 368 |
| 368 static blink::WebWidget* CreateWebFrameWidget(RenderWidget* render_widget, | 369 static blink::WebWidget* CreateWebFrameWidget(RenderWidget* render_widget, |
| 369 blink::WebLocalFrame* frame); | 370 blink::WebLocalFrame* frame); |
| 370 | 371 |
| 371 // Creates a WebWidget based on the popup type. | 372 // Creates a WebWidget based on the popup type. |
| 372 static blink::WebWidget* CreateWebWidget(RenderWidget* render_widget); | 373 static blink::WebWidget* CreateWebWidget(RenderWidget* render_widget); |
| 373 | 374 |
| 374 // Initializes this view with the given opener. CompleteInit must be called | 375 // Initializes this view with the given opener. CompleteInit must be called |
| 375 // later. | 376 // later. |
| 376 bool Init(int32 opener_id, CompositorDependencies* compositor_deps); | 377 bool Init(int32 opener_id); |
| 377 | 378 |
| 378 // Called by Init and subclasses to perform initialization. | 379 // Called by Init and subclasses to perform initialization. |
| 379 bool DoInit(int32 opener_id, | 380 bool DoInit(int32 opener_id, |
| 380 CompositorDependencies* compositor_deps, | |
| 381 blink::WebWidget* web_widget, | 381 blink::WebWidget* web_widget, |
| 382 IPC::SyncMessage* create_widget_message); | 382 IPC::SyncMessage* create_widget_message); |
| 383 | 383 |
| 384 // Finishes creation of a pending view started with Init. | 384 // Finishes creation of a pending view started with Init. |
| 385 void CompleteInit(); | 385 void CompleteInit(); |
| 386 | 386 |
| 387 // Sets whether this RenderWidget has been swapped out to be displayed by | 387 // Sets whether this RenderWidget has been swapped out to be displayed by |
| 388 // a RenderWidget in a different process. If so, no new IPC messages will be | 388 // a RenderWidget in a different process. If so, no new IPC messages will be |
| 389 // sent (only ACKs) and the process is free to exit when there are no other | 389 // sent (only ACKs) and the process is free to exit when there are no other |
| 390 // active RenderWidgets. | 390 // active RenderWidgets. |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 596 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateGraphicsContext3D(); | 596 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateGraphicsContext3D(); |
| 597 | 597 |
| 598 // Routing ID that allows us to communicate to the parent browser process | 598 // Routing ID that allows us to communicate to the parent browser process |
| 599 // RenderWidgetHost. When MSG_ROUTING_NONE, no messages may be sent. | 599 // RenderWidgetHost. When MSG_ROUTING_NONE, no messages may be sent. |
| 600 int32 routing_id_; | 600 int32 routing_id_; |
| 601 | 601 |
| 602 int32 surface_id_; | 602 int32 surface_id_; |
| 603 | 603 |
| 604 // Dependencies for initializing a compositor, including flags for optional | 604 // Dependencies for initializing a compositor, including flags for optional |
| 605 // features. | 605 // features. |
| 606 CompositorDependencies* compositor_deps_; | 606 CompositorDependencies* const compositor_deps_; |
| 607 | 607 |
| 608 // We are responsible for destroying this object via its Close method. | 608 // We are responsible for destroying this object via its Close method. |
| 609 // May be NULL when the window is closing. | 609 // May be NULL when the window is closing. |
| 610 blink::WebWidget* webwidget_; | 610 blink::WebWidget* webwidget_; |
| 611 | 611 |
| 612 // This is lazily constructed and must not outlive webwidget_. | 612 // This is lazily constructed and must not outlive webwidget_. |
| 613 scoped_ptr<RenderWidgetCompositor> compositor_; | 613 scoped_ptr<RenderWidgetCompositor> compositor_; |
| 614 | 614 |
| 615 // Set to the ID of the view that initiated creating this view, if any. When | 615 // Set to the ID of the view that initiated creating this view, if any. When |
| 616 // the view was initiated by the browser (the common case), this will be | 616 // the view was initiated by the browser (the common case), this will be |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 825 ui::MenuSourceType context_menu_source_type_; | 825 ui::MenuSourceType context_menu_source_type_; |
| 826 bool has_host_context_menu_location_; | 826 bool has_host_context_menu_location_; |
| 827 gfx::Point host_context_menu_location_; | 827 gfx::Point host_context_menu_location_; |
| 828 | 828 |
| 829 DISALLOW_COPY_AND_ASSIGN(RenderWidget); | 829 DISALLOW_COPY_AND_ASSIGN(RenderWidget); |
| 830 }; | 830 }; |
| 831 | 831 |
| 832 } // namespace content | 832 } // namespace content |
| 833 | 833 |
| 834 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ | 834 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ |
| OLD | NEW |