|
[chromedriver] Apply page load timeout to slow cross-process navigations
This is a second attempt to fight chromedriver hangs on slow-to-commit
cross-process navigations. In the discussion of the first, incorrect
solution (see https://codereview.chromium.org/1520883002/), it became
clear that it'd be better to handle this in chromedriver. Here I
introduce a timeout tracking mechanism which is easy to use in the
chromedriver's architecture. In general, it allows to abort waiting for
a devtools command response, do some cleanup and return an error to the
client.
Currently this timeout tracking is used only when executing the 'get'
command, history navigations and reloads are left as is. I wanted to get
feedback about the approach as a whole first. Please take a look.
BUG=chromedriver:1292
Committed: https://crrev.com/091637f2223b51356cfeb3f89bb03394ed1f2b6a
Cr-Commit-Position: refs/heads/master@{#387658}
Total comments: 23
Total comments: 14
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+660 lines, -235 lines) |
Patch |
 |
M |
chrome/chrome_tests.gypi
|
View
|
1
2
3
4
5
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/alert_commands.cc
|
View
|
1
2
3
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/chrome_desktop_impl.cc
|
View
|
1
2
3
|
3 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/devtools_client.h
|
View
|
1
2
3
4
5
|
4 chunks |
+13 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/devtools_client_impl.h
|
View
|
1
2
3
|
3 chunks |
+17 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/devtools_client_impl.cc
|
View
|
1
2
3
|
8 chunks |
+28 lines, -13 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/devtools_client_impl_unittest.cc
|
View
|
1
2
3
|
14 chunks |
+15 lines, -14 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/navigation_tracker.h
|
View
|
1
2
3
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/navigation_tracker.cc
|
View
|
1
2
3
4
|
6 chunks |
+15 lines, -9 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/navigation_tracker_unittest.cc
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/stub_devtools_client.h
|
View
|
1
2
3
4
5
|
2 chunks |
+10 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/stub_devtools_client.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+16 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/stub_web_view.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/stub_web_view.cc
|
View
|
1
2
3
|
2 chunks |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/web_view.h
|
View
|
1
2
3
|
3 chunks |
+7 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/web_view_impl.h
|
View
|
1
2
3
|
3 chunks |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/web_view_impl.cc
|
View
|
1
2
3
|
5 chunks |
+17 lines, -15 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/chrome/web_view_impl_unittest.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+16 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/commands_unittest.cc
|
View
|
1
2
3
|
6 chunks |
+16 lines, -11 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/element_commands.h
|
View
|
1
2
3
|
2 chunks |
+8 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/element_commands.cc
|
View
|
1
2
3
|
1 chunk |
+7 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/net/sync_websocket.h
|
View
|
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/net/sync_websocket_impl.h
|
View
|
1
2
3
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/net/sync_websocket_impl.cc
|
View
|
1
|
3 chunks |
+4 lines, -5 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/net/sync_websocket_impl_unittest.cc
|
View
|
1
2
3
|
9 chunks |
+14 lines, -12 lines |
0 comments
|
Download
|
 |
A |
chrome/test/chromedriver/net/timeout.h
|
View
|
1
|
1 chunk |
+47 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/chromedriver/net/timeout.cc
|
View
|
1
|
1 chunk |
+48 lines, -0 lines |
0 comments
|
Download
|
 |
A |
chrome/test/chromedriver/net/timeout_unittest.cc
|
View
|
1
|
1 chunk |
+63 lines, -0 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/performance_logger.cc
|
View
|
1
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/performance_logger_unittest.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/session_commands.cc
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/test/run_py_tests.py
|
View
|
1
2
3
4
|
3 chunks |
+61 lines, -8 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/test/webserver.py
|
View
|
|
5 chunks |
+19 lines, -6 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/window_commands.h
|
View
|
1
2
3
|
2 chunks |
+87 lines, -44 lines |
0 comments
|
Download
|
 |
M |
chrome/test/chromedriver/window_commands.cc
|
View
|
1
2
3
|
42 chunks |
+97 lines, -48 lines |
0 comments
|
Download
|
Total messages: 32 (8 generated)
|