#include "chrome/browser/ui/webui/access_code_cast/access_code_cast_dialog.h"
#include "base/json/json_writer.h"
#include "base/memory/weak_ptr.h"
#include "base/values.h"
#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
#include "chrome/browser/media/webrtc/media_capture_devices_dispatcher.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/views/chrome_constrained_window_views_client.h"
#include "chrome/browser/ui/views/chrome_web_dialog_view.h"
#include "chrome/browser/ui/webui/access_code_cast/access_code_cast_ui.h"
#include "chrome/common/webui_url_constants.h"
#include "components/web_modal/web_contents_modal_dialog_host.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/web_contents.h"
#include "ui/display/display.h"
#include "ui/display/screen.h"
#include "ui/views/layout/layout_provider.h"
#include "url/gurl.h"
ModalDialogHost;
namespace media_router {
namespace {
void SetCurrentDialog(base::WeakPtr<AccessCodeCastDialog> dialog) { … }
void UpdateDialogPosition(views::Widget* widget,
content::WebContents* web_contents) { … }
}
constexpr int kSystemDialogCornerRadiusDp = …;
constexpr gfx::Size kDialogSizeWithoutFootnote{ … };
constexpr gfx::Size kDialogSizeWithFootnote{ … };
bool AccessCodeCastDialog::block_widget_activation_changed_for_test_ = …;
AccessCodeCastDialog::AccessCodeCastDialog(
const CastModeSet& cast_mode_set,
std::unique_ptr<MediaRouteStarter> media_route_starter)
: … { … }
AccessCodeCastDialog::~AccessCodeCastDialog() = default;
void AccessCodeCastDialog::ShowWebDialog(AccessCodeCastDialogMode dialog_mode) { … }
void AccessCodeCastDialog::Show(
const media_router::CastModeSet& cast_mode_set,
std::unique_ptr<media_router::MediaRouteStarter> media_route_starter,
AccessCodeCastDialogOpenLocation open_location,
AccessCodeCastDialogMode dialog_mode) { … }
void AccessCodeCastDialog::ShowForDesktopMirroring(
AccessCodeCastDialogOpenLocation open_location) { … }
views::Widget::InitParams AccessCodeCastDialog::CreateParams(
AccessCodeCastDialogMode dialog_mode) { … }
void AccessCodeCastDialog::CloseDialogWidget() { … }
base::WeakPtr<AccessCodeCastDialog> AccessCodeCastDialog::GetWeakPtr() { … }
void AccessCodeCastDialog::OnWidgetActivationChanged(views::Widget* widget,
bool active) { … }
void AccessCodeCastDialog::OnDialogShown(content::WebUI* webui) { … }
void AccessCodeCastDialog::OnCloseContents(content::WebContents* source,
bool* out_close_dialog) { … }
void AccessCodeCastDialog::RequestMediaAccessPermission(
content::WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) { … }
bool AccessCodeCastDialog::CheckMediaAccessPermission(
content::RenderFrameHost* render_frame_host,
const url::Origin& security_origin,
blink::mojom::MediaStreamType type) { … }
gfx::NativeView AccessCodeCastDialog::GetParentView() { … }
}