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

Unified Diff: views/view.cc

Issue 8400059: Revert 107715 - Enable the new layer animation framework. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 2 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 | « views/view.h ('k') | views/view_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: views/view.cc
===================================================================
--- views/view.cc (revision 107719)
+++ views/view.cc (working copy)
@@ -18,7 +18,6 @@
#include "ui/gfx/canvas_skia.h"
#include "ui/gfx/compositor/compositor.h"
#include "ui/gfx/compositor/layer.h"
-#include "ui/gfx/compositor/layer_animator.h"
#include "ui/gfx/interpolated_transform.h"
#include "ui/gfx/path.h"
#include "ui/gfx/point3.h"
@@ -26,6 +25,7 @@
#include "views/background.h"
#include "views/context_menu_controller.h"
#include "views/drag_controller.h"
+#include "views/layer_property_setter.h"
#include "views/layout/layout_manager.h"
#include "views/views_delegate.h"
#include "views/widget/native_widget_private.h"
@@ -424,7 +424,7 @@
void View::SetTransform(const ui::Transform& transform) {
if (!transform.HasChange()) {
if (layer()) {
- layer()->SetTransform(transform);
+ layer_property_setter_->SetTransform(layer(), transform);
if (!paint_to_layer_)
DestroyLayer();
} else {
@@ -433,7 +433,7 @@
} else {
if (!layer())
CreateLayer();
- layer()->SetTransform(transform);
+ layer_property_setter_->SetTransform(layer(), transform);
layer()->ScheduleDraw();
}
}
@@ -447,6 +447,20 @@
}
}
+void View::SetLayerPropertySetter(LayerPropertySetter* setter) {
+ DCHECK(layer());
+ LayerPropertySetter* old_setter = layer_property_setter_.get();
+ if (!layer() || (old_setter && old_setter == setter))
+ return;
+ if (!setter)
+ setter = LayerPropertySetter::CreateDefaultSetter();
+
+ if (old_setter)
+ old_setter->Uninstalled(layer());
+ layer_property_setter_.reset(setter);
+ layer_property_setter_->Installed(layer());
+}
+
// RTL positioning -------------------------------------------------------------
gfx::Rect View::GetMirroredBounds() const {
@@ -1143,7 +1157,8 @@
void View::UpdateChildLayerBounds(const gfx::Point& offset) {
if (layer()) {
- layer()->SetBounds(gfx::Rect(offset.x(), offset.y(), width(), height()));
+ layer_property_setter_->SetBounds(layer(), gfx::Rect(offset.x(), offset.y(),
+ width(), height()));
} else {
for (int i = 0, count = child_count(); i < count; ++i) {
gfx::Point new_offset(offset.x() + child_at(i)->x(),
@@ -1159,7 +1174,7 @@
PaintCommon(canvas);
}
-void View::OnLayerAnimationEnded(const ui::LayerAnimationSequence* animation) {
+void View::OnLayerAnimationEnded(const ui::Animation* animation) {
}
void View::ReorderLayers() {
@@ -1584,9 +1599,9 @@
gfx::Point offset;
parent_->CalculateOffsetToAncestorWithLayer(&offset, NULL);
offset.Offset(x(), y());
- layer()->SetBounds(gfx::Rect(offset, size()));
+ layer_property_setter_->SetBounds(layer(), gfx::Rect(offset, size()));
} else {
- layer()->SetBounds(bounds_);
+ layer_property_setter_->SetBounds(layer(), bounds_);
}
// TODO(beng): this seems redundant with the SchedulePaint at the top of
// this function. explore collapsing.
@@ -1770,6 +1785,10 @@
layer_.reset(new ui::Layer(NULL));
layer_->set_delegate(this);
+ if (layer_property_setter_.get())
+ layer_property_setter_->Installed(layer());
+ else
+ SetLayerPropertySetter(NULL);
UpdateParentLayers();
UpdateLayerVisibility();
@@ -1840,6 +1859,9 @@
new_parent->Add(children[i]);
}
+ if (layer_property_setter_.get())
+ layer_property_setter_->Uninstalled(layer());
+
layer_.reset();
if (new_parent)
« no previous file with comments | « views/view.h ('k') | views/view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698