// Copyright (C) Microsoft Corporation. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #pragma once #include "stdafx.h" #include <string> #include "AppWindow.h" #include "ComponentBase.h" class ScenarioIFrameDevicePermission : public ComponentBase { public: ScenarioIFrameDevicePermission(AppWindow* appWindow); ~ScenarioIFrameDevicePermission() override; private: HRESULT OnPermissionRequested( ICoreWebView2Frame* sender, ICoreWebView2PermissionRequestedEventArgs2* args); AppWindow* m_appWindow = nullptr; wil::com_ptr<ICoreWebView2> m_webView; wil::com_ptr<ICoreWebView2_4> m_webView4; std::map<std::tuple<std::wstring, COREWEBVIEW2_PERMISSION_KIND, BOOL>, bool> m_cached_permissions; wil::com_ptr<ICoreWebView2Frame3> m_frame3; std::wstring m_sampleUri; EventRegistrationToken m_FrameCreatedToken = {}; EventRegistrationToken m_ContentLoadingToken = {}; EventRegistrationToken m_PermissionRequestedToken = {}; };