| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chromecast/browser/test/chromecast_browser_test.h" | 5 #include "chromecast/browser/test/chromecast_browser_test.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/run_loop.h" |
| 10 #include "chromecast/base/metrics/cast_metrics_helper.h" | 10 #include "chromecast/base/metrics/cast_metrics_helper.h" |
| 11 #include "chromecast/browser/cast_browser_context.h" | 11 #include "chromecast/browser/cast_browser_context.h" |
| 12 #include "chromecast/browser/cast_browser_process.h" | 12 #include "chromecast/browser/cast_browser_process.h" |
| 13 #include "chromecast/browser/cast_content_window.h" | 13 #include "chromecast/browser/test/chromecast_browser_test_helper.h" |
| 14 #include "content/public/browser/browser_thread.h" | 14 #include "content/public/browser/browser_thread.h" |
| 15 #include "content/public/browser/render_process_host.h" | 15 #include "content/public/browser/render_process_host.h" |
| 16 #include "content/public/browser/web_contents.h" | 16 #include "content/public/browser/web_contents.h" |
| 17 #include "content/public/test/browser_test_utils.h" | 17 #include "content/public/test/browser_test_utils.h" |
| 18 #include "content/public/test/test_navigation_observer.h" | |
| 19 | 18 |
| 20 namespace chromecast { | 19 namespace chromecast { |
| 21 namespace shell { | 20 namespace shell { |
| 22 | 21 |
| 23 ChromecastBrowserTest::ChromecastBrowserTest() | 22 ChromecastBrowserTest::ChromecastBrowserTest() |
| 24 : setup_called_(false) { | 23 : setup_called_(false) { |
| 25 } | 24 } |
| 26 | 25 |
| 27 ChromecastBrowserTest::~ChromecastBrowserTest() { | 26 ChromecastBrowserTest::~ChromecastBrowserTest() { |
| 28 CHECK(setup_called_) << "Overridden SetUp() did not call parent " | 27 CHECK(setup_called_) << "Overridden SetUp() did not call parent " |
| 29 << "implementation, so test not run."; | 28 << "implementation, so test not run."; |
| 30 } | 29 } |
| 31 | 30 |
| 32 void ChromecastBrowserTest::SetUp() { | 31 void ChromecastBrowserTest::SetUp() { |
| 33 SetUpCommandLine(base::CommandLine::ForCurrentProcess()); | 32 SetUpCommandLine(base::CommandLine::ForCurrentProcess()); |
| 34 setup_called_ = true; | 33 setup_called_ = true; |
| 35 BrowserTestBase::SetUp(); | 34 BrowserTestBase::SetUp(); |
| 36 } | 35 } |
| 37 | 36 |
| 38 void ChromecastBrowserTest::RunTestOnMainThreadLoop() { | 37 void ChromecastBrowserTest::RunTestOnMainThreadLoop() { |
| 39 // Pump startup related events. | 38 // Pump startup related events. |
| 40 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | 39 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| 41 base::RunLoop().RunUntilIdle(); | 40 base::RunLoop().RunUntilIdle(); |
| 42 | 41 |
| 42 helper_ = ChromecastBrowserTestHelper::Create(); |
| 43 metrics::CastMetricsHelper::GetInstance()->SetDummySessionIdForTesting(); |
| 43 SetUpOnMainThread(); | 44 SetUpOnMainThread(); |
| 44 | 45 |
| 45 RunTestOnMainThread(); | 46 RunTestOnMainThread(); |
| 46 | 47 |
| 47 TearDownOnMainThread(); | 48 TearDownOnMainThread(); |
| 48 | 49 |
| 49 web_contents_.reset(); | 50 helper_.reset(); |
| 50 window_.reset(); | |
| 51 } | |
| 52 | |
| 53 void ChromecastBrowserTest::NavigateToURL(content::WebContents* window, | |
| 54 const GURL& url) { | |
| 55 content::WaitForLoadStop(window); | |
| 56 content::TestNavigationObserver same_tab_observer(window, 1); | |
| 57 content::NavigationController::LoadURLParams params(url); | |
| 58 params.transition_type = ui::PageTransitionFromInt( | |
| 59 ui::PAGE_TRANSITION_TYPED | | |
| 60 ui::PAGE_TRANSITION_FROM_ADDRESS_BAR); | |
| 61 window->GetController().LoadURLWithParams(params); | |
| 62 same_tab_observer.Wait(); | |
| 63 } | |
| 64 | |
| 65 content::WebContents* ChromecastBrowserTest::CreateBrowser() { | |
| 66 window_.reset(new CastContentWindow); | |
| 67 gfx::Size initial_size(1280, 720); | |
| 68 | |
| 69 web_contents_ = window_->CreateWebContents( | |
| 70 initial_size, | |
| 71 CastBrowserProcess::GetInstance()->browser_context()); | |
| 72 window_->CreateWindowTree(initial_size, web_contents_.get()); | |
| 73 | |
| 74 metrics::CastMetricsHelper::GetInstance()->SetDummySessionIdForTesting(); | |
| 75 | |
| 76 return web_contents_.get(); | |
| 77 } | 51 } |
| 78 | 52 |
| 79 } // namespace shell | 53 } // namespace shell |
| 80 } // namespace chromecast | 54 } // namespace chromecast |
| OLD | NEW |