| Index: chrome/browser/infobars/infobar_container.h | 
| diff --git a/chrome/browser/infobars/infobar_container.h b/chrome/browser/infobars/infobar_container.h | 
| deleted file mode 100644 | 
| index 683888a5e3612d32bde51e8376ac313dd6d0d50a..0000000000000000000000000000000000000000 | 
| --- a/chrome/browser/infobars/infobar_container.h | 
| +++ /dev/null | 
| @@ -1,133 +0,0 @@ | 
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#ifndef CHROME_BROWSER_INFOBARS_INFOBAR_CONTAINER_H_ | 
| -#define CHROME_BROWSER_INFOBARS_INFOBAR_CONTAINER_H_ | 
| - | 
| -#include <vector> | 
| - | 
| -#include "base/compiler_specific.h" | 
| -#include "base/time/time.h" | 
| -#include "chrome/browser/infobars/infobar_manager.h" | 
| -#include "third_party/skia/include/core/SkColor.h" | 
| - | 
| -class InfoBar; | 
| - | 
| -// InfoBarContainer is a cross-platform base class to handle the visibility- | 
| -// related aspects of InfoBars.  While InfoBarManager owns the InfoBars, the | 
| -// InfoBarContainer is responsible for telling particular InfoBars that they | 
| -// should be hidden or visible. | 
| -// | 
| -// Platforms need to subclass this to implement a few platform-specific | 
| -// functions, which are pure virtual here. | 
| -class InfoBarContainer : public InfoBarManager::Observer { | 
| - public: | 
| -  class Delegate { | 
| -   public: | 
| -    // The separator color may vary depending on where the container is hosted. | 
| -    virtual SkColor GetInfoBarSeparatorColor() const = 0; | 
| - | 
| -    // The delegate is notified each time the infobar container changes height, | 
| -    // as well as when it stops animating. | 
| -    virtual void InfoBarContainerStateChanged(bool is_animating) = 0; | 
| - | 
| -    // The delegate needs to tell us whether "unspoofable" arrows should be | 
| -    // drawn, and if so, at what |x| coordinate.  |x| may be NULL. | 
| -    virtual bool DrawInfoBarArrows(int* x) const = 0; | 
| - | 
| -   protected: | 
| -    virtual ~Delegate(); | 
| -  }; | 
| - | 
| -  explicit InfoBarContainer(Delegate* delegate); | 
| -  virtual ~InfoBarContainer(); | 
| - | 
| -  // Changes the InfoBarManager for which this container is showing infobars. | 
| -  // This will hide all current infobars, remove them from the container, add | 
| -  // the infobars from |infobar_manager|, and show them all.  |infobar_manager| | 
| -  // may be NULL. | 
| -  void ChangeInfoBarManager(InfoBarManager* infobar_manager); | 
| - | 
| -  // Returns the amount by which to overlap the toolbar above, and, when | 
| -  // |total_height| is non-NULL, set it to the height of the InfoBarContainer | 
| -  // (including overlap). | 
| -  int GetVerticalOverlap(int* total_height); | 
| - | 
| -  // Called by the delegate when the distance between what the top infobar's | 
| -  // "unspoofable" arrow would point to and the top infobar itself changes. | 
| -  // This enables the top infobar to show a longer arrow (e.g. because of a | 
| -  // visible bookmark bar) or shorter (e.g. due to being in a popup window) if | 
| -  // desired. | 
| -  // | 
| -  // IMPORTANT: This MUST NOT result in a call back to | 
| -  // Delegate::InfoBarContainerStateChanged() unless it causes an actual | 
| -  // change, lest we infinitely recurse. | 
| -  void SetMaxTopArrowHeight(int height); | 
| - | 
| -  // Called when a contained infobar has animated or by some other means changed | 
| -  // its height, or when it stops animating.  The container is expected to do | 
| -  // anything necessary to respond, e.g. re-layout. | 
| -  void OnInfoBarStateChanged(bool is_animating); | 
| - | 
| -  // Called by |infobar| to request that it be removed from the container.  At | 
| -  // this point, |infobar| should already be hidden. | 
| -  void RemoveInfoBar(InfoBar* infobar); | 
| - | 
| -  const Delegate* delegate() const { return delegate_; } | 
| - | 
| - protected: | 
| -  // Subclasses must call this during destruction, so that we can remove | 
| -  // infobars (which will call the pure virtual functions below) while the | 
| -  // subclass portion of |this| has not yet been destroyed. | 
| -  void RemoveAllInfoBarsForDestruction(); | 
| - | 
| -  // These must be implemented on each platform to e.g. adjust the visible | 
| -  // object hierarchy.  The first two functions should each be called exactly | 
| -  // once during an infobar's life (see comments on RemoveInfoBar() and | 
| -  // AddInfoBar()). | 
| -  virtual void PlatformSpecificAddInfoBar(InfoBar* infobar, | 
| -                                          size_t position) = 0; | 
| -  // TODO(miguelg): Remove this; it is only necessary for Android, and only | 
| -  // until the translate infobar is implemented as three different infobars like | 
| -  // GTK does. | 
| -  virtual void PlatformSpecificReplaceInfoBar(InfoBar* old_infobar, | 
| -                                              InfoBar* new_infobar) {} | 
| -  virtual void PlatformSpecificRemoveInfoBar(InfoBar* infobar) = 0; | 
| -  virtual void PlatformSpecificInfoBarStateChanged(bool is_animating) {} | 
| - | 
| - private: | 
| -  typedef std::vector<InfoBar*> InfoBars; | 
| - | 
| -  // InfoBarManager::Observer: | 
| -  virtual void OnInfoBarAdded(InfoBar* infobar) OVERRIDE; | 
| -  virtual void OnInfoBarRemoved(InfoBar* infobar, bool animate) OVERRIDE; | 
| -  virtual void OnInfoBarReplaced(InfoBar* old_infobar, | 
| -                                 InfoBar* new_infobar) OVERRIDE; | 
| -  virtual void OnManagerShuttingDown(InfoBarManager* manager) OVERRIDE; | 
| - | 
| -  // Adds |infobar| to this container before the existing infobar at position | 
| -  // |position| and calls Show() on it.  |animate| is passed along to | 
| -  // infobar->Show().  Depending on the value of |callback_status|, this calls | 
| -  // infobar->set_container(this) either before or after the call to Show() so | 
| -  // that OnInfoBarStateChanged() either will or won't be called as a result. | 
| -  enum CallbackStatus { NO_CALLBACK, WANT_CALLBACK }; | 
| -  void AddInfoBar(InfoBar* infobar, | 
| -                  size_t position, | 
| -                  bool animate, | 
| -                  CallbackStatus callback_status); | 
| - | 
| -  void UpdateInfoBarArrowTargetHeights(); | 
| -  int ArrowTargetHeightForInfoBar(size_t infobar_index) const; | 
| - | 
| -  Delegate* delegate_; | 
| -  InfoBarManager* infobar_manager_; | 
| -  InfoBars infobars_; | 
| - | 
| -  // Calculated in SetMaxTopArrowHeight(). | 
| -  int top_arrow_target_height_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(InfoBarContainer); | 
| -}; | 
| - | 
| -#endif  // CHROME_BROWSER_INFOBARS_INFOBAR_CONTAINER_H_ | 
|  |