Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(441)

Side by Side Diff: chrome/browser/automation/automation_provider_observers.h

Issue 8804011: WebDriver extension support in TestingAutomationProvider. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: ... Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_ 5 #ifndef CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_
6 #define CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_ 6 #define CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_
7 #pragma once 7 #pragma once
8 8
9 #include <deque> 9 #include <deque>
10 #include <map> 10 #include <map>
(...skipping 1626 matching lines...) Expand 10 before | Expand all | Expand 10 after
1637 private: 1637 private:
1638 content::NotificationRegistrar registrar_; 1638 content::NotificationRegistrar registrar_;
1639 base::WeakPtr<AutomationProvider> automation_; 1639 base::WeakPtr<AutomationProvider> automation_;
1640 scoped_ptr<IPC::Message> reply_message_; 1640 scoped_ptr<IPC::Message> reply_message_;
1641 int event_type_; 1641 int event_type_;
1642 int count_; 1642 int count_;
1643 1643
1644 DISALLOW_COPY_AND_ASSIGN(InputEventAckNotificationObserver); 1644 DISALLOW_COPY_AND_ASSIGN(InputEventAckNotificationObserver);
1645 }; 1645 };
1646 1646
1647 // Allows the automation provider to wait for all the tabs to finish any 1647 // Allows the automation provider to wait for all render views to finish any
1648 // pending loads. This only waits for tabs that exist at the observer's 1648 // pending loads. This wait is only guaranteed for views that exist at the
1649 // creation. Will send a message on construction if no tabs are loading 1649 // observer's creation. Will send a message on construction if no views are
1650 // currently. 1650 // loading currently.
dennis_jeffrey 2011/12/06 00:49:08 nit: 'loading currently' --> 'currently loading'
kkania 2011/12/12 17:10:06 Done.
1651 class AllTabsStoppedLoadingObserver : public TabEventObserver, 1651 class AllViewsStoppedLoadingObserver : public TabEventObserver,
1652 public content::NotificationObserver { 1652 public content::NotificationObserver {
dennis_jeffrey 2011/12/06 00:49:08 indent by 1 more space
kkania 2011/12/12 17:10:06 Done.
1653 public: 1653 public:
1654 AllTabsStoppedLoadingObserver(AutomationProvider* automation, 1654 AllViewsStoppedLoadingObserver(
1655 IPC::Message* reply_message); 1655 AutomationProvider* automation,
1656 virtual ~AllTabsStoppedLoadingObserver(); 1656 IPC::Message* reply_message,
1657 ExtensionProcessManager* extension_process_manager);
1658 virtual ~AllViewsStoppedLoadingObserver();
1657 1659
1658 // TabEventObserver implementation. 1660 // TabEventObserver implementation.
1659 virtual void OnFirstPendingLoad(TabContents* tab_contents) OVERRIDE; 1661 virtual void OnFirstPendingLoad(TabContents* tab_contents) OVERRIDE;
1660 virtual void OnNoMorePendingLoads(TabContents* tab_contents) OVERRIDE; 1662 virtual void OnNoMorePendingLoads(TabContents* tab_contents) OVERRIDE;
1661 1663
1662 // content::NotificationObserver implementation. 1664 // content::NotificationObserver implementation.
1663 virtual void Observe(int type, 1665 virtual void Observe(int type,
1664 const content::NotificationSource& source, 1666 const content::NotificationSource& source,
1665 const content::NotificationDetails& details) OVERRIDE; 1667 const content::NotificationDetails& details) OVERRIDE;
1666 1668
1667 private: 1669 private:
1668 typedef std::set<TabContents*> TabSet; 1670 typedef std::set<TabContents*> TabSet;
1669 1671
1670 // Checks if there are no pending loads. If none, it will send an automation 1672 // Checks if there are no pending loads. If none, it will send an automation
1671 // relpy and delete itself. 1673 // relpy and delete itself.
1672 void CheckIfNoMorePendingLoads(); 1674 void CheckIfNoMorePendingLoads();
1673 1675
1674 TabSet pending_tabs_;
1675 content::NotificationRegistrar registrar_;
1676 base::WeakPtr<AutomationProvider> automation_; 1676 base::WeakPtr<AutomationProvider> automation_;
1677 scoped_ptr<IPC::Message> reply_message_; 1677 scoped_ptr<IPC::Message> reply_message_;
1678 ExtensionProcessManager* extension_process_manager_;
1679 content::NotificationRegistrar registrar_;
1680 TabSet pending_tabs_;
1678 1681
1679 DISALLOW_COPY_AND_ASSIGN(AllTabsStoppedLoadingObserver); 1682 DISALLOW_COPY_AND_ASSIGN(AllViewsStoppedLoadingObserver);
1680 }; 1683 };
1681 1684
1682 // Observer used to listen for new tab creation to complete. 1685 // Observer used to listen for new tab creation to complete.
1683 class NewTabObserver : public content::NotificationObserver { 1686 class NewTabObserver : public content::NotificationObserver {
1684 public: 1687 public:
1685 NewTabObserver(AutomationProvider* automation, IPC::Message* reply_message); 1688 NewTabObserver(AutomationProvider* automation, IPC::Message* reply_message);
1686 1689
1687 virtual void Observe(int type, 1690 virtual void Observe(int type,
1688 const content::NotificationSource& source, 1691 const content::NotificationSource& source,
1689 const content::NotificationDetails& details) OVERRIDE; 1692 const content::NotificationDetails& details) OVERRIDE;
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1832 1835
1833 base::WeakPtr<AutomationProvider> automation_; 1836 base::WeakPtr<AutomationProvider> automation_;
1834 scoped_ptr<IPC::Message> reply_message_; 1837 scoped_ptr<IPC::Message> reply_message_;
1835 std::vector<policy::ConfigurationPolicyObserverRegistrar*> registrars_; 1838 std::vector<policy::ConfigurationPolicyObserverRegistrar*> registrars_;
1836 1839
1837 DISALLOW_COPY_AND_ASSIGN(PolicyUpdatesObserver); 1840 DISALLOW_COPY_AND_ASSIGN(PolicyUpdatesObserver);
1838 }; 1841 };
1839 1842
1840 #endif // defined(ENABLE_CONFIGURATION_POLICY) 1843 #endif // defined(ENABLE_CONFIGURATION_POLICY)
1841 1844
1845 // Waits for an extension popup to appear and load.
1846 class ExtensionPopupObserver : public content::NotificationObserver {
1847 public:
1848 ExtensionPopupObserver(
1849 AutomationProvider* automation,
1850 IPC::Message* reply_message,
1851 const std::string& extension_id);
1852 ~ExtensionPopupObserver();
1853
1854 virtual void Observe(int type,
1855 const content::NotificationSource& source,
1856 const content::NotificationDetails& details) OVERRIDE;
1857
1858 private:
1859 base::WeakPtr<AutomationProvider> automation_;
1860 scoped_ptr<IPC::Message> reply_message_;
1861 std::string extension_id_;
1862 content::NotificationRegistrar registrar_;
1863
1864 DISALLOW_COPY_AND_ASSIGN(ExtensionPopupObserver);
1865 };
1866
1842 #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_ 1867 #endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_PROVIDER_OBSERVERS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698