| Index: chrome/browser/ui/panels/test_panel_notification_observer.h
|
| diff --git a/chrome/browser/ui/panels/test_panel_active_state_observer.h b/chrome/browser/ui/panels/test_panel_notification_observer.h
|
| similarity index 50%
|
| copy from chrome/browser/ui/panels/test_panel_active_state_observer.h
|
| copy to chrome/browser/ui/panels/test_panel_notification_observer.h
|
| index 066d87f84d2daaebfb16c278c033262df447847b..564b52a65f47781fa2cbec270af02c7d9b0e7654 100644
|
| --- a/chrome/browser/ui/panels/test_panel_active_state_observer.h
|
| +++ b/chrome/browser/ui/panels/test_panel_notification_observer.h
|
| @@ -2,30 +2,29 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_UI_PANELS_TEST_PANEL_ACTIVE_STATE_OBSERVER_H_
|
| -#define CHROME_BROWSER_UI_PANELS_TEST_PANEL_ACTIVE_STATE_OBSERVER_H_
|
| +#ifndef CHROME_BROWSER_UI_PANELS_TEST_PANEL_NOTIFICATION_OBSERVER_H_
|
| +#define CHROME_BROWSER_UI_PANELS_TEST_PANEL_NOTIFICATION_OBSERVER_H_
|
|
|
| #include "base/memory/ref_counted.h"
|
| #include "content/public/browser/notification_observer.h"
|
| #include "content/public/browser/notification_registrar.h"
|
|
|
| -class Panel;
|
| -
|
| namespace content {
|
| class MessageLoopRunner;
|
| +class NotificaitonSource;
|
| }
|
|
|
| -// Custom notification observer for waiting on panel active state.
|
| -// Modeled after ui_test_utils notification observers.
|
| -class PanelActiveStateObserver : public content::NotificationObserver {
|
| +// Common base class for a custom notification observer that waits
|
| +// on a notification until an expected state is achieved.
|
| +// Modeled after ui_test_utils notification observers, but can handle
|
| +// more than one occurrence of the notification.
|
| +class TestPanelNotificationObserver : public content::NotificationObserver {
|
| public:
|
| - // Register to listen for panel active state change notifications
|
| - // for the specified panel to detect a change to the expected active
|
| - // state.
|
| - PanelActiveStateObserver(Panel* panel, bool expect_active);
|
| - virtual ~PanelActiveStateObserver();
|
| + TestPanelNotificationObserver(int notification,
|
| + const content::NotificationSource& source);
|
| + virtual ~TestPanelNotificationObserver();
|
|
|
| - // Wait until the active state has changed to the expected state.
|
| + // Wait until the expected state is achieved.
|
| void Wait();
|
|
|
| // content::NotificationObserver:
|
| @@ -33,16 +32,15 @@ class PanelActiveStateObserver : public content::NotificationObserver {
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
|
|
| - private:
|
| - bool AtExpectedState();
|
| - Panel* panel_;
|
| - bool expect_active_;
|
| + protected:
|
| + virtual bool AtExpectedState() = 0;
|
| +
|
| bool seen_; // true after transition to expected state has been seen
|
| bool running_; // indicates whether message loop is running
|
| content::NotificationRegistrar registrar_;
|
| scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(PanelActiveStateObserver);
|
| + DISALLOW_COPY_AND_ASSIGN(TestPanelNotificationObserver);
|
| };
|
|
|
| -#endif // CHROME_BROWSER_UI_PANELS_TEST_PANEL_ACTIVE_STATE_OBSERVER_H_
|
| +#endif // CHROME_BROWSER_UI_PANELS_TEST_PANEL_NOTIFICATION_OBSERVER_H_
|
|
|