Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: content/browser/site_instance_impl_unittest.cc

Issue 13409003: Hide ContentClient getters from embedders so that they they don't reuse content's embedder API. The… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/stl_util.h" 7 #include "base/stl_util.h"
8 #include "base/string16.h" 8 #include "base/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 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 public: 85 public:
86 SiteInstanceTest() 86 SiteInstanceTest()
87 : ui_thread_(BrowserThread::UI, &message_loop_), 87 : ui_thread_(BrowserThread::UI, &message_loop_),
88 file_user_blocking_thread_(BrowserThread::FILE_USER_BLOCKING, 88 file_user_blocking_thread_(BrowserThread::FILE_USER_BLOCKING,
89 &message_loop_), 89 &message_loop_),
90 io_thread_(BrowserThread::IO, &message_loop_), 90 io_thread_(BrowserThread::IO, &message_loop_),
91 old_browser_client_(NULL) { 91 old_browser_client_(NULL) {
92 } 92 }
93 93
94 virtual void SetUp() { 94 virtual void SetUp() {
95 old_browser_client_ = GetContentClient()->browser(); 95 old_browser_client_ = SetBrowserClientForTesting(&browser_client_);
96 GetContentClient()->set_browser_for_testing(&browser_client_);
97 url_util::AddStandardScheme(kPrivilegedScheme); 96 url_util::AddStandardScheme(kPrivilegedScheme);
98 url_util::AddStandardScheme(chrome::kChromeUIScheme); 97 url_util::AddStandardScheme(chrome::kChromeUIScheme);
99 } 98 }
100 99
101 virtual void TearDown() { 100 virtual void TearDown() {
102 // Ensure that no RenderProcessHosts are left over after the tests. 101 // Ensure that no RenderProcessHosts are left over after the tests.
103 EXPECT_TRUE(RenderProcessHost::AllHostsIterator().IsAtEnd()); 102 EXPECT_TRUE(RenderProcessHost::AllHostsIterator().IsAtEnd());
104 103
105 GetContentClient()->set_browser_for_testing(old_browser_client_); 104 SetBrowserClientForTesting(old_browser_client_);
106 105
107 // http://crbug.com/143565 found SiteInstanceTest leaking an 106 // http://crbug.com/143565 found SiteInstanceTest leaking an
108 // AppCacheDatabase. This happens because some part of the test indirectly 107 // AppCacheDatabase. This happens because some part of the test indirectly
109 // calls StoragePartitionImplMap::PostCreateInitialization(), which posts 108 // calls StoragePartitionImplMap::PostCreateInitialization(), which posts
110 // a task to the IO thread to create the AppCacheDatabase. Since the 109 // a task to the IO thread to create the AppCacheDatabase. Since the
111 // message loop is not running, the AppCacheDatabase ends up getting 110 // message loop is not running, the AppCacheDatabase ends up getting
112 // created when DrainMessageLoops() gets called at the end of a test case. 111 // created when DrainMessageLoops() gets called at the end of a test case.
113 // Immediately after, the test case ends and the AppCacheDatabase gets 112 // Immediately after, the test case ends and the AppCacheDatabase gets
114 // scheduled for deletion. Here, call DrainMessageLoops() again so the 113 // scheduled for deletion. Here, call DrainMessageLoops() again so the
115 // AppCacheDatabase actually gets deleted. 114 // AppCacheDatabase actually gets deleted.
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 EXPECT_TRUE(instance->GetSiteURL().is_empty()); 754 EXPECT_TRUE(instance->GetSiteURL().is_empty());
756 host.reset(instance->GetProcess()); 755 host.reset(instance->GetProcess());
757 756
758 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite( 757 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite(
759 browser_context.get(), GURL())); 758 browser_context.get(), GURL()));
760 759
761 DrainMessageLoops(); 760 DrainMessageLoops();
762 } 761 }
763 762
764 } // namespace content 763 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698