| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <deque> | 9 #include <deque> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 // not be sent to the renderer anymore. Otherwise, if the |event| would | 397 // not be sent to the renderer anymore. Otherwise, if the |event| would |
| 398 // be handled in HandleKeyboardEvent() method as a normal keyboard shortcut, | 398 // be handled in HandleKeyboardEvent() method as a normal keyboard shortcut, |
| 399 // |*is_keyboard_shortcut| should be set to true. | 399 // |*is_keyboard_shortcut| should be set to true. |
| 400 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, | 400 virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, |
| 401 bool* is_keyboard_shortcut); | 401 bool* is_keyboard_shortcut); |
| 402 | 402 |
| 403 // Called when a keyboard event was not processed by the renderer. This is | 403 // Called when a keyboard event was not processed by the renderer. This is |
| 404 // overridden by RenderView to send upwards to its delegate. | 404 // overridden by RenderView to send upwards to its delegate. |
| 405 virtual void UnhandledKeyboardEvent(const NativeWebKeyboardEvent& event) {} | 405 virtual void UnhandledKeyboardEvent(const NativeWebKeyboardEvent& event) {} |
| 406 | 406 |
| 407 // Called when a mousewheel event was not processed by the renderer. This is |
| 408 // overridden by RenderView to send upwards to its delegate. |
| 409 virtual void UnhandledWheelEvent(const WebKit::WebMouseWheelEvent& event) {} |
| 410 |
| 407 // Notification that the user has made some kind of input that could | 411 // Notification that the user has made some kind of input that could |
| 408 // perform an action. The render view host overrides this to forward the | 412 // perform an action. The render view host overrides this to forward the |
| 409 // information to its delegate (see corresponding function in | 413 // information to its delegate (see corresponding function in |
| 410 // RenderViewHostDelegate). The gestures that count are 1) any mouse down | 414 // RenderViewHostDelegate). The gestures that count are 1) any mouse down |
| 411 // event and 2) enter or space key presses. | 415 // event and 2) enter or space key presses. |
| 412 virtual void OnUserGesture() {} | 416 virtual void OnUserGesture() {} |
| 413 | 417 |
| 414 // Callbacks for notification when the renderer becomes unresponsive to user | 418 // Callbacks for notification when the renderer becomes unresponsive to user |
| 415 // input events, and subsequently responsive again. RenderViewHost overrides | 419 // input events, and subsequently responsive again. RenderViewHost overrides |
| 416 // these to tell its delegate to show the user a warning. | 420 // these to tell its delegate to show the user a warning. |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 // is the newly painted pixels by the renderer. | 507 // is the newly painted pixels by the renderer. |
| 504 void ScrollBackingStoreRect(int dx, int dy, const gfx::Rect& clip_rect, | 508 void ScrollBackingStoreRect(int dx, int dy, const gfx::Rect& clip_rect, |
| 505 const gfx::Size& view_size); | 509 const gfx::Size& view_size); |
| 506 | 510 |
| 507 // Called by OnMsgInputEventAck() to process a keyboard event ack message. | 511 // Called by OnMsgInputEventAck() to process a keyboard event ack message. |
| 508 void ProcessKeyboardEventAck(int type, bool processed); | 512 void ProcessKeyboardEventAck(int type, bool processed); |
| 509 | 513 |
| 510 // Called by OnMsgInputEventAck() to process a wheel event ack message. | 514 // Called by OnMsgInputEventAck() to process a wheel event ack message. |
| 511 // This could result in a task being posted to allow additional wheel | 515 // This could result in a task being posted to allow additional wheel |
| 512 // input messages to be coalesced. | 516 // input messages to be coalesced. |
| 513 void ProcessWheelAck(); | 517 void ProcessWheelAck(bool processed); |
| 514 | 518 |
| 515 // True if renderer accessibility is enabled. This should only be set when a | 519 // True if renderer accessibility is enabled. This should only be set when a |
| 516 // screenreader is detected as it can potentially slow down Chrome. | 520 // screenreader is detected as it can potentially slow down Chrome. |
| 517 bool renderer_accessible_; | 521 bool renderer_accessible_; |
| 518 | 522 |
| 519 // The View associated with the RenderViewHost. The lifetime of this object | 523 // The View associated with the RenderViewHost. The lifetime of this object |
| 520 // is associated with the lifetime of the Render process. If the Renderer | 524 // is associated with the lifetime of the Render process. If the Renderer |
| 521 // crashes, its View is destroyed and this pointer becomes NULL, even though | 525 // crashes, its View is destroyed and this pointer becomes NULL, even though |
| 522 // render_view_host_ lives on to load another URL (creating a new View while | 526 // render_view_host_ lives on to load another URL (creating a new View while |
| 523 // doing so). | 527 // doing so). |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 // for a corresponding ViewHostMsg_HandleInputEvent_ACK message. | 583 // for a corresponding ViewHostMsg_HandleInputEvent_ACK message. |
| 580 bool mouse_move_pending_; | 584 bool mouse_move_pending_; |
| 581 | 585 |
| 582 // The next mouse move event to send (only non-null while mouse_move_pending_ | 586 // The next mouse move event to send (only non-null while mouse_move_pending_ |
| 583 // is true). | 587 // is true). |
| 584 scoped_ptr<WebKit::WebMouseEvent> next_mouse_move_; | 588 scoped_ptr<WebKit::WebMouseEvent> next_mouse_move_; |
| 585 | 589 |
| 586 // (Similar to |mouse_move_pending_|.) True if a mouse wheel event was sent | 590 // (Similar to |mouse_move_pending_|.) True if a mouse wheel event was sent |
| 587 // and we are waiting for a corresponding ack. | 591 // and we are waiting for a corresponding ack. |
| 588 bool mouse_wheel_pending_; | 592 bool mouse_wheel_pending_; |
| 593 WebKit::WebMouseWheelEvent current_wheel_event_; |
| 589 | 594 |
| 590 typedef std::deque<WebKit::WebMouseWheelEvent> WheelEventQueue; | 595 typedef std::deque<WebKit::WebMouseWheelEvent> WheelEventQueue; |
| 591 | 596 |
| 592 // (Similar to |next_mouse_move_|.) The next mouse wheel events to send. | 597 // (Similar to |next_mouse_move_|.) The next mouse wheel events to send. |
| 593 // Unlike mouse moves, mouse wheel events received while one is pending are | 598 // Unlike mouse moves, mouse wheel events received while one is pending are |
| 594 // coalesced (by accumulating deltas) if they match the previous event in | 599 // coalesced (by accumulating deltas) if they match the previous event in |
| 595 // modifiers. On the Mac, in particular, mouse wheel events are received at a | 600 // modifiers. On the Mac, in particular, mouse wheel events are received at a |
| 596 // high rate; not waiting for the ack results in jankiness, and using the same | 601 // high rate; not waiting for the ack results in jankiness, and using the same |
| 597 // mechanism as for mouse moves (just dropping old events when multiple ones | 602 // mechanism as for mouse moves (just dropping old events when multiple ones |
| 598 // would be queued) results in very slow scrolling. | 603 // would be queued) results in very slow scrolling. |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 677 | 682 |
| 678 std::vector<gfx::PluginWindowHandle> deferred_plugin_handles_; | 683 std::vector<gfx::PluginWindowHandle> deferred_plugin_handles_; |
| 679 | 684 |
| 680 // The last scroll offset of the render widget. | 685 // The last scroll offset of the render widget. |
| 681 gfx::Point last_scroll_offset_; | 686 gfx::Point last_scroll_offset_; |
| 682 | 687 |
| 683 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); | 688 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); |
| 684 }; | 689 }; |
| 685 | 690 |
| 686 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 691 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
| OLD | NEW |