Skip to content

Commit 85e53c9

Browse files
Update projects to use latest WebView2 SDK 1.0.2194-prerelease (#223)
* Updates for Win32, WPF and WinForms sample apps from 120.0.2194.0 * Updated package version for Win32, WPF and WinForms sample apps to 1.0.2194-prerelease --------- Co-authored-by: WebView2 Github Bot <[email protected]>
1 parent ac00a84 commit 85e53c9

File tree

10 files changed

+126
-89
lines changed

10 files changed

+126
-89
lines changed

SampleApps/WebView2APISample/AppWindow.cpp

Lines changed: 26 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ DWORD WINAPI DownloadAndInstallWV2RT(_In_ LPVOID lpParameter)
9595

9696
if (ShellExecuteEx(&shExInfo))
9797
{
98-
returnCode = 0; // Install successfull
98+
returnCode = 0; // Install successful
9999
}
100100
else
101101
{
@@ -1313,10 +1313,10 @@ void AppWindow::InitializeWebView()
13131313
options5->put_EnableTrackingPrevention(m_TrackingPreventionEnabled ? TRUE : FALSE));
13141314
}
13151315

1316-
Microsoft::WRL::ComPtr<ICoreWebView2ExperimentalEnvironmentOptions> optionsExperimental;
1317-
if (options.As(&optionsExperimental) == S_OK)
1316+
Microsoft::WRL::ComPtr<ICoreWebView2EnvironmentOptions6> options6;
1317+
if (options.As(&options6) == S_OK)
13181318
{
1319-
CHECK_FAILURE(optionsExperimental->put_AreBrowserExtensionsEnabled(TRUE));
1319+
CHECK_FAILURE(options6->put_AreBrowserExtensionsEnabled(TRUE));
13201320
}
13211321

13221322
HRESULT hr = CreateCoreWebView2EnvironmentWithOptions(
@@ -1874,41 +1874,31 @@ void AppWindow::RegisterEventHandlers()
18741874
.Get(),
18751875
nullptr));
18761876
//! [NewBrowserVersionAvailable]
1877+
18771878
//! [ProfileDeleted]
18781879
auto webView2_13 = m_webView.try_query<ICoreWebView2_13>();
1879-
if (webView2_13)
1880-
{
1881-
wil::com_ptr<ICoreWebView2Profile> webView2ProfileBase;
1882-
webView2_13->get_Profile(&webView2ProfileBase);
1883-
if (webView2ProfileBase)
1884-
{
1885-
auto webView2Profile =
1886-
webView2ProfileBase.try_query<ICoreWebView2ExperimentalProfile10>();
1887-
if (webView2Profile)
1880+
CHECK_FEATURE_RETURN_EMPTY(webView2_13);
1881+
wil::com_ptr<ICoreWebView2Profile> webView2Profile;
1882+
CHECK_FAILURE(webView2_13->get_Profile(&webView2Profile));
1883+
CHECK_FEATURE_RETURN_EMPTY(webView2Profile);
1884+
auto webView2Profile8 = webView2Profile.try_query<ICoreWebView2Profile8>();
1885+
CHECK_FEATURE_RETURN_EMPTY(webView2Profile8);
1886+
CHECK_FAILURE(webView2Profile8->add_Deleted(
1887+
Microsoft::WRL::Callback<ICoreWebView2ProfileDeletedEventHandler>(
1888+
[this](ICoreWebView2Profile* sender, IUnknown* args)
18881889
{
1889-
CHECK_FAILURE(webView2Profile->add_Deleted(
1890-
Microsoft::WRL::Callback<
1891-
ICoreWebView2ExperimentalProfileDeletedEventHandler>(
1892-
[this](ICoreWebView2Profile* sender, IUnknown* args)
1893-
{
1894-
RunAsync(
1895-
[this]()
1896-
{
1897-
std::wstring message =
1898-
L"The profile has been marked for deletion. Any "
1899-
L"associated webview2 objects will be closed.";
1900-
MessageBox(
1901-
m_mainWindow, message.c_str(), L"webview2 closed",
1902-
MB_OK);
1903-
CloseAppWindow();
1904-
});
1905-
return S_OK;
1906-
})
1907-
.Get(),
1908-
nullptr));
1909-
}
1910-
}
1911-
}
1890+
RunAsync(
1891+
[this]()
1892+
{
1893+
std::wstring message = L"The profile has been marked for deletion. Any "
1894+
L"associated webview2 objects will be closed.";
1895+
MessageBox(m_mainWindow, message.c_str(), L"webview2 closed", MB_OK);
1896+
CloseAppWindow();
1897+
});
1898+
return S_OK;
1899+
})
1900+
.Get(),
1901+
nullptr));
19121902
//! [ProfileDeleted]
19131903
}
19141904

