Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_H_ | 5 #ifndef CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
| 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 6 #define CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
| 7 | 7 |
| 8 #include <queue> | |
| 8 #include <vector> | 9 #include <vector> |
| 9 | 10 |
| 10 #include "base/gfx/size.h" | 11 #include "base/gfx/size.h" |
| 11 #include "base/timer.h" | 12 #include "base/timer.h" |
| 12 #include "chrome/common/ipc_channel.h" | 13 #include "chrome/common/ipc_channel.h" |
| 13 #include "testing/gtest/include/gtest/gtest_prod.h" | 14 #include "testing/gtest/include/gtest/gtest_prod.h" |
| 15 #include "webkit/glue/webinputevent.h" | |
| 14 | 16 |
| 15 namespace gfx { | 17 namespace gfx { |
| 16 class Rect; | 18 class Rect; |
| 17 } | 19 } |
| 18 | 20 |
| 19 class BackingStore; | 21 class BackingStore; |
| 20 class PaintObserver; | 22 class PaintObserver; |
| 21 class RenderProcessHost; | 23 class RenderProcessHost; |
| 22 class RenderWidgetHostView; | 24 class RenderWidgetHostView; |
| 23 class TransportDIB; | 25 class TransportDIB; |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 214 virtual gfx::Rect GetRootWindowResizerRect() const; | 216 virtual gfx::Rect GetRootWindowResizerRect() const; |
| 215 | 217 |
| 216 protected: | 218 protected: |
| 217 // Called when we receive a notification indicating that the renderer | 219 // Called when we receive a notification indicating that the renderer |
| 218 // process has gone. This will reset our state so that our state will be | 220 // process has gone. This will reset our state so that our state will be |
| 219 // consistent if a new renderer is created. | 221 // consistent if a new renderer is created. |
| 220 void RendererExited(); | 222 void RendererExited(); |
| 221 | 223 |
| 222 // Called when we an InputEvent was not processed by the renderer. This is | 224 // Called when we an InputEvent was not processed by the renderer. This is |
| 223 // overridden by RenderView to send upwards to its delegate. | 225 // overridden by RenderView to send upwards to its delegate. |
| 224 virtual void UnhandledInputEvent(const WebInputEvent& event) {} | 226 virtual void UnhandledKeyboardEvent(const WebKeyboardEvent& event) {} |
| 225 | 227 |
| 226 // Notification that the user pressed the enter key or the spacebar. The | 228 // Notification that the user pressed the enter key or the spacebar. The |
| 227 // render view host overrides this to forward the information to its delegate | 229 // render view host overrides this to forward the information to its delegate |
| 228 // (see corresponding function in RenderViewHostDelegate). | 230 // (see corresponding function in RenderViewHostDelegate). |
| 229 virtual void OnEnterOrSpace() {} | 231 virtual void OnEnterOrSpace() {} |
| 230 | 232 |
| 231 // Callbacks for notification when the renderer becomes unresponsive to user | 233 // Callbacks for notification when the renderer becomes unresponsive to user |
| 232 // input events, and subsequently responsive again. RenderViewHost overrides | 234 // input events, and subsequently responsive again. RenderViewHost overrides |
| 233 // these to tell its delegate to show the user a warning. | 235 // these to tell its delegate to show the user a warning. |
| 234 virtual void NotifyRendererUnresponsive() {} | 236 virtual void NotifyRendererUnresponsive() {} |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 343 // Optional observer that listens for notifications of painting. | 345 // Optional observer that listens for notifications of painting. |
| 344 scoped_ptr<PaintObserver> paint_observer_; | 346 scoped_ptr<PaintObserver> paint_observer_; |
| 345 | 347 |
| 346 // Set when we call DidPaintRect/DidScrollRect on the view. | 348 // Set when we call DidPaintRect/DidScrollRect on the view. |
| 347 bool view_being_painted_; | 349 bool view_being_painted_; |
| 348 | 350 |
| 349 // Used for UMA histogram logging to measure the time for a repaint view | 351 // Used for UMA histogram logging to measure the time for a repaint view |
| 350 // operation to finish. | 352 // operation to finish. |
| 351 base::TimeTicks repaint_start_time_; | 353 base::TimeTicks repaint_start_time_; |
| 352 | 354 |
| 355 // A queue of keyboard events. We can't trust data from the renderer so we | |
| 356 // stuff key events into a queue and pop them out on ACK, feeding our copy | |
| 357 // back to whatever unhandled handler instead of the returned version. | |
| 358 std::queue<WebKeyboardEvent> key_queue_; | |
|
darin (slow to review)
2009/02/26 23:58:38
i would have expected this queue to contain the na
Elliot Glaysher
2009/02/27 00:06:45
The goal was to stop passing a WebKeyboardEvent ba
| |
| 359 | |
| 353 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); | 360 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHost); |
| 354 }; | 361 }; |
| 355 | 362 |
| 356 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ | 363 #endif // CHROME_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_H_ |
| OLD | NEW |