Index: chrome/browser/automation/automation_tab_helper.h |
diff --git a/chrome/browser/automation/automation_tab_helper.h b/chrome/browser/automation/automation_tab_helper.h |
deleted file mode 100644 |
index fd30442ef19cbc89080c0fd3158aa0f8ddd152e6..0000000000000000000000000000000000000000 |
--- a/chrome/browser/automation/automation_tab_helper.h |
+++ /dev/null |
@@ -1,139 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CHROME_BROWSER_AUTOMATION_AUTOMATION_TAB_HELPER_H_ |
-#define CHROME_BROWSER_AUTOMATION_AUTOMATION_TAB_HELPER_H_ |
- |
-#include <set> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/observer_list.h" |
-#include "content/public/browser/web_contents_observer.h" |
-#include "content/public/browser/web_contents_user_data.h" |
- |
-class AutomationTabHelper; |
- |
-// An observer API implemented by classes which are interested in various |
-// tab events from AutomationTabHelper(s). |
-class TabEventObserver { |
- public: |
- // |LOAD_START| and |LOAD_STOP| notifications may occur several times for a |
- // sequence of loads that may appear as one complete navigation to a user. |
- // For instance, navigating to a non-existent page will cause a load start |
- // and stop for the non-existent page; following that, Chrome will schedule |
- // a navigation to an error page which causes another load start and stop. |
- // |
- // A pending load is a load that is currently in progress or one that is |
- // scheduled to occur immediately. The only scheduled loads that are |
- // tracked are client redirects, such as javascript redirects. |
- // TODO(kkania): Handle redirects that are scheduled to occur later, and |
- // change this definition of a pending load. |
- // TODO(kkania): Track other types of scheduled navigations. |
- |
- // Called when the tab that had no pending loads now has a new pending |
- // load. |web_contents| will always be valid. |
- virtual void OnFirstPendingLoad(content::WebContents* web_contents) { } |
- |
- // Called when the tab that had one or more pending loads now has no |
- // pending loads. |web_contents| will always be valid. |
- // |
- // This method will always be called if |OnFirstPendingLoad| was called. |
- virtual void OnNoMorePendingLoads(content::WebContents* web_contents) { } |
- |
- // Called as a result of a tab being snapshotted. |
- virtual void OnSnapshotEntirePageACK( |
- bool success, |
- const std::vector<unsigned char>& png_data, |
- const std::string& error_msg) { } |
- |
- protected: |
- TabEventObserver(); |
- virtual ~TabEventObserver(); |
- |
- // On construction, this class does not observe any events. This method |
- // sets us up to observe events from the given |AutomationTabHelper|. |
- void StartObserving(AutomationTabHelper* tab_helper); |
- |
- // Stop observing events from the given |AutomationTabHelper|. This does not |
- // need to be called before the helper dies, and it is ok if this object is |
- // destructed while it is still observing an |AutomationTabHelper|. |
- void StopObserving(AutomationTabHelper* tab_helper); |
- |
- private: |
- friend class AutomationTabHelperTest; |
- typedef std::vector<base::WeakPtr<AutomationTabHelper> > EventSourceVector; |
- |
- // Vector of all the event sources we are observing. Tracked so that this |
- // class can remove itself from each source at its destruction. |
- EventSourceVector event_sources_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TabEventObserver); |
-}; |
- |
-// Per-tab automation support class. Receives automation/testing messages |
-// from the renderer. Broadcasts tab events to |TabEventObserver|s. |
-class AutomationTabHelper |
- : public content::WebContentsObserver, |
- public base::SupportsWeakPtr<AutomationTabHelper>, |
- public content::WebContentsUserData<AutomationTabHelper> { |
- public: |
- virtual ~AutomationTabHelper(); |
- |
- void AddObserver(TabEventObserver* observer); |
- void RemoveObserver(TabEventObserver* observer); |
- |
- // Snapshots the entire page without resizing. |
- void SnapshotEntirePage(); |
- |
-#if !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) |
- // Dumps a heap profile. |
- void HeapProfilerDump(const std::string& reason); |
-#endif // !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) |
- |
- // Returns true if the tab is loading or the tab is scheduled to load |
- // immediately. Note that scheduled loads may be canceled. |
- bool has_pending_loads() const; |
- |
- private: |
- explicit AutomationTabHelper(content::WebContents* web_contents); |
- friend class content::WebContentsUserData<AutomationTabHelper>; |
- |
- friend class AutomationTabHelperTest; |
- |
- void OnSnapshotEntirePageACK( |
- bool success, |
- const std::vector<unsigned char>& png_data, |
- const std::string& error_msg); |
- |
- // content::WebContentsObserver implementation. |
- virtual void DidStartLoading( |
- content::RenderViewHost* render_view_host) OVERRIDE; |
- virtual void DidStopLoading( |
- content::RenderViewHost* render_view_host) OVERRIDE; |
- virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE; |
- virtual void WebContentsDestroyed( |
- content::WebContents* web_contents) OVERRIDE; |
- virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
- |
- void OnWillPerformClientRedirect(int64 frame_id, double delay_seconds); |
- void OnDidCompleteOrCancelClientRedirect(int64 frame_id); |
- void OnTabOrRenderViewDestroyed(content::WebContents* web_contents); |
- |
- // True if the tab is currently loading. If a navigation is scheduled but not |
- // yet loading, this will be false. |
- bool is_loading_; |
- |
- // Set of all the frames (by frame ID) that are scheduled to perform a client |
- // redirect. |
- std::set<int64> pending_client_redirects_; |
- |
- // List of all the |TabEventObserver|s, which we broadcast events to. |
- ObserverList<TabEventObserver> observers_; |
- |
- DISALLOW_COPY_AND_ASSIGN(AutomationTabHelper); |
-}; |
- |
-#endif // CHROME_BROWSER_AUTOMATION_AUTOMATION_TAB_HELPER_H_ |