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

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

Issue 1547073003: Switch to standard integer types in content/renderer/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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
« no previous file with comments | « content/renderer/render_view_mouse_lock_dispatcher.h ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <stddef.h>
9 #include <stdint.h>
10
8 #include <deque> 11 #include <deque>
9 #include <map> 12 #include <map>
10 13
11 #include "base/basictypes.h"
12 #include "base/callback.h" 14 #include "base/callback.h"
13 #include "base/compiler_specific.h" 15 #include "base/compiler_specific.h"
16 #include "base/macros.h"
14 #include "base/memory/ref_counted.h" 17 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h" 18 #include "base/memory/scoped_ptr.h"
16 #include "base/observer_list.h" 19 #include "base/observer_list.h"
17 #include "base/time/time.h" 20 #include "base/time/time.h"
21 #include "build/build_config.h"
18 #include "content/common/content_export.h" 22 #include "content/common/content_export.h"
19 #include "content/common/cursors/webcursor.h" 23 #include "content/common/cursors/webcursor.h"
20 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" 24 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
21 #include "content/common/input/synthetic_gesture_params.h" 25 #include "content/common/input/synthetic_gesture_params.h"
22 #include "content/renderer/input/render_widget_input_handler.h" 26 #include "content/renderer/input/render_widget_input_handler.h"
23 #include "content/renderer/input/render_widget_input_handler_delegate.h" 27 #include "content/renderer/input/render_widget_input_handler_delegate.h"
24 #include "content/renderer/message_delivery_policy.h" 28 #include "content/renderer/message_delivery_policy.h"
25 #include "ipc/ipc_listener.h" 29 #include "ipc/ipc_listener.h"
26 #include "ipc/ipc_sender.h" 30 #include "ipc/ipc_sender.h"
27 #include "third_party/WebKit/public/platform/WebDisplayMode.h" 31 #include "third_party/WebKit/public/platform/WebDisplayMode.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 // - Widgets for frames (for out-of-process iframe support) 101 // - Widgets for frames (for out-of-process iframe support)
98 class CONTENT_EXPORT RenderWidget 102 class CONTENT_EXPORT RenderWidget
99 : public IPC::Listener, 103 : public IPC::Listener,
100 public IPC::Sender, 104 public IPC::Sender,
101 NON_EXPORTED_BASE(virtual public blink::WebWidgetClient), 105 NON_EXPORTED_BASE(virtual public blink::WebWidgetClient),
102 public RenderWidgetInputHandlerDelegate, 106 public RenderWidgetInputHandlerDelegate,
103 public base::RefCounted<RenderWidget> { 107 public base::RefCounted<RenderWidget> {
104 public: 108 public:
105 // Creates a new RenderWidget. The opener_id is the routing ID of the 109 // Creates a new RenderWidget. The opener_id is the routing ID of the
106 // RenderView that this widget lives inside. 110 // RenderView that this widget lives inside.
107 static RenderWidget* Create(int32 opener_id, 111 static RenderWidget* Create(int32_t opener_id,
108 CompositorDependencies* compositor_deps, 112 CompositorDependencies* compositor_deps,
109 blink::WebPopupType popup_type, 113 blink::WebPopupType popup_type,
110 const blink::WebScreenInfo& screen_info); 114 const blink::WebScreenInfo& screen_info);
111 115
112 // Creates a new RenderWidget that will be attached to a RenderFrame. 116 // Creates a new RenderWidget that will be attached to a RenderFrame.
113 static RenderWidget* CreateForFrame(int routing_id, 117 static RenderWidget* CreateForFrame(int routing_id,
114 bool hidden, 118 bool hidden,
115 const blink::WebScreenInfo& screen_info, 119 const blink::WebScreenInfo& screen_info,
116 CompositorDependencies* compositor_deps, 120 CompositorDependencies* compositor_deps,
117 blink::WebLocalFrame* frame); 121 blink::WebLocalFrame* frame);
118 122
119 // Closes a RenderWidget that was created by |CreateForFrame|. 123 // Closes a RenderWidget that was created by |CreateForFrame|.
120 // TODO(avi): De-virtualize this once RenderViewImpl has-a RenderWidget. 124 // TODO(avi): De-virtualize this once RenderViewImpl has-a RenderWidget.
121 // https://crbug.com/545684 125 // https://crbug.com/545684
122 virtual void CloseForFrame(); 126 virtual void CloseForFrame();
123 127
124 int32 routing_id() const { return routing_id_; } 128 int32_t routing_id() const { return routing_id_; }
125 CompositorDependencies* compositor_deps() const { return compositor_deps_; } 129 CompositorDependencies* compositor_deps() const { return compositor_deps_; }
126 blink::WebWidget* webwidget() const { return webwidget_; } 130 blink::WebWidget* webwidget() const { return webwidget_; }
127 gfx::Size size() const { return size_; } 131 gfx::Size size() const { return size_; }
128 bool is_fullscreen_granted() const { return is_fullscreen_granted_; } 132 bool is_fullscreen_granted() const { return is_fullscreen_granted_; }
129 blink::WebDisplayMode display_mode() const { return display_mode_; } 133 blink::WebDisplayMode display_mode() const { return display_mode_; }
130 bool is_hidden() const { return is_hidden_; } 134 bool is_hidden() const { return is_hidden_; }
131 // Temporary for debugging purposes... 135 // Temporary for debugging purposes...
132 bool closing() const { return closing_; } 136 bool closing() const { return closing_; }
133 bool is_swapped_out() { return is_swapped_out_; } 137 bool is_swapped_out() { return is_swapped_out_; }
134 bool for_oopif() { return for_oopif_; } 138 bool for_oopif() { return for_oopif_; }
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 360
357 ~RenderWidget() override; 361 ~RenderWidget() override;
358 362
359 static blink::WebWidget* CreateWebFrameWidget(RenderWidget* render_widget, 363 static blink::WebWidget* CreateWebFrameWidget(RenderWidget* render_widget,
360 blink::WebLocalFrame* frame); 364 blink::WebLocalFrame* frame);
361 365
362 // Creates a WebWidget based on the popup type. 366 // Creates a WebWidget based on the popup type.
363 static blink::WebWidget* CreateWebWidget(RenderWidget* render_widget); 367 static blink::WebWidget* CreateWebWidget(RenderWidget* render_widget);
364 368
365 // Initializes this view with the given opener. 369 // Initializes this view with the given opener.
366 bool Init(int32 opener_id); 370 bool Init(int32_t opener_id);
367 371
368 // Called by Init and subclasses to perform initialization. 372 // Called by Init and subclasses to perform initialization.
369 bool DoInit(int32 opener_id, 373 bool DoInit(int32_t opener_id,
370 blink::WebWidget* web_widget, 374 blink::WebWidget* web_widget,
371 IPC::SyncMessage* create_widget_message); 375 IPC::SyncMessage* create_widget_message);
372 376
373 // Sets whether this RenderWidget has been swapped out to be displayed by 377 // Sets whether this RenderWidget has been swapped out to be displayed by
374 // a RenderWidget in a different process. If so, no new IPC messages will be 378 // a RenderWidget in a different process. If so, no new IPC messages will be
375 // sent (only ACKs) and the process is free to exit when there are no other 379 // sent (only ACKs) and the process is free to exit when there are no other
376 // active RenderWidgets. 380 // active RenderWidgets.
377 void SetSwappedOut(bool is_swapped_out); 381 void SetSwappedOut(bool is_swapped_out);
378 382
379 // Allows the process to exit once the unload handler has finished, if there 383 // Allows the process to exit once the unload handler has finished, if there
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 void OnClose(); 419 void OnClose();
416 void OnCreatingNewAck(); 420 void OnCreatingNewAck();
417 virtual void OnResize(const ViewMsg_Resize_Params& params); 421 virtual void OnResize(const ViewMsg_Resize_Params& params);
418 void OnEnableDeviceEmulation(const blink::WebDeviceEmulationParams& params); 422 void OnEnableDeviceEmulation(const blink::WebDeviceEmulationParams& params);
419 void OnDisableDeviceEmulation(); 423 void OnDisableDeviceEmulation();
420 void OnColorProfile(const std::vector<char>& color_profile); 424 void OnColorProfile(const std::vector<char>& color_profile);
421 void OnChangeResizeRect(const gfx::Rect& resizer_rect); 425 void OnChangeResizeRect(const gfx::Rect& resizer_rect);
422 virtual void OnWasHidden(); 426 virtual void OnWasHidden();
423 virtual void OnWasShown(bool needs_repainting, 427 virtual void OnWasShown(bool needs_repainting,
424 const ui::LatencyInfo& latency_info); 428 const ui::LatencyInfo& latency_info);
425 void OnCreateVideoAck(int32 video_id); 429 void OnCreateVideoAck(int32_t video_id);
426 void OnUpdateVideoAck(int32 video_id); 430 void OnUpdateVideoAck(int32_t video_id);
427 void OnRequestMoveAck(); 431 void OnRequestMoveAck();
428 virtual void OnImeSetComposition( 432 virtual void OnImeSetComposition(
429 const base::string16& text, 433 const base::string16& text,
430 const std::vector<blink::WebCompositionUnderline>& underlines, 434 const std::vector<blink::WebCompositionUnderline>& underlines,
431 int selection_start, 435 int selection_start,
432 int selection_end); 436 int selection_end);
433 virtual void OnImeConfirmComposition(const base::string16& text, 437 virtual void OnImeConfirmComposition(const base::string16& text,
434 const gfx::Range& replacement_range, 438 const gfx::Range& replacement_range,
435 bool keep_selection); 439 bool keep_selection);
436 // Called when the device scale factor is changed, or the layer tree is 440 // Called when the device scale factor is changed, or the layer tree is
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
539 // Called when value of focused text field gets dirty, e.g. value is modified 543 // Called when value of focused text field gets dirty, e.g. value is modified
540 // by script, not by user input. 544 // by script, not by user input.
541 void didUpdateTextOfFocusedElementByNonUserInput() override; 545 void didUpdateTextOfFocusedElementByNonUserInput() override;
542 546
543 // Creates a 3D context associated with this view. 547 // Creates a 3D context associated with this view.
544 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateGraphicsContext3D( 548 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> CreateGraphicsContext3D(
545 bool compositor); 549 bool compositor);
546 550
547 // Routing ID that allows us to communicate to the parent browser process 551 // Routing ID that allows us to communicate to the parent browser process
548 // RenderWidgetHost. When MSG_ROUTING_NONE, no messages may be sent. 552 // RenderWidgetHost. When MSG_ROUTING_NONE, no messages may be sent.
549 int32 routing_id_; 553 int32_t routing_id_;
550 554
551 // Dependencies for initializing a compositor, including flags for optional 555 // Dependencies for initializing a compositor, including flags for optional
552 // features. 556 // features.
553 CompositorDependencies* const compositor_deps_; 557 CompositorDependencies* const compositor_deps_;
554 558
555 // We are responsible for destroying this object via its Close method. 559 // We are responsible for destroying this object via its Close method.
556 // May be NULL when the window is closing. 560 // May be NULL when the window is closing.
557 blink::WebWidget* webwidget_; 561 blink::WebWidget* webwidget_;
558 562
559 // This is lazily constructed and must not outlive webwidget_. 563 // This is lazily constructed and must not outlive webwidget_.
560 scoped_ptr<RenderWidgetCompositor> compositor_; 564 scoped_ptr<RenderWidgetCompositor> compositor_;
561 565
562 // Set to the ID of the view that initiated creating this view, if any. When 566 // Set to the ID of the view that initiated creating this view, if any. When
563 // the view was initiated by the browser (the common case), this will be 567 // the view was initiated by the browser (the common case), this will be
564 // MSG_ROUTING_NONE. This is used in determining ownership when opening 568 // MSG_ROUTING_NONE. This is used in determining ownership when opening
565 // child tabs. See RenderWidget::createWebViewWithRequest. 569 // child tabs. See RenderWidget::createWebViewWithRequest.
566 // 570 //
567 // This ID may refer to an invalid view if that view is closed before this 571 // This ID may refer to an invalid view if that view is closed before this
568 // view is. 572 // view is.
569 int32 opener_id_; 573 int32_t opener_id_;
570 574
571 // The rect where this view should be initially shown. 575 // The rect where this view should be initially shown.
572 gfx::Rect initial_rect_; 576 gfx::Rect initial_rect_;
573 577
574 // We store the current cursor object so we can avoid spamming SetCursor 578 // We store the current cursor object so we can avoid spamming SetCursor
575 // messages. 579 // messages.
576 WebCursor current_cursor_; 580 WebCursor current_cursor_;
577 581
578 // The size of the RenderWidget. 582 // The size of the RenderWidget.
579 gfx::Size size_; 583 gfx::Size size_;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 701
698 // The device color profile on supported platforms. 702 // The device color profile on supported platforms.
699 std::vector<char> device_color_profile_; 703 std::vector<char> device_color_profile_;
700 704
701 // State associated with synthetic gestures. Synthetic gestures are processed 705 // State associated with synthetic gestures. Synthetic gestures are processed
702 // in-order, so a queue is sufficient to identify the correct state for a 706 // in-order, so a queue is sufficient to identify the correct state for a
703 // completed gesture. 707 // completed gesture.
704 std::queue<SyntheticGestureCompletionCallback> 708 std::queue<SyntheticGestureCompletionCallback>
705 pending_synthetic_gesture_callbacks_; 709 pending_synthetic_gesture_callbacks_;
706 710
707 uint32 next_output_surface_id_; 711 uint32_t next_output_surface_id_;
708 712
709 #if defined(OS_ANDROID) 713 #if defined(OS_ANDROID)
710 // Indicates value in the focused text field is in dirty state, i.e. modified 714 // Indicates value in the focused text field is in dirty state, i.e. modified
711 // by script etc., not by user input. 715 // by script etc., not by user input.
712 bool text_field_is_dirty_; 716 bool text_field_is_dirty_;
713 717
714 // Stores the history of text input infos from the last ACK'ed one from the 718 // Stores the history of text input infos from the last ACK'ed one from the
715 // current one. The size is the number of pending ACKs plus one, since we 719 // current one. The size is the number of pending ACKs plus one, since we
716 // intentionally keep the last ack'd value to know what the browser is 720 // intentionally keep the last ack'd value to know what the browser is
717 // currently aware of. 721 // currently aware of.
(...skipping 28 matching lines...) Expand all
746 750
747 scoped_ptr<scheduler::RenderWidgetSchedulingState> 751 scoped_ptr<scheduler::RenderWidgetSchedulingState>
748 render_widget_scheduling_state_; 752 render_widget_scheduling_state_;
749 753
750 DISALLOW_COPY_AND_ASSIGN(RenderWidget); 754 DISALLOW_COPY_AND_ASSIGN(RenderWidget);
751 }; 755 };
752 756
753 } // namespace content 757 } // namespace content
754 758
755 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ 759 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_
OLDNEW
« no previous file with comments | « content/renderer/render_view_mouse_lock_dispatcher.h ('k') | content/renderer/render_widget.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698