Index: webkit/tools/test_shell/test_shell.cc |
diff --git a/webkit/tools/test_shell/test_shell.cc b/webkit/tools/test_shell/test_shell.cc |
index d132a7f71126a03bd7c29f87929a467cdffcd420..76792650e6969a88b860957c43bcbd9193b23140 100644 |
--- a/webkit/tools/test_shell/test_shell.cc |
+++ b/webkit/tools/test_shell/test_shell.cc |
@@ -124,28 +124,32 @@ TestShell::TestShell() |
} |
TestShell::~TestShell() { |
- // Call GC twice to clean up garbage. |
- CallJSGC(); |
- CallJSGC(); |
- |
- PlatformCleanUp(); |
- |
- StatsTable *table = StatsTable::current(); |
- if (dump_stats_table_on_exit_) { |
- // Dump the stats table. |
- printf("<stats>\n"); |
- if (table != NULL) { |
- int counter_max = table->GetMaxCounters(); |
- for (int index=0; index < counter_max; index++) { |
- std::string name(table->GetRowName(index)); |
- if (name.length() > 0) { |
- int value = table->GetRowValue(index); |
- printf("%s:\t%d\n", name.c_str(), value); |
- } |
- } |
+ // Navigate to an empty page to fire all the destruction logic for the |
+ // current page. |
+ LoadURL(L"about:blank"); |
+ |
+ // Call GC twice to clean up garbage. |
+ CallJSGC(); |
+ CallJSGC(); |
+ |
+ PlatformCleanUp(); |
+ |
+ StatsTable *table = StatsTable::current(); |
+ if (dump_stats_table_on_exit_) { |
+ // Dump the stats table. |
+ printf("<stats>\n"); |
+ if (table != NULL) { |
+ int counter_max = table->GetMaxCounters(); |
+ for (int index=0; index < counter_max; index++) { |
+ std::string name(table->GetRowName(index)); |
+ if (name.length() > 0) { |
+ int value = table->GetRowValue(index); |
+ printf("%s:\t%d\n", name.c_str(), value); |
+ } |
} |
- printf("</stats>\n"); |
} |
+ printf("</stats>\n"); |
+ } |
} |
void TestShell::ShutdownTestShell() { |