| 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_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
| 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 class InputMethod; | 62 class InputMethod; |
| 63 class LocatedEvent; | 63 class LocatedEvent; |
| 64 class Texture; | 64 class Texture; |
| 65 } | 65 } |
| 66 | 66 |
| 67 namespace content { | 67 namespace content { |
| 68 #if defined(OS_WIN) | 68 #if defined(OS_WIN) |
| 69 class LegacyRenderWidgetHostHWND; | 69 class LegacyRenderWidgetHostHWND; |
| 70 #endif | 70 #endif |
| 71 | 71 |
| 72 class OverscrollController; |
| 72 class RenderFrameHostImpl; | 73 class RenderFrameHostImpl; |
| 73 class RenderWidgetHostImpl; | 74 class RenderWidgetHostImpl; |
| 74 class RenderWidgetHostView; | 75 class RenderWidgetHostView; |
| 75 | 76 |
| 76 // RenderWidgetHostView class hierarchy described in render_widget_host_view.h. | 77 // RenderWidgetHostView class hierarchy described in render_widget_host_view.h. |
| 77 class CONTENT_EXPORT RenderWidgetHostViewAura | 78 class CONTENT_EXPORT RenderWidgetHostViewAura |
| 78 : public RenderWidgetHostViewBase, | 79 : public RenderWidgetHostViewBase, |
| 79 public DelegatedFrameHostClient, | 80 public DelegatedFrameHostClient, |
| 80 public ui::TextInputClient, | 81 public ui::TextInputClient, |
| 81 public gfx::DisplayObserver, | 82 public gfx::DisplayObserver, |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params_in_pixel, | 199 const GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params& params_in_pixel, |
| 199 int gpu_host_id) OVERRIDE; | 200 int gpu_host_id) OVERRIDE; |
| 200 virtual void AcceleratedSurfacePostSubBuffer( | 201 virtual void AcceleratedSurfacePostSubBuffer( |
| 201 const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params_in_pixel, | 202 const GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params& params_in_pixel, |
| 202 int gpu_host_id) OVERRIDE; | 203 int gpu_host_id) OVERRIDE; |
| 203 virtual void AcceleratedSurfaceSuspend() OVERRIDE; | 204 virtual void AcceleratedSurfaceSuspend() OVERRIDE; |
| 204 virtual void AcceleratedSurfaceRelease() OVERRIDE; | 205 virtual void AcceleratedSurfaceRelease() OVERRIDE; |
| 205 virtual bool HasAcceleratedSurface(const gfx::Size& desired_size) OVERRIDE; | 206 virtual bool HasAcceleratedSurface(const gfx::Size& desired_size) OVERRIDE; |
| 206 virtual void GetScreenInfo(blink::WebScreenInfo* results) OVERRIDE; | 207 virtual void GetScreenInfo(blink::WebScreenInfo* results) OVERRIDE; |
| 207 virtual gfx::Rect GetBoundsInRootWindow() OVERRIDE; | 208 virtual gfx::Rect GetBoundsInRootWindow() OVERRIDE; |
| 209 virtual void WheelEventAck(const blink::WebMouseWheelEvent& event, |
| 210 InputEventAckState ack_result) OVERRIDE; |
| 208 virtual void GestureEventAck(const blink::WebGestureEvent& event, | 211 virtual void GestureEventAck(const blink::WebGestureEvent& event, |
| 209 InputEventAckState ack_result) OVERRIDE; | 212 InputEventAckState ack_result) OVERRIDE; |
| 210 virtual void ProcessAckedTouchEvent( | 213 virtual void ProcessAckedTouchEvent( |
| 211 const TouchEventWithLatencyInfo& touch, | 214 const TouchEventWithLatencyInfo& touch, |
| 212 InputEventAckState ack_result) OVERRIDE; | 215 InputEventAckState ack_result) OVERRIDE; |
| 213 virtual scoped_ptr<SyntheticGestureTarget> CreateSyntheticGestureTarget() | 216 virtual scoped_ptr<SyntheticGestureTarget> CreateSyntheticGestureTarget() |
| 214 OVERRIDE; | 217 OVERRIDE; |
| 215 virtual void SetScrollOffsetPinning( | 218 virtual void SetScrollOffsetPinning( |
| 216 bool is_pinned_to_left, bool is_pinned_to_right) OVERRIDE; | 219 bool is_pinned_to_left, bool is_pinned_to_right) OVERRIDE; |
| 220 virtual InputEventAckState FilterInputEvent( |
| 221 const blink::WebInputEvent& input_event) OVERRIDE; |
| 217 virtual gfx::GLSurfaceHandle GetCompositingSurface() OVERRIDE; | 222 virtual gfx::GLSurfaceHandle GetCompositingSurface() OVERRIDE; |
| 218 virtual void CreateBrowserAccessibilityManagerIfNeeded() OVERRIDE; | 223 virtual void CreateBrowserAccessibilityManagerIfNeeded() OVERRIDE; |
| 219 virtual bool LockMouse() OVERRIDE; | 224 virtual bool LockMouse() OVERRIDE; |
| 220 virtual void UnlockMouse() OVERRIDE; | 225 virtual void UnlockMouse() OVERRIDE; |
| 221 virtual void OnSwapCompositorFrame( | 226 virtual void OnSwapCompositorFrame( |
| 222 uint32 output_surface_id, | 227 uint32 output_surface_id, |
| 223 scoped_ptr<cc::CompositorFrame> frame) OVERRIDE; | 228 scoped_ptr<cc::CompositorFrame> frame) OVERRIDE; |
| 224 | 229 |
| 225 #if defined(OS_WIN) | 230 #if defined(OS_WIN) |
| 226 virtual void SetParentNativeViewAccessible( | 231 virtual void SetParentNativeViewAccessible( |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 320 | 325 |
| 321 // Updates the cursor clip region. Used for mouse locking. | 326 // Updates the cursor clip region. Used for mouse locking. |
| 322 void UpdateMouseLockRegion(); | 327 void UpdateMouseLockRegion(); |
| 323 #endif | 328 #endif |
| 324 | 329 |
| 325 // Method to indicate if this instance is shutting down or closing. | 330 // Method to indicate if this instance is shutting down or closing. |
| 326 // TODO(shrikant): Discuss around to see if it makes sense to add this method | 331 // TODO(shrikant): Discuss around to see if it makes sense to add this method |
| 327 // as part of RenderWidgetHostView. | 332 // as part of RenderWidgetHostView. |
| 328 bool IsClosing() const { return in_shutdown_; } | 333 bool IsClosing() const { return in_shutdown_; } |
| 329 | 334 |
| 335 // Sets whether the overscroll controller should be enabled for this page. |
| 336 void SetOverscrollControllerEnabled(bool enabled); |
| 337 |
| 338 OverscrollController* overscroll_controller() const { |
| 339 return overscroll_controller_.get(); |
| 340 } |
| 341 |
| 330 protected: | 342 protected: |
| 331 virtual ~RenderWidgetHostViewAura(); | 343 virtual ~RenderWidgetHostViewAura(); |
| 332 | 344 |
| 333 // Exposed for tests. | 345 // Exposed for tests. |
| 334 aura::Window* window() { return window_; } | 346 aura::Window* window() { return window_; } |
| 335 virtual SkBitmap::Config PreferredReadbackFormat() OVERRIDE; | 347 virtual SkBitmap::Config PreferredReadbackFormat() OVERRIDE; |
| 336 virtual DelegatedFrameHost* GetDelegatedFrameHost() const OVERRIDE; | 348 virtual DelegatedFrameHost* GetDelegatedFrameHost() const OVERRIDE; |
| 337 | 349 |
| 338 private: | 350 private: |
| 339 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SetCompositionText); | 351 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SetCompositionText); |
| 340 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, TouchEventState); | 352 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, TouchEventState); |
| 341 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, TouchEventSyncAsync); | 353 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, TouchEventSyncAsync); |
| 342 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SwapNotifiesWindow); | 354 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SwapNotifiesWindow); |
| 343 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 355 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 344 SkippedDelegatedFrames); | 356 SkippedDelegatedFrames); |
| 345 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange); | 357 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange); |
| 346 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 358 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 347 DiscardDelegatedFrames); | 359 DiscardDelegatedFrames); |
| 348 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 360 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 349 DiscardDelegatedFramesWithLocking); | 361 DiscardDelegatedFramesWithLocking); |
| 350 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SoftwareDPIChange); | 362 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, SoftwareDPIChange); |
| 351 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 363 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 352 UpdateCursorIfOverSelf); | 364 UpdateCursorIfOverSelf); |
| 353 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraCopyRequestTest, | 365 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraCopyRequestTest, |
| 354 DestroyedAfterCopyRequest); | 366 DestroyedAfterCopyRequest); |
| 355 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, | 367 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 356 VisibleViewportTest); | 368 VisibleViewportTest); |
| 369 FRIEND_TEST_ALL_PREFIXES(RenderWidgetHostViewAuraTest, |
| 370 OverscrollResetsOnBlur); |
| 357 | 371 |
| 358 class WindowObserver; | 372 class WindowObserver; |
| 359 friend class WindowObserver; | 373 friend class WindowObserver; |
| 360 | 374 |
| 361 void UpdateCursorIfOverSelf(); | 375 void UpdateCursorIfOverSelf(); |
| 362 | 376 |
| 363 // Set the bounds of the window and handle size changes. Assumes the caller | 377 // Set the bounds of the window and handle size changes. Assumes the caller |
| 364 // has already adjusted the origin of |rect| to conform to whatever coordinate | 378 // has already adjusted the origin of |rect| to conform to whatever coordinate |
| 365 // space is required by the aura::Window. | 379 // space is required by the aura::Window. |
| 366 void InternalSetBounds(const gfx::Rect& rect); | 380 void InternalSetBounds(const gfx::Rect& rect); |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 typedef std::map<HWND, WebPluginGeometry> PluginWindowMoves; | 556 typedef std::map<HWND, WebPluginGeometry> PluginWindowMoves; |
| 543 // Contains information about each windowed plugin's clip and cutout rects ( | 557 // Contains information about each windowed plugin's clip and cutout rects ( |
| 544 // from the renderer). This is needed because when the transient windoiws | 558 // from the renderer). This is needed because when the transient windoiws |
| 545 // over this view changes, we need this information in order to create a new | 559 // over this view changes, we need this information in order to create a new |
| 546 // region for the HWND. | 560 // region for the HWND. |
| 547 PluginWindowMoves plugin_window_moves_; | 561 PluginWindowMoves plugin_window_moves_; |
| 548 #endif | 562 #endif |
| 549 | 563 |
| 550 TouchEditingClient* touch_editing_client_; | 564 TouchEditingClient* touch_editing_client_; |
| 551 | 565 |
| 566 scoped_ptr<OverscrollController> overscroll_controller_; |
| 567 |
| 552 gfx::Insets insets_; | 568 gfx::Insets insets_; |
| 553 | 569 |
| 554 std::vector<ui::LatencyInfo> software_latency_info_; | 570 std::vector<ui::LatencyInfo> software_latency_info_; |
| 555 | 571 |
| 556 scoped_ptr<aura::client::ScopedTooltipDisabler> tooltip_disabler_; | 572 scoped_ptr<aura::client::ScopedTooltipDisabler> tooltip_disabler_; |
| 557 | 573 |
| 558 base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_; | 574 base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_; |
| 559 | 575 |
| 560 #if defined(OS_WIN) | 576 #if defined(OS_WIN) |
| 561 // The LegacyRenderWidgetHostHWND class provides a dummy HWND which is used | 577 // The LegacyRenderWidgetHostHWND class provides a dummy HWND which is used |
| 562 // for accessibility, as the container for windowless plugins like | 578 // for accessibility, as the container for windowless plugins like |
| 563 // Flash/Silverlight, etc and for legacy drivers for trackpoints/trackpads, | 579 // Flash/Silverlight, etc and for legacy drivers for trackpoints/trackpads, |
| 564 // etc. | 580 // etc. |
| 565 scoped_ptr<content::LegacyRenderWidgetHostHWND> | 581 scoped_ptr<content::LegacyRenderWidgetHostHWND> |
| 566 legacy_render_widget_host_HWND_; | 582 legacy_render_widget_host_HWND_; |
| 567 #endif | 583 #endif |
| 568 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); | 584 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); |
| 569 }; | 585 }; |
| 570 | 586 |
| 571 } // namespace content | 587 } // namespace content |
| 572 | 588 |
| 573 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ | 589 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
| OLD | NEW |