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

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

Issue 667943003: Standardize usage of virtual/override/final in content/browser/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « content/browser/site_instance_impl.h ('k') | content/browser/site_per_process_browsertest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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 18 matching lines...) Expand all
29 #include "testing/gtest/include/gtest/gtest.h" 29 #include "testing/gtest/include/gtest/gtest.h"
30 #include "url/url_util.h" 30 #include "url/url_util.h"
31 31
32 namespace content { 32 namespace content {
33 namespace { 33 namespace {
34 34
35 const char kPrivilegedScheme[] = "privileged"; 35 const char kPrivilegedScheme[] = "privileged";
36 36
37 class SiteInstanceTestWebUIControllerFactory : public WebUIControllerFactory { 37 class SiteInstanceTestWebUIControllerFactory : public WebUIControllerFactory {
38 public: 38 public:
39 virtual WebUIController* CreateWebUIControllerForURL( 39 WebUIController* CreateWebUIControllerForURL(WebUI* web_ui,
40 WebUI* web_ui, const GURL& url) const override { 40 const GURL& url) const override {
41 return NULL; 41 return NULL;
42 } 42 }
43 virtual WebUI::TypeID GetWebUIType(BrowserContext* browser_context, 43 WebUI::TypeID GetWebUIType(BrowserContext* browser_context,
44 const GURL& url) const override { 44 const GURL& url) const override {
45 return WebUI::kNoWebUI; 45 return WebUI::kNoWebUI;
46 } 46 }
47 virtual bool UseWebUIForURL(BrowserContext* browser_context, 47 bool UseWebUIForURL(BrowserContext* browser_context,
48 const GURL& url) const override {
49 return HasWebUIScheme(url);
50 }
51 bool UseWebUIBindingsForURL(BrowserContext* browser_context,
48 const GURL& url) const override { 52 const GURL& url) const override {
49 return HasWebUIScheme(url); 53 return HasWebUIScheme(url);
50 } 54 }
51 virtual bool UseWebUIBindingsForURL(BrowserContext* browser_context,
52 const GURL& url) const override {
53 return HasWebUIScheme(url);
54 }
55 }; 55 };
56 56
57 class SiteInstanceTestBrowserClient : public TestContentBrowserClient { 57 class SiteInstanceTestBrowserClient : public TestContentBrowserClient {
58 public: 58 public:
59 SiteInstanceTestBrowserClient() 59 SiteInstanceTestBrowserClient()
60 : privileged_process_id_(-1) { 60 : privileged_process_id_(-1) {
61 WebUIControllerFactory::RegisterFactory(&factory_); 61 WebUIControllerFactory::RegisterFactory(&factory_);
62 } 62 }
63 63
64 virtual ~SiteInstanceTestBrowserClient() { 64 ~SiteInstanceTestBrowserClient() override {
65 WebUIControllerFactory::UnregisterFactoryForTesting(&factory_); 65 WebUIControllerFactory::UnregisterFactoryForTesting(&factory_);
66 } 66 }
67 67
68 virtual bool IsSuitableHost(RenderProcessHost* process_host, 68 bool IsSuitableHost(RenderProcessHost* process_host,
69 const GURL& site_url) override { 69 const GURL& site_url) override {
70 return (privileged_process_id_ == process_host->GetID()) == 70 return (privileged_process_id_ == process_host->GetID()) ==
71 site_url.SchemeIs(kPrivilegedScheme); 71 site_url.SchemeIs(kPrivilegedScheme);
72 } 72 }
73 73
74 void set_privileged_process_id(int process_id) { 74 void set_privileged_process_id(int process_id) {
75 privileged_process_id_ = process_id; 75 privileged_process_id_ = process_id;
76 } 76 }
77 77
78 private: 78 private:
79 SiteInstanceTestWebUIControllerFactory factory_; 79 SiteInstanceTestWebUIControllerFactory factory_;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 } 150 }
151 151
152 // Make a few methods public for tests. 152 // Make a few methods public for tests.
153 using BrowsingInstance::browser_context; 153 using BrowsingInstance::browser_context;
154 using BrowsingInstance::HasSiteInstance; 154 using BrowsingInstance::HasSiteInstance;
155 using BrowsingInstance::GetSiteInstanceForURL; 155 using BrowsingInstance::GetSiteInstanceForURL;
156 using BrowsingInstance::RegisterSiteInstance; 156 using BrowsingInstance::RegisterSiteInstance;
157 using BrowsingInstance::UnregisterSiteInstance; 157 using BrowsingInstance::UnregisterSiteInstance;
158 158
159 private: 159 private:
160 virtual ~TestBrowsingInstance() { 160 ~TestBrowsingInstance() override { (*delete_counter_)++; }
161 (*delete_counter_)++;
162 }
163 161
164 int* delete_counter_; 162 int* delete_counter_;
165 }; 163 };
166 164
167 // Subclass of SiteInstanceImpl that updates a counter when deleted. 165 // Subclass of SiteInstanceImpl that updates a counter when deleted.
168 class TestSiteInstance : public SiteInstanceImpl { 166 class TestSiteInstance : public SiteInstanceImpl {
169 public: 167 public:
170 static TestSiteInstance* CreateTestSiteInstance( 168 static TestSiteInstance* CreateTestSiteInstance(
171 BrowserContext* browser_context, 169 BrowserContext* browser_context,
172 int* site_delete_counter, 170 int* site_delete_counter,
173 int* browsing_delete_counter) { 171 int* browsing_delete_counter) {
174 TestBrowsingInstance* browsing_instance = 172 TestBrowsingInstance* browsing_instance =
175 new TestBrowsingInstance(browser_context, browsing_delete_counter); 173 new TestBrowsingInstance(browser_context, browsing_delete_counter);
176 return new TestSiteInstance(browsing_instance, site_delete_counter); 174 return new TestSiteInstance(browsing_instance, site_delete_counter);
177 } 175 }
178 176
179 private: 177 private:
180 TestSiteInstance(BrowsingInstance* browsing_instance, int* delete_counter) 178 TestSiteInstance(BrowsingInstance* browsing_instance, int* delete_counter)
181 : SiteInstanceImpl(browsing_instance), delete_counter_(delete_counter) {} 179 : SiteInstanceImpl(browsing_instance), delete_counter_(delete_counter) {}
182 virtual ~TestSiteInstance() { 180 ~TestSiteInstance() override { (*delete_counter_)++; }
183 (*delete_counter_)++;
184 }
185 181
186 int* delete_counter_; 182 int* delete_counter_;
187 }; 183 };
188 184
189 } // namespace 185 } // namespace
190 186
191 // Test to ensure no memory leaks for SiteInstance objects. 187 // Test to ensure no memory leaks for SiteInstance objects.
192 TEST_F(SiteInstanceTest, SiteInstanceDestructor) { 188 TEST_F(SiteInstanceTest, SiteInstanceDestructor) {
193 // The existence of this object will cause WebContentsImpl to create our 189 // The existence of this object will cause WebContentsImpl to create our
194 // test one instead of the real one. 190 // test one instead of the real one.
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 EXPECT_TRUE(instance->GetSiteURL().is_empty()); 776 EXPECT_TRUE(instance->GetSiteURL().is_empty());
781 host.reset(instance->GetProcess()); 777 host.reset(instance->GetProcess());
782 778
783 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite( 779 EXPECT_FALSE(RenderProcessHostImpl::GetProcessHostForSite(
784 browser_context.get(), GURL())); 780 browser_context.get(), GURL()));
785 781
786 DrainMessageLoops(); 782 DrainMessageLoops();
787 } 783 }
788 784
789 } // namespace content 785 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/site_instance_impl.h ('k') | content/browser/site_per_process_browsertest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698