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

Side by Side Diff: chrome/test/automation/tab_proxy.cc

Issue 174396: Fix another source of flakiness in ErrorPageTest (Closed)
Patch Set: Created 11 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #include "chrome/test/automation/tab_proxy.h" 5 #include "chrome/test/automation/tab_proxy.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "chrome/common/json_value_serializer.h" 10 #include "chrome/common/json_value_serializer.h"
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 bool TabProxy::NeedsAuth() const { 153 bool TabProxy::NeedsAuth() const {
154 if (!is_valid()) 154 if (!is_valid())
155 return false; 155 return false;
156 156
157 bool needs_auth = false; 157 bool needs_auth = false;
158 sender_->Send(new AutomationMsg_NeedsAuth(0, handle_, &needs_auth)); 158 sender_->Send(new AutomationMsg_NeedsAuth(0, handle_, &needs_auth));
159 return needs_auth; 159 return needs_auth;
160 } 160 }
161 161
162 AutomationMsg_NavigationResponseValues TabProxy::GoBack() { 162 AutomationMsg_NavigationResponseValues TabProxy::GoBack() {
163 return GoBackBlockUntilNavigationsComplete(1);
164 }
165
166 AutomationMsg_NavigationResponseValues
167 TabProxy::GoBackBlockUntilNavigationsComplete(int number_of_navigations) {
163 if (!is_valid()) 168 if (!is_valid())
164 return AUTOMATION_MSG_NAVIGATION_ERROR; 169 return AUTOMATION_MSG_NAVIGATION_ERROR;
165 170
166 AutomationMsg_NavigationResponseValues navigate_response = 171 AutomationMsg_NavigationResponseValues navigate_response =
167 AUTOMATION_MSG_NAVIGATION_ERROR; 172 AUTOMATION_MSG_NAVIGATION_ERROR;
168 sender_->Send(new AutomationMsg_GoBack(0, handle_, &navigate_response)); 173 sender_->Send(new AutomationMsg_GoBackBlockUntilNavigationsComplete(
174 0, handle_, number_of_navigations, &navigate_response));
169 return navigate_response; 175 return navigate_response;
170 } 176 }
171 177
172 AutomationMsg_NavigationResponseValues TabProxy::GoForward() { 178 AutomationMsg_NavigationResponseValues TabProxy::GoForward() {
179 return GoForwardBlockUntilNavigationsComplete(1);
180 }
181
182 AutomationMsg_NavigationResponseValues
183 TabProxy::GoForwardBlockUntilNavigationsComplete(
184 int number_of_navigations) {
173 if (!is_valid()) 185 if (!is_valid())
174 return AUTOMATION_MSG_NAVIGATION_ERROR; 186 return AUTOMATION_MSG_NAVIGATION_ERROR;
175 187
176 AutomationMsg_NavigationResponseValues navigate_response = 188 AutomationMsg_NavigationResponseValues navigate_response =
177 AUTOMATION_MSG_NAVIGATION_ERROR; 189 AUTOMATION_MSG_NAVIGATION_ERROR;
178 sender_->Send(new AutomationMsg_GoForward(0, handle_, &navigate_response)); 190 sender_->Send(new AutomationMsg_GoForwardBlockUntilNavigationsComplete(
191 0, handle_, number_of_navigations, &navigate_response));
179 return navigate_response; 192 return navigate_response;
180 } 193 }
181 194
182 AutomationMsg_NavigationResponseValues TabProxy::Reload() { 195 AutomationMsg_NavigationResponseValues TabProxy::Reload() {
183 if (!is_valid()) 196 if (!is_valid())
184 return AUTOMATION_MSG_NAVIGATION_ERROR; 197 return AUTOMATION_MSG_NAVIGATION_ERROR;
185 198
186 AutomationMsg_NavigationResponseValues navigate_response = 199 AutomationMsg_NavigationResponseValues navigate_response =
187 AUTOMATION_MSG_NAVIGATION_ERROR; 200 AUTOMATION_MSG_NAVIGATION_ERROR;
188 sender_->Send(new AutomationMsg_Reload(0, handle_, &navigate_response)); 201 sender_->Send(new AutomationMsg_Reload(0, handle_, &navigate_response));
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
709 AutoLock lock(list_lock_); 722 AutoLock lock(list_lock_);
710 observers_list_.RemoveObserver(observer); 723 observers_list_.RemoveObserver(observer);
711 } 724 }
712 725
713 // Called on Channel background thread, if TabMessages filter is installed. 726 // Called on Channel background thread, if TabMessages filter is installed.
714 void TabProxy::OnMessageReceived(const IPC::Message& message) { 727 void TabProxy::OnMessageReceived(const IPC::Message& message) {
715 AutoLock lock(list_lock_); 728 AutoLock lock(list_lock_);
716 FOR_EACH_OBSERVER(TabProxyDelegate, observers_list_, 729 FOR_EACH_OBSERVER(TabProxyDelegate, observers_list_,
717 OnMessageReceived(this, message)); 730 OnMessageReceived(this, message));
718 } 731 }
OLDNEW
« chrome/browser/errorpage_uitest.cc ('K') | « chrome/test/automation/tab_proxy.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698