From 2449abc2a0c0b04e73fc0c06673b4c0643e35c00 Mon Sep 17 00:00:00 2001 From: Jessica Chen <55165503+peiche-jessica@users.noreply.github.com> Date: Thu, 3 Jun 2021 09:43:00 -0700 Subject: [PATCH] Move projects to use latest WebView2 SDK 1.0.902-prerelease (#92) * Updates for Win32, WPF and WinForms sample apps from official/864m91 * Updates for Win32, WPF and WinForms sample apps for 1.0.901-prerelease * Move projects to use .NET Core 3.1 * Move projects to use WebView2 SDK 1.0.901-prerelease * Revert "Move projects to use .NET Core 3.1" This reverts commit ab3c273b00703d07b91ee174f8d5d8a83dbb03a6. * 901 -> 902 --- SampleApps/WebView2APISample/.gitignore | 3 + .../WebView2APISample/AppBackground.bmp | Bin 0 -> 2032158 bytes SampleApps/WebView2APISample/AppWindow.cpp | 182 ++++++--- SampleApps/WebView2APISample/AppWindow.h | 5 + .../ClientCertificateSelectionDialog.cpp | 125 ++++++ .../ClientCertificateSelectionDialog.h | 50 +++ .../WebView2APISample/ControlComponent.cpp | 13 +- .../WebView2APISample/ProcessComponent.h | 1 + .../ScenarioAddHostObject.cpp | 114 +++--- .../ScenarioClientCertificateRequested.cpp | 138 +++++++ .../ScenarioClientCertificateRequested.h | 24 ++ .../ScenarioCustomDownloadExperience.cpp | 60 +-- .../ScenarioCustomDownloadExperience.h | 11 +- .../ScenarioWebViewEventMonitor.cpp | 60 ++- .../ScenarioWebViewEventMonitor.h | 3 +- .../WebView2APISample/SettingsComponent.cpp | 378 +++++++++++------ .../WebView2APISample/SettingsComponent.h | 9 +- .../WebView2APISample/ViewComponent.cpp | 48 ++- SampleApps/WebView2APISample/ViewComponent.h | 2 + .../WebView2APISample/WebView2APISample.rc | 28 +- .../WebView2APISample.vcxproj | 12 +- .../WebView2APISample.vcxproj.filters | 18 +- .../assets/AppStartPage.html | 8 +- .../assets/AppStartPageBackground.png | Bin 62111 -> 0 bytes .../documentation/Testing-Instructions.md | 201 +++++---- .../download-client-certificate.png | Bin 0 -> 26274 bytes .../install-client-certificate.png | Bin 0 -> 15212 bytes .../screenshots/script-debugging-reg-key.png | Bin 30057 -> 19850 bytes .../success-client-certificate.png | Bin 0 -> 221045 bytes SampleApps/WebView2APISample/packages.config | 2 +- SampleApps/WebView2APISample/resource.h | 20 +- .../BrowserForm.Designer.cs | 80 ++-- .../BrowserForm.cs | 31 +- .../WebView2WindowsFormsBrowser.csproj | 2 +- SampleApps/WebView2WpfBrowser/App.xaml.cs | 2 + .../ClientCertificateSelectionDialog.xaml | 65 +++ .../ClientCertificateSelectionDialog.xaml.cs | 39 ++ SampleApps/WebView2WpfBrowser/MainWindow.xaml | 22 +- .../WebView2WpfBrowser/MainWindow.xaml.cs | 384 +++++++++++++++--- .../WebView2WpfBrowser.csproj | 2 +- 40 files changed, 1621 insertions(+), 521 deletions(-) create mode 100644 SampleApps/WebView2APISample/AppBackground.bmp create mode 100644 SampleApps/WebView2APISample/ClientCertificateSelectionDialog.cpp create mode 100644 SampleApps/WebView2APISample/ClientCertificateSelectionDialog.h create mode 100644 SampleApps/WebView2APISample/ScenarioClientCertificateRequested.cpp create mode 100644 SampleApps/WebView2APISample/ScenarioClientCertificateRequested.h delete mode 100644 SampleApps/WebView2APISample/assets/AppStartPageBackground.png create mode 100644 SampleApps/WebView2APISample/documentation/screenshots/download-client-certificate.png create mode 100644 SampleApps/WebView2APISample/documentation/screenshots/install-client-certificate.png create mode 100644 SampleApps/WebView2APISample/documentation/screenshots/success-client-certificate.png create mode 100644 SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml create mode 100644 SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml.cs diff --git a/SampleApps/WebView2APISample/.gitignore b/SampleApps/WebView2APISample/.gitignore index 63604eb5..2a22dcf7 100644 --- a/SampleApps/WebView2APISample/.gitignore +++ b/SampleApps/WebView2APISample/.gitignore @@ -32,5 +32,8 @@ packages/ # Nuget.exe is downloaded by UseNuget.ps1 nuget.exe +# Created by UseNuget.ps1 +NuGet.Config + # WIX log file UpgradeLog.htm diff --git a/SampleApps/WebView2APISample/AppBackground.bmp b/SampleApps/WebView2APISample/AppBackground.bmp new file mode 100644 index 0000000000000000000000000000000000000000..f756ec90054c302d1f31b41764c8f1d53804f18d GIT binary patch literal 2032158 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 OdU$4U6k1=j=>G%wggA)+ literal 0 HcmV?d00001 diff --git a/SampleApps/WebView2APISample/AppWindow.cpp b/SampleApps/WebView2APISample/AppWindow.cpp index 5d1b78b2..36ef4c82 100644 --- a/SampleApps/WebView2APISample/AppWindow.cpp +++ b/SampleApps/WebView2APISample/AppWindow.cpp @@ -17,6 +17,7 @@ #include #include #include + #include "App.h" #include "AppStartPage.h" #include "CheckFailure.h" @@ -28,6 +29,7 @@ #include "ScenarioAddHostObject.h" #include "ScenarioAuthentication.h" #include "ScenarioCookieManagement.h" +#include "ScenarioClientCertificateRequested.h" #include "ScenarioCustomDownloadExperience.h" #include "ScenarioDOMContentLoaded.h" #include "ScenarioNavigateWithWebResourceRequest.h" @@ -96,11 +98,11 @@ DWORD WINAPI DownloadAndInstallWV2RT(_In_ LPVOID lpParameter) // Creates a new window which is a copy of the entire app, but on the same thread. AppWindow::AppWindow( UINT creationModeId, - std::wstring initialUri, - std::wstring userDataFolderParam, + std::wstring initialUri, + std::wstring userDataFolderParam, bool isMainWindow, - std::function webviewCreatedCallback, - bool customWindowRect, + std::function webviewCreatedCallback, + bool customWindowRect, RECT windowRect, bool shouldHaveToolbar ) @@ -135,7 +137,7 @@ AppWindow::AppWindow( } m_appBackgroundImageHandle = (HBITMAP)LoadImage( - NULL, L"AppBackground.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); + g_hInstance, MAKEINTRESOURCE(IDI_WEBVIEW2_BACKGROUND), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); GetObject(m_appBackgroundImageHandle, sizeof(m_appBackgroundImage), &m_appBackgroundImage); m_memHdc = CreateCompatibleDC(GetDC(m_mainWindow)); SelectObject(m_memHdc, m_appBackgroundImageHandle); @@ -161,7 +163,7 @@ AppWindow::AppWindow( ShowWindow(m_mainWindow, g_nCmdShow); UpdateWindow(m_mainWindow); - // If no WebVieRuntime installed, create new thread to do install/download. + // If no WebView2 Runtime installed, create new thread to do install/download. // Otherwise just initialize webview. wil::unique_cotaskmem_string version_info; HRESULT hr = GetAvailableCoreWebView2BrowserVersionString(nullptr, &version_info); @@ -277,20 +279,13 @@ bool AppWindow::HandleWindowMessage( { PAINTSTRUCT ps; HDC hdc; - RECT mainWindowBounds; - RECT webViewBounds = {0}; BeginPaint(hWnd, &ps); hdc = GetDC(hWnd); - GetClientRect(hWnd, &mainWindowBounds); - - if (auto viewComponent = GetComponent()) - { - webViewBounds = viewComponent->GetBounds(); - } - StretchBlt(hdc, webViewBounds.left, webViewBounds.top, webViewBounds.right, webViewBounds.bottom, - m_memHdc, 0, 0, m_appBackgroundImage.bmWidth, m_appBackgroundImage.bmHeight, SRCCOPY); + StretchBlt(hdc, m_appBackgroundImageRect.left, m_appBackgroundImageRect.top, + m_appBackgroundImageRect.right, m_appBackgroundImageRect.bottom, m_memHdc, + 0, 0, m_appBackgroundImage.bmWidth, m_appBackgroundImage.bmHeight, SRCCOPY); EndPaint(hWnd, &ps); return true; @@ -466,6 +461,11 @@ bool AppWindow::ExecuteWebViewCommands(WPARAM wParam, LPARAM lParam) NewComponent(this); return true; } + case IDM_SCENARIO_USE_DEFERRED_CUSTOM_CLIENT_CERTIFICATE_DIALOG: + { + NewComponent(this); + return true; + } } return false; } @@ -800,6 +800,12 @@ HRESULT AppWindow::OnCreateCoreWebView2ControllerCompleted(HRESULT result, ICore // browser might not have support for the latest version of the // ICoreWebView2_N interface. coreWebView2.query_to(&m_webView); + // Save PID of the browser process serving last WebView created from our + // CoreWebView2Environment. We know the controller was created with + // S_OK, and it hasn't been closed (we haven't called Close and no + // ProcessFailed event could have been raised yet) so the PID is + // available. + CHECK_FAILURE(m_webView->get_BrowserProcessId(&m_newestBrowserPid)); // Create components. These will be deleted when the WebView is closed. NewComponent(this); NewComponent(this); @@ -838,17 +844,10 @@ HRESULT AppWindow::OnCreateCoreWebView2ControllerCompleted(HRESULT result, ICore m_onWebViewFirstInitialized = nullptr; } - if (m_initialUri.empty()) - { - // StartPage uses initialized values of the WebView and Environment - // so we wait to call StartPage::GetUri until after the WebView is - // created. - m_initialUri = AppStartPage::GetUri(this); - } - if (m_initialUri != L"none") { - CHECK_FAILURE(m_webView->Navigate(m_initialUri.c_str())); + std::wstring initialUri = m_initialUri.empty() ? AppStartPage::GetUri(this) : m_initialUri; + CHECK_FAILURE(m_webView->Navigate(initialUri.c_str())); } } else @@ -1090,13 +1089,79 @@ void AppWindow::ResizeEverything() { view->SetBounds(availableBounds); } + m_appBackgroundImageRect = availableBounds; } //! [Close] // Close the WebView and deinitialize related state. This doesn't close the app window. void AppWindow::CloseWebView(bool cleanupUserDataFolder) { + // 1. Delete components. DeleteAllComponents(); + + // 2. If cleanup needed and BrowserProcessExited event interface available, + // register to cleanup upon browser exit. + wil::com_ptr experimentalEnvironment4; + if (m_webViewEnvironment) + { + experimentalEnvironment4 = + m_webViewEnvironment.try_query(); + } + if (cleanupUserDataFolder && experimentalEnvironment4) + { + // Before closing the WebView, register a handler with code to run once the + // browser process and associated processes are terminated. + CHECK_FAILURE(experimentalEnvironment4->add_BrowserProcessExited( + Callback( + [experimentalEnvironment4, this]( + ICoreWebView2Environment* sender, + ICoreWebView2ExperimentalBrowserProcessExitedEventArgs* args) { + COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND kind; + UINT32 pid; + CHECK_FAILURE(args->get_BrowserProcessExitKind(&kind)); + CHECK_FAILURE(args->get_BrowserProcessId(&pid)); + + // If a new WebView is created from this CoreWebView2Environment after + // the browser has exited but before our handler gets to run, a new + // browser process will be created and lock the user data folder + // again. Do not attempt to cleanup the user data folder in these + // cases. We check the PID of the exited browser process against the + // PID of the browser process to which our last CoreWebView2 attached. + if (pid == m_newestBrowserPid) + { + // Watch for graceful browser process exit. Let ProcessFailed event + // handler take care of failed browser process termination. + if (kind == COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL) + { + CHECK_FAILURE(experimentalEnvironment4->remove_BrowserProcessExited( + m_browserExitedEventToken)); + // Release the environment only after the handler is invoked. + // Otherwise, there will be no environment to raise the event when + // the collection of WebView2 Runtime processes exit. + m_webViewEnvironment = nullptr; + CleanupUserDataFolder(); + } + } + else + { + // The exiting process is not the last in use. Do not attempt cleanup + // as we might still have a webview open over the user data folder. + // Do not block from event handler. + RunAsync([this]() { + MessageBox( + m_mainWindow, + L"A new browser process prevented cleanup of the user data folder.", + L"Cleanup User Data Folder", MB_OK); + }); + } + + return S_OK; + }) + .Get(), + &m_browserExitedEventToken)); + } + + // 3. Close the webview. if (m_controller) { m_controller->Close(); @@ -1104,35 +1169,54 @@ void AppWindow::CloseWebView(bool cleanupUserDataFolder) m_webView = nullptr; m_webView3 = nullptr; } - m_webViewEnvironment = nullptr; - if (cleanupUserDataFolder) - { - // For non-UWP apps, the default user data folder {Executable File Name}.WebView2 - // is in the same directory next to the app executable. If end - // developers specify userDataFolder during WebView environment - // creation, they would need to pass in that explicit value here. - // For more information about userDataFolder: - // https://docs.microsoft.com/microsoft-edge/webview2/reference/win32/webview2-idl#createcorewebview2environmentwithoptions - WCHAR userDataFolder[MAX_PATH] = L""; - // Obtain the absolute path for relative paths that include "./" or "../" - _wfullpath( - userDataFolder, GetLocalPath(L".WebView2", true).c_str(), MAX_PATH); - std::wstring userDataFolderPath(userDataFolder); - - std::wstring message = L"Are you sure you want to clean up the user data folder at\n"; - message += userDataFolderPath; - message += L"\n?\nWarning: This action is not reversible.\n\n"; - message += L"Click No if there are other open WebView instances.\n"; - - if (MessageBox(m_mainWindow, message.c_str(), L"Cleanup User Data Folder", MB_YESNO) == - IDYES) + + // 4. If BrowserProcessExited event interface is not available, release + // environment and proceed to cleanup immediately. If the interface is + // available, release environment only if not waiting for the event. + if (!experimentalEnvironment4) + { + m_webViewEnvironment = nullptr; + if (cleanupUserDataFolder) { - CHECK_FAILURE(DeleteFileRecursive(userDataFolderPath)); + CleanupUserDataFolder(); } } + else if (!cleanupUserDataFolder) + { + // Release the environment object here only if no cleanup is needed. + // If cleanup is needed, the environment object release is deferred + // until the browser process exits, otherwise the handler for the + // BrowserProcessExited event will not be called. + m_webViewEnvironment = nullptr; + } } //! [Close] +void AppWindow::CleanupUserDataFolder() +{ + // For non-UWP apps, the default user data folder {Executable File Name}.WebView2 + // is in the same directory next to the app executable. If end + // developers specify userDataFolder during WebView environment + // creation, they would need to pass in that explicit value here. + // For more information about userDataFolder: + // https://docs.microsoft.com/microsoft-edge/webview2/reference/win32/webview2-idl#createcorewebview2environmentwithoptions + WCHAR userDataFolder[MAX_PATH] = L""; + // Obtain the absolute path for relative paths that include "./" or "../" + _wfullpath(userDataFolder, GetLocalPath(L".WebView2", true).c_str(), MAX_PATH); + std::wstring userDataFolderPath(userDataFolder); + + std::wstring message = L"Are you sure you want to clean up the user data folder at\n"; + message += userDataFolderPath; + message += L"\n?\nWarning: This action is not reversible.\n\n"; + message += L"Click No if there are other open WebView instances.\n"; + + if (MessageBox(m_mainWindow, message.c_str(), L"Cleanup User Data Folder", MB_YESNO) == + IDYES) + { + CHECK_FAILURE(DeleteFileRecursive(userDataFolderPath)); + } +} + HRESULT AppWindow::DeleteFileRecursive(std::wstring path) { wil::com_ptr fileOperation; @@ -1148,7 +1232,7 @@ HRESULT AppWindow::DeleteFileRecursive(std::wstring path) // Add the operation CHECK_FAILURE(fileOperation->DeleteItem(userDataFolder.get(), NULL)); - CHECK_FAILURE(userDataFolder->Release()); + userDataFolder.reset(); // Perform the operation to delete the directory CHECK_FAILURE(fileOperation->PerformOperations()); diff --git a/SampleApps/WebView2APISample/AppWindow.h b/SampleApps/WebView2APISample/AppWindow.h index 5a7f0f38..f2daa8f3 100644 --- a/SampleApps/WebView2APISample/AppWindow.h +++ b/SampleApps/WebView2APISample/AppWindow.h @@ -104,6 +104,7 @@ class AppWindow void ReinitializeWebViewWithNewBrowser(); void RestartApp(); void CloseWebView(bool cleanupUserDataFolder = false); + void CleanupUserDataFolder(); void CloseAppWindow(); void ChangeLanguage(); void UpdateCreationModeMenu(); @@ -139,6 +140,9 @@ class AppWindow wil::com_ptr m_webView; wil::com_ptr m_webView3; + EventRegistrationToken m_browserExitedEventToken = {}; + UINT32 m_newestBrowserPid = 0; + // All components are deleted when the WebView is closed. std::vector> m_components; std::unique_ptr m_oldSettingsComponent; @@ -170,6 +174,7 @@ class AppWindow HBITMAP m_appBackgroundImageHandle; BITMAP m_appBackgroundImage; HDC m_memHdc; + RECT m_appBackgroundImageRect; }; template void AppWindow::NewComponent(Args&&... args) diff --git a/SampleApps/WebView2APISample/ClientCertificateSelectionDialog.cpp b/SampleApps/WebView2APISample/ClientCertificateSelectionDialog.cpp new file mode 100644 index 00000000..6d9b2585 --- /dev/null +++ b/SampleApps/WebView2APISample/ClientCertificateSelectionDialog.cpp @@ -0,0 +1,125 @@ +// 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. + +#include +#include + +#include "stdafx.h" +#include "App.h" +#include "resource.h" +#include "ClientCertificateSelectionDialog.h" + +std::wstring UnixEpochToDateTime(double value) { + WCHAR rawResult[32] = {}; + std::time_t rawTime = std::time_t(value); + struct tm timeStruct = {}; + gmtime_s(&timeStruct, &rawTime); + _wasctime_s(rawResult, 32, &timeStruct); + std::wstring result(rawResult); + return result; +} + +static INT_PTR CALLBACK ClientCertificateSelectionBoxDlg(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + // self is read from GLWP_USERDATA pointer for the messages. Initially self is set to null + // and gets assigned in the first invocation of WM_INITDIALOG. + auto* self = (ClientCertificateSelectionDialog*)GetWindowLongPtr(hDlg, GWLP_USERDATA); + + switch (message) + { + case WM_INITDIALOG: + { + // Set self and then write it to GLWP_USERDATA using lParam. + self = (ClientCertificateSelectionDialog*)lParam; + SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)self); + + SetWindowText(hDlg, self->title); + + std::wstring siteInfo = L"Site " + std::wstring(self->host) + L":" + std::to_wstring(self->port) + L" needs your credentials:"; + SetDlgItemText(hDlg, IDC_CERTIFICATE_LBL, siteInfo.c_str()); + + // Add items to list. + HWND hwndList = GetDlgItem(hDlg, IDC_CERTIFICATE_LIST); + for (size_t i = 0; i < self->clientCertificates.size(); i++) + { + std::wstring certNameIssuer = std::wstring((self->clientCertificates[i].DisplayName).get()) + L", " + std::wstring((self->clientCertificates[i].Issuer).get()); + int pos = (int)SendMessage(hwndList, LB_ADDSTRING, 0, (LPARAM)certNameIssuer.c_str()); + // Set the index of the client certificate as item data. + // This enables us to retrieve the item from the array + // even after the items are sorted by the list box. + SendMessage(hwndList, LB_SETITEMDATA, pos, (LPARAM)i); + } + // Set input focus to the list box. + SetFocus(hwndList); + return TRUE; + } + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case ID_CERTIFICATE_OK: + case ID_CERTIFICATE_CANCEL: + if (self && LOWORD(wParam) == ID_CERTIFICATE_OK) + { + HWND hwndList = GetDlgItem(hDlg, IDC_CERTIFICATE_LIST); + + // Get selected index. + int lbItem = (int)SendMessage(hwndList, LB_GETCURSEL, 0, 0); + self->selectedItem = lbItem; + self->confirmed = true; + } + + if (LOWORD(wParam) == ID_CERTIFICATE_OK || LOWORD(wParam) == ID_CERTIFICATE_CANCEL) + { + SetWindowLongPtr(hDlg, GWLP_USERDATA, NULL); + EndDialog(hDlg, LOWORD(wParam)); + return (INT_PTR)TRUE; + } + break; + case IDC_CERTIFICATE_LIST: + { + switch (HIWORD(wParam)) + { + case LBN_SELCHANGE: + { + HWND hwndList = GetDlgItem(hDlg, IDC_CERTIFICATE_LIST); + + // Get selected index. + int lbItem = (int)SendMessage(hwndList, LB_GETCURSEL, 0, 0); + + // Get item data. + int i = (int)SendMessage(hwndList, LB_GETITEMDATA, lbItem, 0); + + TCHAR buff[MAX_PATH]; + StringCbPrintf(buff, ARRAYSIZE(buff), + TEXT("Subject: %s\nValid From: %s\nValid To: %s\nCertificate Kind: %s"), + self->clientCertificates[i].Subject, UnixEpochToDateTime(self->clientCertificates[i].ValidFrom).c_str(), UnixEpochToDateTime(self->clientCertificates[i].ValidTo).c_str(), self->clientCertificates[i].CertificateKind); + + SetDlgItemText(hDlg, IDC_CERTIFICATE_STATIC, buff); + return TRUE; + } + } + } + return TRUE; + } + case WM_NCDESTROY: + SetWindowLongPtr(hDlg, GWLP_USERDATA, NULL); + return (INT_PTR)TRUE; + } + + return FALSE; +} + +ClientCertificateSelectionDialog::ClientCertificateSelectionDialog( + HWND parent, + PCWSTR title, + PCWSTR host, + INT port, + const std::vector &clientCertificates) : + title(title), host(host), port(port), confirmed(false), clientCertificates(clientCertificates) +{ + DialogBoxParam( + g_hInstance, MAKEINTRESOURCE(IDD_CERTIFICATE_DIALOG), parent, ClientCertificateSelectionBoxDlg, + (LPARAM)this); +} diff --git a/SampleApps/WebView2APISample/ClientCertificateSelectionDialog.h b/SampleApps/WebView2APISample/ClientCertificateSelectionDialog.h new file mode 100644 index 00000000..c00c877a --- /dev/null +++ b/SampleApps/WebView2APISample/ClientCertificateSelectionDialog.h @@ -0,0 +1,50 @@ +// 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 + +struct ClientCertificate +{ + ClientCertificate() {}; + + ClientCertificate(const ClientCertificate& clientCertificate) { + Subject = wil::make_cotaskmem_string(clientCertificate.Subject.get()); + DisplayName = wil::make_cotaskmem_string(clientCertificate.DisplayName.get()); + Issuer = wil::make_cotaskmem_string(clientCertificate.Issuer.get()); + ValidFrom = clientCertificate.ValidFrom; + ValidTo = clientCertificate.ValidTo; + CertificateKind = clientCertificate.CertificateKind; + } + + wil::unique_cotaskmem_string Subject; + wil::unique_cotaskmem_string DisplayName; + wil::unique_cotaskmem_string Issuer; + double ValidFrom; + double ValidTo; + PCWSTR CertificateKind; +}; + +// Constructing this struct will show a client certificate selection dialog and return when +// the user dismisses it. If the user clicks the OK button, confirmed will be true with the +// selected certificate. +struct ClientCertificateSelectionDialog +{ + ClientCertificateSelectionDialog( + HWND parent, + PCWSTR title, + PCWSTR host, + INT port, + const std::vector &clientCertificates); + + PCWSTR title; + PCWSTR host; + INT port; + std::vector clientCertificates; + + bool confirmed; + int selectedItem; +}; \ No newline at end of file diff --git a/SampleApps/WebView2APISample/ControlComponent.cpp b/SampleApps/WebView2APISample/ControlComponent.cpp index 8708764b..64928bd0 100644 --- a/SampleApps/WebView2APISample/ControlComponent.cpp +++ b/SampleApps/WebView2APISample/ControlComponent.cpp @@ -9,6 +9,8 @@ #include "App.h" #include "CheckFailure.h" +#include +#include using namespace Microsoft::WRL; @@ -362,9 +364,14 @@ void ControlComponent::NavigateToAddressBar() } else { - // Otherwise treat it as a web search. We aren't bothering to escape - // URL syntax characters such as & and # - hr = m_webView->Navigate((L"https://bing.com/search?q=" + uri).c_str()); + // Otherwise treat it as a web search. + std::wstring urlEscaped(2048, ' '); + DWORD dwEscaped = (DWORD)urlEscaped.length(); + UrlEscapeW(uri.c_str(), &urlEscaped[0], &dwEscaped, URL_ESCAPE_ASCII_URI_COMPONENT); + hr = m_webView->Navigate( + (L"https://bing.com/search?q=" + + std::regex_replace(urlEscaped, std::wregex(L"(?:%20)+"), L"+")) + .c_str()); } } if (hr != E_INVALIDARG) { diff --git a/SampleApps/WebView2APISample/ProcessComponent.h b/SampleApps/WebView2APISample/ProcessComponent.h index ae536a6e..251b2b12 100644 --- a/SampleApps/WebView2APISample/ProcessComponent.h +++ b/SampleApps/WebView2APISample/ProcessComponent.h @@ -30,6 +30,7 @@ class ProcessComponent : public ComponentBase std::wstring ProcessFailedReasonToString(const COREWEBVIEW2_PROCESS_FAILED_REASON reason); void CrashBrowserProcess(); void CrashRenderProcess(); + ~ProcessComponent() override; // Wait for process to exit for timeoutMs, then force quit it if it hasn't. diff --git a/SampleApps/WebView2APISample/ScenarioAddHostObject.cpp b/SampleApps/WebView2APISample/ScenarioAddHostObject.cpp index 1d709450..68073d8f 100644 --- a/SampleApps/WebView2APISample/ScenarioAddHostObject.cpp +++ b/SampleApps/WebView2APISample/ScenarioAddHostObject.cpp @@ -75,61 +75,64 @@ ScenarioAddHostObject::ScenarioAddHostObject(AppWindow* appWindow) return S_OK; }).Get(), &m_navigationStartingToken)); - wil::com_ptr webviewExperimental; - CHECK_FAILURE(m_webView->QueryInterface(IID_PPV_ARGS(&webviewExperimental))); - // Register a handler for the FrameCreated event. - // This handler can be used to add host objects to the created iframe. - CHECK_FAILURE(webviewExperimental->add_FrameCreated( - Callback( - [this]( - ICoreWebView2* sender, - ICoreWebView2ExperimentalFrameCreatedEventArgs* args) -> HRESULT - { - wil::com_ptr webviewFrame; - CHECK_FAILURE(args->get_Frame(&webviewFrame)); - wil::unique_cotaskmem_string name; - CHECK_FAILURE(webviewFrame->get_Name(&name)); - if (std::wcscmp(name.get(), L"iframe_name") == 0) + wil::com_ptr webview2_4 = m_webView.try_query(); + if (webview2_4) + { + // Register a handler for the FrameCreated event. + // This handler can be used to add host objects to the created iframe. + CHECK_FAILURE(webview2_4->add_FrameCreated( + Callback( + [this]( + ICoreWebView2* sender, + ICoreWebView2FrameCreatedEventArgs* args) -> HRESULT { - //! [AddHostObjectToScriptWithOrigins] - wil::unique_variant remoteObjectAsVariant; - // It will throw if m_hostObject fails the QI, but because it is our object - // it should always succeed. - m_hostObject.query_to(&remoteObjectAsVariant.pdispVal); - remoteObjectAsVariant.vt = VT_DISPATCH; - - // Create list of origins which will be checked. - // iframe will have access to host object only if its origin belongs - // to this list. - LPCWSTR origin = L"https://appassets.example/"; - - CHECK_FAILURE(webviewFrame->AddHostObjectToScriptWithOrigins( - L"sample", &remoteObjectAsVariant, 1, &origin)); - //! [AddHostObjectToScriptWithOrigins] - } - - // Subscribe to frame name changed event - webviewFrame->add_NameChanged( - Callback( - [this](ICoreWebView2ExperimentalFrame* sender, IUnknown* args) -> HRESULT { - wil::unique_cotaskmem_string newName; - CHECK_FAILURE(sender->get_Name(&newName)); - // Handle name changed event - return S_OK; - }).Get(), NULL); - - // Subscribe to frame destroyed event - webviewFrame->add_Destroyed( - Callback( - [this](ICoreWebView2ExperimentalFrame* sender, IUnknown* args) -> HRESULT { - /*Cleanup on frame destruction*/ - return S_OK; - }) - .Get(), - NULL); - return S_OK; - }).Get(), &m_frameCreatedToken)); + wil::com_ptr webviewFrame; + CHECK_FAILURE(args->get_Frame(&webviewFrame)); + + wil::unique_cotaskmem_string name; + CHECK_FAILURE(webviewFrame->get_Name(&name)); + if (std::wcscmp(name.get(), L"iframe_name") == 0) + { + //! [AddHostObjectToScriptWithOrigins] + wil::unique_variant remoteObjectAsVariant; + // It will throw if m_hostObject fails the QI, but because it is our object + // it should always succeed. + m_hostObject.query_to(&remoteObjectAsVariant.pdispVal); + remoteObjectAsVariant.vt = VT_DISPATCH; + + // Create list of origins which will be checked. + // iframe will have access to host object only if its origin belongs + // to this list. + LPCWSTR origin = L"https://appassets.example/"; + + CHECK_FAILURE(webviewFrame->AddHostObjectToScriptWithOrigins( + L"sample", &remoteObjectAsVariant, 1, &origin)); + //! [AddHostObjectToScriptWithOrigins] + } + + // Subscribe to frame name changed event + webviewFrame->add_NameChanged( + Callback( + [this](ICoreWebView2Frame* sender, IUnknown* args) -> HRESULT { + wil::unique_cotaskmem_string newName; + CHECK_FAILURE(sender->get_Name(&newName)); + // Handle name changed event + return S_OK; + }).Get(), NULL); + + // Subscribe to frame destroyed event + webviewFrame->add_Destroyed( + Callback( + [this](ICoreWebView2Frame* sender, IUnknown* args) -> HRESULT { + /*Cleanup on frame destruction*/ + return S_OK; + }) + .Get(), + NULL); + return S_OK; + }).Get(), &m_frameCreatedToken)); + } CHECK_FAILURE(m_webView->Navigate(sampleUri.c_str())); } @@ -138,7 +141,6 @@ ScenarioAddHostObject::~ScenarioAddHostObject() { m_webView->RemoveHostObjectFromScript(L"sample"); m_webView->remove_NavigationStarting(m_navigationStartingToken); - wil::com_ptr webviewExperimental; - CHECK_FAILURE(m_webView->QueryInterface(IID_PPV_ARGS(&webviewExperimental))); - webviewExperimental->remove_FrameCreated(m_frameCreatedToken); + wil::com_ptr webview2_4 = m_webView.try_query(); + if (webview2_4) webview2_4->remove_FrameCreated(m_frameCreatedToken); } diff --git a/SampleApps/WebView2APISample/ScenarioClientCertificateRequested.cpp b/SampleApps/WebView2APISample/ScenarioClientCertificateRequested.cpp new file mode 100644 index 00000000..1f7e8985 --- /dev/null +++ b/SampleApps/WebView2APISample/ScenarioClientCertificateRequested.cpp @@ -0,0 +1,138 @@ +// 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. +#include "stdafx.h" +#include "ScenarioClientCertificateRequested.h" +#include "ClientCertificateSelectionDialog.h" +#include "CheckFailure.h" + +using namespace Microsoft::WRL; + +static PCWSTR NameOfCertificateKind(COREWEBVIEW2_CLIENT_CERTIFICATE_KIND kind); + +ScenarioClientCertificateRequested::ScenarioClientCertificateRequested(AppWindow* appWindow) + : m_appWindow(appWindow), m_webView(appWindow->GetWebView()) +{ + // Register a handler for the `ClientCertificateRequested` event. + // This example hides the default client certificate dialog and shows a custom dialog instead. + // The dialog box displays mutually trusted certificates list and allows the user to select a certificate. + // Selecting `OK` will continue the request with a certificate. + // Selecting `CANCEL` will continue the request without a certificate. + //! [ClientCertificateRequested2] + m_webViewExperimental = m_webView.try_query(); + if (m_webViewExperimental) + { + CHECK_FAILURE(m_webViewExperimental->add_ClientCertificateRequested( + Callback( + [this]( + ICoreWebView2* sender, + ICoreWebView2ExperimentalClientCertificateRequestedEventArgs* args) { + auto showDialog = [this, args] { + wil::com_ptr certificateCollection; + CHECK_FAILURE(args->get_MutuallyTrustedCertificates(&certificateCollection)); + + wil::unique_cotaskmem_string host; + CHECK_FAILURE(args->get_Host(&host)); + + INT port = FALSE; + CHECK_FAILURE(args->get_Port(&port)); + + UINT certificateCollectionCount; + CHECK_FAILURE(certificateCollection->get_Count(&certificateCollectionCount)); + + wil::com_ptr certificate = nullptr; + + if (certificateCollectionCount > 0) + { + ClientCertificate clientCertificate; + for (UINT i = 0; i < certificateCollectionCount; i++) + { + CHECK_FAILURE( + certificateCollection->GetValueAtIndex(i, &certificate)); + + CHECK_FAILURE(certificate->get_Subject(&clientCertificate.Subject)); + + CHECK_FAILURE(certificate->get_DisplayName(&clientCertificate.DisplayName)); + + CHECK_FAILURE(certificate->get_Issuer(&clientCertificate.Issuer)); + + COREWEBVIEW2_CLIENT_CERTIFICATE_KIND Kind; + CHECK_FAILURE( + certificate->get_Kind(&Kind)); + clientCertificate.CertificateKind = NameOfCertificateKind(Kind); + + CHECK_FAILURE(certificate->get_ValidFrom(&clientCertificate.ValidFrom)); + + CHECK_FAILURE(certificate->get_ValidTo(&clientCertificate.ValidTo)); + + clientCertificates_.push_back(clientCertificate); + } + + // Display custom dialog box for the client certificate selection. + ClientCertificateSelectionDialog dialog( + m_appWindow->GetMainWindow(), L"Select a Certificate for authentication", host.get(), port, clientCertificates_); + + if (dialog.confirmed) + { + int selectedIndex = dialog.selectedItem; + if (selectedIndex >= 0) + { + CHECK_FAILURE( + certificateCollection->GetValueAtIndex(selectedIndex, &certificate)); + // Continue with the selected certificate to respond to the server if `OK` is selected. + CHECK_FAILURE(args->put_SelectedCertificate(certificate.get())); + } + } + // Continue without a certificate to respond to the server if `CANCEL` is selected. + CHECK_FAILURE(args->put_Handled(TRUE)); + } + else + { + // Continue without a certificate to respond to the server if certificate collection is empty. + CHECK_FAILURE(args->put_Handled(TRUE)); + } + }; + + // Obtain a deferral for the event so that the CoreWebView2 + // doesn't examine the properties we set on the event args and + // after we call the Complete method asynchronously later. + wil::com_ptr deferral; + CHECK_FAILURE(args->GetDeferral(&deferral)); + + // complete the deferral asynchronously. + m_appWindow->RunAsync([deferral, showDialog]() { + showDialog(); + CHECK_FAILURE(deferral->Complete()); + }); + + return S_OK; + }) + .Get(), + &m_ClientCertificateRequestedToken)); + + MessageBox( + nullptr, L"Custom Client Certificate selection dialog will be used next when WebView2 " + L"is making a request to an HTTP server that needs a client certificate.", + L"Client certificate selection", MB_OK); + } + //! [ClientCertificateRequested2] +} + +static PCWSTR NameOfCertificateKind(COREWEBVIEW2_CLIENT_CERTIFICATE_KIND kind) +{ + switch (kind) + { + case COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD: + return L"Smart Card"; + case COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN: + return L"PIN"; + default: + return L"Other"; + } +} + +ScenarioClientCertificateRequested::~ScenarioClientCertificateRequested() +{ + CHECK_FAILURE( + m_webViewExperimental->remove_ClientCertificateRequested(m_ClientCertificateRequestedToken)); +} \ No newline at end of file diff --git a/SampleApps/WebView2APISample/ScenarioClientCertificateRequested.h b/SampleApps/WebView2APISample/ScenarioClientCertificateRequested.h new file mode 100644 index 00000000..9ea56179 --- /dev/null +++ b/SampleApps/WebView2APISample/ScenarioClientCertificateRequested.h @@ -0,0 +1,24 @@ +// 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 +#include "AppWindow.h" +#include "ClientCertificateSelectionDialog.h" + +class ScenarioClientCertificateRequested : public ComponentBase +{ +public: + ScenarioClientCertificateRequested(AppWindow* appWindow); + ~ScenarioClientCertificateRequested() override; + +private: + AppWindow* m_appWindow = nullptr; + wil::com_ptr m_webView; + wil::com_ptr m_webViewExperimental; + EventRegistrationToken m_ClientCertificateRequestedToken = {}; + std::vector clientCertificates_; +}; \ No newline at end of file diff --git a/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.cpp b/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.cpp index a960df12..44873c4f 100644 --- a/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.cpp +++ b/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.cpp @@ -22,13 +22,13 @@ ScenarioCustomDownloadExperience::ScenarioCustomDownloadExperience(AppWindow* ap // Selecting `CANCEL` will cancel the download. m_demoUri = L"https://demo.smartscreen.msft.net/"; - m_webViewExperimental2 = m_webView.try_query(); - if (m_webViewExperimental2) { - CHECK_FAILURE(m_webViewExperimental2->add_DownloadStarting( - Callback( + m_webView2_4 = m_webView.try_query(); + if (m_webView2_4) { + CHECK_FAILURE(m_webView2_4->add_DownloadStarting( + Callback( [this]( ICoreWebView2* sender, - ICoreWebView2ExperimentalDownloadStartingEventArgs* args) -> HRESULT + ICoreWebView2DownloadStartingEventArgs* args) -> HRESULT { // We avoid potential reentrancy from running a message loop in the download // starting event handler by showing our download dialog via this lambda run @@ -40,7 +40,7 @@ ScenarioCustomDownloadExperience::ScenarioCustomDownloadExperience(AppWindow* ap // Hide the default download dialog. CHECK_FAILURE(args->put_Handled(TRUE)); - wil::com_ptr download; + wil::com_ptr download; CHECK_FAILURE(args->get_DownloadOperation(&download)); INT64 totalBytesToReceive = 0; @@ -95,13 +95,13 @@ ScenarioCustomDownloadExperience::ScenarioCustomDownloadExperience(AppWindow* ap wil::com_ptr deferral; CHECK_FAILURE(args->GetDeferral(&deferral)); - // This function can be called to show the download dialog and - // complete the event at a later time, allowing the developer to - // perform async work before the event completes. - m_completeDeferredDownloadEvent = [showDialog, deferral] { + // We avoid potential reentrancy from running a message loop in the download + // starting event handler by showing our download dialog later when we + // complete the deferral asynchronously. + m_appWindow->RunAsync([deferral, showDialog]() { showDialog(); CHECK_FAILURE(deferral->Complete()); - }; + }); return S_OK; }) @@ -129,36 +129,12 @@ ScenarioCustomDownloadExperience::ScenarioCustomDownloadExperience(AppWindow* ap CHECK_FAILURE(m_appWindow->GetWebView()->Navigate(m_demoUri.c_str())); } -bool ScenarioCustomDownloadExperience::HandleWindowMessage( - HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT* result) -{ - if (message == WM_COMMAND) - { - switch (LOWORD(wParam)) - { - case IDM_SCENARIO_COMPLETE_DEFERRED_DOWNLOAD: - CompleteDownloadDeferral(); - return true; - } - } - return false; -} - -void ScenarioCustomDownloadExperience::CompleteDownloadDeferral() -{ - if (m_completeDeferredDownloadEvent) - { - m_completeDeferredDownloadEvent(); - m_completeDeferredDownloadEvent = nullptr; - } -} - -void ScenarioCustomDownloadExperience::UpdateProgress(ICoreWebView2ExperimentalDownloadOperation* download) +void ScenarioCustomDownloadExperience::UpdateProgress(ICoreWebView2DownloadOperation* download) { //! [BytesReceivedChanged] CHECK_FAILURE(download->add_BytesReceivedChanged( - Callback( - [this](ICoreWebView2ExperimentalDownloadOperation* download, IUnknown* args) -> HRESULT { + Callback( + [this](ICoreWebView2DownloadOperation* download, IUnknown* args) -> HRESULT { // Here developer can update UI to show progress of a download using // `download->get_BytesReceived` and // `download->get_TotalBytesToReceive`. @@ -170,8 +146,8 @@ void ScenarioCustomDownloadExperience::UpdateProgress(ICoreWebView2ExperimentalD //! [StateChanged] CHECK_FAILURE(download->add_StateChanged( - Callback( - [this](ICoreWebView2ExperimentalDownloadOperation* download, + Callback( + [this](ICoreWebView2DownloadOperation* download, IUnknown* args) -> HRESULT { COREWEBVIEW2_DOWNLOAD_STATE downloadState; CHECK_FAILURE(download->get_State(&downloadState)); @@ -195,7 +171,7 @@ void ScenarioCustomDownloadExperience::UpdateProgress(ICoreWebView2ExperimentalD //! [StateChanged] } -void ScenarioCustomDownloadExperience::CompleteDownload(ICoreWebView2ExperimentalDownloadOperation* download) +void ScenarioCustomDownloadExperience::CompleteDownload(ICoreWebView2DownloadOperation* download) { // Close download progress dialog here. @@ -207,6 +183,6 @@ void ScenarioCustomDownloadExperience::CompleteDownload(ICoreWebView2Experimenta ScenarioCustomDownloadExperience::~ScenarioCustomDownloadExperience() { - CHECK_FAILURE(m_webViewExperimental2->remove_DownloadStarting(m_downloadStartingToken)); + CHECK_FAILURE(m_webView2_4->remove_DownloadStarting(m_downloadStartingToken)); CHECK_FAILURE(m_webView->remove_ContentLoading(m_contentLoadingToken)); } \ No newline at end of file diff --git a/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.h b/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.h index b68d62ed..f78ec8b7 100644 --- a/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.h +++ b/SampleApps/WebView2APISample/ScenarioCustomDownloadExperience.h @@ -14,22 +14,17 @@ class ScenarioCustomDownloadExperience : public ComponentBase { public: ScenarioCustomDownloadExperience(AppWindow* appWindow); - bool HandleWindowMessage( - HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT* result) override; - void StartDeferredDownload(); - void CompleteDownloadDeferral(); - void UpdateProgress(ICoreWebView2ExperimentalDownloadOperation* download); - void CompleteDownload(ICoreWebView2ExperimentalDownloadOperation* download); + void UpdateProgress(ICoreWebView2DownloadOperation* download); + void CompleteDownload(ICoreWebView2DownloadOperation* download); ~ScenarioCustomDownloadExperience() override; private: AppWindow* m_appWindow = nullptr; wil::com_ptr m_webView; - wil::com_ptr m_webViewExperimental2; + wil::com_ptr m_webView2_4; std::wstring m_demoUri; EventRegistrationToken m_downloadStartingToken = {}; EventRegistrationToken m_contentLoadingToken = {}; EventRegistrationToken m_bytesReceivedChangedToken = {}; EventRegistrationToken m_stateChangedToken = {}; - std::function m_completeDeferredDownloadEvent; }; \ No newline at end of file diff --git a/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.cpp b/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.cpp index 1a95aa8a..ccbb70b3 100644 --- a/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.cpp +++ b/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.cpp @@ -42,12 +42,13 @@ ScenarioWebViewEventMonitor::~ScenarioWebViewEventMonitor() m_webviewEventSource->remove_SourceChanged(m_sourceChangedToken); m_webviewEventSource->remove_ContentLoading(m_contentLoadingToken); m_webviewEventSource->remove_HistoryChanged(m_historyChangedToken); + m_webviewEventSource->remove_FrameNavigationCompleted(m_frameNavigationCompletedToken); m_webviewEventSource->remove_NavigationCompleted(m_navigationCompletedToken); m_webviewEventSource->remove_DocumentTitleChanged(m_documentTitleChangedToken); m_webviewEventSource->remove_WebMessageReceived(m_webMessageReceivedToken); m_webviewEventSource->remove_NewWindowRequested(m_newWindowRequestedToken); m_webviewEventSource2->remove_DOMContentLoaded(m_DOMContentLoadedToken); - m_webviewEventSourceExperimental2->remove_DownloadStarting(m_downloadStartingToken); + m_webviewEventSource4->remove_DownloadStarting(m_downloadStartingToken); EnableWebResourceRequestedEvent(false); EnableWebResourceResponseReceivedEvent(false); @@ -540,10 +541,13 @@ void ScenarioWebViewEventMonitor::InitializeEventView(ICoreWebView2* webviewEven CHECK_FAILURE(args->get_RequestHeaders(&requestHeaders)); wil::unique_cotaskmem_string uri; CHECK_FAILURE(args->get_Uri(&uri)); + UINT64 navigationId = 0; + CHECK_FAILURE(args->get_NavigationId(&navigationId)); std::wstring message = L"{ \"kind\": \"event\", \"name\": " L"\"FrameNavigationStarting\", \"args\": {" + L"\"navigationId\": " + std::to_wstring(navigationId) + L", " L"\"cancel\": " + BoolToString(cancel) + L", " L"\"isRedirected\": " + BoolToString(isRedirected) + L", " L"\"isUserInitiated\": " + BoolToString(isUserInitiated) + L", " @@ -644,6 +648,36 @@ void ScenarioWebViewEventMonitor::InitializeEventView(ICoreWebView2* webviewEven .Get(), &m_navigationCompletedToken); + m_webviewEventSource->add_FrameNavigationCompleted( + Callback( + [this](ICoreWebView2* sender, ICoreWebView2NavigationCompletedEventArgs* args) + -> HRESULT { + BOOL isSuccess = FALSE; + CHECK_FAILURE(args->get_IsSuccess(&isSuccess)); + COREWEBVIEW2_WEB_ERROR_STATUS webErrorStatus; + CHECK_FAILURE(args->get_WebErrorStatus(&webErrorStatus)); + UINT64 navigationId = 0; + CHECK_FAILURE(args->get_NavigationId(&navigationId)); + + std::wstring message = + L"{ \"kind\": \"event\", \"name\": \"FrameNavigationCompleted\", \"args\": {"; + + message += L"\"navigationId\": " + std::to_wstring(navigationId) + L", "; + + message += L"\"isSuccess\": " + BoolToString(isSuccess) + + L", " + L"\"webErrorStatus\": " + + EncodeQuote(WebErrorStatusToString(webErrorStatus)) + + L" " + L"}" + + WebViewPropertiesToJsonString(m_webviewEventSource.get()) + L"}"; + PostEventMessage(message); + + return S_OK; + }) + .Get(), + &m_frameNavigationCompletedToken); + m_webviewEventSource2->add_DOMContentLoaded( Callback( [this](ICoreWebView2* sender, ICoreWebView2DOMContentLoadedEventArgs* args) @@ -680,13 +714,13 @@ void ScenarioWebViewEventMonitor::InitializeEventView(ICoreWebView2* webviewEven .Get(), &m_documentTitleChangedToken); - m_webviewEventSourceExperimental2 = m_webviewEventSource.try_query(); - if (m_webviewEventSourceExperimental2) { - m_webviewEventSourceExperimental2->add_DownloadStarting( - Callback( - [this](ICoreWebView2* sender, ICoreWebView2ExperimentalDownloadStartingEventArgs* args) + m_webviewEventSource4 = m_webviewEventSource.try_query(); + if (m_webviewEventSource4) { + m_webviewEventSource4->add_DownloadStarting( + Callback( + [this](ICoreWebView2* sender, ICoreWebView2DownloadStartingEventArgs* args) -> HRESULT { - wil::com_ptr download; + wil::com_ptr download; CHECK_FAILURE(args->get_DownloadOperation(&download)); BOOL cancel = FALSE; @@ -715,9 +749,9 @@ void ScenarioWebViewEventMonitor::InitializeEventView(ICoreWebView2* webviewEven CHECK_FAILURE(args->get_Handled(&handled)); download->add_StateChanged( - Callback( + Callback( [this, download]( - ICoreWebView2ExperimentalDownloadOperation* sender, + ICoreWebView2DownloadOperation* sender, IUnknown* args) -> HRESULT { COREWEBVIEW2_DOWNLOAD_STATE state; @@ -766,9 +800,9 @@ void ScenarioWebViewEventMonitor::InitializeEventView(ICoreWebView2* webviewEven download->add_BytesReceivedChanged( Callback< - ICoreWebView2ExperimentalBytesReceivedChangedEventHandler>( + ICoreWebView2BytesReceivedChangedEventHandler>( [this, download]( - ICoreWebView2ExperimentalDownloadOperation* sender, IUnknown* args) -> HRESULT { + ICoreWebView2DownloadOperation* sender, IUnknown* args) -> HRESULT { INT64 bytesReceived = 0; CHECK_FAILURE(download->get_BytesReceived( &bytesReceived)); @@ -790,9 +824,9 @@ void ScenarioWebViewEventMonitor::InitializeEventView(ICoreWebView2* webviewEven &m_bytesReceivedChangedToken); download->add_EstimatedEndTimeChanged( - Callback( + Callback( [this, download]( - ICoreWebView2ExperimentalDownloadOperation* sender, IUnknown* args) -> HRESULT { + ICoreWebView2DownloadOperation* sender, IUnknown* args) -> HRESULT { wil::unique_cotaskmem_string estimatedEndTime; CHECK_FAILURE(download->get_EstimatedEndTime(&estimatedEndTime)); diff --git a/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.h b/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.h index 44ee9041..f8fd5882 100644 --- a/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.h +++ b/SampleApps/WebView2APISample/ScenarioWebViewEventMonitor.h @@ -42,10 +42,11 @@ class ScenarioWebViewEventMonitor : public ComponentBase AppWindow* m_appWindowEventSource; wil::com_ptr m_webviewEventSource; wil::com_ptr m_webviewEventSource2; - wil::com_ptr m_webviewEventSourceExperimental2; + wil::com_ptr m_webviewEventSource4; // The events we register on the event source EventRegistrationToken m_frameNavigationStartingToken = {}; + EventRegistrationToken m_frameNavigationCompletedToken = {}; EventRegistrationToken m_navigationStartingToken = {}; EventRegistrationToken m_sourceChangedToken = {}; EventRegistrationToken m_contentLoadingToken = {}; diff --git a/SampleApps/WebView2APISample/SettingsComponent.cpp b/SampleApps/WebView2APISample/SettingsComponent.cpp index 3fd0365c..b2c45e60 100644 --- a/SampleApps/WebView2APISample/SettingsComponent.cpp +++ b/SampleApps/WebView2APISample/SettingsComponent.cpp @@ -19,12 +19,16 @@ static PCWSTR NameOfPermissionKind(COREWEBVIEW2_PERMISSION_KIND kind); SettingsComponent::SettingsComponent( AppWindow* appWindow, ICoreWebView2Environment* environment, SettingsComponent* old) : m_appWindow(appWindow), m_webViewEnvironment(environment), - m_webView(appWindow->GetWebView()) + m_webView(appWindow->GetWebView()) { CHECK_FAILURE(m_webView->get_Settings(&m_settings)); m_settings2 = m_settings.try_query(); m_settings3 = m_settings.try_query(); + m_settings4 = m_settings.try_query(); + m_settings5 = m_settings.try_query(); + + m_webViewExperimental = m_webView.try_query(); // Copy old settings if desired if (old) { @@ -50,20 +54,17 @@ SettingsComponent::SettingsComponent( CHECK_FAILURE(old->m_settings3->get_AreBrowserAcceleratorKeysEnabled(&setting)); CHECK_FAILURE(m_settings3->put_AreBrowserAcceleratorKeysEnabled(setting)); } - wil::com_ptr experimental_settings_old; - experimental_settings_old = old->m_settings.try_query(); - if (experimental_settings_old != nullptr) { - wil::com_ptr experimental_settings; - experimental_settings = m_settings.try_query(); - if (experimental_settings != nullptr) - { - CHECK_FAILURE( - experimental_settings_old->get_IsPasswordAutofillEnabled(&setting)); - CHECK_FAILURE(experimental_settings->put_IsPasswordAutofillEnabled(setting)); - CHECK_FAILURE( - experimental_settings_old->get_IsGeneralAutofillEnabled(&setting)); - CHECK_FAILURE(experimental_settings->put_IsGeneralAutofillEnabled(setting)); - } + if (old->m_settings4 && m_settings4) + { + CHECK_FAILURE(old->m_settings4->get_IsPasswordAutosaveEnabled(&setting)); + CHECK_FAILURE(m_settings4->put_IsPasswordAutosaveEnabled(setting)); + CHECK_FAILURE(old->m_settings4->get_IsGeneralAutofillEnabled(&setting)); + CHECK_FAILURE(m_settings4->put_IsGeneralAutofillEnabled(setting)); + } + if (old->m_settings5 && m_settings5) + { + CHECK_FAILURE(old->m_settings5->get_IsPinchZoomEnabled(&setting)); + CHECK_FAILURE(m_settings5->put_IsPinchZoomEnabled(setting)); } SetBlockImages(old->m_blockImages); SetReplaceImages(old->m_replaceImages); @@ -71,7 +72,9 @@ SettingsComponent::SettingsComponent( m_isScriptEnabled = old->m_isScriptEnabled; m_blockedSitesSet = old->m_blockedSitesSet; m_blockedSites = std::move(old->m_blockedSites); + EnableCustomClientCertificateSelection(); } + //! [NavigationStarting] // Register a handler for the NavigationStarting event. // This handler will check the domain being navigated to, and if the domain @@ -81,7 +84,7 @@ SettingsComponent::SettingsComponent( CHECK_FAILURE(m_webView->add_NavigationStarting( Callback( [this](ICoreWebView2* sender, ICoreWebView2NavigationStartingEventArgs* args) - -> HRESULT { + -> HRESULT { wil::unique_cotaskmem_string uri; CHECK_FAILURE(args->get_Uri(&uri)); @@ -128,8 +131,8 @@ SettingsComponent::SettingsComponent( //! [UserAgent] return S_OK; }) - .Get(), - &m_navigationStartingToken)); + .Get(), + &m_navigationStartingToken)); //! [NavigationStarting] //! [FrameNavigationStarting] @@ -138,7 +141,7 @@ SettingsComponent::SettingsComponent( CHECK_FAILURE(m_webView->add_FrameNavigationStarting( Callback( [this](ICoreWebView2* sender, ICoreWebView2NavigationStartingEventArgs* args) - -> HRESULT { + -> HRESULT { wil::unique_cotaskmem_string uri; CHECK_FAILURE(args->get_Uri(&uri)); @@ -148,8 +151,8 @@ SettingsComponent::SettingsComponent( } return S_OK; }) - .Get(), - &m_frameNavigationStartingToken)); + .Get(), + &m_frameNavigationStartingToken)); //! [FrameNavigationStarting] //! [ScriptDialogOpening] @@ -159,7 +162,7 @@ SettingsComponent::SettingsComponent( CHECK_FAILURE(m_webView->add_ScriptDialogOpening( Callback( [this](ICoreWebView2* sender, ICoreWebView2ScriptDialogOpeningEventArgs* args) - -> HRESULT { + -> HRESULT { wil::com_ptr eventArgs = args; auto showDialog = [this, eventArgs] { wil::unique_cotaskmem_string uri; @@ -201,8 +204,8 @@ SettingsComponent::SettingsComponent( return S_OK; }) - .Get(), - &m_scriptDialogOpeningToken)); + .Get(), + &m_scriptDialogOpeningToken)); //! [ScriptDialogOpening] //! [PermissionRequested] @@ -211,7 +214,7 @@ SettingsComponent::SettingsComponent( CHECK_FAILURE(m_webView->add_PermissionRequested( Callback( [this](ICoreWebView2* sender, ICoreWebView2PermissionRequestedEventArgs* args) - -> HRESULT { + -> HRESULT { wil::unique_cotaskmem_string uri; COREWEBVIEW2_PERMISSION_KIND kind = COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION; @@ -220,6 +223,22 @@ SettingsComponent::SettingsComponent( CHECK_FAILURE(args->get_Uri(&uri)); CHECK_FAILURE(args->get_PermissionKind(&kind)); CHECK_FAILURE(args->get_IsUserInitiated(&userInitiated)); + auto cached_key = std::tuple( + std::wstring(uri.get()), kind, userInitiated); + auto cached_permission = m_cached_permissions.find(cached_key); + if (cached_permission != m_cached_permissions.end()) + { + bool allow = cached_permission->second; + if (allow) + { + CHECK_FAILURE(args->put_State(COREWEBVIEW2_PERMISSION_STATE_ALLOW)); + } + else + { + CHECK_FAILURE(args->put_State(COREWEBVIEW2_PERMISSION_STATE_DENY)); + } + return S_OK; + } std::wstring message = L"Do you want to grant permission for "; message += NameOfPermissionKind(kind); @@ -228,23 +247,30 @@ SettingsComponent::SettingsComponent( message += L"?\n\n"; message += (userInitiated ? L"This request came from a user gesture." - : L"This request did not come from a user gesture."); + : L"This request did not come from a user gesture."); int response = MessageBox( nullptr, message.c_str(), L"Permission Request", MB_YESNOCANCEL | MB_ICONWARNING); + if (response == IDYES) + { + m_cached_permissions[cached_key] = true; + } + if (response == IDNO) + { + m_cached_permissions[cached_key] = false; + } COREWEBVIEW2_PERMISSION_STATE state = - response == IDYES - ? COREWEBVIEW2_PERMISSION_STATE_ALLOW - : response == IDNO ? COREWEBVIEW2_PERMISSION_STATE_DENY - : COREWEBVIEW2_PERMISSION_STATE_DEFAULT; + response == IDYES ? COREWEBVIEW2_PERMISSION_STATE_ALLOW + : response == IDNO ? COREWEBVIEW2_PERMISSION_STATE_DENY + : COREWEBVIEW2_PERMISSION_STATE_DEFAULT; CHECK_FAILURE(args->put_State(state)); return S_OK; }) - .Get(), - &m_permissionRequestedToken)); + .Get(), + &m_permissionRequestedToken)); //! [PermissionRequested] } @@ -273,9 +299,9 @@ bool SettingsComponent::HandleWindowMessage( MessageBox( nullptr, (std::wstring(L"JavaScript will be ") + - (m_isScriptEnabled ? L"enabled" : L"disabled") + - L" after the next navigation.") - .c_str(), + (m_isScriptEnabled ? L"enabled" : L"disabled") + + L" after the next navigation.") + .c_str(), L"Settings change", MB_OK); return true; } @@ -287,9 +313,9 @@ bool SettingsComponent::HandleWindowMessage( MessageBox( nullptr, (std::wstring(L"Web Messaging will be ") + - (!isWebMessageEnabled ? L"enabled" : L"disabled") + - L" after the next navigation.") - .c_str(), + (!isWebMessageEnabled ? L"enabled" : L"disabled") + + L" after the next navigation.") + .c_str(), L"Settings change", MB_OK); return true; } @@ -301,9 +327,9 @@ bool SettingsComponent::HandleWindowMessage( MessageBox( nullptr, (std::wstring(L"Status bar will be ") + - +(!isStatusBarEnabled ? L"enabled" : L"disabled") + - L" after the next navigation.") - .c_str(), + +(!isStatusBarEnabled ? L"enabled" : L"disabled") + + L" after the next navigation.") + .c_str(), L"Settings change", MB_OK); return true; } @@ -315,9 +341,9 @@ bool SettingsComponent::HandleWindowMessage( MessageBox( nullptr, (std::wstring(L"Dev tools will be ") + - (!areDevToolsEnabled ? L"enabled" : L"disabled") + - L" after the next navigation.") - .c_str(), + (!areDevToolsEnabled ? L"enabled" : L"disabled") + + L" after the next navigation.") + .c_str(), L"Settings change", MB_OK); return true; } @@ -391,8 +417,8 @@ bool SettingsComponent::HandleWindowMessage( MessageBox( nullptr, (std::wstring(L"Image blocking has been ") + - (m_blockImages ? L"enabled." : L"disabled.")) - .c_str(), + (m_blockImages ? L"enabled." : L"disabled.")) + .c_str(), L"Settings change", MB_OK); return true; } @@ -402,8 +428,8 @@ bool SettingsComponent::HandleWindowMessage( MessageBox( nullptr, (std::wstring(L"Image replacing has been ") + - (m_replaceImages ? L"enabled." : L"disabled.")) - .c_str(), + (m_replaceImages ? L"enabled." : L"disabled.")) + .c_str(), L"Settings change", MB_OK); return true; } @@ -477,26 +503,26 @@ bool SettingsComponent::HandleWindowMessage( } case ID_SETTINGS_PINCH_ZOOM_ENABLED: { - //! [DisablePinchZoom] + //! [TogglePinchZoomEnabled] + CHECK_FEATURE_RETURN(m_settings5); + BOOL pinchZoomEnabled; - wil::com_ptr experimentalSettings4; - experimentalSettings4 = m_settings.try_query(); - CHECK_FAILURE(experimentalSettings4->get_IsPinchZoomEnabled(&pinchZoomEnabled)); + CHECK_FAILURE(m_settings5->get_IsPinchZoomEnabled(&pinchZoomEnabled)); if (pinchZoomEnabled) { - CHECK_FAILURE(experimentalSettings4->put_IsPinchZoomEnabled(FALSE)); + CHECK_FAILURE(m_settings5->put_IsPinchZoomEnabled(FALSE)); MessageBox( nullptr, L"Pinch Zoom is disabled after the next navigation.", L"Settings change", MB_OK); } else { - CHECK_FAILURE(experimentalSettings4->put_IsPinchZoomEnabled(TRUE)); + CHECK_FAILURE(m_settings5->put_IsPinchZoomEnabled(TRUE)); MessageBox( nullptr, L"Pinch Zoom is enabled after the next navigation.", L"Settings change", MB_OK); } - //! [DisablePinchZoom] + //! [TogglePinchZoomEnabled] return true; } case ID_SETTINGS_BUILTIN_ERROR_PAGE_ENABLED: @@ -521,59 +547,67 @@ bool SettingsComponent::HandleWindowMessage( //! [BuiltInErrorPageEnabled] return true; } - case ID_SETTINGS_PASSWORD_AUTOFILL_ENABLED: + case ID_SETTINGS_PASSWORD_AUTOSAVE_ENABLED: { - //! [PasswordAutofillEnabled] - wil::com_ptr experimental_settings3; - experimental_settings3 = m_settings.try_query(); - CHECK_FEATURE_RETURN(experimental_settings3); + //! [PasswordAutosaveEnabled] + CHECK_FEATURE_RETURN(m_settings4); + BOOL enabled; - CHECK_FAILURE(experimental_settings3->get_IsPasswordAutofillEnabled(&enabled)); + CHECK_FAILURE(m_settings4->get_IsPasswordAutosaveEnabled(&enabled)); if (enabled) { - CHECK_FAILURE(experimental_settings3->put_IsPasswordAutofillEnabled(FALSE)); + CHECK_FAILURE(m_settings4->put_IsPasswordAutosaveEnabled(FALSE)); MessageBox( nullptr, - L"Password autofill will be disabled after the next navigation.", + L"Password autosave will be disabled after the next navigation.", L"Settings change", MB_OK); } else { - CHECK_FAILURE(experimental_settings3->put_IsPasswordAutofillEnabled(TRUE)); + CHECK_FAILURE(m_settings4->put_IsPasswordAutosaveEnabled(TRUE)); MessageBox( nullptr, - L"Password autofill will be enabled after the next navigation.", + L"Password autosave will be enabled after the next navigation.", L"Settings change", MB_OK); } - //! [PasswordAutofillEnabled] + //! [PasswordAutosaveEnabled] return true; } case ID_SETTINGS_GENERAL_AUTOFILL_ENABLED: { //! [GeneralAutofillEnabled] - wil::com_ptr experimental_settings3; - experimental_settings3 = m_settings.try_query(); - CHECK_FEATURE_RETURN(experimental_settings3); + CHECK_FEATURE_RETURN(m_settings4); - BOOL enabled; - CHECK_FAILURE(experimental_settings3->get_IsGeneralAutofillEnabled(&enabled)); - if (enabled) - { - CHECK_FAILURE(experimental_settings3->put_IsGeneralAutofillEnabled(FALSE)); - MessageBox( - nullptr, L"General autofill will be disabled after the next navigation.", - L"Settings change", MB_OK); - } - else - { - CHECK_FAILURE(experimental_settings3->put_IsGeneralAutofillEnabled(TRUE)); - MessageBox( - nullptr, L"General autofill will be enabled after the next navigation.", - L"Settings change", MB_OK); - } + BOOL enabled; + CHECK_FAILURE(m_settings4->get_IsGeneralAutofillEnabled(&enabled)); + if (enabled) + { + CHECK_FAILURE(m_settings4->put_IsGeneralAutofillEnabled(FALSE)); + MessageBox( + nullptr, L"General autofill will be disabled after the next navigation.", + L"Settings change", MB_OK); + } + else + { + CHECK_FAILURE(m_settings4->put_IsGeneralAutofillEnabled(TRUE)); + MessageBox( + nullptr, L"General autofill will be enabled after the next navigation.", + L"Settings change", MB_OK); + } //! [GeneralAutofillEnabled] return true; } + case ID_TOGGLE_CLIENT_CERTIFICATE_REQUESTED: + { + EnableCustomClientCertificateSelection(); + MessageBox( + nullptr, + (std::wstring(L"Custom client certificate selection has been ") + + (m_ClientCertificateRequestedToken.value != 0 ? L"enabled." : L"disabled.")) + .c_str(), + L"Custom client certificate selection", MB_OK); + return true; + } case ID_SETTINGS_BROWSER_ACCELERATOR_KEYS_ENABLED: { //! [AreBrowserAcceleratorKeysEnabled] @@ -585,23 +619,55 @@ bool SettingsComponent::HandleWindowMessage( { CHECK_FAILURE(m_settings3->put_AreBrowserAcceleratorKeysEnabled(FALSE)); MessageBox( - nullptr, L"Browser-specific accelerator keys will be disabled after the next navigation.", + nullptr, + L"Browser-specific accelerator keys will be disabled after the next " + L"navigation.", L"Settings change", MB_OK); } else { CHECK_FAILURE(m_settings3->put_AreBrowserAcceleratorKeysEnabled(TRUE)); MessageBox( - nullptr, L"Browser-specific accelerator keys will be enabled after the next navigation.", + nullptr, + L"Browser-specific accelerator keys will be enabled after the next " + L"navigation.", L"Settings change", MB_OK); } //! [AreBrowserAcceleratorKeysEnabled] return true; } + case ID_SETTINGS_SWIPE_NAVIGATION_ENABLED: + { + //! [ToggleSwipeNavigationEnabled] + wil::com_ptr experimentalSettings5; + experimentalSettings5 = m_settings.try_query(); + CHECK_FEATURE_RETURN(experimentalSettings5); + + BOOL swipeNavigationEnabled; + CHECK_FAILURE( + experimentalSettings5->get_IsSwipeNavigationEnabled(&swipeNavigationEnabled)); + if (swipeNavigationEnabled) + { + CHECK_FAILURE(experimentalSettings5->put_IsSwipeNavigationEnabled(FALSE)); + MessageBox( + nullptr, L"Swipe to navigate is disabled after the next navigation.", + L"Settings change", MB_OK); + } + else + { + CHECK_FAILURE(experimentalSettings5->put_IsSwipeNavigationEnabled(TRUE)); + MessageBox( + nullptr, L"Swipe to navigate is enabled after the next navigation.", + L"Settings change", MB_OK); + } + //! [ToggleSwipeNavigationEnabled] + return true; + } } } return false; } + // Prompt the user for a list of blocked domains void SettingsComponent::ChangeBlockedSites() { @@ -683,28 +749,28 @@ void SettingsComponent::SetBlockImages(bool blockImages) [this]( ICoreWebView2* sender, ICoreWebView2WebResourceRequestedEventArgs* args) { - COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext; - CHECK_FAILURE(args->get_ResourceContext(&resourceContext)); - // Ensure that the type is image - if (resourceContext != COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE) - { - return E_INVALIDARG; - } - // Override the response with an empty one to block the image. - // If put_Response is not called, the request will continue as normal. - wil::com_ptr response; - wil::com_ptr environment; - wil::com_ptr webview2; - CHECK_FAILURE(m_webView->QueryInterface(IID_PPV_ARGS(&webview2))); - CHECK_FAILURE(webview2->get_Environment(&environment)); - CHECK_FAILURE(environment->CreateWebResourceResponse( - nullptr, 403 /*NoContent*/, L"Blocked", L"Content-Type: image/jpeg", - &response)); - CHECK_FAILURE(args->put_Response(response.get())); - return S_OK; + COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext; + CHECK_FAILURE(args->get_ResourceContext(&resourceContext)); + // Ensure that the type is image + if (resourceContext != COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE) + { + return E_INVALIDARG; + } + // Override the response with an empty one to block the image. + // If put_Response is not called, the request will continue as normal. + wil::com_ptr response; + wil::com_ptr environment; + wil::com_ptr webview2; + CHECK_FAILURE(m_webView->QueryInterface(IID_PPV_ARGS(&webview2))); + CHECK_FAILURE(webview2->get_Environment(&environment)); + CHECK_FAILURE(environment->CreateWebResourceResponse( + nullptr, 403 /*NoContent*/, L"Blocked", L"Content-Type: image/jpeg", + &response)); + CHECK_FAILURE(args->put_Response(response.get())); + return S_OK; }) - .Get(), - &m_webResourceRequestedTokenForImageBlocking)); + .Get(), + &m_webResourceRequestedTokenForImageBlocking)); } else { @@ -733,31 +799,31 @@ void SettingsComponent::SetReplaceImages(bool replaceImages) [this]( ICoreWebView2* sender, ICoreWebView2WebResourceRequestedEventArgs* args) { - COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext; - CHECK_FAILURE(args->get_ResourceContext(&resourceContext)); - // Ensure that the type is image - if (resourceContext != COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE) - { - return E_INVALIDARG; - } - // Override the response with an another image. - // If put_Response is not called, the request will continue as normal. - wil::com_ptr stream; - CHECK_FAILURE(SHCreateStreamOnFileEx( - L"assets/EdgeWebView2-80.jpg", STGM_READ, FILE_ATTRIBUTE_NORMAL, - FALSE, nullptr, &stream)); - wil::com_ptr response; - wil::com_ptr environment; - wil::com_ptr webview2; - CHECK_FAILURE(m_webView->QueryInterface(IID_PPV_ARGS(&webview2))); - CHECK_FAILURE(webview2->get_Environment(&environment)); - CHECK_FAILURE(environment->CreateWebResourceResponse( - stream.get(), 200, L"OK", L"Content-Type: image/jpeg", &response)); - CHECK_FAILURE(args->put_Response(response.get())); - return S_OK; + COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext; + CHECK_FAILURE(args->get_ResourceContext(&resourceContext)); + // Ensure that the type is image + if (resourceContext != COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE) + { + return E_INVALIDARG; + } + // Override the response with an another image. + // If put_Response is not called, the request will continue as normal. + wil::com_ptr stream; + CHECK_FAILURE(SHCreateStreamOnFileEx( + L"assets/EdgeWebView2-80.jpg", STGM_READ, FILE_ATTRIBUTE_NORMAL, + FALSE, nullptr, &stream)); + wil::com_ptr response; + wil::com_ptr environment; + wil::com_ptr webview2; + CHECK_FAILURE(m_webView->QueryInterface(IID_PPV_ARGS(&webview2))); + CHECK_FAILURE(webview2->get_Environment(&environment)); + CHECK_FAILURE(environment->CreateWebResourceResponse( + stream.get(), 200, L"OK", L"Content-Type: image/jpeg", &response)); + CHECK_FAILURE(args->put_Response(response.get())); + return S_OK; }) - .Get(), - &m_webResourceRequestedTokenForImageReplacing)); + .Get(), + &m_webResourceRequestedTokenForImageReplacing)); } else { @@ -805,6 +871,54 @@ void SettingsComponent::SetUserAgent(const std::wstring& userAgent) } } +// Turn off client certificate selection dialog using ClientCertificateRequested event handler +// that disables the dialog. This example hides the default client certificate dialog and +// always chooses the last certificate without prompting the user. +//! [ClientCertificateRequested1] +void SettingsComponent::EnableCustomClientCertificateSelection() +{ + if (m_ClientCertificateRequestedToken.value == 0) + { + CHECK_FAILURE(m_webViewExperimental->add_ClientCertificateRequested( + Callback( + [this]( + ICoreWebView2* sender, + ICoreWebView2ExperimentalClientCertificateRequestedEventArgs* args) { + wil::com_ptr certificateCollection; + CHECK_FAILURE(args->get_MutuallyTrustedCertificates(&certificateCollection)); + + UINT certificateCollectionCount = 0; + CHECK_FAILURE(certificateCollection->get_Count(&certificateCollectionCount)); + + wil::com_ptr certificate = nullptr; + + if (certificateCollectionCount > 0) + { + // There is no significance to the order, picking a certificate arbitrarily. + CHECK_FAILURE(certificateCollection->GetValueAtIndex(certificateCollectionCount - 1, &certificate)); + // Continue with the selected certificate to respond to the server. + CHECK_FAILURE(args->put_SelectedCertificate(certificate.get())); + CHECK_FAILURE(args->put_Handled(TRUE)); + } + else + { + //Continue without a certificate to respond to the server if certificate collection is empty. + CHECK_FAILURE(args->put_Handled(TRUE)); + } + return S_OK; + }) + .Get(), + &m_ClientCertificateRequestedToken)); + } + else + { + CHECK_FAILURE(m_webViewExperimental->remove_ClientCertificateRequested( + m_ClientCertificateRequestedToken)); + m_ClientCertificateRequestedToken.value = 0; + } +} +//! [ClientCertificateRequested1] + void SettingsComponent::CompleteScriptDialogDeferral() { if (m_completeDeferredDialog) diff --git a/SampleApps/WebView2APISample/SettingsComponent.h b/SampleApps/WebView2APISample/SettingsComponent.h index a4972714..c3f7665c 100644 --- a/SampleApps/WebView2APISample/SettingsComponent.h +++ b/SampleApps/WebView2APISample/SettingsComponent.h @@ -38,6 +38,7 @@ class SettingsComponent : public ComponentBase void ChangeUserAgent(); void SetUserAgent(const std::wstring& userAgent); void CompleteScriptDialogDeferral(); + void EnableCustomClientCertificateSelection(); ~SettingsComponent() override; @@ -48,6 +49,9 @@ class SettingsComponent : public ComponentBase wil::com_ptr m_settings; wil::com_ptr m_settings2; wil::com_ptr m_settings3; + wil::com_ptr m_settings4; + wil::com_ptr m_settings5; + wil::com_ptr m_webViewExperimental; bool m_blockImages = false; bool m_replaceImages = false; @@ -55,6 +59,9 @@ class SettingsComponent : public ComponentBase bool m_changeUserAgent = false; bool m_isScriptEnabled = true; bool m_blockedSitesSet = false; + bool m_raiseClientCertificate = false; + std::map, bool> + m_cached_permissions; std::vector m_blockedSites; std::wstring m_overridingUserAgent; std::function m_completeDeferredDialog; @@ -66,5 +73,5 @@ class SettingsComponent : public ComponentBase EventRegistrationToken m_webResourceRequestedTokenForUserAgent = {}; EventRegistrationToken m_scriptDialogOpeningToken = {}; EventRegistrationToken m_permissionRequestedToken = {}; + EventRegistrationToken m_ClientCertificateRequestedToken = {}; }; - diff --git a/SampleApps/WebView2APISample/ViewComponent.cpp b/SampleApps/WebView2APISample/ViewComponent.cpp index 888a6b12..0e684813 100644 --- a/SampleApps/WebView2APISample/ViewComponent.cpp +++ b/SampleApps/WebView2APISample/ViewComponent.cpp @@ -6,6 +6,7 @@ #include "ViewComponent.h" #include "DCompTargetImpl.h" +#include "AppStartPage.h" #include #include @@ -53,6 +54,41 @@ ViewComponent::ViewComponent( &m_zoomFactorChangedToken)); //! [ZoomFactorChanged] + CHECK_FAILURE(m_webView->add_NavigationStarting( + Callback( + [this](ICoreWebView2* sender, ICoreWebView2NavigationStartingEventArgs* args) + -> HRESULT { + wil::unique_cotaskmem_string newUri; + CHECK_FAILURE(args->get_Uri(&newUri)); + + wil::unique_cotaskmem_string oldUri; + CHECK_FAILURE(m_webView->get_Source(&oldUri)); + + std::wstring appStartPage = AppStartPage::GetUri(m_appWindow); + + if (wcscmp(appStartPage.c_str(), newUri.get()) == 0) + { + // When navigating to the app start page, make the background color + // transparent so the background image for WebView2 shows through. + // Save the previous background color to restore when navigating away. + COREWEBVIEW2_COLOR transparentColor = { 0, 255, 255, 255 }; + wil::com_ptr controller2 = + m_controller.query(); + CHECK_FAILURE(controller2->get_DefaultBackgroundColor(&m_webViewColor)); + CHECK_FAILURE(controller2->put_DefaultBackgroundColor(transparentColor)); + } + else if (wcscmp(appStartPage.c_str(), oldUri.get()) == 0) + { + // When navigating away from the app start page, set the background color + // back to the previous value. If the user changed the background color, + // m_webViewColor will have changed. + wil::com_ptr controller2 = + m_controller.query(); + CHECK_FAILURE(controller2->put_DefaultBackgroundColor(m_webViewColor)); + } + return S_OK; + }).Get(), &m_navigationStartingToken)); + m_controller3 = m_controller.try_query(); if (m_controller3) { @@ -385,14 +421,13 @@ void ViewComponent::Resume() //! [DefaultBackgroundColor] void ViewComponent::SetBackgroundColor(COLORREF color, bool transparent) { - COREWEBVIEW2_COLOR wvColor; - wvColor.R = GetRValue(color); - wvColor.G = GetGValue(color); - wvColor.B = GetBValue(color); - wvColor.A = transparent ? 0 : 255; + m_webViewColor.R = GetRValue(color); + m_webViewColor.G = GetGValue(color); + m_webViewColor.B = GetBValue(color); + m_webViewColor.A = transparent ? 0 : 255; wil::com_ptr controller2 = m_controller.query(); - controller2->put_DefaultBackgroundColor(wvColor); + controller2->put_DefaultBackgroundColor(m_webViewColor); } //! [DefaultBackgroundColor] @@ -867,6 +902,7 @@ void ViewComponent::DestroyWinCompVisualTree() ViewComponent::~ViewComponent() { + m_webView->remove_NavigationStarting(m_navigationStartingToken); m_controller->remove_ZoomFactorChanged(m_zoomFactorChangedToken); if (m_controller3) { diff --git a/SampleApps/WebView2APISample/ViewComponent.h b/SampleApps/WebView2APISample/ViewComponent.h index 48ae7968..5acd3558 100644 --- a/SampleApps/WebView2APISample/ViewComponent.h +++ b/SampleApps/WebView2APISample/ViewComponent.h @@ -90,9 +90,11 @@ class ViewComponent : public ComponentBase wil::com_ptr m_dropTarget; float m_webviewAdditionalRasterizationScale = 1.0f; COREWEBVIEW2_BOUNDS_MODE m_boundsMode = COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS; + COREWEBVIEW2_COLOR m_webViewColor = { 255, 255, 255, 255 }; EventRegistrationToken m_zoomFactorChangedToken = {}; EventRegistrationToken m_rasterizationScaleChangedToken = {}; + EventRegistrationToken m_navigationStartingToken = {}; bool OnMouseMessage(UINT message, WPARAM wParam, LPARAM lParam); bool OnPointerMessage(UINT message, WPARAM wParam, LPARAM lParam); diff --git a/SampleApps/WebView2APISample/WebView2APISample.rc b/SampleApps/WebView2APISample/WebView2APISample.rc index 5b4d745f..eb0ce33d 100644 --- a/SampleApps/WebView2APISample/WebView2APISample.rc +++ b/SampleApps/WebView2APISample/WebView2APISample.rc @@ -35,6 +35,7 @@ IDI_WEBVIEW2APISAMPLE ICON "WebView2APISample.ico" IDI_SMALL ICON "small.ico" +IDI_WEBVIEW2_BACKGROUND BITMAP "AppBackground.bmp" ///////////////////////////////////////////////////////////////////////////// // @@ -106,8 +107,9 @@ BEGIN MENUITEM "Toggle DevTools enabled", ID_SETTINGS_DEV_TOOLS_ENABLED MENUITEM "Toggle Block images", ID_SETTINGS_BLOCKALLIMAGES MENUITEM "Toggle Replace images", ID_SETTINGS_REPLACEALLIMAGES - MENUITEM "Toggle Password Autofill", ID_SETTINGS_PASSWORD_AUTOFILL_ENABLED + MENUITEM "Toggle Password Autosave", ID_SETTINGS_PASSWORD_AUTOSAVE_ENABLED MENUITEM "Toggle General Autofill", ID_SETTINGS_GENERAL_AUTOFILL_ENABLED + MENUITEM "Toggle Client Certificate Requested", ID_TOGGLE_CLIENT_CERTIFICATE_REQUESTED MENUITEM "Toggle pinch zoom enabled", ID_SETTINGS_PINCH_ZOOM_ENABLED POPUP "JavaScript Dialogs" BEGIN @@ -121,6 +123,7 @@ BEGIN MENUITEM "Toggle zoom control enabled", ID_SETTINGS_ZOOM_ENABLED MENUITEM "Toggle built-in error page enabled", ID_SETTINGS_BUILTIN_ERROR_PAGE_ENABLED MENUITEM "Toggle browser accelerator keys enabled", ID_SETTINGS_BROWSER_ACCELERATOR_KEYS_ENABLED + MENUITEM "Toggle swipe navigation enabled", ID_SETTINGS_SWIPE_NAVIGATION_ENABLED END POPUP "&View" BEGIN @@ -201,7 +204,10 @@ BEGIN POPUP "Custom Download Experience" BEGIN MENUITEM "Use Deferred Download Dialog", IDM_SCENARIO_USE_DEFERRED_DOWNLOAD - MENUITEM "Complete Deferred Download", IDM_SCENARIO_COMPLETE_DEFERRED_DOWNLOAD + END + POPUP "Client Certificate Requested" + BEGIN + MENUITEM "Use Deferred Custom Client Certificate Selection Dialog", IDM_SCENARIO_USE_DEFERRED_CUSTOM_CLIENT_CERTIFICATE_DIALOG END END POPUP "&Help" @@ -250,6 +256,17 @@ BEGIN EDITTEXT IDC_EDIT_DESCRIPTION,14,18,281,33,ES_MULTILINE | ES_AUTOHSCROLL | ES_READONLY END +IDD_CERTIFICATE_DIALOG DIALOGEX 0, 0, 375, 175 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Dialog" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",ID_CERTIFICATE_OK,198,154,50,14 + PUSHBUTTON "Cancel",ID_CERTIFICATE_CANCEL,318,154,50,14 + LISTBOX IDC_CERTIFICATE_LIST,25,36,167,100,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "Static",IDC_CERTIFICATE_STATIC,198,37,155,96 + LTEXT "Static",IDC_CERTIFICATE_LBL,24,17,232,11 +END ///////////////////////////////////////////////////////////////////////////// // @@ -274,6 +291,13 @@ BEGIN TOPMARGIN, 7 BOTTOMMARGIN, 144 END + IDD_CERTIFICATE_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 368 + TOPMARGIN, 7 + BOTTOMMARGIN, 168 + END END #endif // APSTUDIO_INVOKED diff --git a/SampleApps/WebView2APISample/WebView2APISample.vcxproj b/SampleApps/WebView2APISample/WebView2APISample.vcxproj index e133d4a9..fde3fd69 100644 --- a/SampleApps/WebView2APISample/WebView2APISample.vcxproj +++ b/SampleApps/WebView2APISample/WebView2APISample.vcxproj @@ -389,6 +389,7 @@ + @@ -400,6 +401,7 @@ + @@ -419,6 +421,7 @@ + @@ -428,6 +431,7 @@ + @@ -458,6 +462,7 @@ + @@ -496,9 +501,6 @@ $(OutDir)\assets - - $(OutDir)\assets - $(OutDir)\assets @@ -509,13 +511,13 @@ - + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - + \ No newline at end of file diff --git a/SampleApps/WebView2APISample/WebView2APISample.vcxproj.filters b/SampleApps/WebView2APISample/WebView2APISample.vcxproj.filters index ef1158be..1750fa59 100644 --- a/SampleApps/WebView2APISample/WebView2APISample.vcxproj.filters +++ b/SampleApps/WebView2APISample/WebView2APISample.vcxproj.filters @@ -93,6 +93,12 @@ Source Files + + Source Files + + + Source Files + @@ -179,6 +185,12 @@ Header Files + + Header Files + + + Header Files + @@ -200,9 +212,6 @@ - - Resource Files - @@ -212,6 +221,9 @@ Resource Files + + Resource Files + diff --git a/SampleApps/WebView2APISample/assets/AppStartPage.html b/SampleApps/WebView2APISample/assets/AppStartPage.html index 56ddb7f8..8794e71b 100644 --- a/SampleApps/WebView2APISample/assets/AppStartPage.html +++ b/SampleApps/WebView2APISample/assets/AppStartPage.html @@ -1,5 +1,5 @@  - + Microsoft Edge WebView2 @@ -8,12 +8,6 @@ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } - .logo-background { - background: url("AppStartPageBackground.png") no-repeat center fixed; - background-color: #e0e0e0; - background-size: cover; - } - .border-box-model { box-sizing: border-box; } diff --git a/SampleApps/WebView2APISample/assets/AppStartPageBackground.png b/SampleApps/WebView2APISample/assets/AppStartPageBackground.png deleted file mode 100644 index 21adb0162b27a27d1b66a741d8d09a470ce2cc95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62111 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 Toggle Client Certificate Requested` +3. Expected: Message Box that says `Custom client certificate selection has been enabled.` +4. Click `OK` inside the popup dialog. +5. Navigate to . +6. Expected: Server responds with 400 Bad Request (No required SSL Certificate was sent) if client certificate is not installed on the user's machine. +7. Close the sample app. +8. Navigate to from a browser to download client certificate required to access site.\ +![Download-Client-Certificate](screenshots/download-client-certificate.png) +9. Click badssl.com-client.p12 from the list and confirm download has begun. +10. Go to the badssl.com-client certificate from the downloads. +11. Double click on the above downloaded badssl.com-client.p12 certificate. +12. Expected: Windows popup with title Certificate Import Wizard.\ +![Install-Client-Certificate](screenshots/install-client-certificate.png) +13. Select `Current User` from the store location in the popup and click `Next`. +14. Browse for the above downloaded client certificate location if not selected by default. +15. Click `Next`. +16. Type `badssl.com` in the password textbox and click `Next`. +17. Click `Next` again and click `Finish` button in the popup to finish certificate installation on Windows OS. +18. Expected: Message Box that says `The Import was successful.` +19. Click `Ok`. +20. Repeat steps 1-5 above. +21. Expected: Server authenticates the user and displays as below.\ +![Success-Client-Certificate](screenshots/success-client-certificate.png) + #### Toggle Block images Test that enables/disables image blocking @@ -553,62 +587,62 @@ Test that enables/disables general autofill _General autofill is enabled by default._ 1. Launch the sample app. -2. Navigate to (Use this third party site to verify). -3. Enter in any test information into the Profile Autofill section and click submit. -4. Navigate to . -5. Click on the Name field. -6. Expected: A drop down box with the saved profile information is shown. -7. Click on the box. -8. Expected: The profile information is autofilled. -9. Go to `Settings -> Toggle General Autofill` -10. Expected: Message Box that says `General autofill will be disabled after the next navigation.` -11. Click `OK` inside the popup dialog and click `Reload`. -12. Repeat step 5. -13. Expected: No drop down box appears. -14. Repeat steps 3-5. -15. Expected: No drop down box appears. -14. Go to `Settings -> Toggle General Autofill` -15. Expected: Message Box that says `General autofill will be enabled after the next navigation.` -16. Click `OK` inside the popup dialog and click `Reload`. -17. Repeat step 5. -18. Expected: A drop down box with the original saved profile information is shown. -19. Click on the box. -20. Expected: The profile information is autofilled. +1. Navigate to (Use this third party site to verify). +1. Enter in any test information into the Profile Autofill section and click `Submit`. +1. Repeat step 2. +1. Click on the Name field. +1. Expected: A drop down box with the saved profile information is shown. +1. Click on the box. +1. Expected: The profile information is autofilled. +1. Go to `Settings -> Toggle General Autofill` +1. Expected: Message Box that says `General autofill will be disabled after the next navigation.` +1. Click `OK` inside the popup dialog and click `Reload`. +1. Repeat step 5. +1. Expected: No drop down box appears. +1. Repeat steps 3-5. +1. Expected: No drop down box appears. +1. Go to `Settings -> Toggle General Autofill` +1. Expected: Message Box that says `General autofill will be enabled after the next navigation.` +1. Click `OK` inside the popup dialog and click `Reload`. +1. Repeat step 5. +1. Expected: A drop down box with the original saved profile information from step 3 is shown. +1. Click on the box. +1. Expected: The profile information is autofilled. -### Toggle password autofill enabled +### Toggle password autosave enabled -Test that enables/disables password autofill - _Password autofill is enabled by default._ +Test that enables/disables password autosave + _Password autosave is disabled by default._ 1. Launch the sample app. -2. Go to `Settings -> Toggle Password Autofill` -3. Expected: Message Box that says `Password autofill will be disabled after the next navigation.` +2. Go to `Settings -> Toggle General Autofill` +3. Expected: Message Box that says `General autofill will be disabled after the next navigation.` 4. Click `OK` inside the popup dialog and click `Reload`. 5. Navigate to (Use this third party site to verify). -6. Enter in any test information into the Username/Password section and press submit. +6. Enter in any test information into the Username/Password section and click `Submit`. 7. Expected: The app navigates to and no save password prompt is shown. -8. Navigate to . -9. Click on the Username field. -10. Expected: No drop down box appears. (note: if password information has previously been saved when the password autofill has been enabled, a drop down box will appear.) -11. Go to `Settings -> Toggle Password Autofill` -12. Expected: Message Box that says `Password autofill will be enabled after the next navigation.` +8. Repeat step 5. +9. Click on the username field. +10. Expected: No drop down box appears. (note: if password information has previously been saved when the password autosave has been enabled, a drop down box will appear.) +11. Go to `Settings -> Toggle Password Autosave` +12. Expected: Message Box that says `Password autosave will be enabled after the next navigation.` 13. Click `OK` inside the popup dialog and click `Reload`. 14. Repeat step 6. 15. Expected: The app navigates to and a save password prompt will popup. -16. Click Save. -17. Repeat step 8. -18. Expected: See the username and password information is autofilled. +16. Click `Save`. +17. Repeat step 5. +18. Expected: See the username and password information is auto-populated. 19. Click on the username field. 20. Expected: A drop down box with the saved password information is shown. -18. Go to `Settings -> Toggle Password Autofill` -19. Expected: Message Box that says `Password autofill will be disabled after the next navigation.` -16. Click `OK` inside the popup dialog and click `Reload`. -17. Delete the information from the username and password fields and enter in new test information and click submit. -18. Expected: No save password prompt is shown. -19. Repeat step 8. -20. Expected: Only the information entered from step 13 is autofilled. -21. Repeat step 9. -20. Expected: Only one drop down box is shown with the saved password information entered from step 14. +21. Go to `Settings -> Toggle Password Autosave` +22. Expected: Message Box that says `Password autosave will be disabled after the next navigation.` +23. Click `OK` inside the popup dialog and click `Reload`. +24. Delete the information from the username and password fields and enter in new test information and click submit. +25. Expected: No save password prompt is shown. +26. Repeat step 5. +27. Expected: Only the information entered from step 14 is auto-populated. +28. Repeat step 9. +29. Expected: There is not an additional drop down box that has been added. ### Toggle browser accelerator keys enabled @@ -628,33 +662,27 @@ Test that enabled/disables browser accelerator keys 1. Click `OK` inside the popup dialog and click `Reload`. 1. Press `Ctrl-F` on the keyboard. 1. Expected: A search box appears in the upper-right corner of the webpage. -======= -4. Click `OK` inside the popup dialog and click `Reload`. -5. Navigate to (Use this third party site to verify). -6. Enter in any test information into the Username/Password section and press submit. -7. Expected: The app navigates to and no save password prompt is shown. -8. Navigate to . -9. Click on the Username field. -10. Expected: No drop down box appears. (note: if password information has previously been saved when the password autofill has been enabled, a drop down box will appear.) -11. Go to `Settings -> Toggle Password Autofill` -12. Expected: Message Box that says `Password autofill will be enabled after the next navigation.` -13. Click `OK` inside the popup dialog and click `Reload`. -14. Repeat step 6. -15. Expected: The app navigates to and a save password prompt will popup. -16. Click Save. -17. Repeat step 8. -18. Expected: See the username and password information is autofilled. -19. Click on the username field. -20. Expected: A drop down box with the saved password information is shown. -18. Go to `Settings -> Toggle Password Autofill` -19. Expected: Message Box that says `Password autofill will be disabled after the next navigation.` -16. Click `OK` inside the popup dialog and click `Reload`. -17. Delete the information from the username and password fields and enter in new test information and click submit. -18. Expected: No save password prompt is shown. -19. Repeat step 8. -20. Expected: Only the information entered from step 13 is autofilled. -21. Repeat step 9. -20. Expected: Only one drop down box is shown with the saved password information entered from step 14. + +#### Toggle Swipe Navigation enabled + +Test that enables/disables Swipe to navigate +_Swipe left/right to navigate is enabled by default._ + +1. Launch the sample app on a device with touch screen +1. Navigate to +1. Swipe right +1. Expected: WebView navigate back to the start up page +1. Swipe left +1. Expected: WebView navigate back to +1. Go to `Settings -> Toggle Swipe Navigation enabled` +1. Expected: Message Box that says `Swipe to navigate is disabled after the next navigation.` +1. Click `OK` inside the popup dialog and click `Reload` +1. Swipe right +1. Expected: WebView doesn't navigate on swipe left/right. +1. Go to `Settings -> Toggle Swipe Navigate enabled` +1. Expected: Message Box that says `Swipe to navigate is enabled after the next navigation.` +1. Click `OK` inside the popup dialog and click `Reload` +1. Verify that swipe to navigate works again. ### View @@ -806,7 +834,7 @@ _It is disabled by default. Tabbing behavior should be identical whether this is 1. Launch the sample app and go to `Scenario -> Testing Focus` 1. Click address bar -1. Press `Tab` twice (-> `Go` -> fiirst element in WebView) +1. Press `Tab` twice (-> `Go` -> first element in WebView) 1. Expected: See the focus is set to First Active Element button in the WebView. 1. Press `Shift+Tab` 1. Expected: See the focus is set to `Go` with the dotted line. @@ -974,12 +1002,31 @@ Test that demonstrates cookie management related APIs usage such as `GetCookies` 3. Follow the instructions on the page #### NavigateWithWebResourceRequest + 1. Launch sample app. 2. Go to **Scenario** > **NavigateWithWebResourceRequest** 3. On the opened dialog box enter `test` as post data and click OK. 4. Verify WebView2 navigated to `https://www.w3schools.com/action_page.php` and `input=test` is displayed in the text box under `Your input was received as:`. +#### ClientCertificateRequested + +1. Close sample app if it is open and re-launch. +2. Go to `Scenario -> Client Certificate Requested -> Use Deferred Custom Client Certificate Selection Dialog`. +3. Expected: Message Box that says `Custom Client Certificate selection dialog will be used next when WebView2 is making a request to an HTTP server that needs a client certificate.` +4. Follow steps 8-19 from [Toggle Client Certificate Requested](#Toggle-Client-Certificate-Requested) if client certificate is not installed, otherwise skip this. +5. Navigate to . +6. Expected: A custom dialog box with title `Select a certificate for authentication` and certificate/s in the list box. +7. Select a certificate from the list. +8. Expected: Certificate details (Subject, ValidFrom, ValidTo and Certificate Kind) are displayed towards right side of the list box. +9. Click `OK`. +10. Expected: Server authenticates the user and displays as below.\ +![Success-Client-Certificate](screenshots/success-client-certificate.png) +11. Close sample app and re-launch. +12. Repeat steps 2-6 above. +13. Click `Cancel` in the dialog box. +14. Expected: Dialog box is closed and server responds with 400 Bad Request (No required SSL Certificate was sent). + ### Help #### About ... @@ -1028,9 +1075,9 @@ Verify that language and conflicting configuration works Verify that we don't offer saving password. 1. Launch the sample app. -2. Load https://www.w3schools.com/Tags/tryit.asp?filename=tryhtml5_input_type_password, ignore any iframe navigation failure messages during the test. +2. Load , ignore any iframe navigation failure messages during the test. 3. Type in some test email and password, like test@example.com and 12345678 in Email and Password field on the right part of the page. -4. Click `Submit` button, the page should show the inputed values. +4. Click `Submit` button, the page should show the inputted values. 5. Make sure that there is no browser prompt for saving password with strings like `Microsoft Edge will save and fill your password for this site next time`. 6. Reload the page, ignore any iframe navigation failure messages during the test. 7. Ensure that the fields are not auto filled. @@ -1042,8 +1089,8 @@ Verify that we don't offer saving password. Verify that the `NewWindowRequested` event is fired when opening a link in new window from PDF. 1. Launch the sample app. -2. Load https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf. +2. Load . 3. Go to `Scenario -> Event Monitor` to begin tracking events. 4. Scroll to the second page of the PDF and right click on the first link to open the context menu. 5. Click on 'Open link in new window'. -6. Expected: Even Monitor displays `NewWindowRequested`. +6. Expected: Event Monitor displays `NewWindowRequested`. diff --git a/SampleApps/WebView2APISample/documentation/screenshots/download-client-certificate.png b/SampleApps/WebView2APISample/documentation/screenshots/download-client-certificate.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce236d12c15b6626462c87c087d076b8a4538cb GIT binary patch literal 26274 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

=qYLI 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 @z2bBwaURUR7yVSj64G4mVC0??byCrM>Wr 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 literal 0 HcmV?d00001 diff --git a/SampleApps/WebView2APISample/documentation/screenshots/install-client-certificate.png b/SampleApps/WebView2APISample/documentation/screenshots/install-client-certificate.png new file mode 100644 index 0000000000000000000000000000000000000000..25387b0a4b2f8c2acbcd26c5bb84d553669ddf86 GIT binary patch literal 15212 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 A$N&HU literal 0 HcmV?d00001 diff --git a/SampleApps/WebView2APISample/documentation/screenshots/script-debugging-reg-key.png b/SampleApps/WebView2APISample/documentation/screenshots/script-debugging-reg-key.png index 9882df638bbba1f97c02971e94c44e205be7b94f..27923f662c6b9ec607bb674c621404fe0518b961 100644 GIT binary patch literal 19850 zcmbrmby!s27dJWvN{Uj0pn{a-AX3txG|~-2NJzub9ZD!IInp7GfW*KIse^!YcR6%- z4f!7Yet-Ay?X~v)tj}6wsEU#d5k3_@2m~UMla*8hfpGeO z>qgw0z|UHTS_KeDQB_V-Lc?QXvjLm(sLeBT+`n_Hr>Cn_hI@TCtF&C0YRf}-#$b}F z-&?p&?Ar)&QoQWVdWp}sJ>;t2nY9}%bmYjk(=o?_WOqJDGD9a&>LkCMCwvlrfA^jd|!G<-@gf>qlRuXG^wJ_~l-MY5Z+q zS|HF5#4KW}1geg}yo|K5QJDR997I3P66-&^DFz;kxceaJr_2IBnt z90bZV`OiZTh@9K)#y@`m0 zu1AhRZF_LoNEJ7CV6lezHc6-?U5xB4I4Dyey|_a8_m1K3Lunpt<-zA0_aXn>%3l9^ zg#^(;|6Tzv0S|&;H^h;j|K|fd%uNt3_#c^nUwaA#^!a}m016`buTcR-{}DhW?bLb` z8fJnUw;VNWZEAW^7kD^4qOnsX~Ox>_!w zzC5!a_53)b)?(`Qp1D$8=%ioy5s3gfk8*pl`(+8TzqN^?>}e6(3-G5oR%=rwgYu7R z0&N4M`n{V44BHOHzaoZ291-O#+0RjjO3SRZM`-O5j@J?;6zR(OJszg67VI%Kd3Ksm z8U6awZUbEBk+r;6ZqQ9_`ntF4zfw~fpkVgbLhj^OmJMO%W!WPnkb$~CYm=o%Shkd#1`gd1JGopmhkK{? z+*@N)CJ#P;e2x5+q9wPCqF<#*g!PNCsP(?IlB1f8Y>be6p5{3`yH!CCow)0|-@z*A z!dYx&R(^|rnK^m=oNqRdaU%xSU*ALY9;PZnFWrG6D}6=3r*4n9APXY+0m6f?B=D?H zh;Vwm;*9tx@!qJ0p^1yiO(zm&)zp=1Na}24R3%o28ky#{B4S~MP7Uqn<-KfH6X3N_ z!C7+!R{OFVldBmx^Y zP>H(b!27s$M$i0EUF)*&mVhY^bh z(m6hWs}rao&6bM#K5HKGX@$a6j~&c889Qp!)-fD=RBEAsP0|y)3x(rq8+-X^(NgEE zP!(iBN1sM<%Q9)C=5EA8wYnk|WKdnlCBhYIu4?Hg;E<5AJEN&1)?E@-JNQMrECkXQ zkYnYVT0gN;?Kf5y`3)A6ut19so=?&~*({Yr$}a636{~O7VvT&*$`&ZB?e0U?v^m|Y zmPX?XU*UoQ^WP@`TiE{2uQ*0L<#xw*5P+M@Xky_cQW+zct6MJI;-Oot6&di}LSa(v zQ44B93|(1OOR&O{bMvrVugp=neYLeFGt@;>WJ7OA^D*DyaEtW^47I`Ai};8sM>e%* zx7eVPip6ZFe5fs108C=A73v#bJ_!4!RK(Uh_vUzf|*S z5CIy;*fLn*DJne-UP$O3DaYU0S)kBoVmz5PSPC7ONBAIliZK#jMi}zrAsZvKO4{nPG*ajMNQYUu zmXK%^B1D5xcwHT$%>s>=dK}s3h=}u5lZmEjff;CyD4R|XvczuK=MuTHLO;B_3PGmS zDmqaOA3csRiAUa(h;hj=61T6_zm1mP;IP>f zsvqk;j1@*SZ`j&o!BmA?I(T`_*Fpx~~Dn^E&O#?*xH^tozg@PKTOv2J zMg;dgY{)mKLeq-&#CJ6{rgR?GY7&4kMa(G9j!@B(2BXU2r4PvP`OxRj zxuDsy%u6f=Ey3YMgw8eytWVAigYyb2aQl2dQInlZUpx7}25w6($znh{Lu3 z2c0{3-g-nq{>_ur?kg1m=n2Xu)K!q`iiV?($epGmqcWOA2;wZS--8|<@0*2HIw#1QL*1Ec2F?ETe-U6 zRct4}Hl;U44Owh*n8U5jA=kn;^%w{aaRTtK`WZ4oen4v7zEn`oKiWB&V=rRRbI6`N0@KFcIy4C1`h4`_FdFpMYT2;t zyi`|_h4tujMk;jKm;ROJPRdRCp&{9VO%M30rhcx1FP~~zQ1uAqL#i6oRpOt>ju2d_x z=iI&`;5?X2nYFaykSd8>Fw9$eK+9>jf2cRjYlAVl`Yi9s)e>s{WNI&Upsf`3ly!fT zA|v2H^H&9mc|So;Bqw#rCFB4;@j}lthPkE4c}w1oZY2?PI~jKGjX}I_a-}gwXU7%d$C&W!}cczn_8*aoT&g3eESGva=I(9fB6jiuv+}l z`-AuLz;-Le60%}5BZU@O_tKKeBSYmaCnE4e@w_MRn>Refm{9Jizs$GsG;o5Cf-$kf zkFfLs^6^<&S_(aFO30UC;53cn-a>FaL8u$;A*uadiL6Mq?0KB)UwcHo%Y?>Pn!Qdt zl`N8ak+Q&7)W7W=Vzd^dSiJR7Yr8-LxnPvHl*0CpK@d05Eznr|tYtszNqHy1A1s$l#Egv60Vv>S1~{&FxKw zo=T`uS;DF(vY1$^J8JA2-*X5{w3L6RM-L6U3WO*WHOEbR)+fMRrk@dYyzkZ=R(_3@ z35?U{V=4J6U26VtP-0i4`PXd?}WewgACR$XUkDz&5!qSw#C&W=O3R=zK`L*;@AduJF4`2^@ zzL45{H6Mm|W4J|i5<>~gm!`mmN3Ih{;?v44>{*m7$1JE`vTegH1~ zTv`)B7_?4qt2fxNUjKd;CpcWasETNG(iLOE-rk4{wj%1^M*Y>c8ZAYc+qk36WJsp8 zC;nDFj1;i$IPx8&MpLGN8l9`2bBds*0vAwXIVm5f zQGZ6lE_mXbRFFD6LpL!djr0`FC(dnh<^<4@D(M=v{*ln&@YPfTLQ|gVr-kc?N#&;) z6Xtf4VL8JPbDK{#P>GStNe;0atHqzzMi#nWGHcMLN%wXW<~qhUtZN9o{LmIwQDCQs zwjWB|L+8Rw3+jdLJR81+p{q~4dHAbOFu_;3+Uv`NQKL`fzIAZ80k@hVazT{s0R$At z2DNRh9l^B86s}s+BF|jH?uu zWiN^G7yzvV-91aLNTr_P{Vv2&o51p>lV2S&X-LX|y zZLaN6$AS5|fu8I&E%qn*v|N^h2_=x#mP98q;Zm2~W@^POST~iy50re6!ucJ~i~A5Q zUIwqB;kDIa&5~CQf^+Q{V6UbLpNosEqlJD8D{!Q3(~LahAj{V>45`)Q5Tg;(6A=_T z8eTtdr-K;x*Yy>h^ZNGnB_E_%p6qD>n4~0({)r%iU4eOq+3~xT_p(%)qnd3^uyDST zG~F$wOA_i4c+zpPmHj_QX;N@FMj)3>PP@-A_aJfZDO)d#&j$V+isHLa|{t5}_4J4dTAe$=UYZ@$z|O z!4~A-RI|lY^1Y|JC~z>Ncf=gF`wG`NixLGA7c8>hq!$G#EF*eVWj}AE>eN_cOjKW+ z3}$Ah*1r6jH|neX_@id}AoRtO{?|>ECLPo^j5(z;PnSja8iWiDTVt_iUpsP3H3WVE zam6?z>2d1KK_lg$!<=7qs%tz|w>PaZq_TV@$m7j@vA|}jp}+kLF%ogi^;%N-?O>4) zJ(vKV+Q}n)(=0d5zhSN}uOy?^0%|CiY-75tpW*X+O*%@}DeOs|)-H5$);@(4X40JJ zWGJQKJ+jDhlpsf5VG;y?m%DbNE)Z6khDu z6v@@RJaG}00YSXkIJ@G{mwOz^V8^CRGwqh_hYuhDxkY0Xf6+()0X#Ew_k)tF@R}Qv z%H}AcC(=TFsSpwpuCL5v(eYgMCvCW%;D?&857l%Ae@Q7D)zSOiUJ4#6l0^RcD7A1$ zb~^-CUhp(_kL>O%1%t9{?B?{E@8vWZghGn!ox+0pa=Z~DhY)cr>myoNmY?&&MFDB) zNBO29Y5d;0;$mU7A5|m$Kt}Zf5n{n&W@Bcm{!@S_udoguT?Nz(Hk_Sg|quM*{hRmW}Ci`{D( zEx6?~Et@0C%L!0p;z&Y8)@lZ8fB%QylmCcQ{oH$0s@JeXvZ(x&&_Pa~qBi^9jw^l4 z>0~`E6qJdNaoP>G&rLFDC1k_T$%7SoPYW)SCuG2cT&-%R6*$?yN#be8m--66u}B%b z?OGY#h1ZTDor#>6vtF2=6a*|BA*sCr5_SvV-a;0CP7|)J+?I5FViTo+0fD*+KYDiQ%P; z*m2Xre5H}sT0@!t6>k@y7W?!68hHS1-rn4Kb>Mr|xgL0sdwg+qFwgC;b~QfVTjGaB z@N-?uy=FrHBUc3%o-%rN)y8>#bpgK2;7#kis_41;nsMfTu(T?6UYr5(ezzE{)%4!; z1}Ff7gSjbwmptH<5F{f06nZ&Id=oPu8|m-k*>Lr2{rn2MeSUS4ezont+2BW+1+}@11}rnV&Fw7V8&Rn}Nnb3e3=K3CI;j=AL3*~Uu9^>(B1$M0>BI; zSa9t(D>tk#PO}3auhg9rvQttDcelk1M)BuKdRR|sQqYUe4rf>0>z87l%~uX7s~L?L z|E>3rFmuDNQQ4F|bDpL1?DwS}7%~CQY-}v?Ki3oR6K@)y6NUAgy?cwtfmb2u#pp@& zBC+4nm7BA1rvLSDWQxW< z`(Er893uB*&a6|A&vOry_|ih>DT&F_1UZL5pbIjHk=39+X22_4TMUTc=RA)!ia6MX zF|p+I5-ve{LT<0#3-)XyK=cgIEx$iM#XQ$F7ND2S-V(5>UIdXsjyBaQ|LEyeZH(We zZ<<50O&6J3NS(99sM-PnMZv34O-fS!--g94+g1QN$A^|}P6}L={Issz>^YEK% z^j_Z#zuaMSziPXxs6Of_M;ctC10&yp%!ZzeL5XPYL{vZ1u51NX06r}q^bO$$pRtgKPW49 zD3(DF%~94#c-YS?y(V3QgA?i!=%bba=AQ?FRB~Z*auoW@*92^1 zU2%r|Y9TTy3CXyOX^k@ZLQUYJViy!%=$-5#L!x{uKl_zfaCn7$3e|G`r`sqZArN6c ztUVb%3!sjsv$5n|?Wo~ouf^l!Rf6t=GyCr14Pp0gMbe>qnpzz* z2lN1(a8BSy4KfA=g{zh62*3dfG*7I^gVptw0Mk<2yEa#fjF0Q#ORYB_YfxiMJoe=p zO+)kFtE*;}p&17Sep{tRKEPwRo&oCb3{cp_iFq48|KW1ZT0i=WI`_b9kKGorjl$6R zbR~Uk&N<4NDR)#;mPS(gX%@agE^tJA0#=(+7Nhnuz}_4!B|xvq0!=-5Gu1_!yC4i5 zpVG+;v_1~WFMd^|E!xflV`V+iM&_{9<~WYH8{VG0`J;~jZZm2Tl`dRq*E=L;KZD&} z*g77$m=p8&o+G|I>1^`e=P>dx=~gU`zWCXDE`9pJ5II&wM4*eTLb!%l!f5wXZh-Dc zBgZZah0ram6<@IB+V)RMVfO5O5(wXBb`p(g2PRB}Jur_sPFP_B5f;M)xP31d zl2!@eko-$w*M+gRxVkIH{T^n!Nrd}Z&-ARPeT&fc)kRIy*?ITX^3?@4#Q{4PXVVC4 z^B;i_*nR3W8UCC*`K1&Ot}z2qV#$7h1EQ3~sGXDz6M(~io20Lgtara(M(DYf)T!;m za-B`z-zz#4QmTGuJu`lL@JC_6^Uvs(sh7(K{#}3-V7Ty%lCzdt;!D51%7%BRa;H2b zwoG)AzHpY2!()$-FhlvIm8^Sy1Y-Rr2AH_%>G2@@*d@7xe04Jp9rTC2xaS#}2A#dlCiO~vTJv%?%ChS1%J*++BI$Sn`71kVzlC7UX3kv!; zG1-OzJo%1%VMq0Ur=n1x=ht`%f3?3?lArFm66$c-;*UM5J*4>*y*R9%%*V&0MA}@I z_=%I#`*cEyrAR1^ez>*j#x|)1PzT}DR1~r|kKn9HLKWB!`B15XfZ$mQZu|M^9wqv$w z3Q)*vWc_}nE8FbJuG@CNc>TH0#jL|vwRdxm@66BnO8%vg^9d|DP)x?WkVG@`O{qP7 zP2wCuw{MgHi|L8P5iDp4QsCJ_zSA+2eL<8OhA#q!l+T7HtS2t>_Q*%m{WAg&(qnai z)9;XY``mV#t*mS~2_9XuF@`jaJ_|Rx`jfz`ewP@iqXL5r2w_OHA>)*g(ADxJ$LHq3 z;kMVY$H5F8auq5uWw`eBJ_F1^XoQMF1k}AsUBa2l!d3F-YBlINJDPEBt|ff?Y7Xvj z`OBbu4}tW={-F`|S{>%sZaix3>2>4yWCIX-Kn*$M4br7Hm*wFc(^9J!`Q7f#M@$xf z2V#ZBE0CF4mswK1Bqy(BgT~qz4M$+U;6yqXM_JI5$X+iP3FHA70zJXj9?$BW^(fEk z*LZb**!>HBgF1iUg9CzxBoIFts68zL-xl`*eF3e~Cy3~e{GcDqAAmgO$Gsv)Ecwj1 z@oxb1isPb#uRpN_;2>rFy&_MPKJW?h`jc=j!!r=bI0wL}gnD;*Io%$haY713Z-FEi z2;frT6sm6k1ZzCjXMP_depgfed$PSyeMx&hE!3Fu`gLF%17PM~x$*a`z57d&O${Y+ zF*ln591eN`Kyr|A)qlZX;PRip{tqYxa33h3ALtkO56;b8M=!R_4(?K`>D?|z6k9cVhfuV z{v!$S6>;K~_b}c03_tJ7p-H%#FcqQGc*V)UNFApG!5tLz%(fjdtzc0v^X?eZRKC57 zx~1Hse1TH~xNSN0U6g|2q;u&-43t8+$kaOP5vz z1S_mSnV6W6oq$A;uM7v2>De>wQYgxLxaij1d+{RZ!r{wy&G#_8)XtR4gIa)(*=VyGalCUa)YSQII=c&DnISbbb@8wWcJ?p@*`pIM@3ouC`lx1qd8x@& zX5?ZRCY7%5ZoPYJ)LLo!P)(?M%)v!>X};**`nW|W3(pySvV(7|hUy~NzN9>O-7~R9 zvOM9kLP%d1`Un*91%`4otroYoeR64PN8O6Lo-$zp%&LCB#I_Qc@Wt6NToBzZi>xO( zKilwL=AZTijL>;)1V0B_sHiur)!W0Zw;~Vbnca)d9X5^fpV^WeeNi^)74o)n_F80bJcWQu5g%b zBte^NDj-um1WvY-+3nHg=G7OWw)6P-v-Io{QU8PQNy0 zQB5P;M4!Ce1QY-(PhgkF44fSQ`gNN${Mv+fl#tA6oih#I;rQ?bMa*89|D4QasP;Mc zcIu?ZSuhZD6SXIM)!wCB$nA-qyYJjM((r;h_ZsoR2A@d@+*OWkd*o|UxY`bb;OrZn zHQdxa1)eMC&gAdnQqx_ugYV@y8J7$U6Pv2ew3z7sZCwHA`F++3bZ!jg@^vTE^H1p9 zpFacdYL^)rym!WHUQG9B7u(JDKWDr;i0-vRihR+m@>G3UyfV>q)~qYVe*{UHywb@C z3O8Ym(Ja&LU$1^LW3qyRuXnodSrf=JfBbb%PLRDoAI*4%V)k)dq9B{Z$J_+K0|#`8 zBa{G+dvoP_Si)?W6>Oz13+Zh2-J&=B6*^a-e({9hau4z4`N7_Id`d z1^K1{U(I$uPyzV5_W3Y*P-H*5S$~5GFVv~6(pp);(mO{@RuG+A<=Fq2*&rEx79&{r zudWRbAaxFxPWEK;H}W zk`SkzRX3|O0bJ&k4yxz)vTEAIs!RaTG^UPpdo?+**I)(|Fiw~7ZNf&_F4V$jijUoE^hp+w1m4}G{2_}Ezw?op2C@iM zYMi2)aoV{1-dO;(wDGJa?d-q?JYhr58?11@)!eO@-uWyMzT&!^MFLTpto9fY8vO<% z^MM-IMr<<8HP-8iFxPCbN9TMRw}C6_Sfc6m5(DYJg&~n7$5~@qfVM#j{y_??X({RU z3_w6t$Ip|#ty@%#U`yWE-F37uL31=!>#FLhgLz8K#?tGdu@&bkLFXxo$G;J;>px^2(cIR;sJboOuG z?OFV_#!WLjlB`LF52uajyv1GjB$Wt_WIrz3;)Fo01zpgL4g$u5J&&jBQ(Mn+d;_f} z`D>`%zv4bA9_MLfc2(TY+N;ndOWyf3P)CZTE>qbB$~5;O%`DIgE|>W%=lxoOO~XZx z2oL`Omcepd_nBeQ!nL0iM_-=_8#dj2g*0Q+(rYMWeJkq*vYH=h6;a4;)GHwx?`LVB zc6s-Sza)yvg`gG(lYQmHqW5QpCWenDL>#H{JeL_*i398pRH}~W61~OgU|IUChxdK{ znuo26fag!5&Bv#P_%GJm@bTcU)WclZaKY=m?mSU;wy}^%m}>Pjil`PGM;oI4!mRR0 zrh-0MerlzceOQjow7dksYPfJUG~=Rrc04&-|8k)%3Y|ON9nl0|OZ_yOgs+Ayw zq`~rpQ6{JR;|(x`d@S+K&z;03A`M_2ure9@(M>)}&HDLbs1ov4^K}F5>SVN0U4{xNxO3`Fep*g3>Vz zg#{yICHP?k0sWcYrcC!C1_E?;qJ*Web_juiS!nj1HZ+E#7b}xaG_VU+_V=&>9RKzG zRz@ahqDxTcP@D)kWOt{;P#2@-fiUeP;-DygGT2>CA`?(>99Q&o;A;4sxK_%AUQ=U+KfPj^NtY3`yIeQ2Q+ zMoIO{dfr*tz**+vw-)+@0Bj`2lWl>PqQ{rV1rHW}LWF$Z)hZHOy!}8=A+6;%Zh+g5y&JHY9-_46m5>1 z=}#}LNNRo=9CO4rINv|bA5Zx*8&`rP&>ow~)Gz3bm5=x2@3Gn?bI97`Q|Y56m@y@t zWHZ$-hA<>>mEmZCzokr>zf;Rt9kASgdjgnrXsAfDc&^%fw$ZocuZri>w2v=-77{xM zoW%^1LEL$QJE!|Q`uINthn>Ri%wE z(SwLqw#v_HG5@%^2|9PzVLu{k07&Ma81}_!wi?qoG<~@nk#FQ2$iJ|%|6KXNWG3`8 zm3^@eckOqW>Lb4Xr?e3!SHa&)HKy&tShI!)q*oGEnFc*pCVR{tgR4BugB1(| zQ%8}?LGaiyz5Q>W5GC_Tv|}ia@1?hRDA-aKtd^lvfL~?6l2TJ6CKLZbBmK)4^xYVa zkLgFz!b1Kl<8e)mi*NLi&?%}C!UnT<#{-Elfj$~cc9Px@kcJ4|XrXHd08;AEr$_34 z^ow8YQk}UqY&=!hlm4Q(6c|*;%9PI2k(;MW$P)HMUA;s^(~Rx9_K+J7kN*;4CiINjz4 z`z%2PDr8sN2a2+I*aQCGOtUe+3n#vwYRf7g4sg&!=lR(Fs>K~p_}cyPEeV9E+J0Iu z(hdLt&X+M3AIh(_BNlUZYc|M&;Zd+o3>iN3QVCM{)-Tr^r7HcZzlRQJQGE5FU)TK^ zYNXs6KYlA`ulM!CmR659j(l=iq3)V*kSl0#n>MffyqJ4wX5!WLrcPhr0@!56x` z%JNQBa`OYiCg)$0UhA2~ktMrmO9hAfRVc6j-n~T-rEmPtGUdQ_xo;VEp&8v1=;o8T zD9}=3DEfWyV57)r+84{Hr!>7$#@iLJx6=N~!3usaKTgqPAreOACQ@HT8*t_sI3=#n zm5a_Hbe~HoQL{}9%_ZE2P!Lr_?#kNPPQc#W(lK2%iWzN(;@i)YGMyp>xgptYnZ5 z(C5vSpodJ*N?0hroJDfA~+&l$!`WQ@_ZcGWPe=gxFrGHX^rAAq!7QZ0<(a!4|rTv>#4 zP)lbOUGd(9=wQ;wVJUf9;~_MQCDp90pbZ!Lp( zUxIIocuYYuBiJN2!F+C%cs>@(sxn4j-M1-6BH43O=p&1#WE(1AlfPSe% zPT$%DMWMiYZV{+KZ%uh9y?!HifBC1S9Sd*jcEzthqv?f(# zU7b^WNina2cJ-=sJWTkCD&Wj?5S!nWr%YlTEn(Id9yjUDyWY;>_aXhN18lYHI7NRZ zDSr{~yjiAi;F<8b&fWo~htP{CLQDW00yMqUXqD4Bu(M{FKEjf;3b-V*ITXf>-9J1?S(ISend1Ni6EMo(5EfjyI>w3|Q#ZZ^dS9f=%3>3T9&7x)cT{wE! z9c86xdvwT$=2VgjdP8fo4fdy|<_agctf-moKP%vYhgDs`C3f$J%?Bsa(64nxZ7lb1 zTo(xgVD02URIh%3ap4Tha$G%6r?%~PewHd}fP+bP{f?uT?8lNlvu1pmX#Qo9cQg_yJyNKUssWT`P^WC;$GtTo5D(K7Q^3r1Y8udQf(!~LcU&g< zm~s!8bDwuD1Zw|Cm#e{X7e(ZrI_t6=+#Swok2>31Xwa^n^>}5^&g|KHZ-v?F9j0;@hkL|JWDZv47Z;J3&uy;k=itHOtBk zzE*8t0bYY6oYSu1Y_Hn*b0?xV5jxr6(&}yIw!KGv_9R1SXW@Lv2&Mpho22+U2?u`P zJrGCMFJ*WQi(Mp&UCbm*&(?kypj>eB+)HP}(83J>iQ^)j4jbMZt(VW1h;Dtc@=x|3@TBh+reZ=2#d;s|-q~|7!_fWhezt->!2f91%(}ZS-x_u2 zNZWnV_@Il`%XaHWTyPX-*v8b<6jA%^s?INNiNxe5or$4ve%O+rX^EK4$RqBn|CLb* z(oVgoTw{%``^IGP%`DdQKij?FPt>&v!}LP5?h5hnbbMV-`?6qpvtf#5y6_PT|azywVm8iXq>2clebi&O3Ro_`PXzWH=dwn zRFt|JGN-i5?lH%%BPunSyYS(iQ%ZMw0ck08E@Mxs#?QO24cF{riWB3X0vnhhKru#+ z-z+TmJc&lw{Yy!}(2Ff#qw_z3#9h?ijG7u_x}}ldZ1LgR=cHnL%Jp*@p376Mlbp7- z`vW5_@S167*EZi#H__*nHmh%Fp^3+uNJ;fjd>3p&AavtnO^yY(rX?wlb{0%3*O|39 zXUo#OIRF>_4nwe|rHYvYXBgiBz5;}TC1qp)iP8LDSG^;JtlvQs7@g079covZ0-bf6 z{Cw$O(@%zxv)Kl9%3u9bxC{kf%yVM%{eA44ubGPOaI~(}sM`!p4{L3?`}ovl+bIK- zOg;2l?K%FuiAa6RbKXK5wA8LAHg%1=-*Cnl7hL{??I~0qN(9&;K30kaN_Ca~<%@AD z(Afa`A&v_tXVda2?^fiWuJXI^3bezEiE_sKT9bMbHy@-v87Q^xT@=K!S>ak1X3SsaE0a*@ZcM&oy$XMp?P2KS_OswiAs0?Idbj- zcE{K^{|gy(A2`_5D|#6D1LXi>tX-@TEq3(!Y7GBsh}uF7yM`jFF>(&gB67!49)0 zYZRowCS6huX5ZXn%HCYlC*iK__7TaI=B1--{vdt5+KXMLnFJk zJk9K9_ejt!*1Q-k|4FM!ie9hfGf`?+Z#%3Y4}T7oNIZZj(vy^g z=7P$7<(inFC&UNzHwBuow<-vJ}9G{O1>;A+*m5mv@ZhNW4{-N} zz0|PS_Eb476yax>RcOo!T~E5vNfDztE|C3Kpcl_MX8}eW=mVKki~xJjIvh2$KJ#b_ z$$9|LQEDC4x6!#Gz$EqoE~tF3OQz=_-v|i4BU*cV?ubrA+Hp;AX9d8npN>XrPS)@# zvUC^~kLGpG_P?yY_0WqO&1ey!l$FY-9yWJZHn{E~C5GgZH_yQKowzRiI?Px}A%!mX zUbQg*{oF+4s6i0sPbxzI8hHc9740J5ZaBJ5yI#kWCeUw0qIkTASQ{8UXzvNTlkZD?` z@$C`2+)E;MNV{C9)}n-$xEqYSDSub#FTHEwCPoI);PGG4Zy<#jR#8?~Z`%zox~G+! zI11(zlfX$JEbUpsy=Z~OXUQ6nK%g~dTkmL&;1_JyspJWu2heM8OE~SZ0zG{FQ5w&S z3EE08=+JGi)Weq)wx;-Umml-XzNEeQLpIU3VZosAGXHL}MvS_T?yiBG98w1y)1E13@vpfD{+sN%gCRM8H+b&K z?D5fxN6v6x`;k{fU#FkOyp)gd*(vL$BdSE(zJ)WYdrkPM-$01+NtfRTzYoUGO6);K zPjtQ*=>-uGigQ>a26m?ll4oFD_Vp~s8m6>G-CBCcoKywJ>(DvcNu>9mr}1kQJ4FMT zyvUg&Ewtw@+I%;m-MbV4X0^tL%Pi-ouav`f6$9^kF+kbt7Fy>m%lHplzY3e6Qs?$J zHY)VdE!CeQW)FHEk{RUUE&`-&`2z^cBuVZ!SbHAQSq>lGs_@#0Li#0fb5f?&hxDVb zdSzXqMof|-rLwW{VhA-6-WD97ULuVY4@SsV#%;8f7Ju1|Gk9D*VXKJ?|BZ^T;CK(S z0*HqHQ_7*JD}+m+U97O|RqlGn5*b`(Qhcb60cgGcT?HSYhq_$H7Ptf^M`YC=<=n3K zWhE|^MJjSMVJRM$ieW`vjP(qa)0TUJsN}r3;X?3tW^kJrKbq`G$TyAQca>lOs$To< zBi|XZfk!h=D^^#(EB8O9i(uFFd#ZvvTS@>TMB$wqryU;r*2M!za-kI9x8;%x>$@$Dy)T{0EWW!noFy67eQJiEDJ# zM0%2c{-al#_K1g$s-kg+*{2nkb8GX6l?82vV_``ShP+)NTOO z;r}z6&~+mx|1d2i~j&eH1uk*9I7$#KFcdsFNVGCOU({iM&0%$UIDYl&@I?8Dk z=u&0L)=|Zm?CiQeGwxoO^}eU(Fpan&z| z#krAx)xUp+;3|@gVY6yoiMUkGF0Co@=LQXU2>MyFF%JU4aHf=iH9|7tOu%t91zq$2~u=ab- zsvNt;@Y}h;3eL}dS|;k9f0uA*EG;TpO`Y)Za_q1Dv2fVooUFi9BU}+uEDy9gOTMi( zlU|gi-_=y;xDVvrK>PEjUNyHMh54uRELTK*q?kDtqeNGN=Q86R4LfUwuUeh`w54mr z6O4k5S@Ua`^6$i&ebsn5p6=+ARI<^Q^fI%%SGdJpby3t6&9p6y<9m5vB?*styvGEg zIE1tfvek!Q>ul%DTK$+BEESaSSW4prYtC54F`-vd_HY+Vw8Uhzt*LkRd|2qMx`ACa zfZ~7>$p4n4_%0r#Fp|R~TBd{q9U$Qk0jfu6QKE+3C0?C>PmIIbb~ZFloonhm<4r$@ z%3N_~)DB#1U1|DQ<5-xRd|1V~^0BF_wysxtaBa!B*cf@ZG28@0Cngu($z}C;5$h5* zyTtrzGNJNW__a6Q!2rqdyScSGj=(u0XWRaFX|P>0Qt9IE5hH*(xmemsto7d!dhh&j zSZl5f2Ec;Q!D$4heJtqK7Z`E%ul18TUgx78vZ5$`gp@9l2a~IRTG4D*jvu zJq>j#Y$_lMvMRIU$SNF5GGIPt5$&CN()7aSbkd+ghYbFd0-~9kV?YT0Nsb>4d|?P{ zZmz0-K%ZKKk0PgOA?Mx88`s#(6JG8cez)EP6tDi9@i2KJ+ESUacMUV1S(e(1#@Huh zYlPVXUmLyi6`pjOpeyoBp9#8mHwNy3ry|WQRTF?Y%Pmr)PzB@qYJ4OYv!zI2|S# zUgbOvZ~Z1y)XirMlntkNuYRQr4i0j2b61UB=l)!{V8*v0(wD#UDJz~rjcJ3!l?-uh z<`N&7;K21XzaGY=MACleRe};r1;@<`$)}h{%x|%Bho97tvPuJU zP5`ljQDtReOPNp;M~>a@PB=>(!R)nWYoyrG244eYv=k?_1F8Y7xYo)$=`>f>NsxH0 zg}WADg4o<#*7Nl!?J#sta8;y{8uxi>Vs8*kl&R%OeP^S%fb5(0zPraECg<5Rzy%GG zDa`x!EpSN>4_usy3R(XhmGUTpJoCC|6BHJgZbas$5si)Xyw7!YPrm9g=#+5BjKrw1jgH)G0SG@n+;_-X9oDFzF-*vn9R> z%&dhBmnVEo%*Z)hBzpkilVKU~@X`}uDB$o!=kC3IpI$t+{o{<{JxsUCQdN60!+x6v zXf^l|-0A!feFNxQ*C}Y|ig4=ZAb9+Zuq3rejH34mP4t#ts_xw9yq5*@UXRQO=!m5>R$Ep27=@Md+|>N-`bT|9dp~)myXp4OiZ5y zp$9vZ)lw^ifYYlAiWzA9lUhMCLLpJ2G)gB#wLE2OHh*kX^Rl)y!9K$fG0sYHZ5~|s z69RZ23Rr=k$1f(gdqQ00G;Hpmx`#7K=NKu&?03~>C#2kH!tUvff4&7;n(c0$pezet zO(M??4xiP#@R@>r9_w!vG7{@u5)PiNU&!X3AWZ}-JU_^))b7?TyjP;@pzjk~k(wJ6 zZjiNz2j)a@Pd|pG(EKvt|jBFK2W_6@ikqMK~BA_ zF!7q7bEe*U*|gdNbZ!_;IUO&ydzaZZU9I&nj=FI)Y>B+6w7_o6v@IQp3Gg3AVw>w- zZh|5NUo${`BAr!BpO&})v>sq))R!;6CGmHM){lNWA1(Pf9RLfkQQ#%*@^F){RP<0sH}lD?bRz2$pwO{m=S@%3BdL@k0q^gS>< zFxy-Y<30Yz07JyeR1r=eX$~%kS>EWz;$F+Y+f38EI7D@IFu9*U(^xg%4^TXbE%53Y zUr+t#zZWMg6iPP@1?NRx)VX6LeWQCHdpH5Ik$+|1q<}QOlO+5r`h&>>p1}$kbGTj6 zj!y(F^tAORC1x+#A8465(7!zJ)^_t>M=t@w0o#-Y1w!3$0-^7Y*?|V0^6M@ju^l3N z0nm?6mEZpcJ%|w3mm2dzKtO<(SMz6-Qo~vXbTb3Gnqj!E+~j}p=a|!8*T-sai*0hN zp_U$Sdf(&MmEKQK*OZRW<&V+7y5IXxGmyVD@{N)b&~M}PKMFbbxTMZ7j=SZujgs2AH3DDX(eHO%|9eO(CZ=FQf(;nwUfvXY*2)=}03A%`RT%R0PpVV_sTJrLEE= zEfTMJO)_ub-lMto-~K#&&gVJLdEfK?&U1dx_XQv!TH0n?YRd@4s!PS6%5@ys4ywU8 zLwigO-wuR{n*)%ND~;Lym+_d~6nyMA_h~x^sue`t!9){zcX9hFK3v0h&EjkUx}9kx zuZWQea$@{TgQ{2yYQI`1VmWC9NP5p65Z7vyG&Ld%NIG^ZhVlhl7o)Y{ zGC4W}*s5slSb#5dihkV8*~cGyEK+3#kX;W|1yRpo6FPR8wftqZ7PPHa!Y6q9sKk36fOAjAigd+ufswdqxcHyBL%=uO+fkQBBYNC?~|_=T&sj$dzDW zY{B$ERXAitf4_1$znA`7cP5O#8hTo6O+$w&f6>K&P|D0Y#WgkXGKE@|Y4(^eBJ>Z) z7%TvlGTA55*Fk2|h!cIl_l4-Ij>?G4cfsNTl;sHpg7v^n zozEI79mLl?%iYHZfC^nz*;kT(PtrH#5)_P1?)1c% zZGO$@OiX5Bqw^f|rW!oTvmLkJGMC(0tuS@cYKuEGQSjvRF&L;UmUhgDE%LG86Qi|p za$B=cGH@o!#xqq?H-XsgUDI>?{Y2pU7}~#NP_R+{dx_P~ez@uzCEnibEp}<9vp?tQ zO6}o)48P?tkfc~8J_##C`35!r&F#2Mpng`88ZkU9=xtp?%+ z*~O5ob|0A@m;1H$DkP=Xmf z34%Aung8#91Sp8~rou4mir@DJiSsA57`UzqDK4mR)B79)go#)74Cxp-?GDyQp6{d$ z-p)&=?Md3;XZqi5O-m7)FcPvaxB3$pr&0dlPg^~o_abYr-2OeI4L3yt7t@eF9&!g%qQ6^d89%Xjf!JgR! zzR$%(j!*pMjPpauSflL$h-{#^ONKKNL#o*wA2_fPt7qqEpiO18y1k9QaK0{K_IKhL z8?@RDHWYqs?TN{KevfZK(gyuB z=fdmSKV9MO?%C?EzSy4)OZQE6#I^ip_IQ7IBEIJ`E<7+2CeQlwjp*=@#x|nne~Yki zF1o9x$^`N_`sa~tng@y6E+dE&eZwiW9&#PPv)s97OE;Ehxg{fW3M?#!aMt9K9{THM zD}TH}F967)N+~!e$TXnP92PEfCZn!&c>n_()e%UL@y|5!^BbQuHAzvRc7@D2sDQ|# zQ*!c4i9&Nn+V#`x*UxZS)c{SC64bmg^SP(j01R*RlVo^!cz!;~?!LuU%Pbu(F;nx= zew4u_`vOetQ4<5BM+q76Cx1{~;Jk_~S3R}$=C4Dy;G?cqPR#$ve=)VwtAY9n_!Fun z#RQl&KSk)=i{OmIT~K;x0K;9)&0V+C5Zl0`pkhDOa1Z;pdlHk34dXEDcHAu-Ma<(~ zk!Il_M#%N0%-!Ke#8qWXwqQGB0KP@MMrq9}E$!>wDlBErLG6U~8SoIJI1X+gMz@W3kE0EyI! zH6Qf8-l&WTDk{I_5K2}u3>gV}J?!OQY@jp0hAoMzQiBY6pb(_Im{UC@_KO<`!J%}8 answucQm2x3sSY^Q_|^-z`&W;U)BgZcj4V9> literal 30057 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

ps`<%e2kLNWdW6{d zSx$V6%#r8)BB*5`ZtaYi_nE(UjH1=Vbba4pBV)JwxQ3=qhvlRDK=XTb_WO-;{=b^{ z-VBSZe683jhD4(Pw9ny?Ph3CnlC{{+V7i##^~SxbQpX3aU*?>wD`V~pcd8&$xryC_ zkawspO_>%7cF>iftx8^7HuWX(8+xUa+B>_k1brgZZXG z`Ew9_aVoj;^(ohh$S%|0Hj%|DbJp{IilgSw3a4{mJqYvuX;lt4%`tHSZVp^8o72nm;L zKhp1@;>=xD^V>8(RV(VHwS3c6>$7k-Z0h8xl)2TP-Un@dNfSeF>mPz~_;a4E+mub8 ztorfA^^wbq<-6FcH@a)AYm#1?M9;~F!<6%W?`UR<;3`;7G#K=omv6O&9QHmI+KYF< zt&O&N3M?7Uk|{Rb)T-*&D|vy|pLBnckYjVcBhk#0!}qZTQ`X9P4@K0Q5d z2qde|wr7f{TtXHWLfcqCkZzsKBdX5o^7b#cS@}=WU2k+~_gAZlLulaUp_zKez|qs4 zJ(Hd2lgrd{Nk%4pI?Yh2TVx-XEtncfzDu5 zqWB||#?iHZpBg#wy!szz#y0RAq3pcv(?~^IV97BuH|GHYRY@fCh^v_XAEzNfiEO2V z7sa_2-euAJ=pdig)kd69(hY;Uy$n2DFp@?A&igJ+9==)%?`bhF590=87(&NcqYhX>~@OpLcW zeC4JubF#r*KV7k2i`pa7IktC#ro2RKFwYI*Jx)L1V0h0@`Fr;fH&0d-C=?y{5K`{T z_+P?4L_UcV9;-Dvo8q;izAL=B-{&QIR3i2-&G=6doT>!A+X&TBm z8fcjTwW)KzhIp^&u$jCPxb6u94p3x4Q*O#N4)UH&P@0cK(})E z3Qf9GwQ;g`xeTmkShL%?=&OHug1dT%@_q)xef%%SFC!tgRgA7@l2c@T6C@E#zI$W1 zA);;P#nU*?X}Cd%BouBxzy2T7 zr3<)@p~rpzh^N11rrZPb^+j-aFAHr->dFhfffti5fz5RKMH=5qX%|{x18@A4wk^=O zlLe*im2N}Z>ZLUt$^eL)?n0S;mPzLC5G9t*e;Qg;(D|D2SmripE5`kbnkC@-v2L>f zO7Qsh`*c8FL#0S>dZPVwX29HfIn}JTC=!-jJJ~K2xr3q0_?Uu7YC8=JGI4MyosSlK z7Jj}~w>5WYdBO0X%hS*bo6=I>vpH#>cEFN65Zw-?ZyPZq@ zZyndZUh<;=!aAVhQfz_c{0vFqOx1A$^C{ESmZ;`jko$u;A2lv6H@@JVQ_cUTwG!+3 zFRhgw(gPBmzk?A8jLe`K&>;+bZ!I{YR9g{G^I~9tI#b{7PD;%($`Ne^AZrN1Y0)BI zlKWu7B!IBXK+t-~SL>JK?#KYorWmx?U#QWuZx%I!X64Fahx6x6CCh3668ZjH+00N^ zVSbgQ@T(h9M^8aJK8of#T^U_x+yK>;@&$8cjSUL{^DlA&$0Dm>#XRc>$S^7eo-t93E~0;>i`y3RDWW3GqfzymyO;D}1_Ib9P} z9?z?Q^~s^yEEDkc>yD^vWI$z!Y_it&LMdSTC1eEbmc6FMr8H2aH}XQei7fOfp8^hK zbAl2#y?F(@DX-jft!0O?wwq?_fQ#I}kHn^q;l}{3c~D+a>j?Z9M8idGE|^0QiBpxx zcZIm9RLmw0R(O7L*za4vtS0J7sR-^xZPT&H&cRhWcSzXJqHrb4phAmUMlZ^mG&Gcp z8CI}r*d4dW$&fq+x8zt+Z;Rc5=y$WaN~Y_WzVuxm6`Lw=Z~<@+CVpYOa`amhQw0@vomT85^W3e3q<_k&tzL)ATp zTX=YprzM|}U%sjSE7~B?b=iZfLivs!4Mtux<+M-Vbgs5GsFo?Gc2{2LRX~dadp0KF z`*-+3w(a4Ep7gTj2=(6IR+|n1hc)aLx3-^WU-KI;pRKmLeM`X`%F(HG4-aSlr%B}r z8oIR9Y8;i{m-NXpGn5etl3jBFZ@YZ$#&70v>%}ESWej1?rYCL#>NY{V;gGjtidgcl ze0ps10J{HG)KxGiFyQw=MJF3NqfntxC`Xe$P%TG^NgyQfy<dt=FzGYVz z-E+?S=eFJ7G+8oY z|7A}x@4r8t<~4_~B`sA7N9j^tGdqcd`YxIFGjs=?{afv!oJ)My?fc4ID%7&%N0pN! zo^oK7E)m?5EZ?a4dEjHHxIwHc0InUmr2L#*AmeWeH{+bb4T07~;=$0>Os1W+k z6Y~65o@YCxs;$-Z6Flj=p;ZJPs-}tLo5FzKyAoPjK|kG+#$i+S>k6lS4YDP``e6xQ zGlV-=wO#IZ4fJWGv6Bgpg&z~yks%Yn?3Rjh08fD$SGP-dpLBB(4LUUn7WvISk&mhY z40cpJMhUUk)ClWWlnP&Za6pEY>s@;Oy7!;{Y8*vYK)G)C&e~&b|A;j}(15}K;mo;9 z`$O+st}4e8%)d<Z30Hce&mLzm#U!#QEc;WdDPn?{D0eFJ|BS+O>Eue6$;cnvfVRRYsd< zeS?5(D@(fGWi~ZiOI}{d=g66~8%tk!!Q#jU=!9}4x!fFbxk!V|fwYL@%^wPaq)*tuT->wl4cOuS-D za`ABC;ZWDTYf;v6&J9H@ldOJlEl;n&0QnQkhfbe5h4Nqv>yiXTGAT)`7yoSX%;F6# zA1HL_@kkh$rSJ{J`m~s)D;ieB^RI+5gNG!as! ztPetfJ@VDPEUwvNe%fVU?pMV^G5?HVgMm=LV=8g1LhDp79*=Lm^1rj?Ipj;{O+Qa( zYmaY_aPbatu5|19&6ufHWlszltp?MIDT1y)2V!dIA~4U$ZY5ONV7O z;ATnA$$E8?`;w}4zrWa*@$!C{d`9k$H>5_bf0OMXk{O2fhU|i#1m)ne=+p84G|zN$ zTuIh|$Vur*hhrFJNcZl0PS(Ga=~~IWQ%@Bg#ker6j5mJd#JjI%f~2@tQbD_vBx%EN z0~i36rREh@g}ASbWW(Zau(;E*?*QGCfo+uM zrNWi6ip#>Tb7mmKK^Y+N1E$W}=_c2evf)0PSaY%Imb1 zKOCInKRq9lXLKcn$S4d`b<;6eJud1#h3q>0JxIYZ;ZI6)OA615~7h#q=3n2mJq&!uYGm{n@en>m-hUF#!L(Z8)8N$e9!=UA+EM3}AWF P(5O7sR49D%JmCKUS=RhI diff --git a/SampleApps/WebView2APISample/documentation/screenshots/success-client-certificate.png b/SampleApps/WebView2APISample/documentation/screenshots/success-client-certificate.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3e9bfbae668746f388d9735eba5e85d4118d39 GIT binary patch literal 221045 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

h@(-9;q~Xe@nF>|=F{|H7Hl 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

t8y=l=}Z|pqwPy4iKt2Q8MXa6$2 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 - + \ No newline at end of file diff --git a/SampleApps/WebView2APISample/resource.h b/SampleApps/WebView2APISample/resource.h index 67b1be5e..60736ed5 100644 --- a/SampleApps/WebView2APISample/resource.h +++ b/SampleApps/WebView2APISample/resource.h @@ -91,6 +91,8 @@ #define IDM_SCENARIO_TYPE_SCRIPT_VIRTUAL 218 #define IDM_SCENARIO_TESTING_FOCUS 219 #define IDM_UPDATE_RUNTIME 220 +#define IDI_WEBVIEW2_BACKGROUND 221 +#define IDD_CERTIFICATE_DIALOG 222 #define IDE_ADDRESSBAR 1000 #define IDE_ADDRESSBAR_GO 1001 #define IDE_BACK 1002 @@ -100,6 +102,11 @@ #define IDC_EDIT_INPUT 1006 #define IDC_STATIC_LABEL 1007 #define IDC_EDIT_DESCRIPTION 1008 +#define ID_CERTIFICATE_OK 1010 +#define ID_CERTIFICATE_CANCEL 1011 +#define IDC_CERTIFICATE_LIST 1012 +#define IDC_CERTIFICATE_STATIC 1013 +#define IDC_CERTIFICATE_LBL 1014 // Scenario IDMs #define IDM_SCENARIO_COOKIE_MANAGEMENT 1999 #define IDM_SCENARIO_AUTHENTICATION 2000 @@ -109,7 +116,7 @@ #define IDM_SCENARIO_DOM_CONTENT_LOADED 2004 #define IDM_SCENARIO_NAVIGATEWITHWEBRESOURCEREQUEST 2005 #define IDM_SCENARIO_USE_DEFERRED_DOWNLOAD 2006 -#define IDM_SCENARIO_COMPLETE_DEFERRED_DOWNLOAD 2007 +#define IDM_SCENARIO_USE_DEFERRED_CUSTOM_CLIENT_CERTIFICATE_DIALOG 2016 #define ID_BLOCKEDSITES 32773 #define ID_SETTINGS_NAVIGATETOSTRING 32774 #define ID_ADD_INITIALIZE_SCRIPT 32775 @@ -122,18 +129,21 @@ #define ID_SETTINGS_BUILTIN_ERROR_PAGE_ENABLED 32782 #define ID_SETTINGS_REPLACEALLIMAGES 32783 #define ID_SETTINGS_BROWSER_ACCELERATOR_KEYS_ENABLED 32784 -#define ID_SETTINGS_PASSWORD_AUTOFILL_ENABLED 32785 +#define ID_SETTINGS_PASSWORD_AUTOSAVE_ENABLED 32785 #define ID_SETTINGS_GENERAL_AUTOFILL_ENABLED 32786 #define ID_SETTINGS_PINCH_ZOOM_ENABLED 32787 +#define ID_SETTINGS_SWIPE_NAVIGATION_ENABLED 32788 +#define ID_TOGGLE_CLIENT_CERTIFICATE_REQUESTED 32789 #define IDC_STATIC -1 + // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NO_MFC 1 -#define _APS_NEXT_RESOURCE_VALUE 221 -#define _APS_NEXT_COMMAND_VALUE 32788 -#define _APS_NEXT_CONTROL_VALUE 1007 +#define _APS_NEXT_RESOURCE_VALUE 222 +#define _APS_NEXT_COMMAND_VALUE 32790 +#define _APS_NEXT_CONTROL_VALUE 1014 #define _APS_NEXT_SYMED_VALUE 110 #endif #endif diff --git a/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.Designer.cs b/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.Designer.cs index c05b0b84..00486f69 100644 --- a/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.Designer.cs +++ b/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.Designer.cs @@ -60,9 +60,9 @@ private void InitializeComponent() this.menuStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.webView2Control)).BeginInit(); this.SuspendLayout(); - // + // // btnEvents - // + // this.btnEvents.Location = new System.Drawing.Point(1576, 48); this.btnEvents.Margin = new System.Windows.Forms.Padding(6); this.btnEvents.Name = "btnEvents"; @@ -71,9 +71,9 @@ private void InitializeComponent() this.btnEvents.Text = "Events"; this.btnEvents.UseVisualStyleBackColor = true; this.btnEvents.Click += new System.EventHandler(this.btnEvents_Click); - // + // // btnBack - // + // this.btnBack.Enabled = false; this.btnBack.Location = new System.Drawing.Point(24, 48); this.btnBack.Margin = new System.Windows.Forms.Padding(6); @@ -83,9 +83,9 @@ private void InitializeComponent() this.btnBack.Text = "Back"; this.btnBack.UseVisualStyleBackColor = true; this.btnBack.Click += new System.EventHandler(this.btnBack_Click); - // + // // btnForward - // + // this.btnForward.Enabled = false; this.btnForward.Location = new System.Drawing.Point(186, 48); this.btnForward.Margin = new System.Windows.Forms.Padding(6); @@ -95,9 +95,9 @@ private void InitializeComponent() this.btnForward.Text = "Forward"; this.btnForward.UseVisualStyleBackColor = true; this.btnForward.Click += new System.EventHandler(this.btnForward_Click); - // + // // btnRefresh - // + // this.btnRefresh.Location = new System.Drawing.Point(348, 48); this.btnRefresh.Margin = new System.Windows.Forms.Padding(6); this.btnRefresh.Name = "btnRefresh"; @@ -106,9 +106,9 @@ private void InitializeComponent() this.btnRefresh.Text = "Refresh"; this.btnRefresh.UseVisualStyleBackColor = true; this.btnRefresh.Click += new System.EventHandler(this.BtnRefresh_Click); - // + // // btnStop - // + // this.btnStop.Location = new System.Drawing.Point(510, 48); this.btnStop.Margin = new System.Windows.Forms.Padding(6); this.btnStop.Name = "btnStop"; @@ -116,9 +116,9 @@ private void InitializeComponent() this.btnStop.TabIndex = 3; this.btnStop.Text = "Stop"; this.btnStop.UseVisualStyleBackColor = true; - // + // // btnGo - // + // this.btnGo.Location = new System.Drawing.Point(1426, 48); this.btnGo.Margin = new System.Windows.Forms.Padding(6); this.btnGo.Name = "btnGo"; @@ -127,18 +127,18 @@ private void InitializeComponent() this.btnGo.Text = "Go"; this.btnGo.UseVisualStyleBackColor = true; this.btnGo.Click += new System.EventHandler(this.BtnGo_Click); - // + // // txtUrl - // + // this.txtUrl.Location = new System.Drawing.Point(672, 48); this.txtUrl.Margin = new System.Windows.Forms.Padding(6); this.txtUrl.Name = "txtUrl"; this.txtUrl.Size = new System.Drawing.Size(738, 31); this.txtUrl.TabIndex = 4; this.txtUrl.Text = "https://www.bing.com/"; - // + // // menuStrip1 - // + // this.menuStrip1.ImageScalingSize = new System.Drawing.Size(32, 32); this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.controlToolStripMenuItem, @@ -148,33 +148,33 @@ private void InitializeComponent() this.menuStrip1.Size = new System.Drawing.Size(1580, 42); this.menuStrip1.TabIndex = 7; this.menuStrip1.Text = "menuStrip1"; - // + // // controlToolStripMenuItem - // + // this.controlToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.acceleratorKeysEnabledToolStripMenuItem}); this.controlToolStripMenuItem.Name = "controlToolStripMenuItem"; this.controlToolStripMenuItem.Size = new System.Drawing.Size(72, 38); this.controlToolStripMenuItem.Text = "Control"; - // + // // zoomToolStripMenuItem - // + // this.acceleratorKeysEnabledToolStripMenuItem.Name = "acceleratorKeysEnabledToolStripMenuItem"; this.acceleratorKeysEnabledToolStripMenuItem.Size = new System.Drawing.Size(359, 44); this.acceleratorKeysEnabledToolStripMenuItem.Text = "AcceleratorKeys Enabled"; this.acceleratorKeysEnabledToolStripMenuItem.Checked = true; this.acceleratorKeysEnabledToolStripMenuItem.CheckOnClick = true; - // + // // viewToolStripMenuItem - // + // this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.zoomToolStripMenuItem, this.backgroundColorMenuItem}); this.viewToolStripMenuItem.Name = "viewToolStripMenuItem"; this.viewToolStripMenuItem.Size = new System.Drawing.Size(86, 38); this.viewToolStripMenuItem.Text = "View"; - // + // // zoomToolStripMenuItem - // + // this.zoomToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.xToolStripMenuItem, this.xToolStripMenuItem1, @@ -183,36 +183,37 @@ private void InitializeComponent() this.zoomToolStripMenuItem.Name = "zoomToolStripMenuItem"; this.zoomToolStripMenuItem.Size = new System.Drawing.Size(359, 44); this.zoomToolStripMenuItem.Text = "Zoom"; - // + // // xToolStripMenuItem - // + // this.xToolStripMenuItem.Name = "xToolStripMenuItem"; this.xToolStripMenuItem.Size = new System.Drawing.Size(359, 44); this.xToolStripMenuItem.Text = "0.5x"; this.xToolStripMenuItem.Click += new System.EventHandler(this.xToolStripMenuItem05_Click); - // + // // xToolStripMenuItem1 - // + // this.xToolStripMenuItem1.Name = "xToolStripMenuItem1"; this.xToolStripMenuItem1.Size = new System.Drawing.Size(359, 44); this.xToolStripMenuItem1.Text = "1.0x"; this.xToolStripMenuItem1.Click += new System.EventHandler(this.xToolStripMenuItem1_Click); - // + // // xToolStripMenuItem2 - // + // this.xToolStripMenuItem2.Name = "xToolStripMenuItem2"; this.xToolStripMenuItem2.Size = new System.Drawing.Size(359, 44); this.xToolStripMenuItem2.Text = "2.0x"; this.xToolStripMenuItem2.Click += new System.EventHandler(this.xToolStripMenuItem2_Click); - // + // // xToolStripMenuItem3 - // + // this.xToolStripMenuItem3.Name = "xToolStripMenuItem3"; this.xToolStripMenuItem3.Size = new System.Drawing.Size(359, 44); this.xToolStripMenuItem3.Text = "Get ZoomFactor"; this.xToolStripMenuItem3.Click += new System.EventHandler(this.xToolStripMenuItem3_Click); // // backgroundColorToolStripMenuItem + // this.backgroundColorMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.whiteBackgroundColorMeuItem, this.redBackgroundColorMenuItem, @@ -249,23 +250,17 @@ private void InitializeComponent() this.transparentBackgroundColorMenuItem.Size = new System.Drawing.Size(359, 44); this.transparentBackgroundColorMenuItem.Text = "Transparent"; this.transparentBackgroundColorMenuItem.Click += new System.EventHandler(this.backgroundColorMenuItem_Click); - // + // // webView2Control - // + // this.webView2Control.Location = new System.Drawing.Point(0, 96); this.webView2Control.Name = "webView2Control"; this.webView2Control.Size = new System.Drawing.Size(788, 410); this.webView2Control.Source = new Uri("https://www.bing.com/"); this.webView2Control.TabIndex = 7; - this.webView2Control.CoreWebView2InitializationCompleted += WebView2Control_CoreWebView2InitializationCompleted; ; - this.webView2Control.NavigationStarting += WebView2Control_NavigationStarting; - this.webView2Control.NavigationCompleted += WebView2Control_NavigationCompleted; - this.webView2Control.SourceChanged += WebView2Control_SourceChanged; - this.webView2Control.KeyDown += WebView2Control_KeyDown; - this.webView2Control.KeyUp += WebView2Control_KeyUp; - // + // // BrowserForm - // + // this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 25F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1580, 865); @@ -317,4 +312,3 @@ private void InitializeComponent() private System.Windows.Forms.ToolStripMenuItem transparentBackgroundColorMenuItem; } } - diff --git a/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.cs b/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.cs index 30032144..91a78540 100644 --- a/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.cs +++ b/SampleApps/WebView2WindowsFormsBrowser/BrowserForm.cs @@ -14,6 +14,7 @@ public partial class BrowserForm : Form public BrowserForm() { InitializeComponent(); + AttachControlEventHandlers(this.webView2Control); HandleResize(); } @@ -55,6 +56,15 @@ private void WebView2Control_CoreWebView2InitializationCompleted(object sender, UpdateTitleWithEvent("CoreWebView2InitializationCompleted succeeded"); } + void AttachControlEventHandlers(Microsoft.Web.WebView2.WinForms.WebView2 control) { + control.CoreWebView2InitializationCompleted += WebView2Control_CoreWebView2InitializationCompleted; + control.NavigationStarting += WebView2Control_NavigationStarting; + control.NavigationCompleted += WebView2Control_NavigationCompleted; + control.SourceChanged += WebView2Control_SourceChanged; + control.KeyDown += WebView2Control_KeyDown; + control.KeyUp += WebView2Control_KeyUp; + } + private void WebView2Control_KeyUp(object sender, KeyEventArgs e) { UpdateTitleWithEvent($"AcceleratorKeyUp key={e.KeyCode}"); @@ -99,7 +109,26 @@ private void BtnRefresh_Click(object sender, EventArgs e) private void BtnGo_Click(object sender, EventArgs e) { - webView2Control.Source = new Uri(txtUrl.Text); + var rawUrl = txtUrl.Text; + Uri uri = null; + + if (Uri.IsWellFormedUriString(rawUrl, UriKind.Absolute)) + { + uri = new Uri(rawUrl); + } + else if (!rawUrl.Contains(" ") && rawUrl.Contains(".")) + { + // An invalid URI contains a dot and no spaces, try tacking http:// on the front. + uri = new Uri("http://" + rawUrl); + } + else + { + // Otherwise treat it as a web search. + uri = new Uri("https://bing.com/search?q=" + + String.Join("+", Uri.EscapeDataString(rawUrl).Split(new string[] { "%20" }, StringSplitOptions.RemoveEmptyEntries))); + } + + webView2Control.Source = uri; } private void btnBack_Click(object sender, EventArgs e) diff --git a/SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj b/SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj index 2610790d..1a57e526 100644 --- a/SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj +++ b/SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj @@ -19,7 +19,7 @@ AnyCPU - + diff --git a/SampleApps/WebView2WpfBrowser/App.xaml.cs b/SampleApps/WebView2WpfBrowser/App.xaml.cs index b3e8c37b..9b9eca93 100644 --- a/SampleApps/WebView2WpfBrowser/App.xaml.cs +++ b/SampleApps/WebView2WpfBrowser/App.xaml.cs @@ -12,6 +12,8 @@ namespace WebView2WpfBrowser /// public partial class App : Application { + public bool newRuntimeEventHandled = false; + public App() { InitializeComponent(); diff --git a/SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml b/SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml new file mode 100644 index 00000000..cc93169b --- /dev/null +++ b/SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml.cs b/SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml.cs new file mode 100644 index 00000000..a7188f48 --- /dev/null +++ b/SampleApps/WebView2WpfBrowser/ClientCertificateSelectionDialog.xaml.cs @@ -0,0 +1,39 @@ +using Microsoft.Web.WebView2.Core; +using System; +using System.Collections.Generic; +using System.Windows; + +namespace WebView2WpfBrowser +{ + ///

+ /// Interaction logic for ClientCertificateSelectionDialog.xaml + /// + public partial class ClientCertificateSelectionDialog : Window + { + public ClientCertificateSelectionDialog( + string title = null, + string host = null, + int port = 0, + IReadOnlyList client_cert_list = null) + { + InitializeComponent(); + if (title != null) + { + Title = title; + } + if (host != null && port > 0) + { + Description.Text = String.Format("Site {0}:{1} needs your credentials:", host, port); + } + if (client_cert_list != null) + { + CertificateDataBinding.SelectedItem = client_cert_list[0]; + CertificateDataBinding.ItemsSource = client_cert_list; + } + } + void ok_Clicked(object sender, RoutedEventArgs args) + { + this.DialogResult = true; + } + } +} diff --git a/SampleApps/WebView2WpfBrowser/MainWindow.xaml b/SampleApps/WebView2WpfBrowser/MainWindow.xaml index 3af74bb1..75fc887e 100644 --- a/SampleApps/WebView2WpfBrowser/MainWindow.xaml +++ b/SampleApps/WebView2WpfBrowser/MainWindow.xaml @@ -35,9 +35,13 @@ found in the LICENSE file. - + + + + + @@ -63,9 +67,10 @@ found in the LICENSE file. - + + @@ -73,14 +78,19 @@ found in the LICENSE file. + + + + + - - - - + + + + diff --git a/SampleApps/WebView2WpfBrowser/MainWindow.xaml.cs b/SampleApps/WebView2WpfBrowser/MainWindow.xaml.cs index fb47dfc9..75ddfa4f 100644 --- a/SampleApps/WebView2WpfBrowser/MainWindow.xaml.cs +++ b/SampleApps/WebView2WpfBrowser/MainWindow.xaml.cs @@ -37,15 +37,19 @@ public partial class MainWindow : Window public static RoutedCommand SuspendCommand = new RoutedCommand(); public static RoutedCommand ResumeCommand = new RoutedCommand(); public static RoutedCommand CheckUpdateCommand = new RoutedCommand(); + public static RoutedCommand NewBrowserVersionCommand = new RoutedCommand(); + public static RoutedCommand CustomClientCertificateSelectionCommand = new RoutedCommand(); + public static RoutedCommand DeferredCustomCertificateDialogCommand = new RoutedCommand(); public static RoutedCommand BackgroundColorCommand = new RoutedCommand(); public static RoutedCommand DownloadStartingCommand = new RoutedCommand(); public static RoutedCommand AddOrUpdateCookieCommand = new RoutedCommand(); public static RoutedCommand DeleteCookiesCommand = new RoutedCommand(); public static RoutedCommand DeleteAllCookiesCommand = new RoutedCommand(); public static RoutedCommand SetUserAgentCommand = new RoutedCommand(); - public static RoutedCommand PasswordAutofillCommand = new RoutedCommand(); + public static RoutedCommand PasswordAutosaveCommand = new RoutedCommand(); public static RoutedCommand GeneralAutofillCommand = new RoutedCommand(); public static RoutedCommand PinchZoomCommand = new RoutedCommand(); + public static RoutedCommand SwipeNavigationCommand = new RoutedCommand(); bool _isNavigating = false; CoreWebView2Settings _webViewSettings; @@ -79,7 +83,8 @@ public MainWindow() AttachControlEventHandlers(webView); } - void AttachControlEventHandlers(WebView2 control) { + void AttachControlEventHandlers(WebView2 control) + { control.NavigationStarting += WebView_NavigationStarting; control.NavigationCompleted += WebView_NavigationCompleted; control.CoreWebView2InitializationCompleted += WebView_CoreWebView2InitializationCompleted; @@ -158,6 +163,15 @@ void CoreWebView2RequiringCmdsCanExecute(object sender, CanExecuteRoutedEventArg e.CanExecute = IsWebViewValid(); } + void CustomClientCertificateSelectionCmdExecuted(object target, ExecutedRoutedEventArgs e) + { + EnableCustomClientCertificateSelection(); + } + void DeferredCustomCertificateDialogCmdExecuted(object target, ExecutedRoutedEventArgs e) + { + DeferredCustomClientCertificateSelectionDialog(); + } + private bool _isControlInVisualTree = true; void RemoveControlFromVisualTree(WebView2 control) @@ -172,12 +186,25 @@ void AttachControlToVisualTree(WebView2 control) _isControlInVisualTree = true; } - WebView2 GetReplacementControl() + WebView2 GetReplacementControl(bool useNewEnvironment) { WebView2 replacementControl = new WebView2(); ((System.ComponentModel.ISupportInitialize)(replacementControl)).BeginInit(); - // Setup properties and bindings - replacementControl.CreationProperties = webView.CreationProperties; + // Setup properties and bindings. + if (useNewEnvironment) + { + // Create a new CoreWebView2CreationProperties instance so the environment + // is made anew. + replacementControl.CreationProperties = new CoreWebView2CreationProperties(); + replacementControl.CreationProperties.BrowserExecutableFolder = webView.CreationProperties.BrowserExecutableFolder; + replacementControl.CreationProperties.Language = webView.CreationProperties.Language; + replacementControl.CreationProperties.UserDataFolder = webView.CreationProperties.UserDataFolder; + shouldAttachEnvironmentEventHandlers = true; + } + else + { + replacementControl.CreationProperties = webView.CreationProperties; + } Binding urlBinding = new Binding() { Source = replacementControl, @@ -214,18 +241,14 @@ void ReinitIfSelectedByUser(CoreWebView2ProcessFailedKind kind) if (selection == MessageBoxResult.Yes) { // The control cannot be re-initialized so we setup a new instance to replace it. - // Note the previous instance of the control has been disposed of and removed from - // the visual tree before attaching the new one. - WebView2 replacementControl = GetReplacementControl(); + // Note the previous instance of the control is disposed of and removed from the + // visual tree before attaching the new one. if (_isControlInVisualTree) { RemoveControlFromVisualTree(webView); } - // Dispose of the control so additional resources are released. We do this only - // after creating the replacement control as properties for the replacement - // control are taken from the existing instance. webView.Dispose(); - webView = replacementControl; + webView = GetReplacementControl(false); AttachControlToVisualTree(webView); } } @@ -409,9 +432,9 @@ void DOMContentLoadedCmdExecuted(object target, ExecutedRoutedEventArgs e) webView.NavigateToString(@"

DOMContentLoaded sample page

The content below will be added after DOM content is loaded

"); } - void PasswordAutofillCmdExecuted(object target, ExecutedRoutedEventArgs e) + void PasswordAutosaveCmdExecuted(object target, ExecutedRoutedEventArgs e) { - WebViewSettings.IsPasswordAutofillEnabled = !WebViewSettings.IsPasswordAutofillEnabled; + WebViewSettings.IsPasswordAutosaveEnabled = !WebViewSettings.IsPasswordAutosaveEnabled; } void GeneralAutofillCmdExecuted(object target, ExecutedRoutedEventArgs e) { @@ -451,6 +474,31 @@ void PinchZoomCmdExecuted(object target, ExecutedRoutedEventArgs e) MessageBox.Show("Pinch Zoom is" + (WebViewSettings.IsPinchZoomEnabled ? " enabled " : " disabled ") + "after the next navigation."); } + void SwipeNavigationCmdExecuted(object target, ExecutedRoutedEventArgs e) + { + // Safeguarding the handler when unsupported runtime is used. + try + { + WebViewSettings.IsSwipeNavigationEnabled = !WebViewSettings.IsSwipeNavigationEnabled; + MessageBox.Show("Swipe to navigate is" + (WebViewSettings.IsSwipeNavigationEnabled ? " enabled " : " disabled ") + "after the next navigation."); + } + catch (NotImplementedException exception) + { + MessageBox.Show(this, "Toggle Swipe Navigation Failed: " + exception.Message, "Swipe Navigation"); + } + } + void NewBrowserVersionCmdExecuted(object target, ExecutedRoutedEventArgs e) + { + foreach (Window window in Application.Current.Windows) + { + if (window is MainWindow mainWindow) + { + // Simulate NewBrowserVersionAvailable being raised. + mainWindow.Environment_NewBrowserVersionAvailable(null, null); + } + } + } + void DownloadStartingCmdExecuted(object target, ExecutedRoutedEventArgs e) { try @@ -458,41 +506,41 @@ void DownloadStartingCmdExecuted(object target, ExecutedRoutedEventArgs e) webView.CoreWebView2.DownloadStarting += delegate ( object sender, CoreWebView2DownloadStartingEventArgs args) { - // Developer can obtain a deferral for the event so that the CoreWebView2 - // doesn't examine the properties we set on the event args until - // after the deferral completes asynchronously. - CoreWebView2Deferral deferral = args.GetDeferral(); - - // We avoid potential reentrancy from running a message loop in the download - // starting event handler by showing our download dialog later when we - // complete the deferral asynchronously. - System.Threading.SynchronizationContext.Current.Post((_) => - { - using (deferral) - { - // Hide the default download dialog. - args.Handled = true; - var dialog = new TextInputDialog( - title: "Download Starting", - description: "Enter new result file path or select OK to keep default path. Select cancel to cancel the download.", - defaultInput: args.ResultFilePath); - if (dialog.ShowDialog() == true) - { - args.ResultFilePath = dialog.Input.Text; - UpdateProgress(args.DownloadOperation); - } - else - { - args.Cancel = true; - } - } - }, null); + // Developer can obtain a deferral for the event so that the CoreWebView2 + // doesn't examine the properties we set on the event args until + // after the deferral completes asynchronously. + CoreWebView2Deferral deferral = args.GetDeferral(); + + // We avoid potential reentrancy from running a message loop in the download + // starting event handler by showing our download dialog later when we + // complete the deferral asynchronously. + System.Threading.SynchronizationContext.Current.Post((_) => + { + using (deferral) + { + // Hide the default download dialog. + args.Handled = true; + var dialog = new TextInputDialog( + title: "Download Starting", + description: "Enter new result file path or select OK to keep default path. Select cancel to cancel the download.", + defaultInput: args.ResultFilePath); + if (dialog.ShowDialog() == true) + { + args.ResultFilePath = dialog.Input.Text; + UpdateProgress(args.DownloadOperation); + } + else + { + args.Cancel = true; + } + } + }, null); }; webView.CoreWebView2.Navigate("https://demo.smartscreen.msft.net/"); } catch (NotImplementedException exception) { - MessageBox.Show(this, "DownloadStarting Failed: " + exception.Message, "Download Starting"); + MessageBox.Show(this, "DownloadStarting Failed: " + exception.Message, "Download Starting"); } } @@ -501,37 +549,164 @@ void UpdateProgress(CoreWebView2DownloadOperation download) { download.BytesReceivedChanged += delegate (object sender, Object e) { - // Here developer can update download dialog to show progress of a - // download using `download.BytesReceived` and `download.TotalBytesToReceive` - }; + // Here developer can update download dialog to show progress of a + // download using `download.BytesReceived` and `download.TotalBytesToReceive` + }; download.StateChanged += delegate (object sender, Object e) { switch (download.State) { - case CoreWebView2DownloadState.InProgress: - break; - case CoreWebView2DownloadState.Interrupted: - // Here developer can take different actions based on `download.InterruptReason`. - // For example, show an error message to the end user. - break; - case CoreWebView2DownloadState.Completed: - break; + case CoreWebView2DownloadState.InProgress: + break; + case CoreWebView2DownloadState.Interrupted: + // Here developer can take different actions based on `download.InterruptReason`. + // For example, show an error message to the end user. + break; + case CoreWebView2DownloadState.Completed: + break; } }; } - void GoToPageCmdCanExecute(object sender, CanExecuteRoutedEventArgs e) + // Turn off client certificate selection dialog using ClientCertificateRequested event handler + // that disables the dialog. This example hides the default client certificate dialog and + // always chooses the last certificate without prompting the user. + private bool _isCustomClientCertificateSelection = false; + void EnableCustomClientCertificateSelection() + { + // Safeguarding the handler when unsupported runtime is used. + try + { + if (!_isCustomClientCertificateSelection) + { + webView.CoreWebView2.ClientCertificateRequested += WebView_ClientCertificateRequested; + } + else + { + webView.CoreWebView2.ClientCertificateRequested -= WebView_ClientCertificateRequested; + } + _isCustomClientCertificateSelection = !_isCustomClientCertificateSelection; + + MessageBox.Show(this, + _isCustomClientCertificateSelection ? "Custom client certificate selection has been enabled" : "Custom client certificate selection has been disabled", + "Custom client certificate selection"); + } + catch (NotImplementedException exception) + { + MessageBox.Show(this, "Custom client certificate selection Failed: " + exception.Message, "Custom client certificate selection"); + } + } + + void WebView_ClientCertificateRequested(object sender, CoreWebView2ClientCertificateRequestedEventArgs e) + { + IReadOnlyList certificateList = e.MutuallyTrustedCertificates; + if (certificateList.Count() > 0) + { + // There is no significance to the order, picking a certificate arbitrarily. + e.SelectedCertificate = certificateList.LastOrDefault(); + // Continue with the selected certificate to respond to the server. + e.Handled = true; + } + else + { + // Continue without a certificate to respond to the server if certificate list is empty. + e.Handled = true; + } + } + + // This example hides the default client certificate dialog and shows a custom dialog instead. + // The dialog box displays mutually trusted certificates list and allows the user to select a certificate. + // Selecting `OK` will continue the request with a certificate. + // Selecting `CANCEL` will continue the request without a certificate + private bool _isCustomClientCertificateSelectionDialog = false; + void DeferredCustomClientCertificateSelectionDialog() + { + // Safeguarding the handler when unsupported runtime is used. + try + { + if (!_isCustomClientCertificateSelectionDialog) + { + webView.CoreWebView2.ClientCertificateRequested += delegate ( + object sender, CoreWebView2ClientCertificateRequestedEventArgs args) + { + // Developer can obtain a deferral for the event so that the WebView2 + // doesn't examine the properties we set on the event args until + // after the deferral completes asynchronously. + CoreWebView2Deferral deferral = args.GetDeferral(); + + System.Threading.SynchronizationContext.Current.Post((_) => + { + using (deferral) + { + IReadOnlyList certificateList = args.MutuallyTrustedCertificates; + if (certificateList.Count() > 0) + { + // Display custom dialog box for the client certificate selection. + var dialog = new ClientCertificateSelectionDialog( + title: "Select a Certificate for authentication", + host: args.Host, + port: args.Port, + client_cert_list: certificateList); + if (dialog.ShowDialog() == true) + { + // Continue with the selected certificate to respond to the server if `OK` is selected. + args.SelectedCertificate = (CoreWebView2ClientCertificate)dialog.CertificateDataBinding.SelectedItem; + } + // Continue without a certificate to respond to the server if `CANCEL` is selected. + args.Handled = true; + } + else + { + // Continue without a certificate to respond to the server if certificate list is empty. + args.Handled = true; + } + } + + }, null); + }; + _isCustomClientCertificateSelectionDialog = true; + MessageBox.Show("Custom Client Certificate selection dialog will be used next when WebView2 is making a " + + "request to an HTTP server that needs a client certificate.", "Client certificate selection"); + } + } + catch (NotImplementedException exception) + { + MessageBox.Show(this, "Custom client certificate selection dialog Failed: " + exception.Message, "Client certificate selection"); + } + } + + void GoToPageCmdCanExecute(object sender, CanExecuteRoutedEventArgs e) { e.CanExecute = webView != null && !_isNavigating; } async void GoToPageCmdExecuted(object target, ExecutedRoutedEventArgs e) { + await webView.EnsureCoreWebView2Async(); + + var rawUrl = (string)e.Parameter; + Uri uri = null; + + if (Uri.IsWellFormedUriString(rawUrl, UriKind.Absolute)) + { + uri = new Uri(rawUrl); + } + else if (!rawUrl.Contains(" ") && rawUrl.Contains(".")) + { + // An invalid URI contains a dot and no spaces, try tacking http:// on the front. + uri = new Uri("http://" + rawUrl); + } + else + { + // Otherwise treat it as a web search. + uri = new Uri("https://bing.com/search?q=" + + String.Join("+", Uri.EscapeDataString(rawUrl).Split(new string[] { "%20" }, StringSplitOptions.RemoveEmptyEntries))); + } + // Setting webView.Source will not trigger a navigation if the Source is the same // as the previous Source. CoreWebView.Navigate() will always trigger a navigation. - await webView.EnsureCoreWebView2Async(); - webView.CoreWebView2.Navigate((string)e.Parameter); + webView.CoreWebView2.Navigate(uri.ToString()); } async void SuspendCmdExecuted(object target, ExecutedRoutedEventArgs e) @@ -631,17 +806,110 @@ void WebView_NavigationCompleted(object sender, CoreWebView2NavigationCompletedE RequeryCommands(); } + private bool shouldAttachEnvironmentEventHandlers = true; + void WebView_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e) { if (e.IsSuccess) { webView.CoreWebView2.ProcessFailed += WebView_ProcessFailed; + + // The CoreWebView2Environment instance is reused when re-assigning CoreWebView2CreationProperties + // to the replacement control. We don't need to re-attach the event handlers unless the environment + // instance has changed. + if (shouldAttachEnvironmentEventHandlers) + { + try + { + WebViewEnvironment.BrowserProcessExited += Environment_BrowserProcessExited; + WebViewEnvironment.NewBrowserVersionAvailable += Environment_NewBrowserVersionAvailable; + } + catch (NotImplementedException) + { + newVersionMenuItem.IsEnabled = false; + } + shouldAttachEnvironmentEventHandlers = false; + } return; } MessageBox.Show($"WebView2 creation failed with exception = {e.InitializationException}"); } + private bool shouldAttemptReinitOnBrowserExit = false; + + void Environment_BrowserProcessExited(object sender, CoreWebView2BrowserProcessExitedEventArgs e) + { + // Let ProcessFailed handler take care of process failure. + if (e.BrowserProcessExitKind == CoreWebView2BrowserProcessExitKind.Failed) + { + return; + } + if (shouldAttemptReinitOnBrowserExit) + { + _webViewEnvironment = null; + webView = GetReplacementControl(true); + AttachControlToVisualTree(webView); + shouldAttemptReinitOnBrowserExit = false; + } + } + + // A new version of the WebView2 Runtime is available, our handler gets called. + // We close our WebView and set a handler to reinitialize it once the WebView2 + // Runtime collection of processes are gone, so we get the new version of the + // WebView2 Runtime. + void Environment_NewBrowserVersionAvailable(object sender, object e) + { + if (((App)Application.Current).newRuntimeEventHandled) + { + return; + } + + ((App)Application.Current).newRuntimeEventHandled = true; + System.Threading.SynchronizationContext.Current.Post((_) => + { + UpdateIfSelectedByUser(); + }, null); + } + + void UpdateIfSelectedByUser() + { + // New browser version available, ask user to close everything and re-init. + StringBuilder messageBuilder = new StringBuilder(256); + messageBuilder.Append("We detected there is a new version of the WebView2 Runtime installed. "); + messageBuilder.Append("Do you want to switch to it now? This will re-create the WebView."); + var selection = MessageBox.Show(this, messageBuilder.ToString(), "New WebView2 Runtime detected", MessageBoxButton.YesNo); + if (selection == MessageBoxResult.Yes) + { + // If this or any other application creates additional WebViews from the same + // environment configuration, all those WebViews need to be closed before + // the browser process will exit. This sample creates a single WebView per + // MainWindow, we let each MainWindow prepare to recreate and close its WebView. + CloseAppWebViewsForUpdate(); + } + ((App)Application.Current).newRuntimeEventHandled = false; + } + + private void CloseAppWebViewsForUpdate() + { + foreach (Window window in Application.Current.Windows) + { + if (window is MainWindow mainWindow) + { + mainWindow.CloseWebViewForUpdate(); + } + } + } + + private void CloseWebViewForUpdate() + { + // We dispose of the control so the internal WebView objects are released + // and the associated browser process exits. + shouldAttemptReinitOnBrowserExit = true; + RemoveControlFromVisualTree(webView); + webView.Dispose(); + } + private static void OnShowNextWebResponseChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { MainWindow window = (MainWindow)d; diff --git a/SampleApps/WebView2WpfBrowser/WebView2WpfBrowser.csproj b/SampleApps/WebView2WpfBrowser/WebView2WpfBrowser.csproj index 52c0b760..40582b43 100644 --- a/SampleApps/WebView2WpfBrowser/WebView2WpfBrowser.csproj +++ b/SampleApps/WebView2WpfBrowser/WebView2WpfBrowser.csproj @@ -25,6 +25,6 @@
- + \ No newline at end of file