| 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_WIDGET_HOST_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ |
| 6 #define CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ | 6 #define CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "content/common/content_export.h" | 9 #include "content/common/content_export.h" |
| 10 #include "content/public/browser/keyboard_listener.h" | 10 #include "content/public/browser/keyboard_listener.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #elif defined(OS_MACOSX) | 21 #elif defined(OS_MACOSX) |
| 22 #include "skia/ext/platform_device.h" | 22 #include "skia/ext/platform_device.h" |
| 23 #endif | 23 #endif |
| 24 | 24 |
| 25 class SkBitmap; | 25 class SkBitmap; |
| 26 | 26 |
| 27 namespace gfx { | 27 namespace gfx { |
| 28 class Rect; | 28 class Rect; |
| 29 } | 29 } |
| 30 | 30 |
| 31 namespace WebKit { |
| 32 struct WebScreenInfo; |
| 33 } |
| 34 |
| 31 namespace content { | 35 namespace content { |
| 32 | 36 |
| 33 class RenderProcessHost; | 37 class RenderProcessHost; |
| 34 class RenderWidgetHostImpl; | 38 class RenderWidgetHostImpl; |
| 35 class RenderWidgetHostView; | 39 class RenderWidgetHostView; |
| 36 | 40 |
| 37 // A RenderWidgetHost manages the browser side of a browser<->renderer | 41 // A RenderWidgetHost manages the browser side of a browser<->renderer |
| 38 // HWND connection. The HWND lives in the browser process, and | 42 // HWND connection. The HWND lives in the browser process, and |
| 39 // windows events are sent over IPC to the corresponding object in the | 43 // windows events are sent over IPC to the corresponding object in the |
| 40 // renderer. The renderer paints into shared memory, which we | 44 // renderer. The renderer paints into shared memory, which we |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 // Access to the implementation's IPC::Listener::OnMessageReceived. Intended | 274 // Access to the implementation's IPC::Listener::OnMessageReceived. Intended |
| 271 // only for test code. | 275 // only for test code. |
| 272 | 276 |
| 273 // Add a keyboard listener that can handle key presses without requiring | 277 // Add a keyboard listener that can handle key presses without requiring |
| 274 // focus. | 278 // focus. |
| 275 virtual void AddKeyboardListener(KeyboardListener* listener) = 0; | 279 virtual void AddKeyboardListener(KeyboardListener* listener) = 0; |
| 276 | 280 |
| 277 // Remove a keyboard listener. | 281 // Remove a keyboard listener. |
| 278 virtual void RemoveKeyboardListener(KeyboardListener* listener) = 0; | 282 virtual void RemoveKeyboardListener(KeyboardListener* listener) = 0; |
| 279 | 283 |
| 284 // Get the screen info corresponding to this render widget. |
| 285 virtual void GetWebScreenInfo(WebKit::WebScreenInfo* result) = 0; |
| 286 |
| 280 protected: | 287 protected: |
| 281 friend class RenderWidgetHostImpl; | 288 friend class RenderWidgetHostImpl; |
| 282 | 289 |
| 283 // Retrieves the implementation class. Intended only for code | 290 // Retrieves the implementation class. Intended only for code |
| 284 // within content/. This method is necessary because | 291 // within content/. This method is necessary because |
| 285 // RenderWidgetHost is the root of a diamond inheritance pattern, so | 292 // RenderWidgetHost is the root of a diamond inheritance pattern, so |
| 286 // subclasses inherit it virtually, which removes our ability to | 293 // subclasses inherit it virtually, which removes our ability to |
| 287 // static_cast to the subclass. | 294 // static_cast to the subclass. |
| 288 virtual RenderWidgetHostImpl* AsRenderWidgetHostImpl() = 0; | 295 virtual RenderWidgetHostImpl* AsRenderWidgetHostImpl() = 0; |
| 289 }; | 296 }; |
| 290 | 297 |
| 291 } // namespace content | 298 } // namespace content |
| 292 | 299 |
| 293 #endif // CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ | 300 #endif // CONTENT_PUBLIC_BROWSER_RENDER_WIDGET_HOST_H_ |
| OLD | NEW |