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

Side by Side Diff: ui/compositor/layer.cc

Issue 15984016: Call scoped_refptr<T>::get() rather than relying on implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 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 (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 #include "ui/compositor/layer.h" 5 #include "ui/compositor/layer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
511 SwitchToLayer(new_layer); 511 SwitchToLayer(new_layer);
512 content_layer_ = new_layer; 512 content_layer_ = new_layer;
513 } 513 }
514 } 514 }
515 RecomputeDrawsContentAndUVRect(); 515 RecomputeDrawsContentAndUVRect();
516 } 516 }
517 517
518 void Layer::SetTextureMailbox(const cc::TextureMailbox& mailbox, 518 void Layer::SetTextureMailbox(const cc::TextureMailbox& mailbox,
519 float scale_factor) { 519 float scale_factor) {
520 DCHECK_EQ(type_, LAYER_TEXTURED); 520 DCHECK_EQ(type_, LAYER_TEXTURED);
521 DCHECK(!solid_color_layer_); 521 DCHECK(!solid_color_layer_.get());
522 layer_updated_externally_ = true; 522 layer_updated_externally_ = true;
523 texture_ = NULL; 523 texture_ = NULL;
524 if (!texture_layer_ || !texture_layer_->uses_mailbox()) { 524 if (!texture_layer_.get() || !texture_layer_->uses_mailbox()) {
525 scoped_refptr<cc::TextureLayer> new_layer = 525 scoped_refptr<cc::TextureLayer> new_layer =
526 cc::TextureLayer::CreateForMailbox(this); 526 cc::TextureLayer::CreateForMailbox(this);
527 new_layer->SetFlipped(false); 527 new_layer->SetFlipped(false);
528 SwitchToLayer(new_layer); 528 SwitchToLayer(new_layer);
529 texture_layer_ = new_layer; 529 texture_layer_ = new_layer;
530 } 530 }
531 texture_layer_->SetTextureMailbox(mailbox); 531 texture_layer_->SetTextureMailbox(mailbox);
532 mailbox_ = mailbox; 532 mailbox_ = mailbox;
533 mailbox_scale_factor_ = scale_factor; 533 mailbox_scale_factor_ = scale_factor;
534 RecomputeDrawsContentAndUVRect(); 534 RecomputeDrawsContentAndUVRect();
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
660 canvas->Restore(); 660 canvas->Restore();
661 } 661 }
662 662
663 unsigned Layer::PrepareTexture(cc::ResourceUpdateQueue* queue) { 663 unsigned Layer::PrepareTexture(cc::ResourceUpdateQueue* queue) {
664 DCHECK(texture_layer_.get()); 664 DCHECK(texture_layer_.get());
665 return texture_->PrepareTexture(); 665 return texture_->PrepareTexture();
666 } 666 }
667 667
668 WebKit::WebGraphicsContext3D* Layer::Context3d() { 668 WebKit::WebGraphicsContext3D* Layer::Context3d() {
669 DCHECK(texture_layer_.get()); 669 DCHECK(texture_layer_.get());
670 if (texture_) 670 if (texture_.get())
671 return texture_->HostContext3D(); 671 return texture_->HostContext3D();
672 return NULL; 672 return NULL;
673 } 673 }
674 674
675 bool Layer::PrepareTextureMailbox(cc::TextureMailbox* mailbox) { 675 bool Layer::PrepareTextureMailbox(cc::TextureMailbox* mailbox) {
676 return false; 676 return false;
677 } 677 }
678 678
679 void Layer::SetForceRenderSurface(bool force) { 679 void Layer::SetForceRenderSurface(bool force) {
680 if (force_render_surface_ == force) 680 if (force_render_surface_ == force)
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
942 transform.Scale(device_scale_factor_, device_scale_factor_); 942 transform.Scale(device_scale_factor_, device_scale_factor_);
943 return transform; 943 return transform;
944 } 944 }
945 945
946 void Layer::RecomputeDrawsContentAndUVRect() { 946 void Layer::RecomputeDrawsContentAndUVRect() {
947 DCHECK(cc_layer_); 947 DCHECK(cc_layer_);
948 gfx::Size size(bounds_.size()); 948 gfx::Size size(bounds_.size());
949 if (texture_layer_.get()) { 949 if (texture_layer_.get()) {
950 gfx::Size texture_size; 950 gfx::Size texture_size;
951 if (!texture_layer_->uses_mailbox()) { 951 if (!texture_layer_->uses_mailbox()) {
952 DCHECK(texture_); 952 DCHECK(texture_.get());
953 float texture_scale_factor = 1.0f / texture_->device_scale_factor(); 953 float texture_scale_factor = 1.0f / texture_->device_scale_factor();
954 texture_size = gfx::ToFlooredSize( 954 texture_size = gfx::ToFlooredSize(
955 gfx::ScaleSize(texture_->size(), texture_scale_factor)); 955 gfx::ScaleSize(texture_->size(), texture_scale_factor));
956 } else { 956 } else {
957 DCHECK(mailbox_.IsSharedMemory()); 957 DCHECK(mailbox_.IsSharedMemory());
958 float texture_scale_factor = 1.0f / mailbox_scale_factor_; 958 float texture_scale_factor = 1.0f / mailbox_scale_factor_;
959 texture_size = gfx::ToFlooredSize( 959 texture_size = gfx::ToFlooredSize(
960 gfx::ScaleSize(mailbox_.shared_memory_size(), texture_scale_factor)); 960 gfx::ScaleSize(mailbox_.shared_memory_size(), texture_scale_factor));
961 } 961 }
962 size.SetToMin(texture_size); 962 size.SetToMin(texture_size);
(...skipping 11 matching lines...) Expand all
974 cc_layer_->SetBounds(ConvertSizeToPixel(this, size)); 974 cc_layer_->SetBounds(ConvertSizeToPixel(this, size));
975 } 975 }
976 976
977 void Layer::RecomputePosition() { 977 void Layer::RecomputePosition() {
978 cc_layer_->SetPosition(gfx::ScalePoint( 978 cc_layer_->SetPosition(gfx::ScalePoint(
979 gfx::PointF(bounds_.x(), bounds_.y()), 979 gfx::PointF(bounds_.x(), bounds_.y()),
980 device_scale_factor_)); 980 device_scale_factor_));
981 } 981 }
982 982
983 } // namespace ui 983 } // namespace ui
OLDNEW
« no previous file with comments | « remoting/host/remoting_me2me_host.cc ('k') | webkit/browser/appcache/appcache_storage_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698