| Index: chrome/browser/automation/automation_provider_observers.h
|
| diff --git a/chrome/browser/automation/automation_provider_observers.h b/chrome/browser/automation/automation_provider_observers.h
|
| index 073082d353e06a2e9c83d5bda7401e9518da9c17..5744505f711d6a31c1914d83964b37757917f926 100644
|
| --- a/chrome/browser/automation/automation_provider_observers.h
|
| +++ b/chrome/browser/automation/automation_provider_observers.h
|
| @@ -104,9 +104,10 @@ class InitialLoadObserver : public content::NotificationObserver {
|
| InitialLoadObserver(size_t tab_count, AutomationProvider* automation);
|
| virtual ~InitialLoadObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| // Caller owns the return value and is responsible for deleting it.
|
| // Example return value:
|
| @@ -159,9 +160,10 @@ class NetworkManagerInitObserver
|
| class LoginWebuiReadyObserver : public content::NotificationObserver {
|
| public:
|
| explicit LoginWebuiReadyObserver(AutomationProvider* automation);
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -178,9 +180,10 @@ class NewTabUILoadObserver : public content::NotificationObserver {
|
| Profile* profile);
|
| virtual ~NewTabUILoadObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -198,9 +201,10 @@ class NavigationControllerRestoredObserver
|
| IPC::Message* reply_message);
|
| virtual ~NavigationControllerRestoredObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| bool FinishedRestoring();
|
| @@ -224,9 +228,10 @@ class NavigationNotificationObserver : public content::NotificationObserver {
|
| bool use_json_interface);
|
| virtual ~NavigationNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| void ConditionMet(AutomationMsg_NavigationResponseValues navigation_result);
|
| @@ -248,9 +253,10 @@ class TabStripNotificationObserver : public content::NotificationObserver {
|
| AutomationProvider* automation);
|
| virtual ~TabStripNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| virtual void ObserveTab(content::NavigationController* controller) = 0;
|
|
|
| @@ -335,10 +341,10 @@ class ExtensionUninstallObserver : public content::NotificationObserver {
|
| const std::string& id);
|
| virtual ~ExtensionUninstallObserver();
|
|
|
| - // Implementation of content::NotificationObserver.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -361,10 +367,10 @@ class ExtensionReadyNotificationObserver
|
| IPC::Message* reply_message);
|
| virtual ~ExtensionReadyNotificationObserver();
|
|
|
| - // Implementation of NotificationObserver.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| void Init();
|
| @@ -385,10 +391,10 @@ class ExtensionUnloadNotificationObserver
|
| ExtensionUnloadNotificationObserver();
|
| virtual ~ExtensionUnloadNotificationObserver();
|
|
|
| - // Implementation of NotificationObserver.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| bool did_receive_unload_notification() {
|
| return did_receive_unload_notification_;
|
| @@ -412,10 +418,10 @@ class ExtensionsUpdatedObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~ExtensionsUpdatedObserver();
|
|
|
| - // Implementation of NotificationObserver.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -436,9 +442,10 @@ class BrowserOpenedNotificationObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~BrowserOpenedNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| void set_for_browser_command(bool for_browser_command);
|
|
|
| @@ -459,9 +466,10 @@ class BrowserClosedNotificationObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~BrowserClosedNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| void set_for_browser_command(bool for_browser_command);
|
|
|
| @@ -482,9 +490,10 @@ class BrowserCountChangeNotificationObserver
|
| IPC::Message* reply_message);
|
| virtual ~BrowserCountChangeNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| int target_count_;
|
| @@ -504,9 +513,10 @@ class ExecuteBrowserCommandObserver : public content::NotificationObserver {
|
| int command,
|
| IPC::Message* reply_message);
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| ExecuteBrowserCommandObserver(AutomationProvider* automation,
|
| @@ -532,9 +542,10 @@ class FindInPageNotificationObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~FindInPageNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| // The Find mechanism is over asynchronous IPC, so a search is kicked off and
|
| // we wait for notification to find out what the results are. As the user is
|
| @@ -563,6 +574,7 @@ class DomOperationObserver : public content::NotificationObserver {
|
| explicit DomOperationObserver(int automation_id);
|
| virtual ~DomOperationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
| @@ -608,9 +620,10 @@ class MetricEventDurationObserver : public content::NotificationObserver {
|
| // Get the duration of an event. Returns -1 if we haven't seen the event.
|
| int GetEventDurationMs(const std::string& event_name);
|
|
|
| - // NotificationObserver interface.
|
| - virtual void Observe(int type, const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + // Overridden from content::NotificationObserver:
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -628,10 +641,10 @@ class PageTranslatedObserver : public content::NotificationObserver {
|
| content::WebContents* web_contents);
|
| virtual ~PageTranslatedObserver();
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -649,10 +662,10 @@ class TabLanguageDeterminedObserver : public content::NotificationObserver {
|
| TranslateInfoBarDelegate* translate_bar);
|
| virtual ~TabLanguageDeterminedObserver();
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -672,10 +685,10 @@ class InfoBarCountObserver : public content::NotificationObserver {
|
| size_t target_count);
|
| virtual ~InfoBarCountObserver();
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| // Checks whether the infobar count matches our target, and if so
|
| @@ -728,9 +741,10 @@ class ScreenLockUnlockObserver : public content::NotificationObserver {
|
| bool lock_screen);
|
| virtual ~ScreenLockUnlockObserver();
|
|
|
| - // content::NotificationObserver interface.
|
| - virtual void Observe(int type, const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + // Overridden from content::NotificationObserver:
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| protected:
|
| base::WeakPtr<AutomationProvider> automation_;
|
| @@ -1180,10 +1194,10 @@ class PasswordStoreLoginsChangedObserver
|
| // Schedules a task on the DB thread to register the appropriate observers.
|
| virtual void Init();
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| friend struct content::BrowserThread::DeleteOnThread<
|
| @@ -1239,9 +1253,10 @@ class OmniboxAcceptNotificationObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~OmniboxAcceptNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1260,9 +1275,10 @@ class SavePackageNotificationObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~SavePackageNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1286,15 +1302,16 @@ class PageSnapshotTaker : public TabEventObserver,
|
| void Start();
|
|
|
| private:
|
| - // TabEventObserver overrides.
|
| + // Overridden from TabEventObserver:
|
| virtual void OnSnapshotEntirePageACK(
|
| bool success,
|
| const std::vector<unsigned char>& png_data,
|
| const std::string& error_msg) OVERRIDE;
|
| - // NotificationObserver overrides.
|
| +
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| // Helper method to send a response back to the client. Deletes this.
|
| void SendMessage(bool success, const std::string& error_msg);
|
| @@ -1334,11 +1351,11 @@ class AutomationMouseEventProcessor : public content::RenderViewHostObserver,
|
| bool success,
|
| const std::string& error_msg);
|
|
|
| - // RenderViewHostObserver overrides.
|
| + // Overriden from RenderViewHostObserver.
|
| virtual void RenderViewHostDestroyed(content::RenderViewHost* host) OVERRIDE;
|
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
|
|
| - // NotificationObserver overrides.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
| @@ -1363,9 +1380,10 @@ class NTPInfoObserver : public content::NotificationObserver {
|
| CancelableRequestConsumer* consumer);
|
| virtual ~NTPInfoObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| void OnTopSitesLoaded();
|
| @@ -1392,9 +1410,10 @@ class AppLaunchObserver : public content::NotificationObserver {
|
| extension_misc::LaunchContainer launch_container);
|
| virtual ~AppLaunchObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NavigationController* controller_;
|
| @@ -1420,10 +1439,10 @@ class AutofillDisplayedObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~AutofillDisplayedObserver();
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| int notification_;
|
| @@ -1452,10 +1471,10 @@ class AutofillChangedObserver
|
| // Schedules a task on the DB thread to register the appropriate observers.
|
| virtual void Init();
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| friend struct content::BrowserThread::DeleteOnThread<
|
| @@ -1500,10 +1519,10 @@ class AutofillFormSubmittedObserver
|
| virtual void OnPersonalDataChanged() OVERRIDE;
|
| virtual void OnInsufficientFormData() OVERRIDE;
|
|
|
| - // content::NotificationObserver interface.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1521,9 +1540,10 @@ class GetAllNotificationsObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~GetAllNotificationsObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| // Sends a message via the |AutomationProvider|. |automation_| must be valid.
|
| @@ -1546,9 +1566,11 @@ class NewNotificationBalloonObserver : public content::NotificationObserver {
|
| NewNotificationBalloonObserver(AutomationProvider* provider,
|
| IPC::Message* reply_message);
|
| virtual ~NewNotificationBalloonObserver();
|
| +
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1573,9 +1595,10 @@ class OnNotificationBalloonCountObserver
|
| // message is sent or if |automation_| is invalid.
|
| void CheckBalloonCount();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1596,9 +1619,10 @@ class RendererProcessClosedObserver : public content::NotificationObserver {
|
| IPC::Message* reply_message);
|
| virtual ~RendererProcessClosedObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1617,9 +1641,10 @@ class InputEventAckNotificationObserver : public content::NotificationObserver {
|
| int event_type, int count);
|
| virtual ~InputEventAckNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1649,7 +1674,7 @@ class AllViewsStoppedLoadingObserver : public TabEventObserver,
|
| virtual void OnNoMorePendingLoads(
|
| content::WebContents* web_contents) OVERRIDE;
|
|
|
| - // content::NotificationObserver implementation.
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
| @@ -1675,6 +1700,7 @@ class NewTabObserver : public content::NotificationObserver {
|
| public:
|
| NewTabObserver(AutomationProvider* automation, IPC::Message* reply_message);
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
| @@ -1734,9 +1760,10 @@ class DragTargetDropAckNotificationObserver
|
| IPC::Message* reply_message);
|
| virtual ~DragTargetDropAckNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1771,9 +1798,10 @@ class V8HeapStatsObserver : public content::NotificationObserver {
|
| base::ProcessId renderer_id);
|
| virtual ~V8HeapStatsObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1793,9 +1821,10 @@ class FPSObserver : public content::NotificationObserver {
|
| int routing_id);
|
| virtual ~FPSObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1822,9 +1851,10 @@ class BrowserOpenedWithNewProfileNotificationObserver
|
| IPC::Message* reply_message);
|
| virtual ~BrowserOpenedWithNewProfileNotificationObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| - const content::NotificationDetails& details);
|
| + const content::NotificationDetails& details) OVERRIDE;
|
|
|
| private:
|
| content::NotificationRegistrar registrar_;
|
| @@ -1844,6 +1874,7 @@ class ExtensionPopupObserver : public content::NotificationObserver {
|
| const std::string& extension_id);
|
| ~ExtensionPopupObserver();
|
|
|
| + // Overridden from content::NotificationObserver:
|
| virtual void Observe(int type,
|
| const content::NotificationSource& source,
|
| const content::NotificationDetails& details) OVERRIDE;
|
| @@ -1857,4 +1888,26 @@ class ExtensionPopupObserver : public content::NotificationObserver {
|
| DISALLOW_COPY_AND_ASSIGN(ExtensionPopupObserver);
|
| };
|
|
|
| +// Allows the automation provider to wait for a WINDOW_MAXIMIZED notification.
|
| +class WindowMaximizedObserver : public content::NotificationObserver {
|
| + public:
|
| + WindowMaximizedObserver(AutomationProvider* automation,
|
| + IPC::Message* reply_message);
|
| + virtual ~WindowMaximizedObserver();
|
| +
|
| + // Overridden from content::NotificationObserver:
|
| + virtual void Observe(int type,
|
| + const content::NotificationSource& source,
|
| + const content::NotificationDetails& details) OVERRIDE;
|
| +
|
| + private:
|
| + content::NotificationRegistrar registrar_;
|
| + base::WeakPtr<AutomationProvider> automation_;
|
| + scoped_ptr<IPC::Message> reply_message_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(WindowMaximizedObserver);
|
| +};
|
| +
|
| +
|
| +
|
| #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_
|
|
|