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

Side by Side Diff: components/infobars/core/infobar.cc

Issue 2705293008: Disable info bar animations during automated testing. (Closed)
Patch Set: add DCHECKs Created 3 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/infobars/core/infobar.h" 5 #include "components/infobars/core/infobar.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 } 46 }
47 47
48 void InfoBar::SetOwner(InfoBarManager* owner) { 48 void InfoBar::SetOwner(InfoBarManager* owner) {
49 DCHECK(!owner_); 49 DCHECK(!owner_);
50 owner_ = owner; 50 owner_ = owner;
51 delegate_->set_nav_entry_id(owner->GetActiveEntryID()); 51 delegate_->set_nav_entry_id(owner->GetActiveEntryID());
52 PlatformSpecificSetOwner(); 52 PlatformSpecificSetOwner();
53 } 53 }
54 54
55 void InfoBar::Show(bool animate) { 55 void InfoBar::Show(bool animate) {
56 DCHECK(owner_);
57 if (!owner_->animations_enabled())
58 animate = false;
Peter Kasting 2017/02/23 00:33:55 Nit: Shorter: animate &= owner_->animations_ena
samuong 2017/02/23 00:45:26 Done.
56 PlatformSpecificShow(animate); 59 PlatformSpecificShow(animate);
57 if (animate) { 60 if (animate) {
58 animation_.Show(); 61 animation_.Show();
59 } else { 62 } else {
60 animation_.Reset(1.0); 63 animation_.Reset(1.0);
61 RecalculateHeights(true); 64 RecalculateHeights(true);
62 } 65 }
63 } 66 }
64 67
65 void InfoBar::Hide(bool animate) { 68 void InfoBar::Hide(bool animate) {
69 DCHECK(owner_);
70 if (!owner_->animations_enabled())
71 animate = false;
66 PlatformSpecificHide(animate); 72 PlatformSpecificHide(animate);
67 if (animate) { 73 if (animate) {
68 animation_.Hide(); 74 animation_.Hide();
69 } else { 75 } else {
70 animation_.Reset(0.0); 76 animation_.Reset(0.0);
71 // We want to remove ourselves from the container immediately even if we 77 // We want to remove ourselves from the container immediately even if we
72 // still have an owner, which MaybeDelete() won't do. 78 // still have an owner, which MaybeDelete() won't do.
73 DCHECK(container_); 79 DCHECK(container_);
74 container_->RemoveInfoBar(this); 80 container_->RemoveInfoBar(this);
75 MaybeDelete(); // Necessary if the infobar was already closing. 81 MaybeDelete(); // Necessary if the infobar was already closing.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 151
146 void InfoBar::MaybeDelete() { 152 void InfoBar::MaybeDelete() {
147 if (!owner_ && (animation_.GetCurrentValue() == 0.0)) { 153 if (!owner_ && (animation_.GetCurrentValue() == 0.0)) {
148 if (container_) 154 if (container_)
149 container_->RemoveInfoBar(this); 155 container_->RemoveInfoBar(this);
150 delete this; 156 delete this;
151 } 157 }
152 } 158 }
153 159
154 } // namespace infobars 160 } // namespace infobars
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698