Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(721)

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.h

Issue 131443007: aura: Remove old GL paths from RenderWidgetHostViewAura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: moreflags Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 366
367 RenderWidgetHostViewFrameSubscriber* frame_subscriber() const { 367 RenderWidgetHostViewFrameSubscriber* frame_subscriber() const {
368 return frame_subscriber_.get(); 368 return frame_subscriber_.get();
369 } 369 }
370 370
371 virtual bool ShouldCreateResizeLock(); 371 virtual bool ShouldCreateResizeLock();
372 virtual scoped_ptr<ResizeLock> CreateResizeLock(bool defer_compositor_lock); 372 virtual scoped_ptr<ResizeLock> CreateResizeLock(bool defer_compositor_lock);
373 373
374 // Exposed for tests. 374 // Exposed for tests.
375 aura::Window* window() { return window_; } 375 aura::Window* window() { return window_; }
376 gfx::Size current_frame_size() const { return current_frame_size_; } 376 gfx::Size current_frame_size_in_dip() const {
377 return current_frame_size_in_dip_;
378 }
377 void LockResources(); 379 void LockResources();
378 void UnlockResources(); 380 void UnlockResources();
379 381
380 // Overridden from ui::CompositorObserver: 382 // Overridden from ui::CompositorObserver:
381 virtual void OnCompositingDidCommit(ui::Compositor* compositor) OVERRIDE; 383 virtual void OnCompositingDidCommit(ui::Compositor* compositor) OVERRIDE;
382 virtual void OnCompositingStarted(ui::Compositor* compositor, 384 virtual void OnCompositingStarted(ui::Compositor* compositor,
383 base::TimeTicks start_time) OVERRIDE; 385 base::TimeTicks start_time) OVERRIDE;
384 virtual void OnCompositingEnded(ui::Compositor* compositor) OVERRIDE; 386 virtual void OnCompositingEnded(ui::Compositor* compositor) OVERRIDE;
385 virtual void OnCompositingAborted(ui::Compositor* compositor) OVERRIDE; 387 virtual void OnCompositingAborted(ui::Compositor* compositor) OVERRIDE;
386 virtual void OnCompositingLockStateChanged( 388 virtual void OnCompositingLockStateChanged(
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 516
515 // Dismisses a Web Popup on mouse press outside the popup and its parent. 517 // Dismisses a Web Popup on mouse press outside the popup and its parent.
516 void ApplyEventFilterForPopupExit(ui::MouseEvent* event); 518 void ApplyEventFilterForPopupExit(ui::MouseEvent* event);
517 519
518 // Converts |rect| from window coordinate to screen coordinate. 520 // Converts |rect| from window coordinate to screen coordinate.
519 gfx::Rect ConvertRectToScreen(const gfx::Rect& rect) const; 521 gfx::Rect ConvertRectToScreen(const gfx::Rect& rect) const;
520 522
521 // Converts |rect| from screen coordinate to window coordinate. 523 // Converts |rect| from screen coordinate to window coordinate.
522 gfx::Rect ConvertRectFromScreen(const gfx::Rect& rect) const; 524 gfx::Rect ConvertRectFromScreen(const gfx::Rect& rect) const;
523 525
524 typedef base::Callback<void(bool, const scoped_refptr<ui::Texture>&)>
525 BufferPresentedCallback;
526
527 // The common entry point for buffer updates from renderer
528 // and GPU process.
529 void BuffersSwapped(const gfx::Size& surface_size,
530 const gfx::Rect& damage_rect,
531 float surface_scale_factor,
532 const std::string& mailbox_name,
533 const std::vector<ui::LatencyInfo>& latency_info,
534 const BufferPresentedCallback& ack_callback);
535
536 bool SwapBuffersPrepare(const gfx::Rect& surface_rect,
537 float surface_scale_factor,
538 const gfx::Rect& damage_rect,
539 const std::string& mailbox_name,
540 const BufferPresentedCallback& ack_callback);
541
542 void SwapBuffersCompleted(
543 const BufferPresentedCallback& ack_callback,
544 const scoped_refptr<ui::Texture>& texture_to_return);
545
546 void SwapDelegatedFrame( 526 void SwapDelegatedFrame(
547 uint32 output_surface_id, 527 uint32 output_surface_id,
548 scoped_ptr<cc::DelegatedFrameData> frame_data, 528 scoped_ptr<cc::DelegatedFrameData> frame_data,
549 float frame_device_scale_factor, 529 float frame_device_scale_factor,
550 const std::vector<ui::LatencyInfo>& latency_info); 530 const std::vector<ui::LatencyInfo>& latency_info);
551 void SendDelegatedFrameAck(uint32 output_surface_id); 531 void SendDelegatedFrameAck(uint32 output_surface_id);
552 void SendReturnedDelegatedResources(uint32 output_surface_id); 532 void SendReturnedDelegatedResources(uint32 output_surface_id);
553 533
554 // DelegatedFrameEvictorClient implementation. 534 // DelegatedFrameEvictorClient implementation.
555 virtual void EvictDelegatedFrame() OVERRIDE; 535 virtual void EvictDelegatedFrame() OVERRIDE;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 bool has_composition_text_; 613 bool has_composition_text_;
634 614
635 // Whether return characters should be passed on to the RenderWidgetHostImpl. 615 // Whether return characters should be passed on to the RenderWidgetHostImpl.
636 bool accept_return_character_; 616 bool accept_return_character_;
637 617
638 // Current tooltip text. 618 // Current tooltip text.
639 base::string16 tooltip_; 619 base::string16 tooltip_;
640 620
641 std::vector<base::Closure> on_compositing_did_commit_callbacks_; 621 std::vector<base::Closure> on_compositing_did_commit_callbacks_;
642 622
643 // The current frontbuffer texture.
644 scoped_refptr<ui::Texture> current_surface_;
645
646 // This holds the current software framebuffer, if any. 623 // This holds the current software framebuffer, if any.
647 scoped_ptr<SoftwareFrameManager> software_frame_manager_; 624 scoped_ptr<SoftwareFrameManager> software_frame_manager_;
648 625
649 // With delegated renderer, this is the last output surface, used to 626 // With delegated renderer, this is the last output surface, used to
650 // disambiguate resources with the same id coming from different output 627 // disambiguate resources with the same id coming from different output
651 // surfaces. 628 // surfaces.
652 uint32 last_output_surface_id_; 629 uint32 last_output_surface_id_;
653 630
654 // The number of delegated frame acks that are pending, to delay resource 631 // The number of delegated frame acks that are pending, to delay resource
655 // returns until the acks are sent. 632 // returns until the acks are sent.
656 int pending_delegated_ack_count_; 633 int pending_delegated_ack_count_;
657 634
658 // The damage in the previously presented buffer.
659 SkRegion previous_damage_;
660
661 // Pending damage from previous frames that we skipped.
662 SkRegion skipped_damage_;
663
664 // True after a delegated frame has been skipped, until a frame is not 635 // True after a delegated frame has been skipped, until a frame is not
665 // skipped. 636 // skipped.
666 bool skipped_frames_; 637 bool skipped_frames_;
667 638
668 // Holds delegated resources that have been given to a DelegatedFrameProvider, 639 // Holds delegated resources that have been given to a DelegatedFrameProvider,
669 // and gives back resources when they are no longer in use for return to the 640 // and gives back resources when they are no longer in use for return to the
670 // renderer. 641 // renderer.
671 scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_; 642 scoped_refptr<cc::DelegatedFrameResourceCollection> resource_collection_;
672 643
673 // Provides delegated frame updates to the cc::DelegatedRendererLayer. 644 // Provides delegated frame updates to the cc::DelegatedRendererLayer.
674 scoped_refptr<cc::DelegatedFrameProvider> frame_provider_; 645 scoped_refptr<cc::DelegatedFrameProvider> frame_provider_;
675 646
676 // The size of the last frame that was swapped (even if we skipped it). 647 // The size and scale of the last software compositing frame that was swapped.
677 // Used to determine when the skipped_damage_ needs to be reset due to 648 gfx::Size last_swapped_software_frame_size_;
678 // size changes between front- and backbuffer. 649 float last_swapped_software_frame_scale_factor_;
679 gfx::Size last_swapped_surface_size_;
680 float last_swapped_surface_scale_factor_;
681 650
682 gfx::GLSurfaceHandle shared_surface_handle_; 651 gfx::GLSurfaceHandle shared_surface_handle_;
683 652
684 // If non-NULL we're in OnPaint() and this is the supplied canvas. 653 // If non-NULL we're in OnPaint() and this is the supplied canvas.
685 gfx::Canvas* paint_canvas_; 654 gfx::Canvas* paint_canvas_;
686 655
687 // Used to record the last position of the mouse. 656 // Used to record the last position of the mouse.
688 // While the mouse is locked, they store the last known position just as mouse 657 // While the mouse is locked, they store the last known position just as mouse
689 // lock was entered. 658 // lock was entered.
690 // Relative to the upper-left corner of the view. 659 // Relative to the upper-left corner of the view.
(...skipping 15 matching lines...) Expand all
706 675
707 // This lock is the one waiting for a frame of the right size to come back 676 // This lock is the one waiting for a frame of the right size to come back
708 // from the renderer/GPU process. It is set from the moment the aura window 677 // from the renderer/GPU process. It is set from the moment the aura window
709 // got resized, to the moment we committed the renderer frame of the same 678 // got resized, to the moment we committed the renderer frame of the same
710 // size. It keeps track of the size we expect from the renderer, and locks the 679 // size. It keeps track of the size we expect from the renderer, and locks the
711 // compositor, as well as the UI for a short time to give a chance to the 680 // compositor, as well as the UI for a short time to give a chance to the
712 // renderer of producing a frame of the right size. 681 // renderer of producing a frame of the right size.
713 scoped_ptr<ResizeLock> resize_lock_; 682 scoped_ptr<ResizeLock> resize_lock_;
714 683
715 // Keeps track of the current frame size. 684 // Keeps track of the current frame size.
716 gfx::Size current_frame_size_; 685 gfx::Size current_frame_size_in_dip_;
717 686
718 // This lock is for waiting for a front surface to become available to draw. 687 // This lock is for waiting for a front surface to become available to draw.
719 scoped_refptr<ui::CompositorLock> released_front_lock_; 688 scoped_refptr<ui::CompositorLock> released_front_lock_;
720 689
721 // Used to track the state of the window we're created from. Only used when 690 // Used to track the state of the window we're created from. Only used when
722 // created fullscreen. 691 // created fullscreen.
723 scoped_ptr<aura::WindowTracker> host_tracker_; 692 scoped_ptr<aura::WindowTracker> host_tracker_;
724 693
725 enum CanLockCompositorState { 694 enum CanLockCompositorState {
726 YES, 695 YES,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 // passed to windowless plugins like Flash/Silverlight, etc as the 761 // passed to windowless plugins like Flash/Silverlight, etc as the
793 // container window. 762 // container window.
794 HWND plugin_parent_window_; 763 HWND plugin_parent_window_;
795 #endif 764 #endif
796 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura); 765 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostViewAura);
797 }; 766 };
798 767
799 } // namespace content 768 } // namespace content
800 769
801 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_ 770 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_WIDGET_HOST_VIEW_AURA_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698