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_PUBLIC_BROWSER_RENDER_VIEW_HOST_DELEGATE_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_VIEW_HOST_DELEGATE_H_ |
6 #define CONTENT_PUBLIC_BROWSER_RENDER_VIEW_HOST_DELEGATE_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RENDER_VIEW_HOST_DELEGATE_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 struct Referrer; | 55 struct Referrer; |
56 struct RendererPreferences; | 56 struct RendererPreferences; |
57 | 57 |
58 // | 58 // |
59 // RenderViewHostDelegate | 59 // RenderViewHostDelegate |
60 // | 60 // |
61 // An interface implemented by an object interested in knowing about the state | 61 // An interface implemented by an object interested in knowing about the state |
62 // of the RenderViewHost. | 62 // of the RenderViewHost. |
63 // | 63 // |
64 // This interface currently encompasses every type of message that was | 64 // This interface currently encompasses every type of message that was |
65 // previously being sent by TabContents itself. Some of these notifications | 65 // previously being sent by WebContents itself. Some of these notifications |
66 // may not be relevant to all users of RenderViewHost and we should consider | 66 // may not be relevant to all users of RenderViewHost and we should consider |
67 // exposing a more generic Send function on RenderViewHost and a response | 67 // exposing a more generic Send function on RenderViewHost and a response |
68 // listener here to serve that need. | 68 // listener here to serve that need. |
69 // | 69 // |
70 // TODO(joi): See if we can hide most or all of this from chrome/. | 70 // TODO(joi): See if we can hide most or all of this from chrome/. |
71 class CONTENT_EXPORT RenderViewHostDelegate : public IPC::Channel::Listener { | 71 class CONTENT_EXPORT RenderViewHostDelegate : public IPC::Channel::Listener { |
72 public: | 72 public: |
73 // View ---------------------------------------------------------------------- | 73 // View ---------------------------------------------------------------------- |
74 // Functions that can be routed directly to a view-specific class. | 74 // Functions that can be routed directly to a view-specific class. |
75 class CONTENT_EXPORT View { | 75 class CONTENT_EXPORT View { |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 // Callback to inform the browser that the page is returning the focus to | 151 // Callback to inform the browser that the page is returning the focus to |
152 // the browser's chrome. If reverse is true, it means the focus was | 152 // the browser's chrome. If reverse is true, it means the focus was |
153 // retrieved by doing a Shift-Tab. | 153 // retrieved by doing a Shift-Tab. |
154 virtual void TakeFocus(bool reverse) = 0; | 154 virtual void TakeFocus(bool reverse) = 0; |
155 | 155 |
156 protected: | 156 protected: |
157 virtual ~View() {} | 157 virtual ~View() {} |
158 }; | 158 }; |
159 | 159 |
160 // RendererManagerment ------------------------------------------------------- | 160 // RendererManagerment ------------------------------------------------------- |
161 // Functions for managing switching of Renderers. For TabContents, this is | 161 // Functions for managing switching of Renderers. For WebContents, this is |
162 // implemented by the RenderViewHostManager | 162 // implemented by the RenderViewHostManager. |
163 | 163 |
164 class CONTENT_EXPORT RendererManagement { | 164 class CONTENT_EXPORT RendererManagement { |
165 public: | 165 public: |
166 // Notification whether we should close the page, after an explicit call to | 166 // Notification whether we should close the page, after an explicit call to |
167 // AttemptToClosePage. This is called before a cross-site request or before | 167 // AttemptToClosePage. This is called before a cross-site request or before |
168 // a tab/window is closed (as indicated by the first parameter) to allow the | 168 // a tab/window is closed (as indicated by the first parameter) to allow the |
169 // appropriate renderer to approve or deny the request. |proceed| indicates | 169 // appropriate renderer to approve or deny the request. |proceed| indicates |
170 // whether the user chose to proceed. |proceed_time| is the time when the | 170 // whether the user chose to proceed. |proceed_time| is the time when the |
171 // request was allowed to proceed. | 171 // request was allowed to proceed. |
172 virtual void ShouldClosePage( | 172 virtual void ShouldClosePage( |
(...skipping 18 matching lines...) Expand all Loading... |
191 virtual View* GetViewDelegate(); | 191 virtual View* GetViewDelegate(); |
192 virtual RendererManagement* GetRendererManagementDelegate(); | 192 virtual RendererManagement* GetRendererManagementDelegate(); |
193 | 193 |
194 // IPC::Channel::Listener implementation. | 194 // IPC::Channel::Listener implementation. |
195 // This is used to give the delegate a chance to filter IPC messages. | 195 // This is used to give the delegate a chance to filter IPC messages. |
196 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; | 196 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
197 | 197 |
198 // Gets the URL that is currently being displayed, if there is one. | 198 // Gets the URL that is currently being displayed, if there is one. |
199 virtual const GURL& GetURL() const; | 199 virtual const GURL& GetURL() const; |
200 | 200 |
201 // Return this object cast to a TabContents, if it is one. If the object is | 201 // Return this object cast to a WebContents, if it is one. If the object is |
202 // not a TabContents, returns NULL. DEPRECATED: Be sure to include brettw or | 202 // not a WebContents, returns NULL. DEPRECATED: Be sure to include brettw or |
203 // jam as reviewers before you use this method. http://crbug.com/82582 | 203 // jam as reviewers before you use this method. http://crbug.com/82582 |
204 virtual content::WebContents* GetAsWebContents(); | 204 virtual content::WebContents* GetAsWebContents(); |
205 | 205 |
206 // Return type of RenderView which is attached with this object. | 206 // Return type of RenderView which is attached with this object. |
207 virtual content::ViewType GetRenderViewType() const = 0; | 207 virtual content::ViewType GetRenderViewType() const = 0; |
208 | 208 |
209 // Return the rect where to display the resize corner, if any, otherwise | 209 // Return the rect where to display the resize corner, if any, otherwise |
210 // an empty rect. | 210 // an empty rect. |
211 virtual gfx::Rect GetRootWindowResizerRect() const = 0; | 211 virtual gfx::Rect GetRootWindowResizerRect() const = 0; |
212 | 212 |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 // Notification that the view has lost the mouse lock. | 407 // Notification that the view has lost the mouse lock. |
408 virtual void LostMouseLock() {} | 408 virtual void LostMouseLock() {} |
409 | 409 |
410 protected: | 410 protected: |
411 virtual ~RenderViewHostDelegate() {} | 411 virtual ~RenderViewHostDelegate() {} |
412 }; | 412 }; |
413 | 413 |
414 } // namespace content | 414 } // namespace content |
415 | 415 |
416 #endif // CONTENT_PUBLIC_BROWSER_RENDER_VIEW_HOST_DELEGATE_H_ | 416 #endif // CONTENT_PUBLIC_BROWSER_RENDER_VIEW_HOST_DELEGATE_H_ |
OLD | NEW |