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

Unified Diff: chrome/test/chromedriver/net/sync_websocket_impl.cc

Issue 23542005: [chromedriver] Improve timeout behavior. Prompted by user who executes script on busy page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/chromedriver/net/sync_websocket_impl.cc
diff --git a/chrome/test/chromedriver/net/sync_websocket_impl.cc b/chrome/test/chromedriver/net/sync_websocket_impl.cc
index 88814e4247c07508f3b31bc710267315967bcd2a..2451fcaf23722727e3c583f263825a4a3d3fecfd 100644
--- a/chrome/test/chromedriver/net/sync_websocket_impl.cc
+++ b/chrome/test/chromedriver/net/sync_websocket_impl.cc
@@ -72,17 +72,17 @@ bool SyncWebSocketImpl::Core::Send(const std::string& message) {
return success;
}
-SyncWebSocket::StatusCode
-SyncWebSocketImpl::Core::ReceiveNextMessage(
+SyncWebSocket::StatusCode SyncWebSocketImpl::Core::ReceiveNextMessage(
std::string* message,
const base::TimeDelta& timeout) {
base::AutoLock lock(lock_);
base::TimeTicks deadline = base::TimeTicks::Now() + timeout;
+ base::TimeDelta next_wait = timeout;
while (received_queue_.empty() && is_connected_) {
- base::TimeDelta delta = deadline - base::TimeTicks::Now();
- if (delta <= base::TimeDelta())
+ if (next_wait <= base::TimeDelta())
return SyncWebSocket::kTimeout;
- on_update_event_.TimedWait(delta);
+ on_update_event_.TimedWait(next_wait);
+ next_wait = deadline - base::TimeTicks::Now();
}
if (!is_connected_)
return SyncWebSocket::kDisconnected;

Powered by Google App Engine
This is Rietveld 408576698