| 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_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> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 class ExternalPopupMenu; | 91 class ExternalPopupMenu; |
| 92 class FrameSwapMessageQueue; | 92 class FrameSwapMessageQueue; |
| 93 class ImeEventGuard; | 93 class ImeEventGuard; |
| 94 class PepperPluginInstanceImpl; | 94 class PepperPluginInstanceImpl; |
| 95 class RenderFrameImpl; | 95 class RenderFrameImpl; |
| 96 class RenderFrameProxy; | 96 class RenderFrameProxy; |
| 97 class RenderWidgetCompositor; | 97 class RenderWidgetCompositor; |
| 98 class RenderWidgetOwnerDelegate; | 98 class RenderWidgetOwnerDelegate; |
| 99 class RenderWidgetScreenMetricsEmulator; | 99 class RenderWidgetScreenMetricsEmulator; |
| 100 class ResizingModeSelector; | 100 class ResizingModeSelector; |
| 101 class TextInputClientObserver; |
| 101 struct ContextMenuParams; | 102 struct ContextMenuParams; |
| 102 struct ResizeParams; | 103 struct ResizeParams; |
| 103 | 104 |
| 104 // RenderWidget provides a communication bridge between a WebWidget and | 105 // RenderWidget provides a communication bridge between a WebWidget and |
| 105 // a RenderWidgetHost, the latter of which lives in a different process. | 106 // a RenderWidgetHost, the latter of which lives in a different process. |
| 106 // | 107 // |
| 107 // RenderWidget is used to implement: | 108 // RenderWidget is used to implement: |
| 108 // - RenderViewImpl (deprecated) | 109 // - RenderViewImpl (deprecated) |
| 109 // - Fullscreen mode (RenderWidgetFullScreen) | 110 // - Fullscreen mode (RenderWidgetFullScreen) |
| 110 // - Popup "menus" (like the color chooser and date picker) | 111 // - Popup "menus" (like the color chooser and date picker) |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 // screen coordinates. | 393 // screen coordinates. |
| 393 gfx::Rect RootWindowRect(); | 394 gfx::Rect RootWindowRect(); |
| 394 | 395 |
| 395 // Indicates whether this widget has focus. | 396 // Indicates whether this widget has focus. |
| 396 bool has_focus() const { return has_focus_; } | 397 bool has_focus() const { return has_focus_; } |
| 397 | 398 |
| 398 MouseLockDispatcher* mouse_lock_dispatcher() { | 399 MouseLockDispatcher* mouse_lock_dispatcher() { |
| 399 return mouse_lock_dispatcher_.get(); | 400 return mouse_lock_dispatcher_.get(); |
| 400 } | 401 } |
| 401 | 402 |
| 403 // TODO(ekaramad): The reference to the focused pepper plugin will be removed |
| 404 // from RenderWidget. The purpose of having the reference here was to make IME |
| 405 // work for OOPIF (https://crbug.com/643727). |
| 402 void set_focused_pepper_plugin(PepperPluginInstanceImpl* plugin) { | 406 void set_focused_pepper_plugin(PepperPluginInstanceImpl* plugin) { |
| 403 focused_pepper_plugin_ = plugin; | 407 focused_pepper_plugin_ = plugin; |
| 404 } | 408 } |
| 405 | 409 |
| 406 // When emulated, this returns original device scale factor. | 410 // When emulated, this returns original device scale factor. |
| 407 float GetOriginalDeviceScaleFactor() const; | 411 float GetOriginalDeviceScaleFactor() const; |
| 408 | 412 |
| 409 protected: | 413 protected: |
| 410 // Friend RefCounted so that the dtor can be non-public. Using this class | 414 // Friend RefCounted so that the dtor can be non-public. Using this class |
| 411 // without ref-counting is an error. | 415 // without ref-counting is an error. |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 808 // Mouse Lock dispatcher attached to this view. | 812 // Mouse Lock dispatcher attached to this view. |
| 809 std::unique_ptr<RenderWidgetMouseLockDispatcher> mouse_lock_dispatcher_; | 813 std::unique_ptr<RenderWidgetMouseLockDispatcher> mouse_lock_dispatcher_; |
| 810 | 814 |
| 811 // Wraps the |webwidget_| as a MouseLockDispatcher::LockTarget interface. | 815 // Wraps the |webwidget_| as a MouseLockDispatcher::LockTarget interface. |
| 812 std::unique_ptr<MouseLockDispatcher::LockTarget> webwidget_mouse_lock_target_; | 816 std::unique_ptr<MouseLockDispatcher::LockTarget> webwidget_mouse_lock_target_; |
| 813 | 817 |
| 814 private: | 818 private: |
| 815 // Indicates whether this widget has focus. | 819 // Indicates whether this widget has focus. |
| 816 bool has_focus_; | 820 bool has_focus_; |
| 817 | 821 |
| 822 #if defined(OS_MACOSX) |
| 823 // Responds to IPCs from TextInputClientMac regarding getting string at given |
| 824 // position or range as well as finding character index at a given position. |
| 825 std::unique_ptr<TextInputClientObserver> text_input_client_observer_; |
| 826 #endif |
| 827 |
| 818 // This reference is set by the RenderFrame and is used to query the IME- | 828 // This reference is set by the RenderFrame and is used to query the IME- |
| 819 // related state from the plugin to later send to the browser. | 829 // related state from the plugin to later send to the browser. |
| 820 PepperPluginInstanceImpl* focused_pepper_plugin_; | 830 PepperPluginInstanceImpl* focused_pepper_plugin_; |
| 821 | 831 |
| 822 // Stores edit commands associated to the next key event. | 832 // Stores edit commands associated to the next key event. |
| 823 // Will be cleared as soon as the next key event is processed. | 833 // Will be cleared as soon as the next key event is processed. |
| 824 EditCommands edit_commands_; | 834 EditCommands edit_commands_; |
| 825 | 835 |
| 826 DISALLOW_COPY_AND_ASSIGN(RenderWidget); | 836 DISALLOW_COPY_AND_ASSIGN(RenderWidget); |
| 827 }; | 837 }; |
| 828 | 838 |
| 829 } // namespace content | 839 } // namespace content |
| 830 | 840 |
| 831 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ | 841 #endif // CONTENT_RENDERER_RENDER_WIDGET_H_ |
| OLD | NEW |