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

Side by Side Diff: chrome/browser/site_details_browsertest.cc

Issue 2767893002: Remove ScopedVector from chrome/browser/. (Closed)
Patch Set: Address comments from zea@ Created 3 years, 9 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/site_details.h" 5 #include "chrome/browser/site_details.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory>
10 #include <utility> 11 #include <utility>
12 #include <vector>
11 13
12 #include "base/bind_helpers.h" 14 #include "base/bind_helpers.h"
13 #include "base/files/file_path.h" 15 #include "base/files/file_path.h"
14 #include "base/macros.h" 16 #include "base/macros.h"
15 #include "base/message_loop/message_loop.h" 17 #include "base/message_loop/message_loop.h"
16 #include "base/path_service.h" 18 #include "base/path_service.h"
17 #include "base/strings/stringprintf.h" 19 #include "base/strings/stringprintf.h"
18 #include "base/test/histogram_tester.h" 20 #include "base/test/histogram_tester.h"
19 #include "chrome/browser/browser_process.h" 21 #include "chrome/browser/browser_process.h"
20 #include "chrome/browser/extensions/extension_browsertest.h" 22 #include "chrome/browser/extensions/extension_browsertest.h"
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 base::StringPrintf( 233 base::StringPrintf(
232 "<html><body>%s, two http:// iframes:" 234 "<html><body>%s, two http:// iframes:"
233 " <iframe width=80 height=80 src='%s'></iframe>" 235 " <iframe width=80 height=80 src='%s'></iframe>"
234 " <iframe width=80 height=80 src='%s'></iframe>" 236 " <iframe width=80 height=80 src='%s'></iframe>"
235 "</body></html>", 237 "</body></html>",
236 name.c_str(), iframe_url.c_str(), iframe_url2.c_str())); 238 name.c_str(), iframe_url.c_str(), iframe_url2.c_str()));
237 dir->WriteManifest(manifest.ToJSON()); 239 dir->WriteManifest(manifest.ToJSON());
238 240
239 const Extension* extension = LoadExtension(dir->UnpackedPath()); 241 const Extension* extension = LoadExtension(dir->UnpackedPath());
240 EXPECT_TRUE(extension); 242 EXPECT_TRUE(extension);
241 temp_dirs_.push_back(dir.release()); 243 temp_dirs_.push_back(std::move(dir));
242 return extension; 244 return extension;
243 } 245 }
244 246
245 // Creates a V2 platform app that loads a web iframe in the app's sandbox 247 // Creates a V2 platform app that loads a web iframe in the app's sandbox
246 // page. 248 // page.
247 // TODO(lazyboy): Deprecate this behavior in https://crbug.com/615585. 249 // TODO(lazyboy): Deprecate this behavior in https://crbug.com/615585.
248 void CreateAppWithSandboxPage(const std::string& name) { 250 void CreateAppWithSandboxPage(const std::string& name) {
249 std::unique_ptr<TestExtensionDir> dir(new TestExtensionDir); 251 std::unique_ptr<TestExtensionDir> dir(new TestExtensionDir);
250 252
251 DictionaryBuilder manifest; 253 DictionaryBuilder manifest;
(...skipping 23 matching lines...) Expand all
275 dir->WriteFile( 277 dir->WriteFile(
276 FILE_PATH_LITERAL("sandbox.html"), 278 FILE_PATH_LITERAL("sandbox.html"),
277 base::StringPrintf("<html><body>%s, web iframe:" 279 base::StringPrintf("<html><body>%s, web iframe:"
278 " <iframe width=80 height=80 src=%s></iframe>" 280 " <iframe width=80 height=80 src=%s></iframe>"
279 "</body></html>", 281 "</body></html>",
280 name.c_str(), iframe_url.c_str())); 282 name.c_str(), iframe_url.c_str()));
281 dir->WriteManifest(manifest.ToJSON()); 283 dir->WriteManifest(manifest.ToJSON());
282 284
283 const Extension* extension = LoadExtension(dir->UnpackedPath()); 285 const Extension* extension = LoadExtension(dir->UnpackedPath());
284 EXPECT_TRUE(extension); 286 EXPECT_TRUE(extension);
285 temp_dirs_.push_back(dir.release()); 287 temp_dirs_.push_back(std::move(dir));
286 } 288 }
287 289
288 const Extension* CreateHostedApp(const std::string& name, 290 const Extension* CreateHostedApp(const std::string& name,
289 const GURL& app_url) { 291 const GURL& app_url) {
290 std::unique_ptr<TestExtensionDir> dir(new TestExtensionDir); 292 std::unique_ptr<TestExtensionDir> dir(new TestExtensionDir);
291 293
292 DictionaryBuilder manifest; 294 DictionaryBuilder manifest;
293 manifest.Set("name", name) 295 manifest.Set("name", name)
294 .Set("version", "1.0") 296 .Set("version", "1.0")
295 .Set("manifest_version", 2) 297 .Set("manifest_version", 2)
296 .Set( 298 .Set(
297 "app", 299 "app",
298 DictionaryBuilder() 300 DictionaryBuilder()
299 .Set("urls", ListBuilder().Append(app_url.spec()).Build()) 301 .Set("urls", ListBuilder().Append(app_url.spec()).Build())
300 .Set("launch", 302 .Set("launch",
301 DictionaryBuilder().Set("web_url", app_url.spec()).Build()) 303 DictionaryBuilder().Set("web_url", app_url.spec()).Build())
302 .Build()); 304 .Build());
303 dir->WriteManifest(manifest.ToJSON()); 305 dir->WriteManifest(manifest.ToJSON());
304 306
305 const Extension* extension = LoadExtension(dir->UnpackedPath()); 307 const Extension* extension = LoadExtension(dir->UnpackedPath());
306 EXPECT_TRUE(extension); 308 EXPECT_TRUE(extension);
307 temp_dirs_.push_back(dir.release()); 309 temp_dirs_.push_back(std::move(dir));
308 return extension; 310 return extension;
309 } 311 }
310 312
311 int GetRenderProcessCount() { 313 int GetRenderProcessCount() {
312 int count = 0; 314 int count = 0;
313 for (content::RenderProcessHost::iterator it( 315 for (content::RenderProcessHost::iterator it(
314 content::RenderProcessHost::AllHostsIterator()); 316 content::RenderProcessHost::AllHostsIterator());
315 !it.IsAtEnd(); it.Advance()) { 317 !it.IsAtEnd(); it.Advance()) {
316 count++; 318 count++;
317 } 319 }
(...skipping 28 matching lines...) Expand all
346 348
347 for (const auto& entry : synthetic_trials) { 349 for (const auto& entry : synthetic_trials) {
348 if (trial == entry.name && group == entry.group) 350 if (trial == entry.name && group == entry.group)
349 return true; 351 return true;
350 } 352 }
351 353
352 return false; 354 return false;
353 } 355 }
354 356
355 private: 357 private:
356 ScopedVector<TestExtensionDir> temp_dirs_; 358 std::vector<std::unique_ptr<TestExtensionDir>> temp_dirs_;
357 DISALLOW_COPY_AND_ASSIGN(SiteDetailsBrowserTest); 359 DISALLOW_COPY_AND_ASSIGN(SiteDetailsBrowserTest);
358 }; 360 };
359 361
360 362
361 // Test the accuracy of SiteDetails process estimation, in the presence of 363 // Test the accuracy of SiteDetails process estimation, in the presence of
362 // multiple iframes, navigation, multiple BrowsingInstances, and multiple tabs 364 // multiple iframes, navigation, multiple BrowsingInstances, and multiple tabs
363 // in the same BrowsingInstance. 365 // in the same BrowsingInstance.
364 IN_PROC_BROWSER_TEST_F(SiteDetailsBrowserTest, ManyIframes) { 366 IN_PROC_BROWSER_TEST_F(SiteDetailsBrowserTest, ManyIframes) {
365 // Page with 14 nested oopifs across 9 sites (a.com through i.com). 367 // Page with 14 nested oopifs across 9 sites (a.com through i.com).
366 // None of these are https. 368 // None of these are https.
(...skipping 926 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 content::NavigateIframeToURL( 1295 content::NavigateIframeToURL(
1294 tab, "child-1", extension2->GetResourceURL("/blank_iframe.html")); 1296 tab, "child-1", extension2->GetResourceURL("/blank_iframe.html"));
1295 details = new TestMemoryDetails(); 1297 details = new TestMemoryDetails();
1296 details->StartFetchAndWait(); 1298 details->StartFetchAndWait();
1297 EXPECT_THAT(details->uma()->GetAllSamples( 1299 EXPECT_THAT(details->uma()->GetAllSamples(
1298 "SiteIsolation.SiteInstancesPerBrowsingInstance"), 1300 "SiteIsolation.SiteInstancesPerBrowsingInstance"),
1299 DependingOnPolicy(ElementsAre(Bucket(1, 2)), 1301 DependingOnPolicy(ElementsAre(Bucket(1, 2)),
1300 ElementsAre(Bucket(1, 1), Bucket(3, 1)), 1302 ElementsAre(Bucket(1, 1), Bucket(3, 1)),
1301 ElementsAre(Bucket(1, 1), Bucket(5, 1)))); 1303 ElementsAre(Bucket(1, 1), Bucket(5, 1))));
1302 } 1304 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698