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

Side by Side Diff: cc/layers/delegated_renderer_layer.cc

Issue 311253004: Invert DSF to map from delegated frame to layer space (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: scale android layer up, remove cc::DRL::SetDisplaySize Created 6 years, 6 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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 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 #include "cc/layers/delegated_renderer_layer.h" 5 #include "cc/layers/delegated_renderer_layer.h"
6 6
7 #include "cc/layers/delegated_renderer_layer_impl.h" 7 #include "cc/layers/delegated_renderer_layer_impl.h"
8 #include "cc/output/delegated_frame_data.h" 8 #include "cc/output/delegated_frame_data.h"
9 #include "cc/quads/render_pass_draw_quad.h" 9 #include "cc/quads/render_pass_draw_quad.h"
10 #include "cc/trees/blocking_task_runner.h" 10 #include "cc/trees/blocking_task_runner.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 Layer::SetLayerTreeHost(host); 61 Layer::SetLayerTreeHost(host);
62 } 62 }
63 63
64 void DelegatedRendererLayer::PushPropertiesTo(LayerImpl* impl) { 64 void DelegatedRendererLayer::PushPropertiesTo(LayerImpl* impl) {
65 Layer::PushPropertiesTo(impl); 65 Layer::PushPropertiesTo(impl);
66 66
67 DelegatedRendererLayerImpl* delegated_impl = 67 DelegatedRendererLayerImpl* delegated_impl =
68 static_cast<DelegatedRendererLayerImpl*>(impl); 68 static_cast<DelegatedRendererLayerImpl*>(impl);
69 69
70 delegated_impl->SetDisplaySize(display_size_);
71
72 delegated_impl->CreateChildIdIfNeeded( 70 delegated_impl->CreateChildIdIfNeeded(
73 frame_provider_->GetReturnResourcesCallbackForImplThread()); 71 frame_provider_->GetReturnResourcesCallbackForImplThread());
74 72
75 if (frame_data_) 73 if (frame_data_)
76 delegated_impl->SetFrameData(frame_data_, frame_damage_); 74 delegated_impl->SetFrameData(frame_data_, frame_damage_);
77 frame_data_ = NULL; 75 frame_data_ = NULL;
78 frame_damage_ = gfx::RectF(); 76 frame_damage_ = gfx::RectF();
79 } 77 }
80 78
81 void DelegatedRendererLayer::ProviderHasNewFrame() { 79 void DelegatedRendererLayer::ProviderHasNewFrame() {
82 should_collect_new_frame_ = true; 80 should_collect_new_frame_ = true;
83 SetNeedsUpdate(); 81 SetNeedsUpdate();
84 // The active frame needs to be replaced and resources returned before the 82 // The active frame needs to be replaced and resources returned before the
85 // commit is called complete. 83 // commit is called complete.
86 SetNextCommitWaitsForActivation(); 84 SetNextCommitWaitsForActivation();
87 } 85 }
88 86
89 void DelegatedRendererLayer::SetDisplaySize(const gfx::Size& size) {
90 if (display_size_ == size)
91 return;
92 display_size_ = size;
93 SetNeedsCommit();
94 }
95
96 bool DelegatedRendererLayer::Update(ResourceUpdateQueue* queue, 87 bool DelegatedRendererLayer::Update(ResourceUpdateQueue* queue,
97 const OcclusionTracker<Layer>* occlusion) { 88 const OcclusionTracker<Layer>* occlusion) {
98 bool updated = Layer::Update(queue, occlusion); 89 bool updated = Layer::Update(queue, occlusion);
99 if (!should_collect_new_frame_) 90 if (!should_collect_new_frame_)
100 return updated; 91 return updated;
101 92
102 frame_data_ = 93 frame_data_ =
103 frame_provider_->GetFrameDataAndRefResources(this, &frame_damage_); 94 frame_provider_->GetFrameDataAndRefResources(this, &frame_damage_);
104 should_collect_new_frame_ = false; 95 should_collect_new_frame_ = false;
105 96
106 SetNeedsPushProperties(); 97 SetNeedsPushProperties();
107 return true; 98 return true;
108 } 99 }
109 100
110 } // namespace cc 101 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698