Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "ios/web/public/test/web_test.h" | 5 #include "ios/web/public/test/web_test.h" |
| 6 | 6 |
| 7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
| 8 #include "ios/web/public/active_state_manager.h" | 8 #include "ios/web/public/active_state_manager.h" |
| 9 #include "ios/web/public/web_state/global_web_state_observer.h" | |
| 9 #import "ios/web/public/test/fakes/test_web_client.h" | 10 #import "ios/web/public/test/fakes/test_web_client.h" |
| 10 | 11 |
| 12 namespace { | |
|
Eugene But (OOO till 7-30)
2017/02/01 16:43:04
Drop this?
rohitrao (ping after 24h)
2017/02/01 18:22:59
Done.
| |
| 13 | |
| 14 } // namespace | |
| 15 | |
| 11 namespace web { | 16 namespace web { |
| 12 | 17 |
| 13 WebTest::WebTest() : web_client_(base::WrapUnique(new TestWebClient)) {} | 18 class RendererCrashObserver : public GlobalWebStateObserver { |
| 19 public: | |
| 20 RendererCrashObserver() = default; | |
| 21 ~RendererCrashObserver() override = default; | |
| 22 | |
| 23 void RenderProcessGone(WebState* web_state) override { | |
|
Eugene But (OOO till 7-30)
2017/02/01 16:43:04
Optional nit: Drop |web_state| argument
rohitrao (ping after 24h)
2017/02/01 18:22:59
GlobalWebStateObserver needs to pass this, so that
Eugene But (OOO till 7-30)
2017/02/01 18:41:45
Sorry, what I meant was:
|void RenderProcessGone(W
| |
| 24 FAIL() << "Renderer process died unexpectedly during the test"; | |
| 25 } | |
| 26 }; | |
| 27 | |
| 28 WebTest::WebTest() | |
| 29 : web_client_(base::WrapUnique(new TestWebClient)) { | |
|
Eugene But (OOO till 7-30)
2017/02/01 16:43:04
Do we need web client? WebTestSuite already sets i
rohitrao (ping after 24h)
2017/02/01 18:22:59
Some tests call GetWebClient(), so leaving this in
| |
| 30 renderer_crash_observer_ = base::MakeUnique<RendererCrashObserver>(); | |
| 31 } | |
| 14 | 32 |
| 15 WebTest::~WebTest() {} | 33 WebTest::~WebTest() {} |
| 16 | 34 |
| 17 void WebTest::SetUp() { | 35 void WebTest::SetUp() { |
| 18 PlatformTest::SetUp(); | 36 PlatformTest::SetUp(); |
| 19 BrowserState::GetActiveStateManager(&browser_state_)->SetActive(true); | 37 BrowserState::GetActiveStateManager(&browser_state_)->SetActive(true); |
| 20 } | 38 } |
| 21 | 39 |
| 22 void WebTest::TearDown() { | 40 void WebTest::TearDown() { |
| 23 BrowserState::GetActiveStateManager(&browser_state_)->SetActive(false); | 41 BrowserState::GetActiveStateManager(&browser_state_)->SetActive(false); |
| 24 PlatformTest::TearDown(); | 42 PlatformTest::TearDown(); |
| 25 } | 43 } |
| 26 | 44 |
| 27 TestWebClient* WebTest::GetWebClient() { | 45 TestWebClient* WebTest::GetWebClient() { |
| 28 return static_cast<TestWebClient*>(web_client_.Get()); | 46 return static_cast<TestWebClient*>(web_client_.Get()); |
| 29 } | 47 } |
| 30 | 48 |
| 31 BrowserState* WebTest::GetBrowserState() { | 49 BrowserState* WebTest::GetBrowserState() { |
| 32 return &browser_state_; | 50 return &browser_state_; |
| 33 } | 51 } |
| 34 | 52 |
| 53 void WebTest::AllowRenderProcessCrashesDuringTesting(bool allow) { | |
| 54 if (allow) { | |
|
Eugene But (OOO till 7-30)
2017/02/01 16:43:04
Optional nit: Do you want to use ternary?
renderer
rohitrao (ping after 24h)
2017/02/01 18:22:59
If you don't feel strongly, I'll keep this as-is.
| |
| 55 renderer_crash_observer_ = nullptr; | |
| 56 } else { | |
| 57 renderer_crash_observer_ = base::MakeUnique<RendererCrashObserver>(); | |
| 58 } | |
| 59 } | |
| 60 | |
| 35 } // namespace web | 61 } // namespace web |
| OLD | NEW |