summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/bookmarklet_unittest.cc9
-rw-r--r--webkit/tools/test_shell/test_shell.cc6
-rw-r--r--webkit/tools/test_shell/test_shell_main.cc9
-rw-r--r--webkit/tools/test_shell/test_shell_test.cc5
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() {