| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <utility> | 6 #include <utility> |
| 7 | 7 |
| 8 #include "base/base64.h" | 8 #include "base/base64.h" |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 1346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1357 } | 1357 } |
| 1358 | 1358 |
| 1359 IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, VirtualTimeTest) { | 1359 IN_PROC_BROWSER_TEST_F(DevToolsProtocolTest, VirtualTimeTest) { |
| 1360 NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1); | 1360 NavigateToURLBlockUntilNavigationsComplete(shell(), GURL("about:blank"), 1); |
| 1361 Attach(); | 1361 Attach(); |
| 1362 | 1362 |
| 1363 std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue()); | 1363 std::unique_ptr<base::DictionaryValue> params(new base::DictionaryValue()); |
| 1364 params->SetString("policy", "pause"); | 1364 params->SetString("policy", "pause"); |
| 1365 SendCommand("Emulation.setVirtualTimePolicy", std::move(params), true); | 1365 SendCommand("Emulation.setVirtualTimePolicy", std::move(params), true); |
| 1366 | 1366 |
| 1367 // TODO(scheduler-dev): Revisit timing when we have strict ordering | |
| 1368 // guarantees. | |
| 1369 params.reset(new base::DictionaryValue()); | 1367 params.reset(new base::DictionaryValue()); |
| 1370 params->SetString("expression", | 1368 params->SetString("expression", |
| 1371 "setTimeout(function(){console.log('before')}, 1000);" | 1369 "setTimeout(function(){console.log('before')}, 999);" |
| 1370 "setTimeout(function(){console.log('at')}, 1000);" |
| 1372 "setTimeout(function(){console.log('after')}, 1002);"); | 1371 "setTimeout(function(){console.log('after')}, 1002);"); |
| 1373 SendCommand("Runtime.evaluate", std::move(params), true); | 1372 SendCommand("Runtime.evaluate", std::move(params), true); |
| 1374 | 1373 |
| 1375 // Let virtual time advance for one second. | 1374 // Let virtual time advance for one second. |
| 1376 params.reset(new base::DictionaryValue()); | 1375 params.reset(new base::DictionaryValue()); |
| 1377 params->SetString("policy", "advance"); | 1376 params->SetString("policy", "advance"); |
| 1378 params->SetInteger("budget", 1001); | 1377 params->SetInteger("budget", 1000); |
| 1379 SendCommand("Emulation.setVirtualTimePolicy", std::move(params), true); | 1378 SendCommand("Emulation.setVirtualTimePolicy", std::move(params), true); |
| 1380 | 1379 |
| 1381 WaitForNotification("Emulation.virtualTimeBudgetExpired"); | 1380 WaitForNotification("Emulation.virtualTimeBudgetExpired"); |
| 1382 | 1381 |
| 1383 params.reset(new base::DictionaryValue()); | 1382 params.reset(new base::DictionaryValue()); |
| 1384 params->SetString("expression", "console.log('done')"); | 1383 params->SetString("expression", "console.log('done')"); |
| 1385 SendCommand("Runtime.evaluate", std::move(params), true); | 1384 SendCommand("Runtime.evaluate", std::move(params), true); |
| 1386 | 1385 |
| 1387 // The second timer shold not fire. | 1386 // The second timer shold not fire. |
| 1388 EXPECT_THAT(console_messages_, ElementsAre("before", "done")); | 1387 EXPECT_THAT(console_messages_, ElementsAre("before", "done")); |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1800 EXPECT_EQ("polyglottal", value); | 1799 EXPECT_EQ("polyglottal", value); |
| 1801 found++; | 1800 found++; |
| 1802 } else { | 1801 } else { |
| 1803 FAIL(); | 1802 FAIL(); |
| 1804 } | 1803 } |
| 1805 } | 1804 } |
| 1806 EXPECT_EQ(2u, found); | 1805 EXPECT_EQ(2u, found); |
| 1807 } | 1806 } |
| 1808 | 1807 |
| 1809 } // namespace content | 1808 } // namespace content |
| OLD | NEW |