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

Side by Side Diff: chrome/browser/extensions/process_management_browsertest.cc

Issue 67253003: Reland: Move ExtensionProcessManager to src/extensions, part 4 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase process_manager Created 7 years, 1 month 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/strings/utf_string_conversions.h" 5 #include "base/strings/utf_string_conversions.h"
6 #include "chrome/browser/extensions/extension_apitest.h" 6 #include "chrome/browser/extensions/extension_apitest.h"
7 #include "chrome/browser/extensions/extension_host.h" 7 #include "chrome/browser/extensions/extension_host.h"
8 #include "chrome/browser/extensions/extension_process_manager.h"
9 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_system.h" 9 #include "chrome/browser/extensions/extension_system.h"
11 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/profiles/profile_manager.h" 11 #include "chrome/browser/profiles/profile_manager.h"
13 #include "chrome/browser/ui/browser.h" 12 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/tabs/tab_strip_model.h" 13 #include "chrome/browser/ui/tabs/tab_strip_model.h"
15 #include "chrome/common/url_constants.h" 14 #include "chrome/common/url_constants.h"
16 #include "chrome/test/base/ui_test_utils.h" 15 #include "chrome/test/base/ui_test_utils.h"
17 #include "content/public/browser/render_process_host.h" 16 #include "content/public/browser/render_process_host.h"
18 #include "content/public/browser/render_view_host.h" 17 #include "content/public/browser/render_view_host.h"
19 #include "content/public/browser/site_instance.h" 18 #include "content/public/browser/site_instance.h"
20 #include "content/public/browser/web_contents.h" 19 #include "content/public/browser/web_contents.h"
20 #include "extensions/browser/process_manager.h"
21 #include "extensions/common/switches.h" 21 #include "extensions/common/switches.h"
22 #include "net/dns/mock_host_resolver.h" 22 #include "net/dns/mock_host_resolver.h"
23 #include "net/test/embedded_test_server/embedded_test_server.h" 23 #include "net/test/embedded_test_server/embedded_test_server.h"
24 24
25 using content::NavigationController; 25 using content::NavigationController;
26 using content::WebContents; 26 using content::WebContents;
27 27
28 namespace { 28 namespace {
29 29
30 class ProcessManagementTest : public ExtensionBrowserTest { 30 class ProcessManagementTest : public ExtensionBrowserTest {
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 browser()->tab_strip_model()->GetWebContentsAt(5)->GetRenderProcessHost(); 133 browser()->tab_strip_model()->GetWebContentsAt(5)->GetRenderProcessHost();
134 content::RenderProcessHost* hosted2_host = 134 content::RenderProcessHost* hosted2_host =
135 browser()->tab_strip_model()->GetWebContentsAt(6)->GetRenderProcessHost(); 135 browser()->tab_strip_model()->GetWebContentsAt(6)->GetRenderProcessHost();
136 content::RenderProcessHost* web2_host = 136 content::RenderProcessHost* web2_host =
137 browser()->tab_strip_model()->GetWebContentsAt(7)->GetRenderProcessHost(); 137 browser()->tab_strip_model()->GetWebContentsAt(7)->GetRenderProcessHost();
138 138
139 content::RenderProcessHost* second_isolated1_host = 139 content::RenderProcessHost* second_isolated1_host =
140 browser()->tab_strip_model()->GetWebContentsAt(8)->GetRenderProcessHost(); 140 browser()->tab_strip_model()->GetWebContentsAt(8)->GetRenderProcessHost();
141 141
142 // Get extension processes. 142 // Get extension processes.
143 ExtensionProcessManager* process_manager = 143 extensions::ProcessManager* process_manager =
144 extensions::ExtensionSystem::Get(browser()->profile())-> 144 extensions::ExtensionSystem::Get(browser()->profile())->
145 process_manager(); 145 process_manager();
146 content::RenderProcessHost* extension1_host = 146 content::RenderProcessHost* extension1_host =
147 process_manager->GetSiteInstanceForURL(extension1_url)->GetProcess(); 147 process_manager->GetSiteInstanceForURL(extension1_url)->GetProcess();
148 content::RenderProcessHost* extension2_host = 148 content::RenderProcessHost* extension2_host =
149 process_manager->GetSiteInstanceForURL(extension2_url)->GetProcess(); 149 process_manager->GetSiteInstanceForURL(extension2_url)->GetProcess();
150 150
151 // An isolated app only shares with other instances of itself, not other 151 // An isolated app only shares with other instances of itself, not other
152 // isolated apps or anything else. 152 // isolated apps or anything else.
153 EXPECT_EQ(isolated1_host, second_isolated1_host); 153 EXPECT_EQ(isolated1_host, second_isolated1_host);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 ui_test_utils::NavigateToURLWithDisposition( 225 ui_test_utils::NavigateToURLWithDisposition(
226 browser(), base_url.Resolve("isolated_apps/app1/main.html"), 226 browser(), base_url.Resolve("isolated_apps/app1/main.html"),
227 CURRENT_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 227 CURRENT_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
228 228
229 ui_test_utils::NavigateToURLWithDisposition( 229 ui_test_utils::NavigateToURLWithDisposition(
230 browser(), base_url.Resolve("api_test/management/test/basics.html"), 230 browser(), base_url.Resolve("api_test/management/test/basics.html"),
231 CURRENT_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 231 CURRENT_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
232 232
233 std::set<int> process_ids; 233 std::set<int> process_ids;
234 Profile* profile = browser()->profile(); 234 Profile* profile = browser()->profile();
235 ExtensionProcessManager* epm = extensions::ExtensionSystem::Get(profile)-> 235 extensions::ProcessManager* epm = extensions::ExtensionSystem::Get(profile)->
236 process_manager(); 236 process_manager();
237 for (ExtensionProcessManager::const_iterator iter = 237 for (extensions::ProcessManager::const_iterator iter =
238 epm->background_hosts().begin(); 238 epm->background_hosts().begin();
239 iter != epm->background_hosts().end(); ++iter) { 239 iter != epm->background_hosts().end(); ++iter) {
240 process_ids.insert((*iter)->render_process_host()->GetID()); 240 process_ids.insert((*iter)->render_process_host()->GetID());
241 } 241 }
242 242
243 // We've loaded 5 extensions with background pages, 1 extension without 243 // We've loaded 5 extensions with background pages, 1 extension without
244 // background page, and one isolated app. We expect only 2 unique processes 244 // background page, and one isolated app. We expect only 2 unique processes
245 // hosting those extensions. 245 // hosting those extensions.
246 ExtensionService* service = 246 ExtensionService* service =
247 extensions::ExtensionSystem::Get(profile)->extension_service(); 247 extensions::ExtensionSystem::Get(profile)->extension_service();
248 248
249 EXPECT_GE((size_t) 6, service->process_map()->size()); 249 EXPECT_GE((size_t) 6, service->process_map()->size());
250 EXPECT_EQ((size_t) 2, process_ids.size()); 250 EXPECT_EQ((size_t) 2, process_ids.size());
251 } 251 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/notifications_apitest.cc ('k') | chrome/browser/extensions/process_manager_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698