@@ -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;
236269interface ICoreWebView2_7;
237270interface ICoreWebView2Profile;
238271interface 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.ICoreWebView2Profile3" )]
425+ {
426+ // ICoreWebView2Profile3 members
427+ void Delete ();
428+ }
382429 }
383430}
384431```
0 commit comments