Home | History | Annotate | Download | only in panels
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_BROWSER_UI_PANELS_TEST_PANEL_ACTIVE_STATE_OBSERVER_H_
      6 #define CHROME_BROWSER_UI_PANELS_TEST_PANEL_ACTIVE_STATE_OBSERVER_H_
      7 
      8 #include "chrome/browser/ui/panels/test_panel_notification_observer.h"
      9 
     10 class Panel;
     11 
     12 // Custom notification observer for waiting on panel active state.
     13 // Modeled after ui_test_utils notification observers.
     14 class PanelActiveStateObserver : public TestPanelNotificationObserver {
     15  public:
     16   // Register to listen for panel active state change notifications
     17   // for the specified panel to detect a change to the expected active
     18   // state.
     19   PanelActiveStateObserver(Panel* panel, bool expect_active);
     20   virtual ~PanelActiveStateObserver();
     21 
     22  private:
     23   // TestNotificationObserver override:
     24   virtual bool AtExpectedState() OVERRIDE;
     25 
     26   Panel* panel_;
     27   bool expect_active_;
     28 
     29   DISALLOW_COPY_AND_ASSIGN(PanelActiveStateObserver);
     30 };
     31 
     32 #endif  // CHROME_BROWSER_UI_PANELS_TEST_PANEL_ACTIVE_STATE_OBSERVER_H_
     33