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

Unified Diff: chrome/browser/extensions/process_manager_browsertest.cc

Issue 1502963004: Use content::NavigateIframeToURL in ProcessManagerBrowserTest (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove paranoid onload check Created 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chrome_site_per_process_browsertest.cc ('k') | chrome/test/data/flash_object.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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());
« no previous file with comments | « chrome/browser/chrome_site_per_process_browsertest.cc ('k') | chrome/test/data/flash_object.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698