summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/browser_uitest.cc2
-rw-r--r--chrome/browser/session_restore_uitest.cc39
-rw-r--r--chrome/browser/tab_restore_uitest.cc2
-rw-r--r--chrome/test/automation/automation_proxy_uitest.cc2
-rw-r--r--chrome/test/automation/tab_proxy.cc7
-rw-r--r--chrome/test/automation/tab_proxy.h4
6 files changed, 40 insertions, 16 deletions
diff --git a/chrome/browser/browser_uitest.cc b/chrome/browser/browser_uitest.cc
index 0739179..470d2a5 100644
--- a/chrome/browser/browser_uitest.cc
+++ b/chrome/browser/browser_uitest.cc
@@ -236,7 +236,7 @@ TEST_F(BrowserTest, DuplicateTab) {
browser_proxy.reset(automation()->GetBrowserWindow(1));
tab_proxy.reset(browser_proxy->GetTab(0));
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
// Verify the stack of urls.
GURL url;
diff --git a/chrome/browser/session_restore_uitest.cc b/chrome/browser/session_restore_uitest.cc
index 903bf0d..665ebe1 100644
--- a/chrome/browser/session_restore_uitest.cc
+++ b/chrome/browser/session_restore_uitest.cc
@@ -100,7 +100,7 @@ class SessionRestoreUITest : public UITest {
ASSERT_EQ(0, active_tab_index);
scoped_ptr<TabProxy> tab_proxy(browser_proxy->GetActiveTab());
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
ASSERT_TRUE(tab_proxy->GetCurrentURL(url));
}
@@ -128,7 +128,7 @@ TEST_F(SessionRestoreUITest, Basic) {
window_count == 1);
scoped_ptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
scoped_ptr<TabProxy> tab_proxy(browser_proxy->GetTab(0));
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
ASSERT_EQ(url2, GetActiveTabURL());
tab_proxy->GoBack();
@@ -151,7 +151,7 @@ TEST_F(SessionRestoreUITest, RestoresForwardAndBackwardNavs) {
window_count == 1);
scoped_ptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
scoped_ptr<TabProxy> tab_proxy(browser_proxy->GetTab(0));
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
ASSERT_TRUE(GetActiveTabURL() == url2);
ASSERT_TRUE(tab_proxy->GoForward());
@@ -188,7 +188,7 @@ TEST_F(SessionRestoreUITest, RestoresCrossSiteForwardAndBackwardNavs) {
int tab_count;
ASSERT_TRUE(browser_proxy->GetTabCount(&tab_count) && tab_count == 1);
scoped_ptr<TabProxy> tab_proxy(browser_proxy->GetTab(0));
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
// Check that back and forward work as expected.
GURL url;
@@ -237,13 +237,13 @@ TEST_F(SessionRestoreUITest, TwoTabsSecondSelected) {
ASSERT_EQ(1, active_tab_index);
tab_proxy.reset(browser_proxy->GetActiveTab());
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
ASSERT_TRUE(GetActiveTabURL() == url2);
ASSERT_TRUE(browser_proxy->ActivateTab(0));
tab_proxy.reset(browser_proxy->GetActiveTab());
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
ASSERT_TRUE(GetActiveTabURL() == url1);
}
@@ -316,7 +316,7 @@ TEST_F(SessionRestoreUITest, DISABLED_DontRestoreWhileIncognito) {
ASSERT_TRUE(browser_proxy.get());
scoped_ptr<TabProxy> tab_proxy(browser_proxy->GetTab(0));
ASSERT_TRUE(tab_proxy.get());
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
GURL url;
ASSERT_TRUE(tab_proxy->GetCurrentURL(&url));
ASSERT_TRUE(url != url1);
@@ -403,25 +403,34 @@ TEST_F(SessionRestoreUITest, ShareProcessesOnRestore) {
}
scoped_ptr<BrowserProxy> browser_proxy(automation()->GetBrowserWindow(0));
+ printf("check point\n");
ASSERT_TRUE(browser_proxy.get() != NULL);
int tab_count;
ASSERT_TRUE(browser_proxy->GetTabCount(&tab_count));
+ printf("check point\n");
// Create two new tabs.
int new_tab_count;
ASSERT_TRUE(browser_proxy->ApplyAccelerator(IDC_NEWTAB));
+ printf("check point\n");
ASSERT_TRUE(browser_proxy->WaitForTabCountToChange(tab_count, &new_tab_count,
kWaitForActionMsec));
+ printf("check point\n");
scoped_ptr<TabProxy> last_tab(browser_proxy->GetTab(new_tab_count - 1));
ASSERT_TRUE(last_tab.get() != NULL);
// Do a reload to ensure new tab page has loaded.
+ printf("check point\n");
ASSERT_TRUE(last_tab->Reload());
tab_count = new_tab_count;
+ printf("check point\n");
ASSERT_TRUE(browser_proxy->ApplyAccelerator(IDC_NEWTAB));
+ printf("check point\n");
ASSERT_TRUE(browser_proxy->WaitForTabCountToChange(tab_count, &new_tab_count,
kWaitForActionMsec));
+ printf("check point\n");
last_tab.reset(browser_proxy->GetTab(new_tab_count - 1));
ASSERT_TRUE(last_tab.get() != NULL);
+ printf("check point\n");
// Do a reload to ensure new tab page has loaded.
ASSERT_TRUE(last_tab->Reload());
int expected_process_count = GetBrowserProcessCount();
@@ -429,22 +438,34 @@ TEST_F(SessionRestoreUITest, ShareProcessesOnRestore) {
// Restart.
browser_proxy.reset();
last_tab.reset();
+ printf("check point\n");
QuitBrowserAndRestore();
+ printf("check point\n");
// Wait for each tab to finish being restored, then make sure the process
// count matches.
browser_proxy.reset(automation()->GetBrowserWindow(0));
+ printf("check point\n");
ASSERT_TRUE(browser_proxy.get() != NULL);
int restored_tab_count;
+ printf("check point\n");
ASSERT_TRUE(browser_proxy->GetTabCount(&restored_tab_count));
+ printf("check point\n");
ASSERT_EQ(new_tab_count, restored_tab_count);
+ printf("check point\n");
scoped_ptr<TabProxy> tab_proxy(browser_proxy->GetTab(restored_tab_count - 2));
+ printf("check point\n");
ASSERT_TRUE(tab_proxy.get() != NULL);
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ printf("check point\n");
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
+ printf("check point\n");
tab_proxy.reset(browser_proxy->GetTab(restored_tab_count - 1));
+ printf("check point\n");
ASSERT_TRUE(tab_proxy.get() != NULL);
- ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored());
+ printf("check point\n");
+ ASSERT_TRUE(tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
+ printf("check point\n");
ASSERT_EQ(expected_process_count, GetBrowserProcessCount());
}
diff --git a/chrome/browser/tab_restore_uitest.cc b/chrome/browser/tab_restore_uitest.cc
index 811b6d2..16fef52 100644
--- a/chrome/browser/tab_restore_uitest.cc
+++ b/chrome/browser/tab_restore_uitest.cc
@@ -73,7 +73,7 @@ class TabRestoreUITest : public UITest {
// Wait for the restored tab to finish loading.
scoped_ptr<TabProxy> restored_tab_proxy(
browser_proxy->GetTab(restored_tab_count - 1));
- ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored());
+ ASSERT_TRUE(restored_tab_proxy->WaitForTabToBeRestored(kWaitForActionMsec));
}
GURL url1_;
diff --git a/chrome/test/automation/automation_proxy_uitest.cc b/chrome/test/automation/automation_proxy_uitest.cc
index 74a2eef..c1bd5b8 100644
--- a/chrome/test/automation/automation_proxy_uitest.cc
+++ b/chrome/test/automation/automation_proxy_uitest.cc
@@ -800,7 +800,7 @@ TEST_F(AutomationProxyTest, AutocompleteParallelProxy)
scoped_ptr<AutocompleteEditProxy> edit2(
automation()->GetAutocompleteEditForBrowser(browser2.get()));
ASSERT_TRUE(edit2.get());
- EXPECT_TRUE(browser2->GetTab(0)->WaitForTabToBeRestored());
+ EXPECT_TRUE(browser2->GetTab(0)->WaitForTabToBeRestored(kWaitForActionMsec));
const std::wstring text_to_set1 = L"Lollerskates";
const std::wstring text_to_set2 = L"Roflcopter";
std::wstring actual_text1, actual_text2;
diff --git a/chrome/test/automation/tab_proxy.cc b/chrome/test/automation/tab_proxy.cc
index 2cca9a4..c359f34 100644
--- a/chrome/test/automation/tab_proxy.cc
+++ b/chrome/test/automation/tab_proxy.cc
@@ -797,13 +797,14 @@ bool TabProxy::ProcessUnhandledAccelerator(const MSG& msg) {
// This message expects no response
}
-bool TabProxy::WaitForTabToBeRestored() {
+bool TabProxy::WaitForTabToBeRestored(uint32 timeout_ms) {
if (!is_valid())
return false;
IPC::Message* response = NULL;
- return sender_->SendAndWaitForResponse(
+ bool is_timeout;
+ return sender_->SendAndWaitForResponseWithTimeout(
new AutomationMsg_WaitForTabToBeRestored(0, handle_), &response,
- AutomationMsg_TabFinishedRestoring::ID);
+ AutomationMsg_TabFinishedRestoring::ID, timeout_ms, &is_timeout);
}
bool TabProxy::GetSecurityState(SecurityStyle* security_style,
diff --git a/chrome/test/automation/tab_proxy.h b/chrome/test/automation/tab_proxy.h
index baa5a0f..6c2e660 100644
--- a/chrome/test/automation/tab_proxy.h
+++ b/chrome/test/automation/tab_proxy.h
@@ -237,7 +237,9 @@ class TabProxy : public AutomationResourceProxy {
// to handle the keys
bool ProcessUnhandledAccelerator(const MSG& msg);
- bool WaitForTabToBeRestored();
+ // Waits for the tab to finish being restored. Returns true on success.
+ // timeout_ms gives the max amount of time to wait for restore to complete.
+ bool WaitForTabToBeRestored(uint32 timeout_ms);
// Retrieves the different security states for the current tab.
bool GetSecurityState(SecurityStyle* security_style,