OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/compiler_specific.h" | 6 #include "base/compiler_specific.h" |
7 #include "base/memory/scoped_vector.h" | 7 #include "base/memory/scoped_vector.h" |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "content/browser/browser_thread_impl.h" | 9 #include "content/browser/browser_thread_impl.h" |
10 #include "content/browser/browsing_instance.h" | 10 #include "content/browser/browsing_instance.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 int browsing_delete_counter = 0; | 197 int browsing_delete_counter = 0; |
198 const GURL url("test:foo"); | 198 const GURL url("test:foo"); |
199 | 199 |
200 // Ensure that instances are deleted when their NavigationEntries are gone. | 200 // Ensure that instances are deleted when their NavigationEntries are gone. |
201 TestSiteInstance* instance = | 201 TestSiteInstance* instance = |
202 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter, | 202 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter, |
203 &browsing_delete_counter); | 203 &browsing_delete_counter); |
204 EXPECT_EQ(0, site_delete_counter); | 204 EXPECT_EQ(0, site_delete_counter); |
205 | 205 |
206 NavigationEntryImpl* e1 = new NavigationEntryImpl( | 206 NavigationEntryImpl* e1 = new NavigationEntryImpl( |
207 instance, 0, url, Referrer(), string16(), PAGE_TRANSITION_LINK, false); | 207 instance, 0, url, Referrer(), base::string16(), PAGE_TRANSITION_LINK, |
| 208 false); |
208 | 209 |
209 // Redundantly setting e1's SiteInstance shouldn't affect the ref count. | 210 // Redundantly setting e1's SiteInstance shouldn't affect the ref count. |
210 e1->set_site_instance(instance); | 211 e1->set_site_instance(instance); |
211 EXPECT_EQ(0, site_delete_counter); | 212 EXPECT_EQ(0, site_delete_counter); |
212 | 213 |
213 // Add a second reference | 214 // Add a second reference |
214 NavigationEntryImpl* e2 = new NavigationEntryImpl( | 215 NavigationEntryImpl* e2 = new NavigationEntryImpl( |
215 instance, 0, url, Referrer(), string16(), PAGE_TRANSITION_LINK, false); | 216 instance, 0, url, Referrer(), base::string16(), PAGE_TRANSITION_LINK, |
| 217 false); |
216 | 218 |
217 // Now delete both entries and be sure the SiteInstance goes away. | 219 // Now delete both entries and be sure the SiteInstance goes away. |
218 delete e1; | 220 delete e1; |
219 EXPECT_EQ(0, site_delete_counter); | 221 EXPECT_EQ(0, site_delete_counter); |
220 EXPECT_EQ(0, browsing_delete_counter); | 222 EXPECT_EQ(0, browsing_delete_counter); |
221 delete e2; | 223 delete e2; |
222 EXPECT_EQ(1, site_delete_counter); | 224 EXPECT_EQ(1, site_delete_counter); |
223 // instance is now deleted | 225 // instance is now deleted |
224 EXPECT_EQ(1, browsing_delete_counter); | 226 EXPECT_EQ(1, browsing_delete_counter); |
225 // browsing_instance is now deleted | 227 // browsing_instance is now deleted |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 const GURL url("test:foo"); | 259 const GURL url("test:foo"); |
258 | 260 |
259 SiteInstanceImpl* instance1 = | 261 SiteInstanceImpl* instance1 = |
260 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter1, | 262 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter1, |
261 &browsing_delete_counter); | 263 &browsing_delete_counter); |
262 SiteInstanceImpl* instance2 = | 264 SiteInstanceImpl* instance2 = |
263 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter2, | 265 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter2, |
264 &browsing_delete_counter); | 266 &browsing_delete_counter); |
265 | 267 |
266 NavigationEntryImpl* e1 = new NavigationEntryImpl( | 268 NavigationEntryImpl* e1 = new NavigationEntryImpl( |
267 instance1, 0, url, Referrer(), string16(), PAGE_TRANSITION_LINK, false); | 269 instance1, 0, url, Referrer(), base::string16(), PAGE_TRANSITION_LINK, |
| 270 false); |
268 // Clone the entry | 271 // Clone the entry |
269 NavigationEntryImpl* e2 = new NavigationEntryImpl(*e1); | 272 NavigationEntryImpl* e2 = new NavigationEntryImpl(*e1); |
270 | 273 |
271 // Should be able to change the SiteInstance of the cloned entry. | 274 // Should be able to change the SiteInstance of the cloned entry. |
272 e2->set_site_instance(instance2); | 275 e2->set_site_instance(instance2); |
273 | 276 |
274 // The first SiteInstance should go away after deleting e1, since e2 should | 277 // The first SiteInstance should go away after deleting e1, since e2 should |
275 // no longer be referencing it. | 278 // no longer be referencing it. |
276 delete e1; | 279 delete e1; |
277 EXPECT_EQ(1, site_delete_counter1); | 280 EXPECT_EQ(1, site_delete_counter1); |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
750 EXPECT_TRUE(instance->GetSiteURL().is_empty()); | 753 EXPECT_TRUE(instance->GetSiteURL().is_empty()); |
751 host.reset(instance->GetProcess()); | 754 host.reset(instance->GetProcess()); |
752 | 755 |
753 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite( | 756 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite( |
754 browser_context.get(), GURL())); | 757 browser_context.get(), GURL())); |
755 | 758 |
756 DrainMessageLoops(); | 759 DrainMessageLoops(); |
757 } | 760 } |
758 | 761 |
759 } // namespace content | 762 } // namespace content |
OLD | NEW |