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

Side by Side Diff: content/browser/renderer_host/render_widget_host_delegate.h

Issue 1410313006: Separate RenderViewHost from RenderWidgetHost, part 5: move calls to the RenderWidgetHostDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 1 month 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 (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_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_DELEGATE_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_DELEGATE_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_DELEGATE_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_DELEGATE_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 #include "content/common/content_export.h" 10 #include "content/common/content_export.h"
11 #include "third_party/WebKit/public/web/WebInputEvent.h" 11 #include "third_party/WebKit/public/web/WebInputEvent.h"
12 #include "ui/gfx/native_widget_types.h" 12 #include "ui/gfx/native_widget_types.h"
13 13
14 namespace blink { 14 namespace blink {
15 class WebMouseWheelEvent; 15 class WebMouseWheelEvent;
16 class WebGestureEvent; 16 class WebGestureEvent;
17 } 17 }
18 18
19 namespace gfx { 19 namespace gfx {
20 class Point; 20 class Point;
21 class Rect;
22 class Size;
21 } 23 }
22 24
23 namespace content { 25 namespace content {
24 26
25 class BrowserAccessibilityManager; 27 class BrowserAccessibilityManager;
26 class RenderWidgetHostImpl; 28 class RenderWidgetHostImpl;
27 class RenderWidgetHostInputEventRouter; 29 class RenderWidgetHostInputEventRouter;
28 struct NativeWebKeyboardEvent; 30 struct NativeWebKeyboardEvent;
29 31
30 // 32 //
31 // RenderWidgetHostDelegate 33 // RenderWidgetHostDelegate
32 // 34 //
33 // An interface implemented by an object interested in knowing about the state 35 // An interface implemented by an object interested in knowing about the state
34 // of the RenderWidgetHost. 36 // of the RenderWidgetHost.
35 class CONTENT_EXPORT RenderWidgetHostDelegate { 37 class CONTENT_EXPORT RenderWidgetHostDelegate {
36 public: 38 public:
37 // The RenderWidgetHost is going to be deleted. 39 // The RenderWidgetHost is going to be deleted.
38 virtual void RenderWidgetDeleted(RenderWidgetHostImpl* render_widget_host) {} 40 virtual void RenderWidgetDeleted(RenderWidgetHostImpl* render_widget_host) {}
39 41
40 // The RenderWidgetHost got the focus. 42 // The RenderWidgetHost got the focus.
41 virtual void RenderWidgetGotFocus(RenderWidgetHostImpl* render_widget_host) {} 43 virtual void RenderWidgetGotFocus(RenderWidgetHostImpl* render_widget_host) {}
42 44
43 // The RenderWidget was resized. 45 // The RenderWidget was resized.
44 virtual void RenderWidgetWasResized(RenderWidgetHostImpl* render_widget_host, 46 virtual void RenderWidgetWasResized(RenderWidgetHostImpl* render_widget_host,
45 bool width_changed) {} 47 bool width_changed) {}
46 48
49 // The contents auto-resized and the container should match it.
50 virtual void ResizeDueToAutoResize(const gfx::Size& new_size) {}
51
47 // The screen info has changed. 52 // The screen info has changed.
48 virtual void ScreenInfoChanged() {} 53 virtual void ScreenInfoChanged() {}
49 54
50 // Callback to give the browser a chance to handle the specified keyboard 55 // Callback to give the browser a chance to handle the specified keyboard
51 // event before sending it to the renderer. 56 // event before sending it to the renderer.
52 // Returns true if the |event| was handled. Otherwise, if the |event| would 57 // Returns true if the |event| was handled. Otherwise, if the |event| would
53 // be handled in HandleKeyboardEvent() method as a normal keyboard shortcut, 58 // be handled in HandleKeyboardEvent() method as a normal keyboard shortcut,
54 // |*is_keyboard_shortcut| should be set to true. 59 // |*is_keyboard_shortcut| should be set to true.
55 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, 60 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
56 bool* is_keyboard_shortcut); 61 bool* is_keyboard_shortcut);
(...skipping 11 matching lines...) Expand all
68 // Notification the user has performed a direct interaction (mouse down, raw 73 // Notification the user has performed a direct interaction (mouse down, raw
69 // key down, or gesture tap) while focus was on the page. This is used to 74 // key down, or gesture tap) while focus was on the page. This is used to
70 // inform the delegate that a user is interacting with a site. 75 // inform the delegate that a user is interacting with a site.
71 virtual void OnUserInteraction(const blink::WebInputEvent::Type type) {} 76 virtual void OnUserInteraction(const blink::WebInputEvent::Type type) {}
72 77
73 // Callback to give the browser a chance to handle the specified gesture 78 // Callback to give the browser a chance to handle the specified gesture
74 // event before sending it to the renderer. 79 // event before sending it to the renderer.
75 // Returns true if the |event| was handled. 80 // Returns true if the |event| was handled.
76 virtual bool PreHandleGestureEvent(const blink::WebGestureEvent& event); 81 virtual bool PreHandleGestureEvent(const blink::WebGestureEvent& event);
77 82
83 // Notification the user has made a gesture while focus was on the
84 // page. This is used to avoid uninitiated user downloads (aka carpet
85 // bombing), see DownloadRequestLimiter for details.
86 virtual void OnUserGesture() {}
87
78 // Notifies that screen rects were sent to renderer process. 88 // Notifies that screen rects were sent to renderer process.
79 virtual void DidSendScreenRects(RenderWidgetHostImpl* rwh) {} 89 virtual void DidSendScreenRects(RenderWidgetHostImpl* rwh) {}
80 90
81 // Get the root BrowserAccessibilityManager for this frame tree. 91 // Get the root BrowserAccessibilityManager for this frame tree.
82 virtual BrowserAccessibilityManager* GetRootBrowserAccessibilityManager(); 92 virtual BrowserAccessibilityManager* GetRootBrowserAccessibilityManager();
83 93
84 // Get the root BrowserAccessibilityManager for this frame tree, 94 // Get the root BrowserAccessibilityManager for this frame tree,
85 // or create it if it doesn't exist. 95 // or create it if it doesn't exist.
86 virtual BrowserAccessibilityManager* 96 virtual BrowserAccessibilityManager*
87 GetOrCreateRootBrowserAccessibilityManager(); 97 GetOrCreateRootBrowserAccessibilityManager();
(...skipping 10 matching lines...) Expand all
98 // Requests the renderer to select the region between two points in the 108 // Requests the renderer to select the region between two points in the
99 // currently focused frame. 109 // currently focused frame.
100 virtual void SelectRange(const gfx::Point& base, const gfx::Point& extent) {} 110 virtual void SelectRange(const gfx::Point& base, const gfx::Point& extent) {}
101 111
102 virtual RenderWidgetHostInputEventRouter* GetInputEventRouter(); 112 virtual RenderWidgetHostInputEventRouter* GetInputEventRouter();
103 113
104 // Send page-level focus state to all SiteInstances involved in rendering the 114 // Send page-level focus state to all SiteInstances involved in rendering the
105 // current FrameTree, not including the main frame's SiteInstance. 115 // current FrameTree, not including the main frame's SiteInstance.
106 virtual void ReplicatePageFocus(bool is_focused) {} 116 virtual void ReplicatePageFocus(bool is_focused) {}
107 117
118 // Notification that the renderer has become unresponsive. The
119 // delegate can use this notification to show a warning to the user.
120 virtual void RendererUnresponsive(RenderWidgetHostImpl* render_widget_host) {}
121
122 // Notification that a previously unresponsive renderer has become
123 // responsive again. The delegate can use this notification to end the
124 // warning shown to the user.
125 virtual void RendererResponsive(RenderWidgetHostImpl* render_widget_host) {}
126
127 // Requests to lock the mouse. Once the request is approved or rejected,
128 // GotResponseToLockMouseRequest() will be called on the requesting render
129 // widget host.
130 virtual void RequestToLockMouse(bool user_gesture,
131 bool last_unlocked_by_target) {}
132
133 // Return the rect where to display the resize corner, if any, otherwise
134 // an empty rect.
135 virtual gfx::Rect GetRootWindowResizerRect() const;
136
108 #if defined(OS_WIN) 137 #if defined(OS_WIN)
109 virtual gfx::NativeViewAccessible GetParentNativeViewAccessible(); 138 virtual gfx::NativeViewAccessible GetParentNativeViewAccessible();
110 #endif 139 #endif
111 140
112 protected: 141 protected:
113 virtual ~RenderWidgetHostDelegate() {} 142 virtual ~RenderWidgetHostDelegate() {}
114 }; 143 };
115 144
116 } // namespace content 145 } // namespace content
117 146
118 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_DELEGATE_H_ 147 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698