Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 <list> | 5 #include <list> |
| 6 #include <set> | 6 #include <set> |
| 7 | 7 |
| 8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 498 ASSERT_TRUE(StartEmbeddedTestServer()); | 498 ASSERT_TRUE(StartEmbeddedTestServer()); |
| 499 ASSERT_TRUE(RunExtensionTest("webnavigation/failures")) << message_; | 499 ASSERT_TRUE(RunExtensionTest("webnavigation/failures")) << message_; |
| 500 } | 500 } |
| 501 | 501 |
| 502 IN_PROC_BROWSER_TEST_F(WebNavigationApiTest, FilteredTest) { | 502 IN_PROC_BROWSER_TEST_F(WebNavigationApiTest, FilteredTest) { |
| 503 ASSERT_TRUE(StartEmbeddedTestServer()); | 503 ASSERT_TRUE(StartEmbeddedTestServer()); |
| 504 ASSERT_TRUE(RunExtensionTest("webnavigation/filtered")) << message_; | 504 ASSERT_TRUE(RunExtensionTest("webnavigation/filtered")) << message_; |
| 505 } | 505 } |
| 506 | 506 |
| 507 IN_PROC_BROWSER_TEST_F(WebNavigationApiTest, UserAction) { | 507 IN_PROC_BROWSER_TEST_F(WebNavigationApiTest, UserAction) { |
| 508 content::IsolateAllSitesForTesting(base::CommandLine::ForCurrentProcess()); | |
| 508 ASSERT_TRUE(StartEmbeddedTestServer()); | 509 ASSERT_TRUE(StartEmbeddedTestServer()); |
| 509 | 510 |
| 510 // Wait for the extension to set itself up and return control to us. | 511 // Wait for the extension to set itself up and return control to us. |
| 511 ASSERT_TRUE(RunExtensionTest("webnavigation/userAction")) << message_; | 512 ASSERT_TRUE(RunExtensionTest("webnavigation/userAction")) << message_; |
| 512 | 513 |
| 513 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); | 514 WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents(); |
| 514 content::WaitForLoadStop(tab); | 515 content::WaitForLoadStop(tab); |
| 515 | 516 |
| 516 ResultCatcher catcher; | 517 ResultCatcher catcher; |
| 517 | 518 |
| 518 ExtensionService* service = extensions::ExtensionSystem::Get( | 519 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 519 browser()->profile())->extension_service(); | 520 browser()->profile())->extension_service(); |
| 520 const extensions::Extension* extension = | 521 const extensions::Extension* extension = |
| 521 service->GetExtensionById(last_loaded_extension_id(), false); | 522 service->GetExtensionById(last_loaded_extension_id(), false); |
| 522 GURL url = extension->GetResourceURL("a.html"); | 523 GURL url = extension->GetResourceURL( |
| 524 "a.html?" + base::IntToString(embedded_test_server()->port())); | |
| 523 | 525 |
| 524 ui_test_utils::NavigateToURL(browser(), url); | 526 ui_test_utils::NavigateToURL(browser(), url); |
| 525 | 527 |
| 526 // This corresponds to "Open link in new tab". | 528 // This corresponds to "Open link in new tab". |
| 527 content::ContextMenuParams params; | 529 content::ContextMenuParams params; |
| 528 params.is_editable = false; | 530 params.is_editable = false; |
| 529 params.media_type = blink::WebContextMenuData::MediaTypeNone; | 531 params.media_type = blink::WebContextMenuData::MediaTypeNone; |
| 530 params.page_url = url; | 532 params.page_url = url; |
| 531 params.link_url = extension->GetResourceURL("b.html"); | 533 params.link_url = extension->GetResourceURL("b.html"); |
| 532 | 534 |
| 533 TestRenderViewContextMenu menu(tab->GetMainFrame(), params); | 535 std::vector<content::RenderFrameHost*> frames = tab->GetAllFrames(); |
| 536 content::RenderFrameHost* subframe = nullptr; | |
| 537 for (const auto& frame : frames) { | |
|
Charlie Reis
2016/10/03 22:15:23
This is a bit odd at first glance. Maybe clarify
nasko
2016/10/03 22:38:04
Done.
| |
| 538 if (frame->GetParent()) { | |
| 539 subframe = frame; | |
| 540 break; | |
| 541 } | |
| 542 } | |
| 543 DCHECK(subframe); | |
| 544 | |
| 545 TestRenderViewContextMenu menu(subframe, params); | |
| 534 menu.Init(); | 546 menu.Init(); |
| 535 menu.ExecuteCommand(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB, 0); | 547 menu.ExecuteCommand(IDC_CONTENT_CONTEXT_OPENLINKNEWTAB, 0); |
| 536 | 548 |
| 537 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 549 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 538 } | 550 } |
| 539 | 551 |
| 540 IN_PROC_BROWSER_TEST_F(WebNavigationApiTest, RequestOpenTab) { | 552 IN_PROC_BROWSER_TEST_F(WebNavigationApiTest, RequestOpenTab) { |
| 541 ASSERT_TRUE(StartEmbeddedTestServer()); | 553 ASSERT_TRUE(StartEmbeddedTestServer()); |
| 542 | 554 |
| 543 // Wait for the extension to set itself up and return control to us. | 555 // Wait for the extension to set itself up and return control to us. |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 790 "extensions/api_test/webnavigation/crash/b.html", | 802 "extensions/api_test/webnavigation/crash/b.html", |
| 791 embedded_test_server()->port())); | 803 embedded_test_server()->port())); |
| 792 ui_test_utils::NavigateToURL(browser(), url); | 804 ui_test_utils::NavigateToURL(browser(), url); |
| 793 | 805 |
| 794 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 806 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| 795 } | 807 } |
| 796 | 808 |
| 797 #endif | 809 #endif |
| 798 | 810 |
| 799 } // namespace extensions | 811 } // namespace extensions |
| OLD | NEW |