From 0fb6097de7a555a77a69f8e239f98f938c72c2f8 Mon Sep 17 00:00:00 2001 From: Johannes Henkel Date: Fri, 1 Jun 2018 20:57:40 +0000 Subject: [PATCH] Add a flag for headless: --block_new_web_contents. It's an alternative to specifying the option via the options builder. Change-Id: I6a0034048dea433c59f1164beac96d1d3b059d7c Reviewed-on: https://chromium-review.googlesource.com/1081275 Reviewed-by: Dmitry Gozman Commit-Queue: Johannes Henkel Cr-Commit-Position: refs/heads/master@{#563792} --- headless/app/headless_shell.cc | 3 +++ headless/app/headless_shell_switches.cc | 2 ++ headless/app/headless_shell_switches.h | 1 + 3 files changed, 6 insertions(+) diff --git a/headless/app/headless_shell.cc b/headless/app/headless_shell.cc index 6f908a3acdc8db..2a1c38d100115b 100644 --- a/headless/app/headless_shell.cc +++ b/headless/app/headless_shell.cc @@ -819,6 +819,9 @@ int HeadlessShellMain(int argc, const char** argv) { } } + if (command_line.HasSwitch(switches::kBlockNewWebContents)) + builder.SetBlockNewWebContents(true); + return HeadlessBrowserMain( builder.Build(), base::BindOnce(&HeadlessShell::OnStart, base::Unretained(&shell))); diff --git a/headless/app/headless_shell_switches.cc b/headless/app/headless_shell_switches.cc index 0ef318a1886f63..c680ab460530c4 100644 --- a/headless/app/headless_shell_switches.cc +++ b/headless/app/headless_shell_switches.cc @@ -117,5 +117,7 @@ const char kAuthServerWhitelist[] = "auth-server-whitelist"; // Possible values: none|slight|medium|full|max. Default: full. const char kFontRenderHinting[] = "font-render-hinting"; +// If true, then all pop-ups and calls to window.open will fail. +const char kBlockNewWebContents[] = "block-new-web-contents"; } // namespace switches } // namespace headless diff --git a/headless/app/headless_shell_switches.h b/headless/app/headless_shell_switches.h index 15fa313a038f1d..8f67b14818ef60 100644 --- a/headless/app/headless_shell_switches.h +++ b/headless/app/headless_shell_switches.h @@ -35,6 +35,7 @@ extern const char kVirtualTimeBudget[]; extern const char kWindowSize[]; extern const char kAuthServerWhitelist[]; extern const char kFontRenderHinting[]; +extern const char kBlockNewWebContents[]; // Switches which are replicated from content. using ::switches::kRemoteDebuggingPort;