Index: chrome/browser/extensions/platform_app_browsertest_util.cc |
diff --git a/chrome/browser/extensions/platform_app_browsertest_util.cc b/chrome/browser/extensions/platform_app_browsertest_util.cc |
index 5b26f9bb58c9f3b0dc82ad4b43a5328372ba576f..2f42da21de3be2fb43d0f4e081d97a9e3e3982fb 100644 |
--- a/chrome/browser/extensions/platform_app_browsertest_util.cc |
+++ b/chrome/browser/extensions/platform_app_browsertest_util.cc |
@@ -8,10 +8,12 @@ |
#include "base/stringprintf.h" |
#include "chrome/browser/extensions/api/tabs/tabs.h" |
#include "chrome/browser/extensions/extension_function_test_utils.h" |
+#include "chrome/browser/extensions/extension_test_message_listener.h" |
#include "chrome/browser/extensions/shell_window_registry.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/extensions/application_launch.h" |
#include "chrome/browser/ui/extensions/shell_window.h" |
+#include "chrome/common/chrome_notification_types.h" |
#include "chrome/common/chrome_switches.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/test/test_utils.h" |
@@ -25,46 +27,49 @@ namespace extensions { |
void PlatformAppBrowserTest::SetUpCommandLine(CommandLine* command_line) { |
// Skips ExtensionApiTest::SetUpCommandLine. |
ExtensionBrowserTest::SetUpCommandLine(command_line); |
- |
- // Make event pages get suspended quicker. |
- command_line->AppendSwitchASCII(switches::kEventPageIdleTime, "1"); |
- command_line->AppendSwitchASCII(switches::kEventPageUnloadingTime, "1"); |
} |
-const Extension* PlatformAppBrowserTest::LoadAndLaunchPlatformApp( |
- const char* name) { |
- content::WindowedNotificationObserver app_loaded_observer( |
- content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, |
- content::NotificationService::AllSources()); |
- |
+const Extension* PlatformAppBrowserTest::LoadPlatformApp(const char* name) { |
const Extension* extension = LoadExtension( |
test_data_dir_.AppendASCII("platform_apps").AppendASCII(name)); |
EXPECT_TRUE(extension); |
+ return extension; |
+} |
+ |
+const Extension* PlatformAppBrowserTest::InstallPlatformApp( |
+ const char* name) { |
+ const Extension* extension = InstallExtension( |
+ test_data_dir_.AppendASCII("platform_apps").AppendASCII(name), 1); |
+ EXPECT_TRUE(extension); |
+ |
+ return extension; |
+} |
+ |
+const Extension* PlatformAppBrowserTest::LoadAndLaunchPlatformApp( |
+ const char* name) { |
+ ExtensionTestMessageListener launched_listener("Launched", false); |
+ |
+ const Extension* extension = LoadPlatformApp(name); |
application_launch::OpenApplication(application_launch::LaunchParams( |
browser()->profile(), extension, extension_misc::LAUNCH_NONE, |
NEW_WINDOW)); |
- app_loaded_observer.Wait(); |
+ launched_listener.WaitUntilSatisfied(); |
return extension; |
} |
const Extension* PlatformAppBrowserTest::InstallAndLaunchPlatformApp( |
const char* name) { |
- content::WindowedNotificationObserver app_loaded_observer( |
- content::NOTIFICATION_LOAD_COMPLETED_MAIN_FRAME, |
- content::NotificationService::AllSources()); |
- |
- const Extension* extension = InstallExtension( |
- test_data_dir_.AppendASCII("platform_apps").AppendASCII(name), 1); |
- EXPECT_TRUE(extension); |
+ ExtensionTestMessageListener launched_listener("Launched", false); |
+ const Extension* extension = InstallPlatformApp(name); |
application_launch::OpenApplication(application_launch::LaunchParams( |
browser()->profile(), extension, extension_misc::LAUNCH_NONE, |
NEW_WINDOW)); |
- app_loaded_observer.Wait(); |
+ launched_listener.WaitUntilSatisfied(); |
return extension; |
} |
@@ -83,9 +88,8 @@ ShellWindow* PlatformAppBrowserTest::GetFirstShellWindow() { |
ShellWindowRegistry::const_iterator iter; |
ShellWindowRegistry::ShellWindowSet shell_windows = |
app_registry->shell_windows(); |
- for (iter = shell_windows.begin(); iter != shell_windows.end(); ++iter) { |
+ for (iter = shell_windows.begin(); iter != shell_windows.end(); ++iter) |
return *iter; |
- } |
return NULL; |
} |
@@ -143,12 +147,4 @@ ShellWindow* PlatformAppBrowserTest::CreateShellWindow( |
browser()->profile(), extension, GURL(""), params); |
} |
-void PlatformAppBrowserTest::CloseShellWindow(ShellWindow* window) { |
- content::WindowedNotificationObserver destroyed_observer( |
- content::NOTIFICATION_WEB_CONTENTS_DESTROYED, |
- content::NotificationService::AllSources()); |
- window->GetBaseWindow()->Close(); |
- destroyed_observer.Wait(); |
-} |
- |
} // namespace extensions |