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

Unified Diff: chrome/browser/tab_contents/infobar.cc

Issue 6989001: Misc. infobar stuff: (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 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 | « chrome/browser/tab_contents/infobar.h ('k') | chrome/browser/tab_contents/infobar_container.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/tab_contents/infobar.cc
===================================================================
--- chrome/browser/tab_contents/infobar.cc (revision 84494)
+++ chrome/browser/tab_contents/infobar.cc (working copy)
@@ -2,16 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/ui/views/infobars/infobar.h"
+#if defined(TOOLKIT_VIEWS) // TODO(pkasting): Port non-views to use this.
+#include "chrome/browser/tab_contents/infobar.h"
+
#include <cmath>
+#include "chrome/browser/tab_contents/infobar_container.h"
+#include "chrome/browser/tab_contents/infobar_delegate.h"
#include "ui/base/animation/slide_animation.h"
-#include "chrome/browser/tab_contents/infobar_delegate.h"
-#include "chrome/browser/ui/views/infobars/infobar_container.h"
-InfoBar::InfoBar(InfoBarDelegate* delegate)
- : delegate_(delegate),
+InfoBar::InfoBar(TabContentsWrapper* owner, InfoBarDelegate* delegate)
+ : owner_(owner),
+ delegate_(delegate),
container_(NULL),
ALLOW_THIS_IN_INITIALIZER_LIST(animation_(new ui::SlideAnimation(this))),
arrow_height_(0),
@@ -19,6 +22,7 @@
arrow_half_width_(0),
bar_height_(0),
bar_target_height_(kDefaultBarTargetHeight) {
+ DCHECK(owner != NULL);
DCHECK(delegate != NULL);
animation_->SetTweenType(ui::Tween::LINEAR);
}
@@ -95,7 +99,7 @@
// scaling each of these with the square root of the animation value causes a
// linear animation of the area, which matches the perception of the animation
// of the bar portion.
- double scale_factor = sqrt(animation()->GetCurrentValue());
+ double scale_factor = sqrt(animation_->GetCurrentValue());
arrow_height_ = static_cast<int>(arrow_target_height_ * scale_factor);
if (animation_->is_animating()) {
arrow_half_width_ = static_cast<int>(std::min(arrow_target_height_,
@@ -116,8 +120,7 @@
if (arrow_height_)
arrow_height_ += kSeparatorLineHeight;
- bar_height_ =
- static_cast<int>(bar_target_height_ * animation()->GetCurrentValue());
+ bar_height_ = animation_->CurrentValueBetween(0, bar_target_height_);
// Don't re-layout if nothing has changed, e.g. because the animation step was
// not large enough to actually change the heights by at least a pixel.
@@ -141,3 +144,5 @@
delegate_ = NULL;
}
}
+
+#endif // TOOLKIT_VIEWS
« no previous file with comments | « chrome/browser/tab_contents/infobar.h ('k') | chrome/browser/tab_contents/infobar_container.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698