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(), base::string16(), PAGE_TRANSITION_LINK, | 207 instance, 0, url, Referrer(), base::string16(), ui::PAGE_TRANSITION_LINK, |
208 false); | 208 false); |
209 | 209 |
210 // Redundantly setting e1's SiteInstance shouldn't affect the ref count. | 210 // Redundantly setting e1's SiteInstance shouldn't affect the ref count. |
211 e1->set_site_instance(instance); | 211 e1->set_site_instance(instance); |
212 EXPECT_EQ(0, site_delete_counter); | 212 EXPECT_EQ(0, site_delete_counter); |
213 | 213 |
214 // Add a second reference | 214 // Add a second reference |
215 NavigationEntryImpl* e2 = new NavigationEntryImpl( | 215 NavigationEntryImpl* e2 = new NavigationEntryImpl( |
216 instance, 0, url, Referrer(), base::string16(), PAGE_TRANSITION_LINK, | 216 instance, 0, url, Referrer(), base::string16(), ui::PAGE_TRANSITION_LINK, |
217 false); | 217 false); |
218 | 218 |
219 // Now delete both entries and be sure the SiteInstance goes away. | 219 // Now delete both entries and be sure the SiteInstance goes away. |
220 delete e1; | 220 delete e1; |
221 EXPECT_EQ(0, site_delete_counter); | 221 EXPECT_EQ(0, site_delete_counter); |
222 EXPECT_EQ(0, browsing_delete_counter); | 222 EXPECT_EQ(0, browsing_delete_counter); |
223 delete e2; | 223 delete e2; |
224 EXPECT_EQ(1, site_delete_counter); | 224 EXPECT_EQ(1, site_delete_counter); |
225 // instance is now deleted | 225 // instance is now deleted |
226 EXPECT_EQ(1, browsing_delete_counter); | 226 EXPECT_EQ(1, browsing_delete_counter); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 const GURL url("test:foo"); | 259 const GURL url("test:foo"); |
260 | 260 |
261 SiteInstanceImpl* instance1 = | 261 SiteInstanceImpl* instance1 = |
262 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter1, | 262 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter1, |
263 &browsing_delete_counter); | 263 &browsing_delete_counter); |
264 SiteInstanceImpl* instance2 = | 264 SiteInstanceImpl* instance2 = |
265 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter2, | 265 TestSiteInstance::CreateTestSiteInstance(NULL, &site_delete_counter2, |
266 &browsing_delete_counter); | 266 &browsing_delete_counter); |
267 | 267 |
268 NavigationEntryImpl* e1 = new NavigationEntryImpl( | 268 NavigationEntryImpl* e1 = new NavigationEntryImpl( |
269 instance1, 0, url, Referrer(), base::string16(), PAGE_TRANSITION_LINK, | 269 instance1, 0, url, Referrer(), base::string16(), ui::PAGE_TRANSITION_LINK, |
270 false); | 270 false); |
271 // Clone the entry | 271 // Clone the entry |
272 NavigationEntryImpl* e2 = new NavigationEntryImpl(*e1); | 272 NavigationEntryImpl* e2 = new NavigationEntryImpl(*e1); |
273 | 273 |
274 // Should be able to change the SiteInstance of the cloned entry. | 274 // Should be able to change the SiteInstance of the cloned entry. |
275 e2->set_site_instance(instance2); | 275 e2->set_site_instance(instance2); |
276 | 276 |
277 // 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 |
278 // no longer be referencing it. | 278 // no longer be referencing it. |
279 delete e1; | 279 delete e1; |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
777 EXPECT_TRUE(instance->GetSiteURL().is_empty()); | 777 EXPECT_TRUE(instance->GetSiteURL().is_empty()); |
778 host.reset(instance->GetProcess()); | 778 host.reset(instance->GetProcess()); |
779 | 779 |
780 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite( | 780 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite( |
781 browser_context.get(), GURL())); | 781 browser_context.get(), GURL())); |
782 | 782 |
783 DrainMessageLoops(); | 783 DrainMessageLoops(); |
784 } | 784 } |
785 | 785 |
786 } // namespace content | 786 } // namespace content |
OLD | NEW |