Chromium Code Reviews| Index: blimp/engine/browser_tests/blimp_browser_test.h |
| diff --git a/blimp/engine/browser_tests/blimp_browser_test.h b/blimp/engine/browser_tests/blimp_browser_test.h |
| index 820ec27e9fbd7fa285924664af12d0d1818812fd..65c3f9b9ded8e78d556a1879a6566cdafa83fa10 100644 |
| --- a/blimp/engine/browser_tests/blimp_browser_test.h |
| +++ b/blimp/engine/browser_tests/blimp_browser_test.h |
| @@ -7,6 +7,7 @@ |
| #include <memory> |
| +#include "base/synchronization/waitable_event.h" |
| #include "content/public/test/browser_test_base.h" |
| namespace base { |
| @@ -33,13 +34,17 @@ class BlimpBrowserTest : public content::BrowserTestBase { |
| // exit. |
| void QuitRunLoop(); |
| + // Tells RunUntilCompletion() to break and discontinue processing UI & IO |
| + // thread MessageLoops. |
| + void SignalCompletion(); |
| + |
| protected: |
| BlimpBrowserTest(); |
| ~BlimpBrowserTest() override; |
| - // Run an asynchronous test in a nested run loop. The caller should call |
| - // QuitRunLoop() to notify that the test should finish. |
| - void RunUntilQuit(); |
| + // Processes tasks in the UI and IO thread until SignalCompletion() is |
| + // called. |
| + void RunUntilCompletion(); |
| engine::BlimpEngineSession* GetEngineSession(); |
| @@ -50,15 +55,20 @@ class BlimpBrowserTest : public content::BrowserTestBase { |
| // content::BrowserTestBase implementation. |
| void RunTestOnMainThreadLoop() override; |
| + void SetUpCommandLine(base::CommandLine* command_line) override; |
| void SetUpOnMainThread() override; |
| void TearDownOnMainThread() override; |
| - void SetUpCommandLine(base::CommandLine* command_line) override; |
| private: |
| - void OnGetEnginePort(uint16_t port); |
| + // Stores the port number, which was retrieved asynchronously from |
| + // BlimpEngineSession. |
| + void set_engine_port(uint16_t port) { engine_port_ = port; } |
|
Wez
2016/08/19 19:15:50
nit: This comment doesn't make clear why we need t
Kevin M
2016/08/19 21:43:33
Done.
|
| uint16_t engine_port_; |
| - std::unique_ptr<base::RunLoop> run_loop_; |
| + |
| + // Used to signal the completion of asynchronous processing to |
| + // RunUntilCompletion(). |
| + base::WaitableEvent completion_event_; |
| DISALLOW_COPY_AND_ASSIGN(BlimpBrowserTest); |
| }; |