1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/chromeos/login/test/wizard_in_process_browser_test.h" 6 7#include "base/command_line.h" 8#include "base/message_loop/message_loop.h" 9#include "chrome/browser/chrome_notification_types.h" 10#include "chrome/browser/chromeos/login/login_wizard.h" 11#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 12#include "chrome/browser/chromeos/login/wizard_controller.h" 13#include "chrome/browser/ui/browser.h" 14#include "chrome/common/chrome_switches.h" 15#include "chrome/test/base/ui_test_utils.h" 16#include "chromeos/chromeos_switches.h" 17#include "content/public/browser/notification_service.h" 18 19namespace chromeos { 20 21WizardInProcessBrowserTest::WizardInProcessBrowserTest(const char* screen_name) 22 : screen_name_(screen_name), 23 host_(NULL) { 24} 25 26void WizardInProcessBrowserTest::SetUp() { 27 WizardController::SetZeroDelays(); 28 InProcessBrowserTest::SetUp(); 29} 30 31void WizardInProcessBrowserTest::SetUpCommandLine(CommandLine* command_line) { 32 command_line->AppendSwitch(::switches::kNoStartupWindow); 33 command_line->AppendSwitch(switches::kLoginManager); 34} 35 36void WizardInProcessBrowserTest::SetUpOnMainThread() { 37 SetUpWizard(); 38 if (!screen_name_.empty()) { 39 ShowLoginWizard(screen_name_); 40 host_ = LoginDisplayHostImpl::default_host(); 41 } 42} 43 44void WizardInProcessBrowserTest::TearDownOnMainThread() { 45 // LoginDisplayHost owns controllers and all windows. 46 base::MessageLoopForUI::current()->DeleteSoon(FROM_HERE, host_); 47 48 base::MessageLoopForUI::current()->RunUntilIdle(); 49} 50 51} // namespace chromeos 52