diff options
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/glue/bookmarklet_unittest.cc | 9 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell.cc | 6 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell_main.cc | 9 | ||||
-rw-r--r-- | webkit/tools/test_shell/test_shell_test.cc | 5 |
4 files changed, 16 insertions, 13 deletions
diff --git a/webkit/glue/bookmarklet_unittest.cc b/webkit/glue/bookmarklet_unittest.cc index cadff00..a191dfe 100644 --- a/webkit/glue/bookmarklet_unittest.cc +++ b/webkit/glue/bookmarklet_unittest.cc @@ -60,14 +60,12 @@ TEST_F(BookmarkletTest, Redirect) { TEST_F(BookmarkletTest, NonEmptyResult) { test_shell_->LoadURL(L"javascript:false"); - MessageLoop::current()->Quit(); - MessageLoop::current()->Run(); + MessageLoop::current()->RunAllPending(); std::wstring text = test_shell_->GetDocumentText(); EXPECT_EQ(L"false", text); test_shell_->LoadURL(L"javascript:'hello world'"); - MessageLoop::current()->Quit(); - MessageLoop::current()->Run(); + MessageLoop::current()->RunAllPending(); text = test_shell_->GetDocumentText(); EXPECT_EQ(L"hello world", text); } @@ -77,8 +75,7 @@ TEST_F(BookmarkletTest, DocumentWrite) { L"javascript:document.open();" L"document.write('hello world');" L"document.close()"); - MessageLoop::current()->Quit(); - MessageLoop::current()->Run(); + MessageLoop::current()->RunAllPending(); std::wstring text = test_shell_->GetDocumentText(); EXPECT_EQ(L"hello world", text); } diff --git a/webkit/tools/test_shell/test_shell.cc b/webkit/tools/test_shell/test_shell.cc index a256646..89585ae 100644 --- a/webkit/tools/test_shell/test_shell.cc +++ b/webkit/tools/test_shell/test_shell.cc @@ -769,8 +769,10 @@ LRESULT CALLBACK TestShell::WndProc(HWND hwnd, UINT message, WPARAM wParam, LPAR if (entry != TestShell::windowList()->end()) TestShell::windowList()->erase(entry); - if (TestShell::windowList()->empty() || shell->is_modal()) - MessageLoop::current()->Quit(); + if (TestShell::windowList()->empty() || shell->is_modal()) { + MessageLoop::current()->PostTask( + FROM_HERE, new MessageLoop::QuitTask()); + } delete shell; } return 0; diff --git a/webkit/tools/test_shell/test_shell_main.cc b/webkit/tools/test_shell/test_shell_main.cc index 6c71ecf..0d35724 100644 --- a/webkit/tools/test_shell/test_shell_main.cc +++ b/webkit/tools/test_shell/test_shell_main.cc @@ -340,11 +340,10 @@ int main(int argc, char* argv[]) MessageLoop::current()->Run(); } - // Flush any remaining messages. This ensures that any - // accumulated Task objects get destroyed before we exit, - // which avoids noise in purify leak-test results. - MessageLoop::current()->Quit(); - MessageLoop::current()->Run(); + // Flush any remaining messages. This ensures that any accumulated + // Task objects get destroyed before we exit, which avoids noise in + // purify leak-test results. + MessageLoop::current()->RunAllPending(); if (record_mode) base::EventRecorder::current()->StopRecording(); diff --git a/webkit/tools/test_shell/test_shell_test.cc b/webkit/tools/test_shell/test_shell_test.cc index 8b433d2..8f8b251 100644 --- a/webkit/tools/test_shell/test_shell_test.cc +++ b/webkit/tools/test_shell/test_shell_test.cc @@ -28,7 +28,9 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "webkit/tools/test_shell/test_shell_test.h" + #include "base/file_util.h" +#include "base/message_loop.h" #include "base/path_service.h" #include "base/string_util.h" @@ -56,6 +58,9 @@ void TestShellTest::TearDown() { test_shell_->LoadURL(L"about:blank"); DestroyWindow(test_shell_->mainWnd()); LayoutTestController::ClearShell(); + + // Flush the MessageLoop of any residual tasks. + MessageLoop::current()->RunAllPending(); } void TestShellTest::CreateEmptyWindow() { |