| Index: chrome/browser/renderer_host/render_widget_host.h
|
| ===================================================================
|
| --- chrome/browser/renderer_host/render_widget_host.h (revision 34219)
|
| +++ chrome/browser/renderer_host/render_widget_host.h (working copy)
|
| @@ -345,8 +345,8 @@
|
|
|
| protected:
|
| // Internal implementation of the public Forward*Event() methods.
|
| - void ForwardInputEvent(
|
| - const WebKit::WebInputEvent& input_event, int event_size);
|
| + void ForwardInputEvent(const WebKit::WebInputEvent& input_event,
|
| + int event_size, bool is_keyboard_shortcut);
|
|
|
| // Called when we receive a notification indicating that the renderer
|
| // process has gone. This will reset our state so that our state will be
|
| @@ -357,18 +357,20 @@
|
| // This is used for various IPC messages, including plugins.
|
| gfx::NativeViewId GetNativeViewId();
|
|
|
| - // Called when an InputEvent is received to check if the event should be sent
|
| - // to the renderer or not.
|
| - virtual bool ShouldSendToRenderer(const NativeWebKeyboardEvent& event) {
|
| - return true;
|
| + // Called to handled a keyboard event before sending it to the renderer.
|
| + // This is overridden by RenderView to send upwards to its delegate.
|
| + // Returns true if the event was handled, and then the keyboard event will
|
| + // not be sent to the renderer anymore. Otherwise, if the |event| would
|
| + // be handled in HandleKeyboardEvent() method as a normal keyboard shortcut,
|
| + // |*is_keyboard_shortcut| should be set to true.
|
| + virtual bool PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event,
|
| + bool* is_keyboard_shortcut) {
|
| + return false;
|
| }
|
|
|
| - // Called when we an InputEvent was not processed by the renderer. This is
|
| + // Called when a keyboard event was not processed by the renderer. This is
|
| // overridden by RenderView to send upwards to its delegate.
|
| - // Returns true if the event was handled by its delegate.
|
| - virtual bool UnhandledKeyboardEvent(const NativeWebKeyboardEvent& event) {
|
| - return false;
|
| - }
|
| + virtual void UnhandledKeyboardEvent(const NativeWebKeyboardEvent& event) {}
|
|
|
| // Notification that the user has made some kind of input that could
|
| // perform an action. The render view host overrides this to forward the
|
| @@ -541,7 +543,6 @@
|
| // A queue of keyboard events. We can't trust data from the renderer so we
|
| // stuff key events into a queue and pop them out on ACK, feeding our copy
|
| // back to whatever unhandled handler instead of the returned version.
|
| - // See the description of |pending_key_events_| below for more details.
|
| KeyQueue key_queue_;
|
|
|
| // Set when we update the text direction of the selected input element.
|
| @@ -553,19 +554,6 @@
|
| // NotifyTextDirection().
|
| bool text_direction_canceled_;
|
|
|
| - // How many key events in |key_queue_| are not sent to the renderer yet,
|
| - // counted from the back of |key_queue_|.
|
| - // In order to suppress a Char event when necessary (see the description of
|
| - // |suppress_next_char_events_| below), we can't just send it to the
|
| - // renderer as soon as we get it. Instead, we need wait for the result of
|
| - // preceding RawKeyDown event back from the renderer, and then decide how to
|
| - // process the pending Char events according to the result.
|
| - // So if we get one or more Char events before receiving the result of
|
| - // preceding RawKeyDown event, we need keep them in |key_queue_|. And in
|
| - // order to keep the order the key events, all following key events must be
|
| - // pending until the pending Char events got processed.
|
| - size_t pending_key_events_;
|
| -
|
| // Indicates if the next sequence of Char events should be suppressed or not.
|
| // System may translate a RawKeyDown event into zero or more Char events,
|
| // usually we send them to the renderer directly in sequence. However, If a
|
| @@ -581,23 +569,6 @@
|
| // changed.
|
| bool suppress_next_char_events_;
|
|
|
| - // True if the PaintRect_ACK message for the last PaintRect message is still
|
| - // not sent yet. This is used for optimizing the painting overhead when there
|
| - // are many pending key events in the queue.
|
| - bool paint_ack_postponed_;
|
| -
|
| - // The time when a PaintRect_ACK message is postponed, so that we can send the
|
| - // message after a certain duration.
|
| - base::TimeTicks paint_ack_postponed_time_;
|
| -
|
| - // During the call to some methods, eg. OnMsgInputEventAck, this
|
| - // RenderWidgetHost object may be destroyed before executing some code that
|
| - // still want to access this object. To avoid this situation, |death_flag_|
|
| - // shall be pointed to a local variable in the method, and then |*death_flag_|
|
| - // will be set to true when destroying this RenderWidgetHost object, then the
|
| - // method shall exit immediately when |*death_flag_| becomes true.
|
| - bool* death_flag_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost);
|
| };
|
|
|
|
|