OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 <map> | 5 #include <map> |
6 #include <string> | 6 #include <string> |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/memory/scoped_temp_dir.h" | 9 #include "base/memory/scoped_temp_dir.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
11 #include "base/stl_util-inl.h" | 11 #include "base/stl_util-inl.h" |
12 #include "base/task.h" | 12 #include "base/task.h" |
13 #include "chrome/browser/sessions/session_service.h" | 13 #include "chrome/browser/sessions/session_service.h" |
| 14 #include "chrome/browser/sessions/session_service_factory.h" |
14 #include "chrome/browser/sessions/session_service_test_helper.h" | 15 #include "chrome/browser/sessions/session_service_test_helper.h" |
15 #include "chrome/browser/sync/abstract_profile_sync_service_test.h" | 16 #include "chrome/browser/sync/abstract_profile_sync_service_test.h" |
16 #include "chrome/browser/sync/engine/syncapi.h" | 17 #include "chrome/browser/sync/engine/syncapi.h" |
17 #include "chrome/browser/sync/glue/session_change_processor.h" | 18 #include "chrome/browser/sync/glue/session_change_processor.h" |
18 #include "chrome/browser/sync/glue/session_data_type_controller.h" | 19 #include "chrome/browser/sync/glue/session_data_type_controller.h" |
19 #include "chrome/browser/sync/glue/session_model_associator.h" | 20 #include "chrome/browser/sync/glue/session_model_associator.h" |
20 #include "chrome/browser/sync/glue/sync_backend_host.h" | 21 #include "chrome/browser/sync/glue/sync_backend_host.h" |
21 #include "chrome/browser/sync/profile_sync_factory_mock.h" | 22 #include "chrome/browser/sync/profile_sync_factory_mock.h" |
22 #include "chrome/browser/sync/profile_sync_test_util.h" | 23 #include "chrome/browser/sync/profile_sync_test_util.h" |
23 #include "chrome/browser/sync/protocol/session_specifics.pb.h" | 24 #include "chrome/browser/sync/protocol/session_specifics.pb.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 case NotificationType::FOREIGN_SESSION_UPDATED: | 89 case NotificationType::FOREIGN_SESSION_UPDATED: |
89 notified_of_update_ = true; | 90 notified_of_update_ = true; |
90 break; | 91 break; |
91 default: | 92 default: |
92 NOTREACHED(); | 93 NOTREACHED(); |
93 break; | 94 break; |
94 } | 95 } |
95 } | 96 } |
96 | 97 |
97 virtual void TearDown() { | 98 virtual void TearDown() { |
98 if (profile()->GetSessionService() == service()) | 99 if (SessionServiceFactory::GetForProfileIfExisting(profile()) == service()) |
99 helper_.ReleaseService(); // we transferred ownership to profile | 100 helper_.ReleaseService(); // we transferred ownership to profile |
100 else | 101 else |
101 helper_.set_service(NULL); | 102 helper_.set_service(NULL); |
102 profile()->set_session_service(NULL); | 103 SessionServiceFactory::SetForTestProfile(profile(), NULL); |
103 sync_service_.reset(); | 104 sync_service_.reset(); |
104 profile()->ResetRequestContext(); | 105 profile()->ResetRequestContext(); |
105 // Pump messages posted by the sync core thread (which may end up | 106 // Pump messages posted by the sync core thread (which may end up |
106 // posting on the IO thread). | 107 // posting on the IO thread). |
107 MessageLoop::current()->RunAllPending(); | 108 MessageLoop::current()->RunAllPending(); |
108 io_thread_.Stop(); | 109 io_thread_.Stop(); |
109 MessageLoop::current()->RunAllPending(); | 110 MessageLoop::current()->RunAllPending(); |
110 BrowserWithTestWindowTest::TearDown(); | 111 BrowserWithTestWindowTest::TearDown(); |
111 } | 112 } |
112 | 113 |
113 bool StartSyncService(Task* task, bool will_fail_association) { | 114 bool StartSyncService(Task* task, bool will_fail_association) { |
114 if (sync_service_.get()) | 115 if (sync_service_.get()) |
115 return false; | 116 return false; |
116 sync_service_.reset(new TestProfileSyncService( | 117 sync_service_.reset(new TestProfileSyncService( |
117 &factory_, profile(), "test user", false, task)); | 118 &factory_, profile(), "test user", false, task)); |
118 profile()->set_session_service(helper_.service()); | 119 SessionServiceFactory::SetForTestProfile(profile(), helper_.service()); |
119 | 120 |
120 // Register the session data type. | 121 // Register the session data type. |
121 model_associator_ = | 122 model_associator_ = |
122 new SessionModelAssociator(sync_service_.get(), | 123 new SessionModelAssociator(sync_service_.get(), |
123 true /* setup_for_test */); | 124 true /* setup_for_test */); |
124 change_processor_ = new SessionChangeProcessor( | 125 change_processor_ = new SessionChangeProcessor( |
125 sync_service_.get(), model_associator_, | 126 sync_service_.get(), model_associator_, |
126 true /* setup_for_test */); | 127 true /* setup_for_test */); |
127 EXPECT_CALL(factory_, CreateSessionSyncComponents(_, _)). | 128 EXPECT_CALL(factory_, CreateSessionSyncComponents(_, _)). |
128 WillOnce(Return(ProfileSyncFactory::SyncComponents( | 129 WillOnce(Return(ProfileSyncFactory::SyncComponents( |
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 ASSERT_FALSE(model_associator_->tab_pool_.full()); | 434 ASSERT_FALSE(model_associator_->tab_pool_.full()); |
434 for (size_t i = 0; i < num_ids; ++i) { | 435 for (size_t i = 0; i < num_ids; ++i) { |
435 model_associator_->tab_pool_.FreeTabNode(node_ids[i]); | 436 model_associator_->tab_pool_.FreeTabNode(node_ids[i]); |
436 } | 437 } |
437 ASSERT_EQ(num_ids, model_associator_->tab_pool_.capacity()); | 438 ASSERT_EQ(num_ids, model_associator_->tab_pool_.capacity()); |
438 ASSERT_FALSE(model_associator_->tab_pool_.empty()); | 439 ASSERT_FALSE(model_associator_->tab_pool_.empty()); |
439 ASSERT_TRUE(model_associator_->tab_pool_.full()); | 440 ASSERT_TRUE(model_associator_->tab_pool_.full()); |
440 } | 441 } |
441 | 442 |
442 } // namespace browser_sync | 443 } // namespace browser_sync |
OLD | NEW |