chromium/chrome/browser/extensions/extension_install_prompt_show_params.h

// Copyright 2014 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_EXTENSIONS_EXTENSION_INSTALL_PROMPT_SHOW_PARAMS_H_
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_PROMPT_SHOW_PARAMS_H_

#include <memory>

#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "ui/gfx/native_widget_types.h"

class Profile;

namespace content {
class WebContents;
}

namespace views {
class NativeWindowTracker;
}

// Parameters to show an install prompt dialog. The parameters control:
// - The dialog's parent window
// - The browser window to use to open a new tab if a user clicks a link in the
//   dialog.
//
// This can either be created with a content::WebContents or a
// gfx::NativeWindow. If this is created for WebContents, GetParentWindow() will
// return the outermost window hosting the WebContents.
class ExtensionInstallPromptShowParams {};

namespace test {

// Unit test may use this to disable root window checking in
// ExtensionInstallPromptShowParams.
class ScopedDisableRootChecking {};

}  // namespace test

#endif  // CHROME_BROWSER_EXTENSIONS_EXTENSION_INSTALL_PROMPT_SHOW_PARAMS_H_