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

Unified Diff: ui/gfx/compositor/layer.cc

Issue 9297041: Merge Compositor and CompositorCC (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/gfx/compositor/layer.h ('k') | ui/gfx/compositor/layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/gfx/compositor/layer.cc
diff --git a/ui/gfx/compositor/layer.cc b/ui/gfx/compositor/layer.cc
index 6d1d6d544464c99142063f6c9a60cc2bce0b9d32..1a3d984e04fa829659ddbc1f6776b699131111d5 100644
--- a/ui/gfx/compositor/layer.cc
+++ b/ui/gfx/compositor/layer.cc
@@ -23,8 +23,6 @@
#include "ui/gfx/interpolated_transform.h"
#include "ui/gfx/point3.h"
-#include "ui/gfx/compositor/compositor_cc.h"
-
namespace {
const float EPSILON = 1e-3f;
@@ -223,7 +221,7 @@ void Layer::SetFillsBoundsOpaquely(bool fills_bounds_opaquely) {
RecomputeDebugBorderColor();
}
-void Layer::SetExternalTexture(ui::Texture* texture) {
+void Layer::SetExternalTexture(Texture* texture) {
DCHECK_EQ(type_, LAYER_TEXTURED);
layer_updated_externally_ = !!texture;
texture_ = texture;
@@ -231,10 +229,14 @@ void Layer::SetExternalTexture(ui::Texture* texture) {
// Switch to a different type of layer.
web_layer_.removeAllChildren();
WebKit::WebLayer new_layer;
- if (layer_updated_externally_)
- new_layer = WebKit::WebExternalTextureLayer::create();
- else
+ if (layer_updated_externally_) {
+ WebKit::WebExternalTextureLayer texture_layer =
+ WebKit::WebExternalTextureLayer::create();
+ texture_layer.setFlipped(texture_->flipped());
+ new_layer = texture_layer;
+ } else {
new_layer = WebKit::WebContentLayer::create(this);
+ }
if (parent_) {
DCHECK(!parent_->web_layer_.isNull());
parent_->web_layer_.replaceChild(web_layer_, new_layer);
@@ -252,20 +254,9 @@ void Layer::SetExternalTexture(ui::Texture* texture) {
RecomputeTransform();
RecomputeDebugBorderColor();
}
- if (texture) {
- TextureCC* texture_cc = static_cast<TextureCC*>(texture);
- texture_cc->Update();
- WebKit::WebExternalTextureLayer texture_layer =
- web_layer_.to<WebKit::WebExternalTextureLayer>();
- texture_layer.setFlipped(texture_cc->flipped());
- }
RecomputeDrawsContentAndUVRect();
}
-void Layer::SetCanvas(const SkCanvas& canvas, const gfx::Point& origin) {
- NOTREACHED();
-}
-
void Layer::SetColor(SkColor color) {
DCHECK_EQ(type_, LAYER_SOLID_COLOR);
// WebColor is equivalent to SkColor, per WebColor.h.
@@ -484,18 +475,18 @@ void Layer::RecomputeDrawsContentAndUVRect() {
web_layer_.setBounds(bounds_.size());
} else {
DCHECK(texture_);
- TextureCC* texture_cc = static_cast<TextureCC*>(texture_.get());
- unsigned int texture_id = texture_cc->texture_id();
+ unsigned int texture_id = texture_->texture_id();
WebKit::WebExternalTextureLayer texture_layer =
web_layer_.to<WebKit::WebExternalTextureLayer>();
texture_layer.setTextureId(should_draw ? texture_id : 0);
- gfx::Size size(std::min(bounds_.width(), texture_cc->size().width()),
- std::min(bounds_.height(), texture_cc->size().height()));
+ gfx::Size texture_size = texture_->size();
+ gfx::Size size(std::min(bounds_.width(), texture_size.width()),
+ std::min(bounds_.height(), texture_size.height()));
WebKit::WebFloatRect rect(
0,
0,
- static_cast<float>(size.width())/texture_cc->size().width(),
- static_cast<float>(size.height())/texture_cc->size().height());
+ static_cast<float>(size.width())/texture_size.width(),
+ static_cast<float>(size.height())/texture_size.height());
texture_layer.setUVRect(rect);
web_layer_.setBounds(size);
}
« no previous file with comments | « ui/gfx/compositor/layer.h ('k') | ui/gfx/compositor/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698