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

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

Issue 10391158: Moves methods for finding browsers to browser_finder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Include fixs Created 8 years, 7 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/utf_string_conversions.h" 5 #include "base/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_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
9 #include "chrome/browser/extensions/process_map.h" 9 #include "chrome/browser/extensions/process_map.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/ui/browser.h" 11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/browser_finder.h"
12 #include "chrome/browser/ui/browser_list.h" 13 #include "chrome/browser/ui/browser_list.h"
13 #include "chrome/browser/ui/browser_window.h" 14 #include "chrome/browser/ui/browser_window.h"
14 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 15 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
15 #include "chrome/common/chrome_notification_types.h" 16 #include "chrome/common/chrome_notification_types.h"
16 #include "chrome/common/chrome_switches.h" 17 #include "chrome/common/chrome_switches.h"
17 #include "chrome/common/extensions/extension.h" 18 #include "chrome/common/extensions/extension.h"
18 #include "chrome/common/extensions/extension_file_util.h" 19 #include "chrome/common/extensions/extension_file_util.h"
19 #include "chrome/common/string_ordinal.h" 20 #include "chrome/common/string_ordinal.h"
20 #include "chrome/test/base/ui_test_utils.h" 21 #include "chrome/test/base/ui_test_utils.h"
21 #include "content/public/browser/navigation_entry.h" 22 #include "content/public/browser/navigation_entry.h"
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // tab, we now have 3 tabs. The two app tabs should not be in the same 144 // tab, we now have 3 tabs. The two app tabs should not be in the same
144 // process, since they do not have the background permission. (Thus, we 145 // process, since they do not have the background permission. (Thus, we
145 // want to separate them to improve responsiveness.) 146 // want to separate them to improve responsiveness.)
146 ASSERT_EQ(3, browser()->tab_count()); 147 ASSERT_EQ(3, browser()->tab_count());
147 RenderViewHost* host1 = browser()->GetWebContentsAt(1)->GetRenderViewHost(); 148 RenderViewHost* host1 = browser()->GetWebContentsAt(1)->GetRenderViewHost();
148 RenderViewHost* host2 = browser()->GetWebContentsAt(2)->GetRenderViewHost(); 149 RenderViewHost* host2 = browser()->GetWebContentsAt(2)->GetRenderViewHost();
149 EXPECT_NE(host1->GetProcess(), host2->GetProcess()); 150 EXPECT_NE(host1->GetProcess(), host2->GetProcess());
150 151
151 // Opening tabs with window.open should keep the page in the opener's 152 // Opening tabs with window.open should keep the page in the opener's
152 // process. 153 // process.
153 ASSERT_EQ(1u, BrowserList::GetBrowserCount(browser()->profile())); 154 ASSERT_EQ(1u, browser::GetBrowserCount(browser()->profile()));
154 WindowOpenHelper(browser(), host1, 155 WindowOpenHelper(browser(), host1,
155 base_url.Resolve("path1/empty.html"), true); 156 base_url.Resolve("path1/empty.html"), true);
156 LOG(INFO) << "WindowOpenHelper 1."; 157 LOG(INFO) << "WindowOpenHelper 1.";
157 WindowOpenHelper(browser(), host2, 158 WindowOpenHelper(browser(), host2,
158 base_url.Resolve("path2/empty.html"), true); 159 base_url.Resolve("path2/empty.html"), true);
159 LOG(INFO) << "End of test."; 160 LOG(INFO) << "End of test.";
160 } 161 }
161 }; 162 };
162 163
163 // Tests that hosted apps with the background permission get a process-per-app 164 // Tests that hosted apps with the background permission get a process-per-app
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 // should be part of the extension app and grouped in the same process. 216 // should be part of the extension app and grouped in the same process.
216 ASSERT_EQ(4, browser()->tab_count()); 217 ASSERT_EQ(4, browser()->tab_count());
217 RenderViewHost* host = browser()->GetWebContentsAt(1)->GetRenderViewHost(); 218 RenderViewHost* host = browser()->GetWebContentsAt(1)->GetRenderViewHost();
218 219
219 EXPECT_EQ(host->GetProcess(), 220 EXPECT_EQ(host->GetProcess(),
220 browser()->GetWebContentsAt(2)->GetRenderProcessHost()); 221 browser()->GetWebContentsAt(2)->GetRenderProcessHost());
221 EXPECT_NE(host->GetProcess(), 222 EXPECT_NE(host->GetProcess(),
222 browser()->GetWebContentsAt(3)->GetRenderProcessHost()); 223 browser()->GetWebContentsAt(3)->GetRenderProcessHost());
223 224
224 // Now let's do the same using window.open. The same should happen. 225 // Now let's do the same using window.open. The same should happen.
225 ASSERT_EQ(1u, BrowserList::GetBrowserCount(browser()->profile())); 226 ASSERT_EQ(1u, browser::GetBrowserCount(browser()->profile()));
226 WindowOpenHelper(browser(), host, 227 WindowOpenHelper(browser(), host,
227 base_url.Resolve("path1/empty.html"), true); 228 base_url.Resolve("path1/empty.html"), true);
228 LOG(INFO) << "WindowOpenHelper 1."; 229 LOG(INFO) << "WindowOpenHelper 1.";
229 WindowOpenHelper(browser(), host, 230 WindowOpenHelper(browser(), host,
230 base_url.Resolve("path2/empty.html"), true); 231 base_url.Resolve("path2/empty.html"), true);
231 LOG(INFO) << "WindowOpenHelper 2."; 232 LOG(INFO) << "WindowOpenHelper 2.";
232 // TODO(creis): This should open in a new process (i.e., false for the last 233 // TODO(creis): This should open in a new process (i.e., false for the last
233 // argument), but we temporarily avoid swapping processes away from an app 234 // argument), but we temporarily avoid swapping processes away from an app
234 // until we're able to support cross-process postMessage calls. 235 // until we're able to support cross-process postMessage calls.
235 // See crbug.com/59285. 236 // See crbug.com/59285.
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 327
327 // We should have opened 2 new bookmark app tabs. Including the original blank 328 // We should have opened 2 new bookmark app tabs. Including the original blank
328 // tab, we now have 3 tabs. Because normal pages use the 329 // tab, we now have 3 tabs. Because normal pages use the
329 // process-per-site-instance model, each should be in its own process. 330 // process-per-site-instance model, each should be in its own process.
330 ASSERT_EQ(3, browser()->tab_count()); 331 ASSERT_EQ(3, browser()->tab_count());
331 RenderViewHost* host = browser()->GetWebContentsAt(1)->GetRenderViewHost(); 332 RenderViewHost* host = browser()->GetWebContentsAt(1)->GetRenderViewHost();
332 EXPECT_NE(host->GetProcess(), 333 EXPECT_NE(host->GetProcess(),
333 browser()->GetWebContentsAt(2)->GetRenderProcessHost()); 334 browser()->GetWebContentsAt(2)->GetRenderProcessHost());
334 335
335 // Now let's do the same using window.open. The same should happen. 336 // Now let's do the same using window.open. The same should happen.
336 ASSERT_EQ(1u, BrowserList::GetBrowserCount(browser()->profile())); 337 ASSERT_EQ(1u, browser::GetBrowserCount(browser()->profile()));
337 WindowOpenHelper(browser(), host, 338 WindowOpenHelper(browser(), host,
338 base_url.Resolve("path1/empty.html"), true); 339 base_url.Resolve("path1/empty.html"), true);
339 WindowOpenHelper(browser(), host, 340 WindowOpenHelper(browser(), host,
340 base_url.Resolve("path2/empty.html"), true); 341 base_url.Resolve("path2/empty.html"), true);
341 342
342 // Now let's have a tab navigate out of and back into the app's web 343 // Now let's have a tab navigate out of and back into the app's web
343 // extent. Neither navigation should switch processes. 344 // extent. Neither navigation should switch processes.
344 const GURL& app_url(base_url.Resolve("path1/empty.html")); 345 const GURL& app_url(base_url.Resolve("path1/empty.html"));
345 const GURL& non_app_url(base_url.Resolve("path3/empty.html")); 346 const GURL& non_app_url(base_url.Resolve("path3/empty.html"));
346 RenderViewHost* host2 = browser()->GetWebContentsAt(2)->GetRenderViewHost(); 347 RenderViewHost* host2 = browser()->GetWebContentsAt(2)->GetRenderViewHost();
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 &browser()->GetSelectedTabContentsWrapper()->web_contents()-> 680 &browser()->GetSelectedTabContentsWrapper()->web_contents()->
680 GetController())); 681 GetController()));
681 browser()->Reload(CURRENT_TAB); 682 browser()->Reload(CURRENT_TAB);
682 observer.Wait(); 683 observer.Wait();
683 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( 684 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
684 contents->GetRenderViewHost(), L"", 685 contents->GetRenderViewHost(), L"",
685 L"window.domAutomationController.send(chrome.app.isInstalled)", 686 L"window.domAutomationController.send(chrome.app.isInstalled)",
686 &is_installed)); 687 &is_installed));
687 ASSERT_TRUE(is_installed); 688 ASSERT_TRUE(is_installed);
688 } 689 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698