Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(902)

Unified Diff: chrome/browser/ui/views/file_manager_dialog_browsertest.cc

Issue 7528003: CrOS - Fix flaky FileManagerDialogTest (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rename message to worker-initialized Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/resources/file_manager/js/metadata_dispatcher.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/file_manager_dialog_browsertest.cc
diff --git a/chrome/browser/ui/views/file_manager_dialog_browsertest.cc b/chrome/browser/ui/views/file_manager_dialog_browsertest.cc
index 8206b2c3857b672daf431c9790c9a54839ff49fc..882fc1958cda536d9fd17b2d5fa46ccc399cc2e9 100644
--- a/chrome/browser/ui/views/file_manager_dialog_browsertest.cc
+++ b/chrome/browser/ui/views/file_manager_dialog_browsertest.cc
@@ -108,17 +108,17 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, FileManagerDestroyListener) {
listener_.reset();
}
-// Flaky: http://crbug.com/89733
-IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, FLAKY_SelectFileAndCancel) {
+IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, SelectFileAndCancel) {
// Add tmp mount point even though this test won't use it directly.
// We need this to make sure that at least one top-level directory exists
// in the file browser.
FilePath tmp_dir("/tmp");
AddMountPoint(tmp_dir);
- // Spawn a dialog to open a file. The dialog will signal that it is done
- // loading via chrome.test.sendMessage('ready') in the extension JavaScript.
- ExtensionTestMessageListener msg_listener("ready", false /* will_reply */);
+ // Spawn a dialog to open a file. The dialog will signal that it is ready
+ // via chrome.test.sendMessage() in the extension JavaScript.
+ ExtensionTestMessageListener init_listener("worker-initialized",
+ false /* will_reply */);
gfx::NativeWindow owning_window = browser()->window()->GetNativeHandle();
dialog_->SelectFile(SelectFileDialog::SELECT_OPEN_FILE,
string16() /* title */,
@@ -130,7 +130,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, FLAKY_SelectFileAndCancel) {
owning_window,
this /* params */);
LOG(INFO) << "Waiting for JavaScript ready message.";
- ASSERT_TRUE(msg_listener.WaitUntilSatisfied());
+ ASSERT_TRUE(init_listener.WaitUntilSatisfied());
// Dialog should be running now.
ASSERT_TRUE(dialog_->IsRunning(owning_window));
@@ -181,8 +181,12 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, SelectFileAndOpen) {
// Spawn a dialog to open a file. Provide the path to the file so the dialog
// will automatically select it. Ensure that the OK button is enabled by
// waiting for chrome.test.sendMessage('selection-change-complete').
- ExtensionTestMessageListener msg_listener("selection-change-complete",
- false /* will_reply */);
+ // The extension starts a Web Worker to read file metadata, so it may send
+ // 'selection-change-complete' before 'worker-initialized'. This is OK.
+ ExtensionTestMessageListener init_listener("worker-initialized",
+ false /* will_reply */);
+ ExtensionTestMessageListener selection_listener("selection-change-complete",
+ false /* will_reply */);
gfx::NativeWindow owning_window = browser()->window()->GetNativeHandle();
dialog_->SelectFile(SelectFileDialog::SELECT_OPEN_FILE,
string16() /* title */,
@@ -193,8 +197,10 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, SelectFileAndOpen) {
NULL /* source_contents */,
owning_window,
this /* params */);
+ LOG(INFO) << "Waiting for JavaScript initialized message.";
+ ASSERT_TRUE(init_listener.WaitUntilSatisfied());
LOG(INFO) << "Waiting for JavaScript selection-change-complete message.";
- ASSERT_TRUE(msg_listener.WaitUntilSatisfied());
+ ASSERT_TRUE(selection_listener.WaitUntilSatisfied());
// Dialog should be running now.
ASSERT_TRUE(dialog_->IsRunning(owning_window));
@@ -225,8 +231,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, SelectFileAndOpen) {
ASSERT_EQ(this, listener_->params());
}
-// Flaky: http://crbug.com/89733
-IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, DISABLED_SelectFileAndSave) {
+IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, SelectFileAndSave) {
// Allow the tmp directory to be mounted. We explicitly use /tmp because
// it it whitelisted for file system access on Chrome OS.
FilePath tmp_dir("/tmp");
@@ -242,8 +247,12 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, DISABLED_SelectFileAndSave) {
// Spawn a dialog to save a file, providing a suggested path.
// Ensure "Save" button is enabled by waiting for notification from
// chrome.test.sendMessage().
- ExtensionTestMessageListener msg_listener("directory-change-complete",
- false /* will_reply */);
+ // The extension starts a Web Worker to read file metadata, so it may send
+ // 'directory-change-complete' before 'worker-initialized'. This is OK.
+ ExtensionTestMessageListener init_listener("worker-initialized",
+ false /* will_reply */);
+ ExtensionTestMessageListener dir_change_listener("directory-change-complete",
+ false /* will_reply */);
gfx::NativeWindow owning_window = browser()->window()->GetNativeHandle();
dialog_->SelectFile(SelectFileDialog::SELECT_SAVEAS_FILE,
string16() /* title */,
@@ -254,8 +263,10 @@ IN_PROC_BROWSER_TEST_F(FileManagerDialogTest, DISABLED_SelectFileAndSave) {
NULL /* source_contents */,
owning_window,
this /* params */);
- LOG(INFO) << "Waiting for JavaScript message.";
- ASSERT_TRUE(msg_listener.WaitUntilSatisfied());
+ LOG(INFO) << "Waiting for JavaScript initialized message.";
+ ASSERT_TRUE(init_listener.WaitUntilSatisfied());
+ LOG(INFO) << "Waiting for JavaScript directory-change-complete message.";
+ ASSERT_TRUE(dir_change_listener.WaitUntilSatisfied());
// Dialog should be running now.
ASSERT_TRUE(dialog_->IsRunning(owning_window));
« no previous file with comments | « chrome/browser/resources/file_manager/js/metadata_dispatcher.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698