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

Side by Side Diff: chrome/browser/renderer_host/render_process_host_chrome_browsertest.cc

Issue 7049010: Finish removing url_constants from content/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: constants Created 9 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
« no previous file with comments | « no previous file | chrome/chrome_tests.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/browser/renderer_host/render_process_host_browsertest.h"
6
7 #include "base/command_line.h"
8 #include "chrome/browser/debugger/devtools_manager.h"
9 #include "chrome/browser/ui/browser.h"
10 #include "chrome/common/chrome_switches.h"
11 #include "chrome/common/url_constants.h"
12 #include "chrome/test/ui_test_utils.h"
13 #include "content/browser/renderer_host/render_process_host.h"
14 #include "content/browser/renderer_host/render_view_host.h"
15 #include "content/browser/renderer_host/render_view_host_delegate.h"
16
17 namespace {
18
19 RenderViewHost* FindFirstDevToolsHost() {
20 RenderProcessHost::iterator hosts = RenderProcessHost::AllHostsIterator();
21 for (; !hosts.IsAtEnd(); hosts.Advance()) {
22 RenderProcessHost* render_process_host = hosts.GetCurrentValue();
23 DCHECK(render_process_host);
24 if (!render_process_host->HasConnection())
25 continue;
26 RenderProcessHost::listeners_iterator iter(
27 render_process_host->ListenersIterator());
28 for (; !iter.IsAtEnd(); iter.Advance()) {
29 const RenderWidgetHost* widget =
30 static_cast<const RenderWidgetHost*>(iter.GetCurrentValue());
31 DCHECK(widget);
32 if (!widget || !widget->IsRenderView())
33 continue;
34 RenderViewHost* host = const_cast<RenderViewHost*>(
35 static_cast<const RenderViewHost*>(widget));
36 RenderViewHostDelegate* host_delegate = host->delegate();
37 GURL url = host_delegate->GetURL();
38 if (url.SchemeIs(chrome::kChromeDevToolsScheme))
39 return host;
40 }
41 }
42 return NULL;
43 }
44
45 } // namespace
46
47 // Ensure that DevTools opened to debug DevTools is launched in a separate
48 // process when --process-per-tab is set. See crbug.com/69873.
49 IN_PROC_BROWSER_TEST_F(RenderProcessHostTest, DevToolsOnSelfInOwnProcessPPT) {
50 CommandLine& parsed_command_line = *CommandLine::ForCurrentProcess();
51 parsed_command_line.AppendSwitch(switches::kProcessPerTab);
52
53 int tab_count = 1;
54 int host_count = 1;
55
56 #if defined(TOUCH_UI)
57 ++host_count; // For the touch keyboard.
58 #endif
59
60 GURL page1("data:text/html,hello world1");
61 browser()->ShowSingletonTab(page1);
62 if (browser()->tab_count() == tab_count)
63 ui_test_utils::WaitForNewTab(browser());
64 tab_count++;
65 host_count++;
66 EXPECT_EQ(tab_count, browser()->tab_count());
67 EXPECT_EQ(host_count, RenderProcessHostCount());
68
69 // DevTools start in docked mode (no new tab), in a separate process.
70 browser()->ToggleDevToolsWindow(DEVTOOLS_TOGGLE_ACTION_INSPECT);
71 host_count++;
72 EXPECT_EQ(tab_count, browser()->tab_count());
73 EXPECT_EQ(host_count, RenderProcessHostCount());
74
75 RenderViewHost* devtools = FindFirstDevToolsHost();
76 DCHECK(devtools);
77
78 // DevTools start in a separate process.
79 DevToolsManager::GetInstance()->ToggleDevToolsWindow(
80 devtools, DEVTOOLS_TOGGLE_ACTION_INSPECT);
81 host_count++;
82 EXPECT_EQ(tab_count, browser()->tab_count());
83 EXPECT_EQ(host_count, RenderProcessHostCount());
84 }
85
86 // Ensure that DevTools opened to debug DevTools is launched in a separate
87 // process. See crbug.com/69873.
88 IN_PROC_BROWSER_TEST_F(RenderProcessHostTest, DevToolsOnSelfInOwnProcess) {
89 int tab_count = 1;
90 int host_count = 1;
91
92 #if defined(TOUCH_UI)
93 ++host_count; // For the touch keyboard.
94 #endif
95
96 GURL page1("data:text/html,hello world1");
97 browser()->ShowSingletonTab(page1);
98 if (browser()->tab_count() == tab_count)
99 ui_test_utils::WaitForNewTab(browser());
100 tab_count++;
101 host_count++;
102 EXPECT_EQ(tab_count, browser()->tab_count());
103 EXPECT_EQ(host_count, RenderProcessHostCount());
104
105 // DevTools start in docked mode (no new tab), in a separate process.
106 browser()->ToggleDevToolsWindow(DEVTOOLS_TOGGLE_ACTION_INSPECT);
107 host_count++;
108 EXPECT_EQ(tab_count, browser()->tab_count());
109 EXPECT_EQ(host_count, RenderProcessHostCount());
110
111 RenderViewHost* devtools = FindFirstDevToolsHost();
112 DCHECK(devtools);
113
114 // DevTools start in a separate process.
115 DevToolsManager::GetInstance()->ToggleDevToolsWindow(
116 devtools, DEVTOOLS_TOGGLE_ACTION_INSPECT);
117 host_count++;
118 EXPECT_EQ(tab_count, browser()->tab_count());
119 EXPECT_EQ(host_count, RenderProcessHostCount());
120 }
OLDNEW
« no previous file with comments | « no previous file | chrome/chrome_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698