| Index: chrome/browser/infobars/infobar_container.h
 | 
| diff --git a/chrome/browser/infobars/infobar_container.h b/chrome/browser/infobars/infobar_container.h
 | 
| index 508bf76dd23826c5d8ecda213526b6d07069a2ea..c3f03305839c3964216ec3006f511cf9dcf68048 100644
 | 
| --- a/chrome/browser/infobars/infobar_container.h
 | 
| +++ b/chrome/browser/infobars/infobar_container.h
 | 
| @@ -9,6 +9,7 @@
 | 
|  
 | 
|  #include "base/compiler_specific.h"
 | 
|  #include "base/time.h"
 | 
| +#include "chrome/browser/instant/instant_model_observer.h"
 | 
|  #include "chrome/browser/ui/search/search_model_observer.h"
 | 
|  #include "chrome/common/search_types.h"
 | 
|  #include "content/public/browser/notification_observer.h"
 | 
| @@ -33,16 +34,24 @@ class SearchModel;
 | 
|  // Platforms need to subclass this to implement a few platform-specific
 | 
|  // functions, which are pure virtual here.
 | 
|  //
 | 
| -// This class also observes changes to the SearchModel mode. If the user changes
 | 
| -// into suggestions mode, it hides all the infobars temporarily.  When the user
 | 
| -// changes back out of suggestions mode, it reshows any infobars, and starts a
 | 
| -// 50 ms window during which any attempts to re-hide any infobars are handled
 | 
| -// without animation.  This prevents glitchy-looking behavior when the user
 | 
| -// navigates following a mode change, which otherwise would re-show the infobars
 | 
| -// only to instantly animate them closed.  The window is canceled if a tab
 | 
| -// change occurs.
 | 
| +// This class also observes changes to the SearchModel modes.  It hides infobars
 | 
| +// temporarily if the user changes into |SEARCH_SUGGESTIONS| mode (refer to
 | 
| +// chrome::search::Mode in chrome/common/search_types.h for all search modes)
 | 
| +// when on a :
 | 
| +// - |DEFAULT| page: when instant preview is ready;
 | 
| +// - |NTP| or |SEARCH_RESULTS| page: immediately;
 | 
| +//   TODO(kuan): this scenario requires more complex synchronization with
 | 
| +//   renderer SearchBoxAPI and will be implemented as the next step;
 | 
| +//   for now, hiding is immediate.
 | 
| +// When the user changes back out of |SEARCH_SUGGESTIONS| mode, it reshows any
 | 
| +// infobars, and starts a 50 ms window during which any attempts to re-hide any
 | 
| +// infobars are handled without animation.  This prevents glitchy-looking
 | 
| +// behavior when the user navigates following a mode change, which otherwise
 | 
| +// would re-show the infobars only to instantly animate them closed.  The window
 | 
| +// to re-hide infobars without animation is canceled if a tab change occurs.
 | 
|  class InfoBarContainer : public content::NotificationObserver,
 | 
| -                         public chrome::search::SearchModelObserver  {
 | 
| +                         public chrome::search::SearchModelObserver,
 | 
| +                         public InstantModelObserver  {
 | 
|   public:
 | 
|    class Delegate {
 | 
|     public:
 | 
| @@ -101,6 +110,9 @@ class InfoBarContainer : public content::NotificationObserver,
 | 
|  
 | 
|    const Delegate* delegate() const { return delegate_; }
 | 
|  
 | 
| +  // InstantModelObserver:
 | 
| +  virtual void PreviewStateChanged(const InstantModel& model) OVERRIDE;
 | 
| +
 | 
|   protected:
 | 
|    // Subclasses must call this during destruction, so that we can remove
 | 
|    // infobars (which will call the pure virtual functions below) while the
 | 
| 
 |