SampleApps/WebView2APISample/ScenarioExtensionsManagement.cpp

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,17 @@ void ScenarioExtensionsManagement::InstallDefaultExtensions()
3232
CHECK_FEATURE_RETURN_EMPTY(webView2_13);
3333
wil::com_ptr<ICoreWebView2Profile> webView2Profile;
3434
CHECK_FAILURE(webView2_13->get_Profile(&webView2Profile));
35-
auto webView2ExperimentalProfile12 =
36-
webView2Profile.try_query<ICoreWebView2ExperimentalProfile12>();
37-
CHECK_FEATURE_RETURN_EMPTY(webView2ExperimentalProfile12);
35+
auto profile7 = webView2Profile.try_query<ICoreWebView2Profile7>();
36+
CHECK_FEATURE_RETURN_EMPTY(profile7);
3837

3938
std::wstring extension_path_file = m_appWindow->GetLocalUri(c_samplePath, false);
4039
// Remove "file:///" from the beginning of extension_path_file
4140
std::wstring extension_path = extension_path_file.substr(8);
4241

43-
webView2ExperimentalProfile12->GetBrowserExtensions(
44-
Callback<ICoreWebView2ExperimentalProfileGetBrowserExtensionsCompletedHandler>(
45-
[this, webView2ExperimentalProfile12, extension_path](
46-
HRESULT error,
47-
ICoreWebView2ExperimentalBrowserExtensionList* extensions) -> HRESULT
42+
profile7->GetBrowserExtensions(
43+
Callback<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>(
44+
[this, profile7, extension_path](
45+
HRESULT error, ICoreWebView2BrowserExtensionList* extensions) -> HRESULT
4846
{
4947
std::wstring extensionIdString;
5048
bool extensionInstalled = false;
@@ -53,7 +51,7 @@ void ScenarioExtensionsManagement::InstallDefaultExtensions()
5351

5452
for (UINT index = 0; index < extensionsCount; ++index)
5553
{
56-
wil::com_ptr<ICoreWebView2ExperimentalBrowserExtension> extension;
54+
wil::com_ptr<ICoreWebView2BrowserExtension> extension;
5755
extensions->GetValueAtIndex(index, &extension);
5856

5957
wil::unique_cotaskmem_string id;
@@ -79,8 +77,7 @@ void ScenarioExtensionsManagement::InstallDefaultExtensions()
7977
message += L" but was disabled.";
8078
extension->Enable(
8179
!enabled,
82-
Callback<
83-
ICoreWebView2ExperimentalBrowserExtensionEnableCompletedHandler>(
80+
Callback<ICoreWebView2BrowserExtensionEnableCompletedHandler>(
8481
[](HRESULT error) -> HRESULT
8582
{
8683
if (error != S_OK)
@@ -99,12 +96,11 @@ void ScenarioExtensionsManagement::InstallDefaultExtensions()
9996

10097
if (!extensionInstalled)
10198
{
102-
CHECK_FAILURE(webView2ExperimentalProfile12->AddBrowserExtension(
99+
CHECK_FAILURE(profile7->AddBrowserExtension(
103100
extension_path.c_str(),
104-
Callback<
105-
ICoreWebView2ExperimentalProfileAddBrowserExtensionCompletedHandler>(
101+
Callback<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>(
106102
[](HRESULT error,
107-
ICoreWebView2ExperimentalBrowserExtension* extension) -> HRESULT
103+
ICoreWebView2BrowserExtension* extension) -> HRESULT
108104
{
109105
if (error != S_OK)
110106
{
@@ -135,14 +131,12 @@ void ScenarioExtensionsManagement::OffloadDefaultExtensionsIfExtraExtensionsInst
135131
CHECK_FEATURE_RETURN_EMPTY(webView2_13);
136132
wil::com_ptr<ICoreWebView2Profile> webView2Profile;
137133
CHECK_FAILURE(webView2_13->get_Profile(&webView2Profile));
138-
auto webView2ExperimentalProfile12 =
139-
webView2Profile.try_query<ICoreWebView2ExperimentalProfile12>();
140-
CHECK_FEATURE_RETURN_EMPTY(webView2ExperimentalProfile12);
141-
142-
webView2ExperimentalProfile12->GetBrowserExtensions(
143-
Callback<ICoreWebView2ExperimentalProfileGetBrowserExtensionsCompletedHandler>(
144-
[this](HRESULT error, ICoreWebView2ExperimentalBrowserExtensionList* extensions)
145-
-> HRESULT
134+
auto profile7 = webView2Profile.try_query<ICoreWebView2Profile7>();
135+
CHECK_FEATURE_RETURN_EMPTY(profile7);
136+
137+
profile7->GetBrowserExtensions(
138+
Callback<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>(
139+
[this](HRESULT error, ICoreWebView2BrowserExtensionList* extensions) -> HRESULT
146140
{
147141
std::wstring extensionIdString;
148142
UINT extensionsCount = 0;
@@ -152,7 +146,7 @@ void ScenarioExtensionsManagement::OffloadDefaultExtensionsIfExtraExtensionsInst
152146
{
153147
for (UINT index = 0; index < extensionsCount; ++index)
154148
{
155-
wil::com_ptr<ICoreWebView2ExperimentalBrowserExtension> extension;
149+
wil::com_ptr<ICoreWebView2BrowserExtension> extension;
156150
extensions->GetValueAtIndex(index, &extension);
157151

158152
wil::unique_cotaskmem_string id;
@@ -162,8 +156,7 @@ void ScenarioExtensionsManagement::OffloadDefaultExtensionsIfExtraExtensionsInst
162156
if (extensionIdString.compare(m_extensionId) == 0)
163157
{
164158
extension->Remove(
165-
Callback<
166-
ICoreWebView2ExperimentalBrowserExtensionRemoveCompletedHandler>(
159+
Callback<ICoreWebView2BrowserExtensionRemoveCompletedHandler>(
167160
[extension](HRESULT error) -> HRESULT
168161
{
169162
if (error != S_OK)

SampleApps/WebView2APISample/ScriptComponent.cpp

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,8 @@ void ScriptComponent::AddBrowserExtension()
179179
auto webView2_13 = m_webView.try_query<ICoreWebView2_13>();
180180
wil::com_ptr<ICoreWebView2Profile> webView2Profile;
181181
CHECK_FAILURE(webView2_13->get_Profile(&webView2Profile));
182-
auto webView2ExperimentalProfile12 =
183-
webView2Profile.try_query<ICoreWebView2ExperimentalProfile12>();
182+
auto profile7 = webView2Profile.try_query<ICoreWebView2Profile7>();
183+
CHECK_FEATURE_RETURN_EMPTY(profile7);
184184

185185
OPENFILENAME openFileName = {};
186186
openFileName.lStructSize = sizeof(openFileName);
@@ -196,11 +196,10 @@ void ScriptComponent::AddBrowserExtension()
196196
{
197197
// Remove the filename part of the path.
198198
*wcsrchr(fileName, L'\\') = L'\0';
199-
webView2ExperimentalProfile12->AddBrowserExtension(
199+
profile7->AddBrowserExtension(
200200
fileName,
201-
Callback<ICoreWebView2ExperimentalProfileAddBrowserExtensionCompletedHandler>(
202-
[](HRESULT error,
203-
ICoreWebView2ExperimentalBrowserExtension* extension) -> HRESULT
201+
Callback<ICoreWebView2ProfileAddBrowserExtensionCompletedHandler>(
202+
[](HRESULT error, ICoreWebView2BrowserExtension* extension) -> HRESULT
204203
{
205204
if (error != S_OK)
206205
{
@@ -231,22 +230,21 @@ void ScriptComponent::RemoveOrDisableBrowserExtension(const bool remove)
231230
auto webView2_13 = m_webView.try_query<ICoreWebView2_13>();
232231
wil::com_ptr<ICoreWebView2Profile> webView2Profile;
233232
CHECK_FAILURE(webView2_13->get_Profile(&webView2Profile));
234-
auto webView2ExperimentalProfile12 =
235-
webView2Profile.try_query<ICoreWebView2ExperimentalProfile12>();
236-
237-
webView2ExperimentalProfile12->GetBrowserExtensions(
238-
Callback<ICoreWebView2ExperimentalProfileGetBrowserExtensionsCompletedHandler>(
239-
[this, webView2ExperimentalProfile12, remove](
240-
HRESULT error,
241-
ICoreWebView2ExperimentalBrowserExtensionList* extensions) -> HRESULT
233+
auto profile7 = webView2Profile.try_query<ICoreWebView2Profile7>();
234+
CHECK_FEATURE_RETURN_EMPTY(profile7);
235+
236+
profile7->GetBrowserExtensions(
237+
Callback<ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler>(
238+
[this, profile7,
239+
remove](HRESULT error, ICoreWebView2BrowserExtensionList* extensions) -> HRESULT
242240
{
243241
std::wstring extensionIdString;
244242
UINT extensionsCount = 0;
245243
extensions->get_Count(&extensionsCount);
246244

247245
for (UINT index = 0; index < extensionsCount; ++index)
248246
{
249-
wil::com_ptr<ICoreWebView2ExperimentalBrowserExtension> extension;
247+
wil::com_ptr<ICoreWebView2BrowserExtension> extension;
250248
extensions->GetValueAtIndex(index, &extension);
251249

252250
wil::unique_cotaskmem_string id;
@@ -279,7 +277,7 @@ void ScriptComponent::RemoveOrDisableBrowserExtension(const bool remove)
279277
{
280278
for (UINT index = 0; index < extensionsCount; ++index)
281279
{
282-
wil::com_ptr<ICoreWebView2ExperimentalBrowserExtension> extension;
280+
wil::com_ptr<ICoreWebView2BrowserExtension> extension;
283281
extensions->GetValueAtIndex(index, &extension);
284282

285283
wil::unique_cotaskmem_string id;
@@ -292,7 +290,7 @@ void ScriptComponent::RemoveOrDisableBrowserExtension(const bool remove)
292290
{
293291
extension->Remove(
294292
Callback<
295-
ICoreWebView2ExperimentalBrowserExtensionRemoveCompletedHandler>(
293+
ICoreWebView2BrowserExtensionRemoveCompletedHandler>(
296294
[](HRESULT error) -> HRESULT
297295
{
298296
if (error != S_OK)
@@ -313,7 +311,7 @@ void ScriptComponent::RemoveOrDisableBrowserExtension(const bool remove)
313311
extension->Enable(
314312
!enabled,
315313
Callback<
316-
ICoreWebView2ExperimentalBrowserExtensionEnableCompletedHandler>(
314+
ICoreWebView2BrowserExtensionEnableCompletedHandler>(
317315
[](HRESULT error) -> HRESULT
318316
{
319317
if (error != S_OK)

SampleApps/WebView2APISample/SettingsComponent.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -789,8 +789,7 @@ bool SettingsComponent::HandleWindowMessage(
789789
wil::com_ptr<ICoreWebView2Profile> webView2ProfileBase;
790790
m_webView2_13->get_Profile(&webView2ProfileBase);
791791
CHECK_FEATURE_RETURN(webView2ProfileBase);
792-
auto webView2Profile =
793-
webView2ProfileBase.try_query<ICoreWebView2ExperimentalProfile10>();
792+
auto webView2Profile = webView2ProfileBase.try_query<ICoreWebView2Profile8>();
794793
CHECK_FEATURE_RETURN(webView2Profile);
795794
webView2Profile->Delete();
796795
//! [DeleteProfile]

SampleApps/WebView2APISample/WebView2APISample.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -425,13 +425,13 @@
425425
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
426426
<ImportGroup Label="ExtensionTargets">
427427
<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')" />
428-
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.2164-prerelease\build\native\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2164-prerelease\build\native\Microsoft.Web.WebView2.targets')" />
428+
<Import Project="..\packages\Microsoft.Web.WebView2.1.0.2194-prerelease\build\native\Microsoft.Web.WebView2.targets" Condition="Exists('..\packages\Microsoft.Web.WebView2.1.0.2194-prerelease\build\native\Microsoft.Web.WebView2.targets')" />
429429
</ImportGroup>
430430
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
431431
<PropertyGroup>
432432
<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>
433433
</PropertyGroup>
434434
<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'))" />
435-
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2164-prerelease\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2164-prerelease\build\native\Microsoft.Web.WebView2.targets'))" />
435+
<Error Condition="!Exists('..\packages\Microsoft.Web.WebView2.1.0.2194-prerelease\build\native\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Web.WebView2.1.0.2194-prerelease\build\native\Microsoft.Web.WebView2.targets'))" />
436436
</Target>
437437
</Project>

SampleApps/WebView2APISample/assets/ScenarioNonClientRegionSupport.html

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,63 @@
2424
text-align: center;
2525
app-region: no-drag;
2626
}
27+
28+
#textarea {
29+
app-region: drag;
30+
}
31+
32+
#textarea:hover {
33+
border: 1px solid red;
34+
}
35+
36+
#button {
37+
app-region: drag;
38+
}
39+
40+
#button:hover {
41+
border: 1px solid red;
42+
}
2743
</style>
2844
</head>
2945
<body>
3046
<h1 class="center">Non-Client Region Support</h1>
31-
<div class="draggable">
47+
<div class="draggable" id="drag-region">
3248
<p>Draggable Region</p>
3349
</div>
34-
<p>
50+
<p>
3551
Note: This site will always have non-client region support enabled.
3652
Upon navigating away from this site, non-client region support will be disabled.
3753
</p>
3854

55+
<h2>Interactive Elements</h2>
56+
<p>
57+
This shows how app-region drag can work with interactive elements
58+
</p>
59+
<textarea id="textarea" placeholder="type here" rows="4" cols="13"></textarea>
60+
<button id="button">Click or Drag me</button>
61+
<p>Click counter: <span id="counter">0</span></p>
62+
63+
<script>
64+
const textarea = document.getElementById("textarea");
65+
const dragarea = document.getElementById("drag-region");
66+
const button = document.getElementById("button");
67+
const dragareaInitialWidth = dragarea.clientWidth;
68+
const counter = document.getElementById("counter");
69+
70+
71+
textarea.addEventListener("focus", (e) => {
72+
textarea.style['app-region'] = "no-drag";
73+
dragarea.style.width = `${dragareaInitialWidth - 1}px`;
74+
});
75+
76+
textarea.addEventListener("blur", (e) => {
77+
textarea.style['app-region'] = "drag";
78+
dragarea.style.width = `${dragareaInitialWidth + 1}px`;
79+
})
80+
81+
button.addEventListener("click", () => {
82+
counter.innerText = parseInt(counter.innerText) + 1;
83+
})
84+
</script>
3985
</body>
4086
</html>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Microsoft.Web.WebView2" version="1.0.2164-prerelease" targetFramework="native" />
3+
<package id="Microsoft.Web.WebView2" version="1.0.2194-prerelease" targetFramework="native" />
44
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220201.1" targetFramework="native" />
55
</packages>

SampleApps/WebView2WindowsFormsBrowser/WebView2WindowsFormsBrowser.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
<PlatformTarget>AnyCPU</PlatformTarget>
2626
</PropertyGroup>
2727
<ItemGroup>
28-
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.2164-prerelease" />
28+
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.2194-prerelease" />
2929
</ItemGroup>
3030
<ItemGroup>
3131
<Folder Include="assets\" />

0 commit comments

Comments
 (0)