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

Unified Diff: chrome/browser/automation/automation_tab_helper.cc

Issue 14977013: Delete Automation[Tab/Renderer]Helper and users. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update now that 202087 is committed Created 7 years, 7 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/automation/automation_tab_helper.cc
diff --git a/chrome/browser/automation/automation_tab_helper.cc b/chrome/browser/automation/automation_tab_helper.cc
deleted file mode 100644
index 4dff248bf1c3f9e4f6598fde748a783341cd3693..0000000000000000000000000000000000000000
--- a/chrome/browser/automation/automation_tab_helper.cc
+++ /dev/null
@@ -1,174 +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.
-
-#include "chrome/browser/automation/automation_tab_helper.h"
-
-#include <algorithm>
-
-#include "chrome/common/automation_messages.h"
-#include "content/public/browser/web_contents.h"
-#include "ipc/ipc_message.h"
-#include "ipc/ipc_message_macros.h"
-#include "ui/gfx/size.h"
-
-using content::WebContents;
-
-DEFINE_WEB_CONTENTS_USER_DATA_KEY(AutomationTabHelper);
-
-TabEventObserver::TabEventObserver() { }
-
-TabEventObserver::~TabEventObserver() {
- for (size_t i = 0; i < event_sources_.size(); ++i) {
- if (event_sources_[i])
- event_sources_[i]->RemoveObserver(this);
- }
-}
-
-void TabEventObserver::StartObserving(AutomationTabHelper* tab_helper) {
- tab_helper->AddObserver(this);
- event_sources_.push_back(tab_helper->AsWeakPtr());
-}
-
-void TabEventObserver::StopObserving(AutomationTabHelper* tab_helper) {
- tab_helper->RemoveObserver(this);
- EventSourceVector::iterator iter =
- std::find(event_sources_.begin(), event_sources_.end(), tab_helper);
- if (iter != event_sources_.end())
- event_sources_.erase(iter);
-}
-
-AutomationTabHelper::AutomationTabHelper(WebContents* web_contents)
- : content::WebContentsObserver(web_contents),
- is_loading_(false) {
-}
-
-AutomationTabHelper::~AutomationTabHelper() { }
-
-void AutomationTabHelper::AddObserver(TabEventObserver* observer) {
- observers_.AddObserver(observer);
-}
-
-void AutomationTabHelper::RemoveObserver(TabEventObserver* observer) {
- observers_.RemoveObserver(observer);
-}
-
-void AutomationTabHelper::SnapshotEntirePage() {
- Send(new AutomationMsg_SnapshotEntirePage(routing_id()));
-}
-
-#if !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
-void AutomationTabHelper::HeapProfilerDump(const std::string& reason) {
- Send(new AutomationMsg_HeapProfilerDump(routing_id(), reason));
-}
-#endif // !defined(NO_TCMALLOC) && (defined(OS_LINUX) || defined(OS_CHROMEOS))
-
-bool AutomationTabHelper::has_pending_loads() const {
- return is_loading_ || !pending_client_redirects_.empty();
-}
-
-void AutomationTabHelper::DidStartLoading(
- content::RenderViewHost* render_view_host) {
- if (is_loading_) {
- // DidStartLoading is often called twice. Once when the renderer sends a
- // load start message, and once when the browser calls it directly as a
- // result of some user-initiated navigation.
- VLOG(1) << "Received DidStartLoading while loading already started.";
- return;
- }
- bool had_pending_loads = has_pending_loads();
- is_loading_ = true;
- if (!had_pending_loads) {
- FOR_EACH_OBSERVER(TabEventObserver, observers_,
- OnFirstPendingLoad(web_contents()));
- }
-}
-
-void AutomationTabHelper::DidStopLoading(
- content::RenderViewHost* render_view_host) {
- if (!is_loading_) {
- LOG(WARNING) << "Received DidStopLoading while loading already stopped.";
- return;
- }
- is_loading_ = false;
- if (!has_pending_loads()) {
- FOR_EACH_OBSERVER(TabEventObserver, observers_,
- OnNoMorePendingLoads(web_contents()));
- }
-}
-
-void AutomationTabHelper::RenderViewGone(base::TerminationStatus status) {
- OnTabOrRenderViewDestroyed(web_contents());
-}
-
-void AutomationTabHelper::WebContentsDestroyed(WebContents* web_contents) {
- OnTabOrRenderViewDestroyed(web_contents);
-}
-
-void AutomationTabHelper::OnTabOrRenderViewDestroyed(
- WebContents* web_contents) {
- if (has_pending_loads()) {
- is_loading_ = false;
- pending_client_redirects_.clear();
- FOR_EACH_OBSERVER(TabEventObserver, observers_,
- OnNoMorePendingLoads(web_contents));
- }
-}
-
-void AutomationTabHelper::OnSnapshotEntirePageACK(
- bool success,
- const std::vector<unsigned char>& png_data,
- const std::string& error_msg) {
- FOR_EACH_OBSERVER(TabEventObserver, observers_,
- OnSnapshotEntirePageACK(success, png_data, error_msg));
-}
-
-bool AutomationTabHelper::OnMessageReceived(const IPC::Message& message) {
- bool handled = true;
- bool msg_is_good = true;
- IPC_BEGIN_MESSAGE_MAP_EX(AutomationTabHelper, message, msg_is_good)
- IPC_MESSAGE_HANDLER(AutomationMsg_SnapshotEntirePageACK,
- OnSnapshotEntirePageACK)
- IPC_MESSAGE_HANDLER(AutomationMsg_WillPerformClientRedirect,
- OnWillPerformClientRedirect)
- IPC_MESSAGE_HANDLER(AutomationMsg_DidCompleteOrCancelClientRedirect,
- OnDidCompleteOrCancelClientRedirect)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP_EX()
- if (!msg_is_good) {
- LOG(ERROR) << "Failed to deserialize an IPC message";
- }
- return handled;
-}
-
-void AutomationTabHelper::OnWillPerformClientRedirect(
- int64 frame_id, double delay_seconds) {
- // Ignore all non-zero delays.
- // TODO(kkania): Handle timed redirects.
- if (delay_seconds > 0) {
- LOG(WARNING) << "Ignoring timed redirect scheduled for " << delay_seconds
- << " seconds later. Will not wait for the redirect to occur";
- return;
- }
-
- bool first_pending_load = !has_pending_loads();
- pending_client_redirects_.insert(frame_id);
- if (first_pending_load) {
- FOR_EACH_OBSERVER(TabEventObserver, observers_,
- OnFirstPendingLoad(web_contents()));
- }
-}
-
-void AutomationTabHelper::OnDidCompleteOrCancelClientRedirect(int64 frame_id) {
- std::set<int64>::iterator iter =
- pending_client_redirects_.find(frame_id);
- // It is possible that we did not track the redirect becasue it had a non-zero
- // delay. See the comment in |OnWillPerformClientRedirect|.
- if (iter != pending_client_redirects_.end()) {
- pending_client_redirects_.erase(iter);
- if (!has_pending_loads()) {
- FOR_EACH_OBSERVER(TabEventObserver, observers_,
- OnNoMorePendingLoads(web_contents()));
- }
- }
-}
« no previous file with comments | « chrome/browser/automation/automation_tab_helper.h ('k') | chrome/browser/automation/automation_tab_helper_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698