OLD | NEW |
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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/macros.h" | 6 #include "base/macros.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "base/test/scoped_feature_list.h" |
8 #include "chrome/browser/task_manager/mock_web_contents_task_manager.h" | 9 #include "chrome/browser/task_manager/mock_web_contents_task_manager.h" |
9 #include "chrome/browser/ui/browser.h" | 10 #include "chrome/browser/ui/browser.h" |
10 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 11 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
11 #include "chrome/grit/generated_resources.h" | 12 #include "chrome/grit/generated_resources.h" |
12 #include "chrome/test/base/in_process_browser_test.h" | 13 #include "chrome/test/base/in_process_browser_test.h" |
13 #include "chrome/test/base/ui_test_utils.h" | 14 #include "chrome/test/base/ui_test_utils.h" |
14 #include "content/public/browser/render_frame_host.h" | 15 #include "content/public/browser/render_frame_host.h" |
15 #include "content/public/browser/render_widget_host.h" | 16 #include "content/public/browser/render_widget_host.h" |
16 #include "content/public/browser/render_widget_host_view.h" | 17 #include "content/public/browser/render_widget_host_view.h" |
17 #include "content/public/common/content_features.h" | 18 #include "content/public/common/content_features.h" |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 unresponsive_task == subframe_task_2); | 198 unresponsive_task == subframe_task_2); |
198 } | 199 } |
199 | 200 |
200 // A test for top document isolation and how subframes show up in the task | 201 // A test for top document isolation and how subframes show up in the task |
201 // manager as SubframeTasks. | 202 // manager as SubframeTasks. |
202 class SubframeTaskTDIBrowserTest : public InProcessBrowserTest { | 203 class SubframeTaskTDIBrowserTest : public InProcessBrowserTest { |
203 public: | 204 public: |
204 SubframeTaskTDIBrowserTest() {} | 205 SubframeTaskTDIBrowserTest() {} |
205 ~SubframeTaskTDIBrowserTest() override {} | 206 ~SubframeTaskTDIBrowserTest() override {} |
206 | 207 |
207 void SetUpCommandLine(base::CommandLine* command_line) override { | |
208 InProcessBrowserTest::SetUpCommandLine(command_line); | |
209 content::EnableTopDocumentIsolationForTesting(command_line); | |
210 } | |
211 | |
212 void SetUpOnMainThread() override { | 208 void SetUpOnMainThread() override { |
| 209 scoped_feature_list_.InitAndEnableFeature(features::kTopDocumentIsolation); |
213 host_resolver()->AddRule("*", "127.0.0.1"); | 210 host_resolver()->AddRule("*", "127.0.0.1"); |
214 ASSERT_TRUE(embedded_test_server()->InitializeAndListen()); | 211 ASSERT_TRUE(embedded_test_server()->InitializeAndListen()); |
215 content::SetupCrossSiteRedirector(embedded_test_server()); | 212 content::SetupCrossSiteRedirector(embedded_test_server()); |
216 embedded_test_server()->StartAcceptingConnections(); | 213 embedded_test_server()->StartAcceptingConnections(); |
217 } | 214 } |
218 | 215 |
219 void NavigateTo(const char* page_url) const { | 216 void NavigateTo(const char* page_url) const { |
220 ui_test_utils::NavigateToURL(browser(), | 217 ui_test_utils::NavigateToURL(browser(), |
221 embedded_test_server()->GetURL(page_url)); | 218 embedded_test_server()->GetURL(page_url)); |
222 } | 219 } |
223 | 220 |
224 private: | 221 private: |
| 222 base::test::ScopedFeatureList scoped_feature_list_; |
| 223 |
225 DISALLOW_COPY_AND_ASSIGN(SubframeTaskTDIBrowserTest); | 224 DISALLOW_COPY_AND_ASSIGN(SubframeTaskTDIBrowserTest); |
226 }; | 225 }; |
227 | 226 |
228 // Makes sure that subframe row gets updated with the new title when the main | 227 // Makes sure that subframe row gets updated with the new title when the main |
229 // frame's title changes. | 228 // frame's title changes. |
230 IN_PROC_BROWSER_TEST_F(SubframeTaskTDIBrowserTest, | 229 IN_PROC_BROWSER_TEST_F(SubframeTaskTDIBrowserTest, |
231 SubframeRowGetsUpdatedParentPageTitle) { | 230 SubframeRowGetsUpdatedParentPageTitle) { |
232 if (content::AreAllSitesIsolatedForTesting()) { | 231 if (content::AreAllSitesIsolatedForTesting()) { |
233 // If full site isolation is turned on, it supersedes top document | 232 // If full site isolation is turned on, it supersedes top document |
234 // isolation, so bail if it is. | 233 // isolation, so bail if it is. |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 base::UTF8ToUTF16(new_title)); | 265 base::UTF8ToUTF16(new_title)); |
267 EXPECT_TRUE(ExecuteScript(web_contents, script)); | 266 EXPECT_TRUE(ExecuteScript(web_contents, script)); |
268 base::string16 actual_title = title_watcher.WaitAndGetTitle(); | 267 base::string16 actual_title = title_watcher.WaitAndGetTitle(); |
269 EXPECT_EQ(new_title, base::UTF16ToUTF8(actual_title)); | 268 EXPECT_EQ(new_title, base::UTF16ToUTF8(actual_title)); |
270 | 269 |
271 EXPECT_EQ(PrefixExpectedTabTitle(new_title), main_task->title()); | 270 EXPECT_EQ(PrefixExpectedTabTitle(new_title), main_task->title()); |
272 EXPECT_EQ(PrefixExpectedTDIRowTitle(new_title), tdi_task->title()); | 271 EXPECT_EQ(PrefixExpectedTDIRowTitle(new_title), tdi_task->title()); |
273 } | 272 } |
274 | 273 |
275 } // namespace task_manager | 274 } // namespace task_manager |
OLD | NEW |