| Index: ios/shared/chrome/browser/tabs/web_state_list_unittest.mm
|
| diff --git a/ios/shared/chrome/browser/tabs/web_state_list_unittest.mm b/ios/shared/chrome/browser/tabs/web_state_list_unittest.mm
|
| index d7d0e020ea0fcb4cec73682b1d572fdbc39d62d8..a786270f700803b1e8b7da895dec4de410eb4e05 100644
|
| --- a/ios/shared/chrome/browser/tabs/web_state_list_unittest.mm
|
| +++ b/ios/shared/chrome/browser/tabs/web_state_list_unittest.mm
|
| @@ -23,25 +23,6 @@ namespace {
|
| const char kURL0[] = "https://chromium.org/0";
|
| const char kURL1[] = "https://chromium.org/1";
|
| const char kURL2[] = "https://chromium.org/2";
|
| -const char kSupportsUserDataDeathGuardKey = '\0';
|
| -
|
| -// A base::SupportsUserData::Data that tracks whether a base::SupportsUserData
|
| -// has been deleted (the fact is recorded in a provided pointer as part of the
|
| -// object destruction).
|
| -class SupportsUserDataDeathGuard : public base::SupportsUserData::Data {
|
| - public:
|
| - explicit SupportsUserDataDeathGuard(bool* object_was_destroyed)
|
| - : object_was_destroyed_(object_was_destroyed) {
|
| - *object_was_destroyed_ = false;
|
| - }
|
| -
|
| - ~SupportsUserDataDeathGuard() override { *object_was_destroyed_ = true; }
|
| -
|
| - private:
|
| - bool* object_was_destroyed_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SupportsUserDataDeathGuard);
|
| -};
|
|
|
| // WebStateList observer that records which events have been called by the
|
| // WebStateList.
|
| @@ -143,9 +124,7 @@ class FakeNavigationManager : public web::TestNavigationManager {
|
|
|
| class WebStateListTest : public PlatformTest {
|
| public:
|
| - WebStateListTest()
|
| - : web_state_list_(&web_state_list_delegate_,
|
| - WebStateList::WebStateOwned) {
|
| + WebStateListTest() : web_state_list_(&web_state_list_delegate_) {
|
| web_state_list_.AddObserver(&observer_);
|
| }
|
|
|
| @@ -156,15 +135,13 @@ class WebStateListTest : public PlatformTest {
|
| WebStateList web_state_list_;
|
| WebStateListTestObserver observer_;
|
|
|
| - // This method should return std::unique_ptr<> however, due to the complex
|
| - // ownership of Tab, WebStateList currently uses raw pointers. Change this
|
| - // once Tab ownership is sane, see http://crbug.com/546222 for progress.
|
| - web::WebState* CreateWebState(const char* url) {
|
| + std::unique_ptr<web::WebState> CreateWebState(const char* url) {
|
| auto test_web_state = base::MakeUnique<web::TestWebState>();
|
| test_web_state->SetCurrentURL(GURL(url));
|
| test_web_state->SetNavigationManager(
|
| base::MakeUnique<FakeNavigationManager>());
|
| - return test_web_state.release();
|
| + // TODO(crbug.com/703565): remove std::move() once Xcode 9.0+ is required.
|
| + return std::move(test_web_state);
|
| }
|
|
|
| private:
|
| @@ -339,8 +316,7 @@ TEST_F(WebStateListTest, DetachWebStateAtIndexBegining) {
|
| EXPECT_EQ(kURL2, web_state_list_.GetWebStateAt(2)->GetVisibleURL().spec());
|
|
|
| observer_.ResetStatistics();
|
| - std::unique_ptr<web::WebState> old_web_state(
|
| - web_state_list_.DetachWebStateAt(0));
|
| + web_state_list_.DetachWebStateAt(0);
|
|
|
| EXPECT_TRUE(observer_.web_state_detached_called());
|
| EXPECT_EQ(2, web_state_list_.count());
|
| @@ -360,8 +336,7 @@ TEST_F(WebStateListTest, DetachWebStateAtIndexMiddle) {
|
| EXPECT_EQ(kURL2, web_state_list_.GetWebStateAt(2)->GetVisibleURL().spec());
|
|
|
| observer_.ResetStatistics();
|
| - std::unique_ptr<web::WebState> old_web_state(
|
| - web_state_list_.DetachWebStateAt(1));
|
| + web_state_list_.DetachWebStateAt(1);
|
|
|
| EXPECT_TRUE(observer_.web_state_detached_called());
|
| EXPECT_EQ(2, web_state_list_.count());
|
| @@ -381,8 +356,7 @@ TEST_F(WebStateListTest, DetachWebStateAtIndexLast) {
|
| EXPECT_EQ(kURL2, web_state_list_.GetWebStateAt(2)->GetVisibleURL().spec());
|
|
|
| observer_.ResetStatistics();
|
| - std::unique_ptr<web::WebState> old_web_state(
|
| - web_state_list_.DetachWebStateAt(2));
|
| + web_state_list_.DetachWebStateAt(2);
|
|
|
| EXPECT_TRUE(observer_.web_state_detached_called());
|
| EXPECT_EQ(2, web_state_list_.count());
|
| @@ -390,40 +364,6 @@ TEST_F(WebStateListTest, DetachWebStateAtIndexLast) {
|
| EXPECT_EQ(kURL1, web_state_list_.GetWebStateAt(1)->GetVisibleURL().spec());
|
| }
|
|
|
| -TEST_F(WebStateListTest, OwnershipBorrowed) {
|
| - bool web_state_was_killed = false;
|
| - auto test_web_state = base::MakeUnique<web::TestWebState>();
|
| - test_web_state->SetUserData(
|
| - &kSupportsUserDataDeathGuardKey,
|
| - base::MakeUnique<SupportsUserDataDeathGuard>(&web_state_was_killed));
|
| -
|
| - FakeWebStateListDelegate web_state_list_delegate;
|
| - auto web_state_list = base::MakeUnique<WebStateList>(
|
| - &web_state_list_delegate, WebStateList::WebStateBorrowed);
|
| - web_state_list->InsertWebState(0, test_web_state.get());
|
| - EXPECT_FALSE(web_state_was_killed);
|
| -
|
| - web_state_list.reset();
|
| - EXPECT_FALSE(web_state_was_killed);
|
| -}
|
| -
|
| -TEST_F(WebStateListTest, OwnershipOwned) {
|
| - bool web_state_was_killed = false;
|
| - auto test_web_state = base::MakeUnique<web::TestWebState>();
|
| - test_web_state->SetUserData(
|
| - &kSupportsUserDataDeathGuardKey,
|
| - base::MakeUnique<SupportsUserDataDeathGuard>(&web_state_was_killed));
|
| -
|
| - FakeWebStateListDelegate web_state_list_delegate;
|
| - auto web_state_list = base::MakeUnique<WebStateList>(
|
| - &web_state_list_delegate, WebStateList::WebStateOwned);
|
| - web_state_list->InsertWebState(0, test_web_state.release());
|
| - EXPECT_FALSE(web_state_was_killed);
|
| -
|
| - web_state_list.reset();
|
| - EXPECT_TRUE(web_state_was_killed);
|
| -}
|
| -
|
| TEST_F(WebStateListTest, OpenersEmptyList) {
|
| EXPECT_TRUE(web_state_list_.empty());
|
|
|
|
|