| Index: chrome/browser/extensions/process_manager_browsertest.cc
|
| diff --git a/chrome/browser/extensions/process_manager_browsertest.cc b/chrome/browser/extensions/process_manager_browsertest.cc
|
| index ea8626c4c56c7fa3c99174c68a0baa61d2404b76..c6444ced46476f56c76445112190e95b24e3381b 100644
|
| --- a/chrome/browser/extensions/process_manager_browsertest.cc
|
| +++ b/chrome/browser/extensions/process_manager_browsertest.cc
|
| @@ -7,7 +7,6 @@
|
| #include "base/callback.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/run_loop.h"
|
| -#include "base/strings/stringprintf.h"
|
| #include "chrome/browser/extensions/browser_action_test_util.h"
|
| #include "chrome/browser/extensions/extension_browsertest.h"
|
| #include "chrome/browser/extensions/extension_service.h"
|
| @@ -23,7 +22,6 @@
|
| #include "content/public/test/test_utils.h"
|
| #include "extensions/common/value_builder.h"
|
| #include "extensions/test/background_page_watcher.h"
|
| -#include "extensions/test/extension_test_message_listener.h"
|
| #include "net/dns/mock_host_resolver.h"
|
| #include "net/test/embedded_test_server/embedded_test_server.h"
|
|
|
| @@ -152,25 +150,6 @@ class ProcessManagerBrowserTest : public ExtensionBrowserTest {
|
| observer.Wait();
|
| }
|
|
|
| - void NavigateIframeToURLAndWait(content::WebContents* web_contents,
|
| - const std::string iframe_id,
|
| - const GURL& url) {
|
| - // This is an improved version of content::NavigateIframeToURL. Unlike the
|
| - // other method, this does actually wait until the load of all child frames
|
| - // completes.
|
| - std::string script = base::StringPrintf(
|
| - "var frame = document.getElementById('%s');"
|
| - "frame.onload = frame.onerror = function(event) {"
|
| - " frame.onload = frame.onerror = null;"
|
| - " domAutomationController.send(event.type === 'load');"
|
| - "};"
|
| - "frame.src = '%s';",
|
| - iframe_id.c_str(), url.spec().c_str());
|
| - bool is_loaded = false;
|
| - EXPECT_TRUE(ExecuteScriptAndExtractBool(web_contents, script, &is_loaded));
|
| - EXPECT_TRUE(is_loaded);
|
| - }
|
| -
|
| size_t IfExtensionsIsolated(size_t if_enabled, size_t if_disabled) {
|
| return content::AreAllSitesIsolatedForTesting() ||
|
| IsIsolateExtensionsEnabled()
|
| @@ -384,12 +363,12 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
| browser()->tab_strip_model()->GetActiveWebContents();
|
|
|
| // Tests extension frames in non-extension page.
|
| - NavigateIframeToURLAndWait(tab, "frame1", kExt1EmptyUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1", kExt1EmptyUrl));
|
| EXPECT_EQ(IfExtensionsIsolated(1, 0),
|
| pm->GetRenderFrameHostsForExtension(extension1->id()).size());
|
| EXPECT_EQ(IfExtensionsIsolated(1, 0), pm->GetAllFrames().size());
|
|
|
| - NavigateIframeToURLAndWait(tab, "frame2", kExt2EmptyUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame2", kExt2EmptyUrl));
|
| EXPECT_EQ(IfExtensionsIsolated(1, 0),
|
| pm->GetRenderFrameHostsForExtension(extension2->id()).size());
|
| EXPECT_EQ(IfExtensionsIsolated(2, 0), pm->GetAllFrames().size());
|
| @@ -401,19 +380,20 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
| EXPECT_EQ(3u, pm->GetRenderFrameHostsForExtension(extension1->id()).size());
|
| EXPECT_EQ(0u, pm->GetRenderFrameHostsForExtension(extension2->id()).size());
|
|
|
| - NavigateIframeToURLAndWait(tab, "frame1",
|
| - embedded_test_server()->GetURL("/empty.html"));
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1",
|
| + embedded_test_server()
|
| + ->GetURL("/empty.html")));
|
| // 1 top-level + 1 child frame from Extension 1.
|
| EXPECT_EQ(2u, pm->GetRenderFrameHostsForExtension(extension1->id()).size());
|
| EXPECT_EQ(2u, pm->GetAllFrames().size());
|
|
|
| - NavigateIframeToURLAndWait(tab, "frame1", kExt1EmptyUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1", kExt1EmptyUrl));
|
| // 1 top-level + 2 child frames from Extension 1.
|
| EXPECT_EQ(3u, pm->GetAllFrames().size());
|
| EXPECT_EQ(3u, pm->GetRenderFrameHostsForExtension(extension1->id()).size());
|
|
|
| // Load a frame from another extension.
|
| - NavigateIframeToURLAndWait(tab, "frame1", kExt2EmptyUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1", kExt2EmptyUrl));
|
| // 1 top-level + 1 child frame from Extension 1,
|
| // 1 child frame from Extension 2.
|
| EXPECT_EQ(IfExtensionsIsolated(3, 2), pm->GetAllFrames().size());
|
| @@ -439,8 +419,9 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
| EXPECT_EQ(2u, pm->GetRenderFrameHostsForExtension(extension2->id()).size());
|
|
|
| // Sandboxed frames are not viewed as extension frames.
|
| - NavigateIframeToURLAndWait(tab, "frame0",
|
| - extension2->url().Resolve("sandboxed.html"));
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame0",
|
| + extension2->url()
|
| + .Resolve("sandboxed.html")));
|
| // 1 top-level frame from Extension 2.
|
| EXPECT_EQ(1u, pm->GetAllFrames().size());
|
| EXPECT_EQ(1u, pm->GetRenderFrameHostsForExtension(extension2->id()).size());
|
| @@ -455,7 +436,7 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
| EXPECT_EQ(3u, pm->GetAllFrames().size());
|
| EXPECT_EQ(3u, pm->GetRenderFrameHostsForExtension(extension2->id()).size());
|
|
|
| - NavigateIframeToURLAndWait(tab, "frame1", kExt2TwoFramesUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1", kExt2TwoFramesUrl));
|
| // 1 top-level + 2 child frames from Extension 1,
|
| // 2 child frames in frame1 from Extension 2.
|
| EXPECT_EQ(5u, pm->GetAllFrames().size());
|
| @@ -463,7 +444,7 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
|
|
| // The extension frame from the other extension should not be classified as an
|
| // extension (unless out-of-process frames are enabled).
|
| - NavigateIframeToURLAndWait(tab, "frame1", kExt1EmptyUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1", kExt1EmptyUrl));
|
| // 1 top-level + 1 child frames from Extension 2,
|
| // 1 child frame from Extension 1.
|
| EXPECT_EQ(IfExtensionsIsolated(3, 2), pm->GetAllFrames().size());
|
| @@ -471,7 +452,7 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
| pm->GetRenderFrameHostsForExtension(extension1->id()).size());
|
| EXPECT_EQ(2u, pm->GetRenderFrameHostsForExtension(extension2->id()).size());
|
|
|
| - NavigateIframeToURLAndWait(tab, "frame2", kExt1TwoFramesUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame2", kExt1TwoFramesUrl));
|
| // 1 top-level + 1 child frames from Extension 2,
|
| // 1 child frame + 2 child frames in frame2 from Extension 1.
|
| EXPECT_EQ(IfExtensionsIsolated(5, 1), pm->GetAllFrames().size());
|
| @@ -493,7 +474,7 @@ IN_PROC_BROWSER_TEST_F(ProcessManagerBrowserTest, FrameClassification) {
|
| EXPECT_EQ(1u, pm->GetAllFrames().size());
|
|
|
| // ... load an extension frame in the non-extension process
|
| - NavigateIframeToURLAndWait(tab, "frame1", kExt1EmptyUrl);
|
| + EXPECT_TRUE(content::NavigateIframeToURL(tab, "frame1", kExt1EmptyUrl));
|
| EXPECT_EQ(IfExtensionsIsolated(2, 1),
|
| pm->GetRenderFrameHostsForExtension(extension1->id()).size());
|
|
|
|
|