Skip to content

Commit 5396ff5

Browse files
Update projects to use latest WebView2 SDK 1.0.2415-prerelease (#235)
* Updates for Win32, WPF, WinForms, UWP and WinUI3 sample apps from 123.0.2415.0 * Updated package version for Win32, WPF and WinForms sample apps to 1.0.2415-prerelease --------- Co-authored-by: WebView2 Github Bot <[email protected]>
1 parent bd07ad2 commit 5396ff5

15 files changed

+72
-45
lines changed

SampleApps/WebView2APISample/App.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR lpCmdLine, int nCmd
101101
{
102102
creationModeId = IDM_CREATION_MODE_WINDOWED;
103103
}
104+
else if (NEXT_PARAM_CONTAINS(L"allowhostinput"))
105+
{
106+
creationModeId = IDM_CREATION_MODE_HOST_INPUT_PROCESSING;
107+
}
104108
else if (NEXT_PARAM_CONTAINS(L"visualdcomp"))
105109
{
106110
creationModeId = IDM_CREATION_MODE_VISUAL_DCOMP;

SampleApps/WebView2APISample/AppWindow.cpp

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "FileComponent.h"
2828
#include "ProcessComponent.h"
2929
#include "Resource.h"
30+
#include "ScenarioAcceleratorKeyPressed.h"
3031
#include "ScenarioAddHostObject.h"
3132
#include "ScenarioAuthentication.h"
3233
#include "ScenarioClientCertificateRequested.h"
@@ -40,7 +41,6 @@
4041
#include "ScenarioIFrameDevicePermission.h"
4142
#include "ScenarioNavigateWithWebResourceRequest.h"
4243
#include "ScenarioNonClientRegionSupport.h"
43-
#include "ScenarioAcceleratorKeyPressed.h"
4444
#include "ScenarioNotificationReceived.h"
4545
#include "ScenarioPermissionManagement.h"
4646
#include "ScenarioSharedBuffer.h"
@@ -729,6 +729,7 @@ bool AppWindow::ExecuteAppCommands(WPARAM wParam, LPARAM lParam)
729729
CloseAppWindow();
730730
return true;
731731
case IDM_CREATION_MODE_WINDOWED:
732+
case IDM_CREATION_MODE_HOST_INPUT_PROCESSING:
732733
case IDM_CREATION_MODE_VISUAL_DCOMP:
733734
case IDM_CREATION_MODE_TARGET_DCOMP:
734735
case IDM_CREATION_MODE_VISUAL_WINCOMP:
@@ -794,7 +795,8 @@ bool AppWindow::ExecuteAppCommands(WPARAM wParam, LPARAM lParam)
794795
case IDM_SCENARIO_CLEAR_BROWSING_DATA_AUTOFILL:
795796
{
796797
return ClearBrowsingData((
797-
COREWEBVIEW2_BROWSING_DATA_KINDS)(COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL | COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE));
798+
COREWEBVIEW2_BROWSING_DATA_KINDS)(COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL |
799+
COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE));
798800
}
799801
case IDM_SCENARIO_CLEAR_BROWSING_DATA_BROWSING_HISTORY:
800802
{
@@ -1390,7 +1392,8 @@ HRESULT AppWindow::OnCreateEnvironmentCompleted(
13901392
}
13911393
m_webViewEnvironment = environment;
13921394

1393-
if (m_webviewOption.entry == WebViewCreateEntry::EVER_FROM_CREATE_WITH_OPTION_MENU
1395+
if (m_webviewOption.entry == WebViewCreateEntry::EVER_FROM_CREATE_WITH_OPTION_MENU ||
1396+
m_creationModeId == IDM_CREATION_MODE_HOST_INPUT_PROCESSING
13941397
)
13951398
{
13961399
return CreateControllerWithOptions();
@@ -1470,6 +1473,19 @@ HRESULT AppWindow::CreateControllerWithOptions()
14701473
}
14711474
//! [ScriptLocaleSetting]
14721475

1476+
//! [AllowHostInputProcessing]
1477+
if (m_creationModeId == IDM_CREATION_MODE_HOST_INPUT_PROCESSING)
1478+
{
1479+
wil::com_ptr<ICoreWebView2ExperimentalControllerOptions2>
1480+
webView2ExperimentalControllerOptions2;
1481+
if (SUCCEEDED(
1482+
options->QueryInterface(IID_PPV_ARGS(&webView2ExperimentalControllerOptions2))))
1483+
{
1484+
CHECK_FAILURE(
1485+
webView2ExperimentalControllerOptions2->put_AllowHostInputProcessing(TRUE));
1486+
}
1487+
}
1488+
//! [AllowHostInputProcessing]
14731489
if (m_dcompDevice || m_wincompCompositor)
14741490
{
14751491
//! [OnCreateCoreWebView2ControllerCompleted]
@@ -2346,8 +2362,7 @@ void AppWindow::UpdateCreationModeMenu()
23462362
{
23472363
HMENU hMenu = GetMenu(m_mainWindow);
23482364
CheckMenuRadioItem(
2349-
hMenu, IDM_CREATION_MODE_WINDOWED,
2350-
IDM_CREATION_MODE_VISUAL_WINCOMP,
2365+
hMenu, IDM_CREATION_MODE_WINDOWED, IDM_CREATION_MODE_HOST_INPUT_PROCESSING,
23512366
m_creationModeId, MF_BYCOMMAND);
23522367
}
23532368

SampleApps/WebView2APISample/ControlComponent.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ void ControlComponent::NavigateToAddressBar()
370370
}
371371
else
372372
{
373-
// Otherwise treat it as a web search.
373+
// Otherwise treat it as a web search.
374374
std::wstring urlEscaped(2048, ' ');
375375
DWORD dwEscaped = (DWORD)urlEscaped.length();
376376
UrlEscapeW(uri.c_str(), &urlEscaped[0], &dwEscaped, URL_ESCAPE_ASCII_URI_COMPONENT);

SampleApps/WebView2APISample/ScenarioNonClientRegionSupport.cpp

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,12 @@ ScenarioNonClientRegionSupport::ScenarioNonClientRegionSupport(AppWindow* appWin
2121
controller.try_query<ICoreWebView2CompositionController>();
2222
if (compController)
2323
{
24-
m_compController5 =
25-
compController.try_query<ICoreWebView2ExperimentalCompositionController5>();
24+
m_compController4 = compController.try_query<ICoreWebView2CompositionController4>();
2625
}
2726

2827
CHECK_FAILURE(m_webView->get_Settings(&m_settings));
2928

30-
m_experimentalSettings = m_settings.try_query<ICoreWebView2ExperimentalSettings8>();
29+
m_settings9 = m_settings.try_query<ICoreWebView2Settings9>();
3130

3231
CHECK_FAILURE(m_webView->add_NavigationStarting(
3332
Callback<ICoreWebView2NavigationStartingEventHandler>(
@@ -36,22 +35,19 @@ ScenarioNonClientRegionSupport::ScenarioNonClientRegionSupport(AppWindow* appWin
3635
{
3736
wil::unique_cotaskmem_string uri;
3837
CHECK_FAILURE(args->get_Uri(&uri));
39-
CHECK_FEATURE_RETURN(m_experimentalSettings);
38+
CHECK_FEATURE_RETURN(m_settings9);
4039

4140
BOOL enabled = 0;
42-
CHECK_FAILURE(
43-
m_experimentalSettings->get_IsNonClientRegionSupportEnabled(&enabled));
41+
CHECK_FAILURE(m_settings9->get_IsNonClientRegionSupportEnabled(&enabled));
4442

4543
if (uri.get() == m_sampleUri && !enabled)
4644
{
47-
CHECK_FAILURE(
48-
m_experimentalSettings->put_IsNonClientRegionSupportEnabled(TRUE));
45+
CHECK_FAILURE(m_settings9->put_IsNonClientRegionSupportEnabled(TRUE));
4946
AddChangeListener();
5047
}
5148
else if (uri.get() != m_sampleUri && enabled)
5249
{
53-
CHECK_FAILURE(
54-
m_experimentalSettings->put_IsNonClientRegionSupportEnabled(FALSE));
50+
CHECK_FAILURE(m_settings9->put_IsNonClientRegionSupportEnabled(FALSE));
5551
}
5652
return S_OK;
5753
})
@@ -79,20 +75,19 @@ ScenarioNonClientRegionSupport::ScenarioNonClientRegionSupport(AppWindow* appWin
7975
//! [AddChangeListener]
8076
void ScenarioNonClientRegionSupport::AddChangeListener()
8177
{
82-
if (m_compController5)
78+
if (m_compController4)
8379
{
84-
CHECK_FAILURE(m_compController5->add_NonClientRegionChanged(
85-
Callback<ICoreWebView2ExperimentalNonClientRegionChangedEventHandler>(
80+
CHECK_FAILURE(m_compController4->add_NonClientRegionChanged(
81+
Callback<ICoreWebView2NonClientRegionChangedEventHandler>(
8682
[this](
8783
ICoreWebView2CompositionController* sender,
88-
ICoreWebView2ExperimentalNonClientRegionChangedEventArgs* args) -> HRESULT
84+
ICoreWebView2NonClientRegionChangedEventArgs* args) -> HRESULT
8985
{
9086
COREWEBVIEW2_NON_CLIENT_REGION_KIND region =
9187
COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE;
9288
args->get_RegionKind(&region);
93-
wil::com_ptr<ICoreWebView2ExperimentalRegionRectCollectionView>
94-
regionsCollection;
95-
m_compController5->QueryNonClientRegion(region, &regionsCollection);
89+
wil::com_ptr<ICoreWebView2RegionRectCollectionView> regionsCollection;
90+
m_compController4->QueryNonClientRegion(region, &regionsCollection);
9691
UINT32 count = 0;
9792
regionsCollection->get_Count(&count);
9893
RECT rect;
@@ -108,9 +103,9 @@ ScenarioNonClientRegionSupport::~ScenarioNonClientRegionSupport()
108103
{
109104
CHECK_FAILURE(m_webView->remove_NavigationStarting(m_navigationStartingToken));
110105
CHECK_FAILURE(m_webView->remove_ContentLoading(m_ContentLoadingToken));
111-
if (m_compController5)
106+
if (m_compController4)
112107
{
113108
CHECK_FAILURE(
114-
m_compController5->remove_NonClientRegionChanged(m_nonClientRegionChanged));
109+
m_compController4->remove_NonClientRegionChanged(m_nonClientRegionChanged));
115110
}
116111
}

SampleApps/WebView2APISample/ScenarioNonClientRegionSupport.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ class ScenarioNonClientRegionSupport : public ComponentBase
2121
AppWindow* m_appWindow;
2222
wil::com_ptr<ICoreWebView2> m_webView;
2323
wil::com_ptr<ICoreWebView2Settings> m_settings;
24-
wil::com_ptr<ICoreWebView2ExperimentalSettings8> m_experimentalSettings;
25-
wil::com_ptr<ICoreWebView2ExperimentalCompositionController5> m_compController5;
24+
25+
wil::com_ptr<ICoreWebView2Settings9> m_settings9;
26+
wil::com_ptr<ICoreWebView2CompositionController4> m_compController4;
2627
std::wstring m_sampleUri;
2728

2829
EventRegistrationToken m_navigationStartingToken = {};

SampleApps/WebView2APISample/SettingsComponent.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,23 +1293,23 @@ bool SettingsComponent::HandleWindowMessage(
12931293
{
12941294
//![ToggleNonClientRegionSupportEnabled]
12951295
BOOL nonClientRegionSupportEnabled;
1296-
wil::com_ptr<ICoreWebView2ExperimentalSettings8> experimentalSettings;
1297-
experimentalSettings = m_settings.try_query<ICoreWebView2ExperimentalSettings8>();
1298-
CHECK_FEATURE_RETURN(experimentalSettings);
1296+
wil::com_ptr<ICoreWebView2Settings9> settings;
1297+
settings = m_settings.try_query<ICoreWebView2Settings9>();
1298+
CHECK_FEATURE_RETURN(settings);
12991299

1300-
CHECK_FAILURE(experimentalSettings->get_IsNonClientRegionSupportEnabled(
1301-
&nonClientRegionSupportEnabled));
1300+
CHECK_FAILURE(
1301+
settings->get_IsNonClientRegionSupportEnabled(&nonClientRegionSupportEnabled));
13021302
if (nonClientRegionSupportEnabled)
13031303
{
1304-
CHECK_FAILURE(experimentalSettings->put_IsNonClientRegionSupportEnabled(FALSE));
1304+
CHECK_FAILURE(settings->put_IsNonClientRegionSupportEnabled(FALSE));
13051305
MessageBox(
13061306
nullptr,
13071307
L"Non-client region support will be disabled after the next navigation",
13081308
L"Settings change", MB_OK);
13091309
}
13101310
else
13111311
{
1312-
CHECK_FAILURE(experimentalSettings->put_IsNonClientRegionSupportEnabled(TRUE));
1312+
CHECK_FAILURE(settings->put_IsNonClientRegionSupportEnabled(TRUE));
13131313
MessageBox(
13141314
nullptr,
13151315
L"Non-client region support will be enabled after the next navigation",

SampleApps/WebView2APISample/ViewComponent.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -209,17 +209,16 @@ ViewComponent::ViewComponent(
209209
bool ViewComponent::HandleWindowMessage(
210210
HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT* result)
211211
{
212-
wil::com_ptr<ICoreWebView2ExperimentalCompositionController5> compositionController5;
212+
wil::com_ptr<ICoreWebView2CompositionController4> compositionController4;
213213

214214
if (m_compositionController)
215215
{
216-
compositionController5 =
217-
m_compositionController
218-
.try_query<ICoreWebView2ExperimentalCompositionController5>();
216+
compositionController4 =
217+
m_compositionController.try_query<ICoreWebView2CompositionController4>();
219218
}
220219

221220
//! [DraggableRegions1]
222-
if (message == WM_NCHITTEST && compositionController5)
221+
if (message == WM_NCHITTEST && compositionController4)
223222
{
224223
POINT point{GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)};
225224
ScreenToClient(hWnd, &point);
@@ -230,7 +229,7 @@ bool ViewComponent::HandleWindowMessage(
230229

231230
COREWEBVIEW2_NON_CLIENT_REGION_KIND region =
232231
COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE;
233-
CHECK_FAILURE(compositionController5->GetNonClientRegionAtPoint(point, &region));
232+
CHECK_FAILURE(compositionController4->GetNonClientRegionAtPoint(point, &region));
234233
*result = region;
235234
return true;
236235
}

SampleApps/WebView2APISample/WebView2APISample.rc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ BEGIN
101101
POPUP "WebView Creation Mode"
102102
BEGIN
103103
MENUITEM "Windowed", IDM_CREATION_MODE_WINDOWED
104+
MENUITEM "Windowed - HostInputProcessing", IDM_CREATION_MODE_HOST_INPUT_PROCESSING
104105
MENUITEM "Visual - DComp", IDM_CREATION_MODE_VISUAL_DCOMP
105106
MENUITEM "Target - DComp", IDM_CREATION_MODE_TARGET_DCOMP
106107
MENUITEM "Visual - WinComp", IDM_CREATION_MODE_VISUAL_WINCOMP
@@ -294,6 +295,7 @@ BEGIN
294295
MENUITEM "Virtual Host Mapping For Pop Up Window", IDM_SCENARIO_VIRTUAL_HOST_MAPPING_POP_UP_WINDOW
295296
MENUITEM "Web Messaging", IDM_SCENARIO_POST_WEB_MESSAGE
296297
MENUITEM "WebView Event Monitor", IDM_SCENARIO_WEB_VIEW_EVENT_MONITOR
298+
MENUITEM "Dropped file path", IDM_SCENARIO_DROPPED_FILE_PATH
297299
MENUITEM "Accelerator Key Pressed", IDM_SCENARIO_ACCELERATOR_KEY_PRESSED
298300
END
299301
POPUP "&Audio"

SampleApps/WebView2APISample/WebView2APISample.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,13 +452,13 @@
452452
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
453453
<ImportGroup Label="ExtensionTargets">
454454
<Import Project="..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets" Condition="Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" />
455-
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.2357-prerelease\build\native\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2357-prerelease\build\native\Microsoft.Web.WebView2.targets')" />
455+
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.2415-prerelease\build\native\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2415-prerelease\build\native\Microsoft.Web.WebView2.targets')" />
456456
</ImportGroup>
457457
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
458458
<PropertyGroup>
459459
<ErrorText>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}.</ErrorText>
460460
</PropertyGroup>
461461
<Error Condition="!Exists('..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Windows.ImplementationLibrary.1.0.220201.1\build\native\Microsoft.Windows.ImplementationLibrary.targets'))" />
462-
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2357-prerelease\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2357-prerelease\build\native\Microsoft.Web.WebView2.targets'))" />
462+
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2415-prerelease\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2415-prerelease\build\native\Microsoft.Web.WebView2.targets'))" />
463463
</Target>
464464
</Project>

SampleApps/WebView2APISample/assets/AppStartPage.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
99
}
1010

11+
html {
12+
color-scheme: light dark;
13+
}
14+
1115
/*
1216
This style is used when the app cannot make the background transparent.
1317
It will enable this style by executing script.

0 commit comments

Comments
 (0)