@@ -328,11 +328,6 @@ void AllowNTLMCredentialsForDomainsInIO(
328328 }
329329}
330330
331- void OnClearStorageDataDone (const base::Closure& callback) {
332- if (!callback.is_null ())
333- callback.Run ();
334- }
335-
336331void DownloadIdCallback (content::DownloadManager* download_manager,
337332 const base::FilePath& path,
338333 const std::vector<GURL>& url_chain,
@@ -429,12 +424,13 @@ void Session::DoCacheAction(const net::CompletionCallback& callback) {
429424 action, callback));
430425}
431426
432- void Session::ClearStorageData (mate::Arguments* args) {
433- // clearStorageData([options, callback])
427+ v8::Local<v8::Promise> Session::ClearStorageData (mate::Arguments* args) {
428+ v8::Isolate* isolate = args->isolate ();
429+ util::Promise promise (isolate);
430+ v8::Local<v8::Promise> handle = promise.GetHandle ();
431+
434432 ClearStorageDataOptions options;
435- base::Closure callback;
436433 args->GetNext (&options);
437- args->GetNext (&callback);
438434
439435 auto * storage_partition =
440436 content::BrowserContext::GetStoragePartition (browser_context (), nullptr );
@@ -443,9 +439,13 @@ void Session::ClearStorageData(mate::Arguments* args) {
443439 // https://w3c.github.io/mediacapture-main/#dom-mediadeviceinfo-deviceid
444440 MediaDeviceIDSalt::Reset (browser_context ()->prefs ());
445441 }
446- storage_partition->ClearData (options.storage_types , options.quota_types ,
447- options.origin , base::Time (), base::Time::Max (),
448- base::Bind (&OnClearStorageDataDone, callback));
442+
443+ storage_partition->ClearData (
444+ options.storage_types , options.quota_types , options.origin , base::Time (),
445+ base::Time::Max (),
446+ base::Bind (util::CopyablePromise::ResolveEmptyCopyablePromise,
447+ util::CopyablePromise (promise)));
448+ return handle;
449449}
450450
451451void Session::FlushStorageData () {
0 commit comments