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

Side by Side Diff: content/browser/web_contents/aura/window_slider.cc

Issue 23531053: ui/base/animation -> ui/gfx/animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge 2 trunk Created 7 years, 3 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/web_contents/aura/window_slider.h" 5 #include "content/browser/web_contents/aura/window_slider.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 float ratio = (fabs(delta_x_) - active_start_threshold_) / width; 159 float ratio = (fabs(delta_x_) - active_start_threshold_) / width;
160 if (ratio < complete_threshold_) { 160 if (ratio < complete_threshold_) {
161 ResetScroll(); 161 ResetScroll();
162 return; 162 return;
163 } 163 }
164 164
165 ui::Layer* sliding = delta_x_ < 0 ? slider_.get() : owner_->layer(); 165 ui::Layer* sliding = delta_x_ < 0 ? slider_.get() : owner_->layer();
166 ui::ScopedLayerAnimationSettings settings(sliding->GetAnimator()); 166 ui::ScopedLayerAnimationSettings settings(sliding->GetAnimator());
167 settings.SetPreemptionStrategy( 167 settings.SetPreemptionStrategy(
168 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); 168 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
169 settings.SetTweenType(ui::Tween::EASE_OUT); 169 settings.SetTweenType(gfx::Tween::EASE_OUT);
170 settings.AddObserver(new CallbackAnimationObserver( 170 settings.AddObserver(new CallbackAnimationObserver(
171 base::Bind(&WindowSlider::CompleteWindowSlideAfterAnimation, 171 base::Bind(&WindowSlider::CompleteWindowSlideAfterAnimation,
172 weak_factory_.GetWeakPtr()))); 172 weak_factory_.GetWeakPtr())));
173 173
174 gfx::Transform transform; 174 gfx::Transform transform;
175 transform.Translate(delta_x_ < 0 ? 0 : width, 0); 175 transform.Translate(delta_x_ < 0 ? 0 : width, 0);
176 sliding->SetTransform(transform); 176 sliding->SetTransform(transform);
177 } 177 }
178 178
179 void WindowSlider::ResetScroll() { 179 void WindowSlider::ResetScroll() {
180 if (!slider_.get()) 180 if (!slider_.get())
181 return; 181 return;
182 182
183 // Do not trigger any callbacks if this animation replaces any in-progress 183 // Do not trigger any callbacks if this animation replaces any in-progress
184 // animation. 184 // animation.
185 weak_factory_.InvalidateWeakPtrs(); 185 weak_factory_.InvalidateWeakPtrs();
186 186
187 // Reset the state of the sliding layer. 187 // Reset the state of the sliding layer.
188 if (slider_.get()) { 188 if (slider_.get()) {
189 ui::Layer* layer = slider_.release(); 189 ui::Layer* layer = slider_.release();
190 ui::ScopedLayerAnimationSettings settings(layer->GetAnimator()); 190 ui::ScopedLayerAnimationSettings settings(layer->GetAnimator());
191 settings.SetPreemptionStrategy( 191 settings.SetPreemptionStrategy(
192 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); 192 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
193 settings.SetTweenType(ui::Tween::EASE_OUT); 193 settings.SetTweenType(gfx::Tween::EASE_OUT);
194 194
195 // Delete the layer and the shadow at the end of the animation. 195 // Delete the layer and the shadow at the end of the animation.
196 settings.AddObserver(new CallbackAnimationObserver( 196 settings.AddObserver(new CallbackAnimationObserver(
197 base::Bind(&DeleteLayerAndShadow, 197 base::Bind(&DeleteLayerAndShadow,
198 base::Unretained(layer), 198 base::Unretained(layer),
199 base::Unretained(shadow_.release())))); 199 base::Unretained(shadow_.release()))));
200 200
201 gfx::Transform transform; 201 gfx::Transform transform;
202 transform.Translate(delta_x_ < 0 ? layer->bounds().width() : 0, 0); 202 transform.Translate(delta_x_ < 0 ? layer->bounds().width() : 0, 0);
203 layer->SetTransform(transform); 203 layer->SetTransform(transform);
204 } 204 }
205 205
206 // Reset the state of the main layer. 206 // Reset the state of the main layer.
207 { 207 {
208 ui::ScopedLayerAnimationSettings settings(owner_->layer()->GetAnimator()); 208 ui::ScopedLayerAnimationSettings settings(owner_->layer()->GetAnimator());
209 settings.SetPreemptionStrategy( 209 settings.SetPreemptionStrategy(
210 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET); 210 ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
211 settings.SetTweenType(ui::Tween::EASE_OUT); 211 settings.SetTweenType(gfx::Tween::EASE_OUT);
212 settings.AddObserver(new CallbackAnimationObserver( 212 settings.AddObserver(new CallbackAnimationObserver(
213 base::Bind(&WindowSlider::AbortWindowSlideAfterAnimation, 213 base::Bind(&WindowSlider::AbortWindowSlideAfterAnimation,
214 weak_factory_.GetWeakPtr()))); 214 weak_factory_.GetWeakPtr())));
215 owner_->layer()->SetTransform(gfx::Transform()); 215 owner_->layer()->SetTransform(gfx::Transform());
216 owner_->layer()->SetLayerBrightness(0.f); 216 owner_->layer()->SetLayerBrightness(0.f);
217 } 217 }
218 218
219 delta_x_ = 0.f; 219 delta_x_ = 0.f;
220 } 220 }
221 221
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 } else if (window == owner_) { 299 } else if (window == owner_) {
300 window->RemoveObserver(this); 300 window->RemoveObserver(this);
301 owner_ = NULL; 301 owner_ = NULL;
302 delete this; 302 delete this;
303 } else { 303 } else {
304 NOTREACHED(); 304 NOTREACHED();
305 } 305 }
306 } 306 }
307 307
308 } // namespace content 308 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_gtk.h ('k') | content/browser/web_contents/web_contents_view_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698