chromium/chrome/browser/headless/headless_mode_browsertest.h

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_HEADLESS_HEADLESS_MODE_BROWSERTEST_H_
#define CHROME_BROWSER_HEADLESS_HEADLESS_MODE_BROWSERTEST_H_

#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/files/scoped_temp_dir.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "content/public/test/browser_test.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/size.h"

namespace content {
class WebContents;
}

namespace headless {

class HeadlessModeBrowserTest : public InProcessBrowserTest {};

class HeadlessModeBrowserTestWithUserDataDir : public HeadlessModeBrowserTest {};

enum StartWindowMode {};

class HeadlessModeBrowserTestWithStartWindowMode
    : public HeadlessModeBrowserTest,
      public testing::WithParamInterface<StartWindowMode> {};

// Toggles browser fullscreen mode synchronously.
void ToggleFullscreenModeSync(Browser* browser);

class HeadlessModeBrowserTestWithWindowSize : public HeadlessModeBrowserTest {};

class HeadlessModeBrowserTestWithWindowSizeAndScale
    : public HeadlessModeBrowserTest {};

}  // namespace headless

#endif  // CHROME_BROWSER_HEADLESS_HEADLESS_MODE_BROWSERTEST_H_