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

Side by Side Diff: chrome/test/chromedriver/performance_logger.cc

Issue 1669453002: [chromedriver] Apply page load timeout to slow cross-process navigations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/chromedriver/performance_logger.h" 5 #include "chrome/test/chromedriver/performance_logger.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/json/json_writer.h" 11 #include "base/json/json_writer.h"
12 #include "base/strings/string_util.h" 12 #include "base/strings/string_util.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/test/chromedriver/chrome/browser_info.h" 14 #include "chrome/test/chromedriver/chrome/browser_info.h"
15 #include "chrome/test/chromedriver/chrome/chrome.h" 15 #include "chrome/test/chromedriver/chrome/chrome.h"
16 #include "chrome/test/chromedriver/chrome/devtools_client.h" 16 #include "chrome/test/chromedriver/chrome/devtools_client.h"
17 #include "chrome/test/chromedriver/chrome/devtools_client_impl.h" 17 #include "chrome/test/chromedriver/chrome/devtools_client_impl.h"
18 #include "chrome/test/chromedriver/chrome/log.h" 18 #include "chrome/test/chromedriver/chrome/log.h"
19 #include "chrome/test/chromedriver/chrome/status.h" 19 #include "chrome/test/chromedriver/chrome/status.h"
20 #include "chrome/test/chromedriver/session.h" 20 #include "chrome/test/chromedriver/session.h"
21 #include "chrome/test/chromedriver/util.h"
21 22
22 namespace { 23 namespace {
23 24
24 // DevTools event domain prefixes to intercept. 25 // DevTools event domain prefixes to intercept.
25 const char* const kDomains[] = {"Network.", "Page.", "Timeline."}; 26 const char* const kDomains[] = {"Network.", "Page.", "Timeline."};
26 27
27 // Whitelist of WebDriver commands on which to request buffered trace events. 28 // Whitelist of WebDriver commands on which to request buffered trace events.
28 const char* const kRequestTraceCommands[] = {"GetLog" /* required */, 29 const char* const kRequestTraceCommands[] = {"GetLog" /* required */,
29 "Navigate"}; 30 "Navigate"};
30 31
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 else 262 else
262 status = browser_client_->SendAsyncCommand("Tracing.end", params); 263 status = browser_client_->SendAsyncCommand("Tracing.end", params);
263 if (status.IsError()) { 264 if (status.IsError()) {
264 LOG(ERROR) << "error when stopping trace: " << status.message(); 265 LOG(ERROR) << "error when stopping trace: " << status.message();
265 return status; 266 return status;
266 } 267 }
267 268
268 // Block up to 30 seconds until Tracing.tracingComplete event is received. 269 // Block up to 30 seconds until Tracing.tracingComplete event is received.
269 status = browser_client_->HandleEventsUntil( 270 status = browser_client_->HandleEventsUntil(
270 base::Bind(&PerformanceLogger::IsTraceDone, base::Unretained(this)), 271 base::Bind(&PerformanceLogger::IsTraceDone, base::Unretained(this)),
271 base::TimeDelta::FromSeconds(30)); 272 Timeout(base::TimeDelta::FromSeconds(30)));
272 if (status.IsError()) 273 if (status.IsError())
273 return status; 274 return status;
274 275
275 return StartTrace(); 276 return StartTrace();
276 } 277 }
277 278
278 Status PerformanceLogger::IsTraceDone(bool* trace_done) const { 279 Status PerformanceLogger::IsTraceDone(bool* trace_done) const {
279 *trace_done = !trace_buffering_; 280 *trace_done = !trace_buffering_;
280 return Status(kOk); 281 return Status(kOk);
281 } 282 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698