Skip to content

Commit 6ce6795

Browse files
author
Denghui Yu
committed
Add API:CoreWebView2Profile.Erase
1 parent 6698039 commit 6ce6795

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

specs/MultiProfile.md

+47
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,28 @@ void ScenarioCookieManagement::DeleteAllCookies()
165165
CHECK_FAILURE(m_cookieManager->DeleteAllCookies();
166166
}
167167
```
168+
169+
### Delete profile
170+
171+
```cpp
172+
HRESULT AppWindow::DeleteProfile(ICoreWebView2Controller* controller)
173+
{
174+
wil::com_ptr<ICoreWebView2> coreWebView2;
175+
CHECK_FAILURE(controller->get_CoreWebView2(&coreWebView2));
176+
auto webview7 = coreWebView2.try_query<ICoreWebView2_7>();
177+
if (webview7)
178+
{
179+
wil::com_ptr<ICoreWebView2Profile> profile;
180+
CHECK_FAILURE(webview7->get_Profile(&profile));
181+
auto profile2 = profile.try_query<ICoreWebView2StagingProfile4>;
182+
if (profile2)
183+
{
184+
CHECK_FAILURE(profile2->Delete());
185+
}
186+
}
187+
}
188+
```
189+
168190
## .NET and WinRT
169191
170192
### Create WebView2 with a specific profile, then access the profile property of WebView2
@@ -226,6 +248,17 @@ void DeleteAllCookies()
226248
}
227249
```
228250

251+
```csharp
252+
public DeleteProfile(CoreWebView2Controller controller)
253+
{
254+
// Get the profile object.
255+
CoreWebView2Profile profile = controller.CoreWebView2.Profile;
256+
257+
// Delete current profile.
258+
profile.Delete();
259+
}
260+
```
261+
229262
# API Details
230263

231264
## Win32 C++
@@ -236,6 +269,7 @@ interface ICoreWebView2Environment5;
236269
interface ICoreWebView2_7;
237270
interface ICoreWebView2Profile;
238271
interface ICoreWebView2Profile2;
272+
interface ICoreWebView2Profile3;
239273
240274
/// This interface is used to manage profile options that created by 'CreateCoreWebView2ControllerOptions'.
241275
[uuid(C2669A3A-03A9-45E9-97EA-03CD55E5DC03), object, pointer_default(unique)]
@@ -328,6 +362,13 @@ interface ICoreWebView2Profile2 : ICoreWebView2Profile {
328362
/// See ICoreWebView2CookieManager.
329363
[propget] HRESULT CookieManager([out, retval] ICoreWebView2CookieManager** cookieManager);
330364
}
365+
366+
[uuid(1c1ae2cc-d5c2-ffe3-d3e7-7857035d23b7), object, pointer_default(unique)]
367+
interface ICoreWebView2Profile3 : ICoreWebView2Profile2 {
368+
/// Delete the profile completely. All webviews on this profile will be closed and
369+
/// the profile directory on disk will be deleted.
370+
HRESULT Delete();
371+
}
331372
```
332373

333374
## .NET and WinRT
@@ -379,6 +420,12 @@ namespace Microsoft.Web.WebView2.Core
379420
String ProfilePath { get; };
380421

381422
CoreWebView2CookieManager CookieManager { get; };
423+
424+
[interface_name("Microsoft.Web.WebView2.Core.ICoreWebView2Profile4")]
425+
{
426+
// ICoreWebView2Profile4 members
427+
void Delete();
428+
}
382429
}
383430
}
384431
```

0 commit comments

Comments
 (0)