OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #if defined(OS_MACOSX) | 9 #if defined(OS_MACOSX) |
10 #include <OpenGL/OpenGL.h> | 10 #include <OpenGL/OpenGL.h> |
11 #endif | 11 #endif |
12 | 12 |
13 #include <string> | 13 #include <string> |
14 #include <vector> | 14 #include <vector> |
15 | 15 |
16 #include "app/surface/transport_dib.h" | 16 #include "app/surface/transport_dib.h" |
17 #include "chrome/browser/accessibility/browser_accessibility_manager.h" | |
18 #include "gfx/native_widget_types.h" | 17 #include "gfx/native_widget_types.h" |
19 #include "third_party/skia/include/core/SkBitmap.h" | 18 #include "third_party/skia/include/core/SkBitmap.h" |
20 #include "third_party/WebKit/WebKit/chromium/public/WebPopupType.h" | 19 #include "third_party/WebKit/WebKit/chromium/public/WebPopupType.h" |
21 #include "third_party/WebKit/WebKit/chromium/public/WebTextInputType.h" | 20 #include "third_party/WebKit/WebKit/chromium/public/WebTextInputType.h" |
22 | 21 |
23 namespace gfx { | 22 namespace gfx { |
24 class Rect; | 23 class Rect; |
25 class Size; | 24 class Size; |
26 } | 25 } |
27 namespace IPC { | 26 namespace IPC { |
(...skipping 13 matching lines...) Expand all Loading... |
41 struct WebPluginGeometry; | 40 struct WebPluginGeometry; |
42 } | 41 } |
43 | 42 |
44 // RenderWidgetHostView is an interface implemented by an object that acts as | 43 // RenderWidgetHostView is an interface implemented by an object that acts as |
45 // the "View" portion of a RenderWidgetHost. The RenderWidgetHost and its | 44 // the "View" portion of a RenderWidgetHost. The RenderWidgetHost and its |
46 // associated RenderProcessHost own the "Model" in this case which is the | 45 // associated RenderProcessHost own the "Model" in this case which is the |
47 // child renderer process. The View is responsible for receiving events from | 46 // child renderer process. The View is responsible for receiving events from |
48 // the surrounding environment and passing them to the RenderWidgetHost, and | 47 // the surrounding environment and passing them to the RenderWidgetHost, and |
49 // for actually displaying the content of the RenderWidgetHost when it | 48 // for actually displaying the content of the RenderWidgetHost when it |
50 // changes. | 49 // changes. |
51 class RenderWidgetHostView : public BrowserAccessibilityDelegate { | 50 class RenderWidgetHostView { |
52 public: | 51 public: |
53 virtual ~RenderWidgetHostView() {} | 52 virtual ~RenderWidgetHostView() {} |
54 | 53 |
55 // Platform-specific creator. Use this to construct new RenderWidgetHostViews | 54 // Platform-specific creator. Use this to construct new RenderWidgetHostViews |
56 // rather than using RenderWidgetHostViewWin & friends. | 55 // rather than using RenderWidgetHostViewWin & friends. |
57 // | 56 // |
58 // This function must NOT size it, because the RenderView in the renderer | 57 // This function must NOT size it, because the RenderView in the renderer |
59 // wounldn't have been created yet. The widget would set its "waiting for | 58 // wounldn't have been created yet. The widget would set its "waiting for |
60 // resize ack" flag, and the ack would never come becasue no RenderView | 59 // resize ack" flag, and the ack would never come becasue no RenderView |
61 // received it. | 60 // received it. |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 // Returns true if the native view, |native_view|, is contained within in the | 249 // Returns true if the native view, |native_view|, is contained within in the |
251 // widget associated with this RenderWidgetHostView. | 250 // widget associated with this RenderWidgetHostView. |
252 virtual bool ContainsNativeView(gfx::NativeView native_view) const = 0; | 251 virtual bool ContainsNativeView(gfx::NativeView native_view) const = 0; |
253 | 252 |
254 virtual void UpdateAccessibilityTree( | 253 virtual void UpdateAccessibilityTree( |
255 const webkit_glue::WebAccessibility& tree) { } | 254 const webkit_glue::WebAccessibility& tree) { } |
256 virtual void OnAccessibilityNotifications( | 255 virtual void OnAccessibilityNotifications( |
257 const std::vector<ViewHostMsg_AccessibilityNotification_Params>& params) { | 256 const std::vector<ViewHostMsg_AccessibilityNotification_Params>& params) { |
258 } | 257 } |
259 | 258 |
260 // Implementation of BrowserAccessibilityDelegate: | |
261 virtual void SetAccessibilityFocus(int acc_obj_id) { } | |
262 virtual void AccessibilityDoDefaultAction(int acc_obj_id) { } | |
263 | |
264 protected: | 259 protected: |
265 // Interface class only, do not construct. | 260 // Interface class only, do not construct. |
266 RenderWidgetHostView() : popup_type_(WebKit::WebPopupTypeNone) {} | 261 RenderWidgetHostView() : popup_type_(WebKit::WebPopupTypeNone) {} |
267 | 262 |
268 // Whether this view is a popup and what kind of popup it is (select, | 263 // Whether this view is a popup and what kind of popup it is (select, |
269 // autofill...). | 264 // autofill...). |
270 WebKit::WebPopupType popup_type_; | 265 WebKit::WebPopupType popup_type_; |
271 | 266 |
272 // A custom background to paint behind the web content. This will be tiled | 267 // A custom background to paint behind the web content. This will be tiled |
273 // horizontally. Can be null, in which case we fall back to painting white. | 268 // horizontally. Can be null, in which case we fall back to painting white. |
274 SkBitmap background_; | 269 SkBitmap background_; |
275 | 270 |
276 private: | 271 private: |
277 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView); | 272 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostView); |
278 }; | 273 }; |
279 | 274 |
280 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ | 275 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_H_ |
OLD | NEW |