#include "chrome/browser/headless/headless_mode_browsertest.h"
#include "build/build_config.h"
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
#include <memory>
#include <string>
#include "base/command_line.h"
#include "base/files/file.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/run_loop.h"
#include "base/test/task_environment.h"
#include "base/test/test_timeouts.h"
#include "base/threading/thread_restrictions.h"
#include "build/branding_buildflags.h"
#include "chrome/browser/headless/headless_mode_browsertest_utils.h"
#include "chrome/browser/headless/headless_mode_util.h"
#include "chrome/browser/infobars/confirm_infobar_creator.h"
#include "chrome/browser/process_singleton.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/views/frame/app_menu_button.h"
#include "chrome/browser/ui/views/frame/browser_view.h"
#include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
#include "chrome/common/chrome_switches.h"
#include "components/headless/clipboard/headless_clipboard.h"
#include "components/infobars/content/content_infobar_manager.h"
#include "components/infobars/core/confirm_infobar_delegate.h"
#include "components/infobars/core/infobar.h"
#include "components/infobars/core/infobars_switches.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/browser_test_utils.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "ui/base/clipboard/clipboard.h"
#include "ui/base/clipboard/clipboard_non_backed.h"
#include "ui/base/clipboard/clipboard_sequence_number_token.h"
#include "ui/base/clipboard/scoped_clipboard_writer.h"
#include "ui/base/models/dialog_model.h"
#include "ui/display/display_switches.h"
#include "ui/gfx/native_widget_types.h"
#include "ui/gfx/switches.h"
#include "ui/views/bubble/bubble_dialog_model_host.h"
#include "ui/views/view.h"
#include "ui/views/widget/widget.h"
#include "url/gurl.h"
Widget;
namespace headless {
namespace switches {
static const char kHeadfulMode[] = …;
}
HeadlessModeBrowserTest::HeadlessModeBrowserTest() { … }
void HeadlessModeBrowserTest::SetUpCommandLine(
base::CommandLine* command_line) { … }
void HeadlessModeBrowserTest::SetUpOnMainThread() { … }
bool HeadlessModeBrowserTest::IsIncognito() { … }
void HeadlessModeBrowserTest::AppendHeadlessCommandLineSwitches(
base::CommandLine* command_line) { … }
content::WebContents* HeadlessModeBrowserTest::GetActiveWebContents() { … }
void HeadlessModeBrowserTestWithUserDataDir::SetUpCommandLine(
base::CommandLine* command_line) { … }
void HeadlessModeBrowserTestWithStartWindowMode::SetUpCommandLine(
base::CommandLine* command_line) { … }
void HeadlessModeBrowserTestWithWindowSize::SetUpCommandLine(
base::CommandLine* command_line) { … }
void HeadlessModeBrowserTestWithWindowSizeAndScale::SetUpCommandLine(
base::CommandLine* command_line) { … }
namespace {
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest, BrowserWindowIsActive) { … }
class TestInfoBarDelegate : public ConfirmInfoBarDelegate { … };
class HeadlessModeInfobarBrowserTest
: public HeadlessModeBrowserTest,
public testing::WithParamInterface<bool> { … };
INSTANTIATE_TEST_SUITE_P(…);
IN_PROC_BROWSER_TEST_P(HeadlessModeInfobarBrowserTest, InfoBarsCanBeDisabled) { … }
class HeadlessModeUserAgentBrowserTest : public HeadlessModeBrowserTest { … };
IN_PROC_BROWSER_TEST_F(HeadlessModeUserAgentBrowserTest, UserAgentHasHeadless) { … }
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTestWithUserDataDir,
StartWithUserDataDir) { … }
class HeadlessModeBrowserTestWithUserDataDirAndIncognito
: public HeadlessModeBrowserTestWithUserDataDir { … };
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTestWithUserDataDirAndIncognito,
StartWithUserDataDirAndIncognito) { … }
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest, HeadlessClipboardInstalled) { … }
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest, HeadlessClipboardCopyPaste) { … }
class TestBubbleDelegate : public ui::DialogModelDelegate { … };
Widget* ShowTestBubble(Browser* browser) { … }
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest, HeadlessBubbleVisibility) { … }
IN_PROC_BROWSER_TEST_F(HeadlessModeBrowserTest, HeadlessBubbleSize) { … }
}
}
#endif