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

Side by Side Diff: content/browser/renderer_host/delegated_frame_host.cc

Issue 2136413002: Update Surface ID Terminology (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed webkit_unit_tests Created 4 years, 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "content/browser/renderer_host/delegated_frame_host.h" 5 #include "content/browser/renderer_host/delegated_frame_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 26 matching lines...) Expand all
37 #include "ui/gfx/geometry/dip_util.h" 37 #include "ui/gfx/geometry/dip_util.h"
38 38
39 namespace content { 39 namespace content {
40 40
41 namespace { 41 namespace {
42 42
43 void SatisfyCallback(cc::SurfaceManager* manager, 43 void SatisfyCallback(cc::SurfaceManager* manager,
44 const cc::SurfaceSequence& sequence) { 44 const cc::SurfaceSequence& sequence) {
45 std::vector<uint32_t> sequences; 45 std::vector<uint32_t> sequences;
46 sequences.push_back(sequence.sequence); 46 sequences.push_back(sequence.sequence);
47 manager->DidSatisfySequences(sequence.id_namespace, &sequences); 47 manager->DidSatisfySequences(sequence.client_id, &sequences);
48 } 48 }
49 49
50 void RequireCallback(cc::SurfaceManager* manager, 50 void RequireCallback(cc::SurfaceManager* manager,
51 const cc::SurfaceId& id, 51 const cc::SurfaceId& id,
52 const cc::SurfaceSequence& sequence) { 52 const cc::SurfaceSequence& sequence) {
53 cc::Surface* surface = manager->GetSurfaceForId(id); 53 cc::Surface* surface = manager->GetSurfaceForId(id);
54 if (!surface) { 54 if (!surface) {
55 LOG(ERROR) << "Attempting to require callback on nonexistent surface"; 55 LOG(ERROR) << "Attempting to require callback on nonexistent surface";
56 return; 56 return;
57 } 57 }
(...skipping 13 matching lines...) Expand all
71 pending_delegated_ack_count_(0), 71 pending_delegated_ack_count_(0),
72 skipped_frames_(false), 72 skipped_frames_(false),
73 background_color_(SK_ColorRED), 73 background_color_(SK_ColorRED),
74 current_scale_factor_(1.f), 74 current_scale_factor_(1.f),
75 can_lock_compositor_(YES_CAN_LOCK), 75 can_lock_compositor_(YES_CAN_LOCK),
76 delegated_frame_evictor_(new DelegatedFrameEvictor(this)) { 76 delegated_frame_evictor_(new DelegatedFrameEvictor(this)) {
77 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 77 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
78 factory->GetContextFactory()->AddObserver(this); 78 factory->GetContextFactory()->AddObserver(this);
79 id_allocator_ = factory->GetContextFactory()->CreateSurfaceIdAllocator(); 79 id_allocator_ = factory->GetContextFactory()->CreateSurfaceIdAllocator();
80 factory->GetSurfaceManager()->RegisterSurfaceFactoryClient( 80 factory->GetSurfaceManager()->RegisterSurfaceFactoryClient(
81 id_allocator_->id_namespace(), this); 81 id_allocator_->client_id(), this);
82 } 82 }
83 83
84 void DelegatedFrameHost::WasShown(const ui::LatencyInfo& latency_info) { 84 void DelegatedFrameHost::WasShown(const ui::LatencyInfo& latency_info) {
85 delegated_frame_evictor_->SetVisible(true); 85 delegated_frame_evictor_->SetVisible(true);
86 86
87 if (surface_id_.is_null() && !released_front_lock_.get()) { 87 if (surface_id_.is_null() && !released_front_lock_.get()) {
88 if (compositor_) 88 if (compositor_)
89 released_front_lock_ = compositor_->GetCompositorLock(); 89 released_front_lock_ = compositor_->GetCompositorLock();
90 } 90 }
91 91
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 void DelegatedFrameHost::BeginFrameSubscription( 197 void DelegatedFrameHost::BeginFrameSubscription(
198 std::unique_ptr<RenderWidgetHostViewFrameSubscriber> subscriber) { 198 std::unique_ptr<RenderWidgetHostViewFrameSubscriber> subscriber) {
199 frame_subscriber_ = std::move(subscriber); 199 frame_subscriber_ = std::move(subscriber);
200 } 200 }
201 201
202 void DelegatedFrameHost::EndFrameSubscription() { 202 void DelegatedFrameHost::EndFrameSubscription() {
203 idle_frame_subscriber_textures_.clear(); 203 idle_frame_subscriber_textures_.clear();
204 frame_subscriber_.reset(); 204 frame_subscriber_.reset();
205 } 205 }
206 206
207 uint32_t DelegatedFrameHost::GetSurfaceIdNamespace() { 207 uint32_t DelegatedFrameHost::GetSurfaceClientId() {
208 return id_allocator_->id_namespace(); 208 return id_allocator_->client_id();
209 } 209 }
210 210
211 cc::SurfaceId DelegatedFrameHost::SurfaceIdAtPoint( 211 cc::SurfaceId DelegatedFrameHost::SurfaceIdAtPoint(
212 cc::SurfaceHittestDelegate* delegate, 212 cc::SurfaceHittestDelegate* delegate,
213 const gfx::Point& point, 213 const gfx::Point& point,
214 gfx::Point* transformed_point) { 214 gfx::Point* transformed_point) {
215 if (surface_id_.is_null()) 215 if (surface_id_.is_null())
216 return surface_id_; 216 return surface_id_;
217 cc::SurfaceHittest hittest(delegate, GetSurfaceManager()); 217 cc::SurfaceHittest hittest(delegate, GetSurfaceManager());
218 gfx::Transform target_transform; 218 gfx::Transform target_transform;
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after
810 // DelegatedFrameHost, private: 810 // DelegatedFrameHost, private:
811 811
812 DelegatedFrameHost::~DelegatedFrameHost() { 812 DelegatedFrameHost::~DelegatedFrameHost() {
813 DCHECK(!compositor_); 813 DCHECK(!compositor_);
814 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 814 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
815 factory->GetContextFactory()->RemoveObserver(this); 815 factory->GetContextFactory()->RemoveObserver(this);
816 816
817 if (!surface_id_.is_null()) 817 if (!surface_id_.is_null())
818 surface_factory_->Destroy(surface_id_); 818 surface_factory_->Destroy(surface_id_);
819 factory->GetSurfaceManager()->UnregisterSurfaceFactoryClient( 819 factory->GetSurfaceManager()->UnregisterSurfaceFactoryClient(
820 id_allocator_->id_namespace()); 820 id_allocator_->client_id());
821 821
822 DCHECK(!vsync_manager_.get()); 822 DCHECK(!vsync_manager_.get());
823 } 823 }
824 824
825 void DelegatedFrameHost::SetCompositor(ui::Compositor* compositor) { 825 void DelegatedFrameHost::SetCompositor(ui::Compositor* compositor) {
826 DCHECK(!compositor_); 826 DCHECK(!compositor_);
827 if (!compositor) 827 if (!compositor)
828 return; 828 return;
829 compositor_ = compositor; 829 compositor_ = compositor;
830 compositor_->AddObserver(this); 830 compositor_->AddObserver(this);
831 DCHECK(!vsync_manager_.get()); 831 DCHECK(!vsync_manager_.get());
832 vsync_manager_ = compositor_->vsync_manager(); 832 vsync_manager_ = compositor_->vsync_manager();
833 vsync_manager_->AddObserver(this); 833 vsync_manager_->AddObserver(this);
834 834
835 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 835 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
836 uint32_t parent = compositor->surface_id_allocator()->id_namespace(); 836 uint32_t parent = compositor->surface_id_allocator()->client_id();
837 factory->GetSurfaceManager()->RegisterSurfaceNamespaceHierarchy( 837 factory->GetSurfaceManager()->RegisterSurfaceNamespaceHierarchy(
838 parent, id_allocator_->id_namespace()); 838 parent, id_allocator_->client_id());
839 } 839 }
840 840
841 void DelegatedFrameHost::ResetCompositor() { 841 void DelegatedFrameHost::ResetCompositor() {
842 if (!compositor_) 842 if (!compositor_)
843 return; 843 return;
844 if (resize_lock_) { 844 if (resize_lock_) {
845 resize_lock_.reset(); 845 resize_lock_.reset();
846 client_->DelegatedFrameHostResizeLockWasReleased(); 846 client_->DelegatedFrameHostResizeLockWasReleased();
847 } 847 }
848 if (compositor_->HasObserver(this)) 848 if (compositor_->HasObserver(this))
849 compositor_->RemoveObserver(this); 849 compositor_->RemoveObserver(this);
850 if (vsync_manager_.get()) { 850 if (vsync_manager_.get()) {
851 vsync_manager_->RemoveObserver(this); 851 vsync_manager_->RemoveObserver(this);
852 vsync_manager_ = NULL; 852 vsync_manager_ = NULL;
853 } 853 }
854 854
855 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 855 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
856 uint32_t parent = compositor_->surface_id_allocator()->id_namespace(); 856 uint32_t parent = compositor_->surface_id_allocator()->client_id();
857 factory->GetSurfaceManager()->UnregisterSurfaceNamespaceHierarchy( 857 factory->GetSurfaceManager()->UnregisterSurfaceNamespaceHierarchy(
858 parent, id_allocator_->id_namespace()); 858 parent, id_allocator_->client_id());
859 859
860 compositor_ = nullptr; 860 compositor_ = nullptr;
861 } 861 }
862 862
863 void DelegatedFrameHost::SetVSyncParameters(const base::TimeTicks& timebase, 863 void DelegatedFrameHost::SetVSyncParameters(const base::TimeTicks& timebase,
864 const base::TimeDelta& interval) { 864 const base::TimeDelta& interval) {
865 vsync_timebase_ = timebase; 865 vsync_timebase_ = timebase;
866 vsync_interval_ = interval; 866 vsync_interval_ = interval;
867 } 867 }
868 868
(...skipping 30 matching lines...) Expand all
899 cc::SurfaceManager* manager = factory->GetSurfaceManager(); 899 cc::SurfaceManager* manager = factory->GetSurfaceManager();
900 new_layer->SetShowSurface( 900 new_layer->SetShowSurface(
901 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)), 901 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)),
902 base::Bind(&RequireCallback, base::Unretained(manager)), 902 base::Bind(&RequireCallback, base::Unretained(manager)),
903 current_surface_size_, current_scale_factor_, 903 current_surface_size_, current_scale_factor_,
904 current_frame_size_in_dip_); 904 current_frame_size_in_dip_);
905 } 905 }
906 } 906 }
907 907
908 } // namespace content 908 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698