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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 class CONTENT_EXPORT RenderWidgetHostViewAura | 82 class CONTENT_EXPORT RenderWidgetHostViewAura |
83 : public RenderWidgetHostViewBase, | 83 : public RenderWidgetHostViewBase, |
84 NON_EXPORTED_BASE(public RenderWidgetHostViewEventHandler::Delegate), | 84 NON_EXPORTED_BASE(public RenderWidgetHostViewEventHandler::Delegate), |
85 public TextInputManager::Observer, | 85 public TextInputManager::Observer, |
86 public ui::TextInputClient, | 86 public ui::TextInputClient, |
87 public display::DisplayObserver, | 87 public display::DisplayObserver, |
88 public aura::WindowTreeHostObserver, | 88 public aura::WindowTreeHostObserver, |
89 public aura::WindowDelegate, | 89 public aura::WindowDelegate, |
90 public aura::client::ActivationDelegate, | 90 public aura::client::ActivationDelegate, |
91 public aura::client::FocusChangeObserver, | 91 public aura::client::FocusChangeObserver, |
92 public aura::client::CursorClientObserver, | 92 public aura::client::CursorClientObserver { |
93 public cc::BeginFrameObserver { | |
94 public: | 93 public: |
95 // When |is_guest_view_hack| is true, this view isn't really the view for | 94 // When |is_guest_view_hack| is true, this view isn't really the view for |
96 // the |widget|, a RenderWidgetHostViewGuest is. | 95 // the |widget|, a RenderWidgetHostViewGuest is. |
97 // | 96 // |
98 // TODO(lazyboy): Remove |is_guest_view_hack| once BrowserPlugin has migrated | 97 // TODO(lazyboy): Remove |is_guest_view_hack| once BrowserPlugin has migrated |
99 // to use RWHVChildFrame (http://crbug.com/330264). | 98 // to use RWHVChildFrame (http://crbug.com/330264). |
100 RenderWidgetHostViewAura(RenderWidgetHost* host, bool is_guest_view_hack); | 99 RenderWidgetHostViewAura(RenderWidgetHost* host, bool is_guest_view_hack); |
101 | 100 |
102 // RenderWidgetHostView implementation. | 101 // RenderWidgetHostView implementation. |
103 void InitAsChild(gfx::NativeView parent_view) override; | 102 void InitAsChild(gfx::NativeView parent_view) override; |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 RenderWidgetHostViewBase* updated_view, | 424 RenderWidgetHostViewBase* updated_view, |
426 bool did_update_state) override; | 425 bool did_update_state) override; |
427 void OnImeCancelComposition(TextInputManager* text_input_manager, | 426 void OnImeCancelComposition(TextInputManager* text_input_manager, |
428 RenderWidgetHostViewBase* updated_view) override; | 427 RenderWidgetHostViewBase* updated_view) override; |
429 void OnSelectionBoundsChanged( | 428 void OnSelectionBoundsChanged( |
430 TextInputManager* text_input_manager, | 429 TextInputManager* text_input_manager, |
431 RenderWidgetHostViewBase* updated_view) override; | 430 RenderWidgetHostViewBase* updated_view) override; |
432 void OnTextSelectionChanged(TextInputManager* text_input_mangager, | 431 void OnTextSelectionChanged(TextInputManager* text_input_mangager, |
433 RenderWidgetHostViewBase* updated_view) override; | 432 RenderWidgetHostViewBase* updated_view) override; |
434 | 433 |
435 // cc::BeginFrameObserver implementation. | 434 void OnBeginFrame(const cc::BeginFrameArgs& args); |
436 void OnBeginFrame(const cc::BeginFrameArgs& args) override; | |
437 const cc::BeginFrameArgs& LastUsedBeginFrameArgs() const override; | |
438 void OnBeginFrameSourcePausedChanged(bool paused) override; | |
439 | 435 |
440 // Detaches |this| from the input method object. | 436 // Detaches |this| from the input method object. |
441 void DetachFromInputMethod(); | 437 void DetachFromInputMethod(); |
442 | 438 |
443 // Dismisses a Web Popup on a mouse or touch press outside the popup and its | 439 // Dismisses a Web Popup on a mouse or touch press outside the popup and its |
444 // parent. | 440 // parent. |
445 void ApplyEventFilterForPopupExit(ui::LocatedEvent* event); | 441 void ApplyEventFilterForPopupExit(ui::LocatedEvent* event); |
446 | 442 |
447 // Converts |rect| from screen coordinate to window coordinate. | 443 // Converts |rect| from screen coordinate to window coordinate. |
448 gfx::Rect ConvertRectFromScreen(const gfx::Rect& rect) const; | 444 gfx::Rect ConvertRectFromScreen(const gfx::Rect& rect) const; |
449 | 445 |
450 // Called when the parent window bounds change. | 446 // Called when the parent window bounds change. |
451 void HandleParentBoundsChanged(); | 447 void HandleParentBoundsChanged(); |
452 | 448 |
453 // Called when the parent window hierarchy for our window changes. | 449 // Called when the parent window hierarchy for our window changes. |
454 void ParentHierarchyChanged(); | 450 void ParentHierarchyChanged(); |
455 | 451 |
456 // Helper function to create a selection controller. | 452 // Helper function to create a selection controller. |
457 void CreateSelectionController(); | 453 void CreateSelectionController(); |
458 | 454 |
459 // Used to set the |popup_child_host_view_| on the |popup_parent_host_view_| | 455 // Used to set the |popup_child_host_view_| on the |popup_parent_host_view_| |
460 // and to notify the |event_handler_|. | 456 // and to notify the |event_handler_|. |
461 void SetPopupChild(RenderWidgetHostViewAura* popup_child_host_view); | 457 void SetPopupChild(RenderWidgetHostViewAura* popup_child_host_view); |
462 | 458 |
463 // Forwards a mouse event to this view's parent window delegate. | 459 // Forwards a mouse event to this view's parent window delegate. |
464 void ForwardMouseEventToParent(ui::MouseEvent* event); | 460 void ForwardMouseEventToParent(ui::MouseEvent* event); |
465 | 461 |
466 // Adds/Removes frame observer based on state. | 462 // Tells DelegatedFrameHost whether we need to receive BeginFrames. |
467 void UpdateNeedsBeginFramesInternal(); | 463 void UpdateNeedsBeginFramesInternal(); |
468 | 464 |
469 // The model object. | 465 // The model object. |
470 RenderWidgetHostImpl* const host_; | 466 RenderWidgetHostImpl* const host_; |
471 | 467 |
472 aura::Window* window_; | 468 aura::Window* window_; |
473 | 469 |
474 std::unique_ptr<DelegatedFrameHostClient> delegated_frame_host_client_; | 470 std::unique_ptr<DelegatedFrameHostClient> delegated_frame_host_client_; |
475 // NOTE: this may be null. | 471 // NOTE: this may be null. |
476 std::unique_ptr<DelegatedFrameHost> delegated_frame_host_; | 472 std::unique_ptr<DelegatedFrameHost> delegated_frame_host_; |
(...skipping 26 matching lines...) Expand all Loading... |
503 | 499 |
504 // The cursor for the page. This is passed up from the renderer. | 500 // The cursor for the page. This is passed up from the renderer. |
505 WebCursor current_cursor_; | 501 WebCursor current_cursor_; |
506 | 502 |
507 // Indicates if there is onging composition text. | 503 // Indicates if there is onging composition text. |
508 bool has_composition_text_; | 504 bool has_composition_text_; |
509 | 505 |
510 // Current tooltip text. | 506 // Current tooltip text. |
511 base::string16 tooltip_; | 507 base::string16 tooltip_; |
512 | 508 |
513 // The begin frame source being observed. Null if none. | |
514 cc::BeginFrameSource* begin_frame_source_; | |
515 cc::BeginFrameArgs last_begin_frame_args_; | |
516 | |
517 // Whether a request for begin frames has been issued. | 509 // Whether a request for begin frames has been issued. |
518 bool needs_begin_frames_; | 510 bool needs_begin_frames_; |
519 | 511 |
520 // Whether a request to flush input has been issued. | 512 // Whether a request to flush input has been issued. |
521 bool needs_flush_input_; | 513 bool needs_flush_input_; |
522 | 514 |
523 // Whether or not a frame observer has been added. | 515 // Whether or not a frame observer has been added. |
524 bool added_frame_observer_; | 516 bool added_frame_observer_; |
525 | 517 |
526 // Used to track the last cursor visibility update that was sent to the | 518 // Used to track the last cursor visibility update that was sent to the |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 std::unique_ptr<RenderWidgetHostViewEventHandler> event_handler_; | 575 std::unique_ptr<RenderWidgetHostViewEventHandler> event_handler_; |
584 | 576 |
585 base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_; | 577 base::WeakPtrFactory<RenderWidgetHostViewAura> weak_ptr_factory_; |
586 | 578 |
587 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); | 579 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); |
588 }; | 580 }; |
589 | 581 |
590 } // namespace content | 582 } // namespace content |
591 | 583 |
592 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ | 584 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ |
OLD | NEW |