|
|
@ -235,11 +235,13 @@ internal abstract class JSStorageItem : IStorageBookmarkItem |
|
|
throw new InvalidOperationException("Destination folder must be initialized the StorageProvider API."); |
|
|
throw new InvalidOperationException("Destination folder must be initialized the StorageProvider API."); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var storageItem = await StorageHelper.MoveAsync(FileHandle, folder.FileHandle); |
|
|
var itemHandle = await StorageHelper.MoveAsync(FileHandle, folder.FileHandle); |
|
|
if (storageItem is null) |
|
|
if (itemHandle is null) |
|
|
{ |
|
|
{ |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var storageItem = StorageHelper.StorageItemFromHandle(itemHandle)!; |
|
|
|
|
|
|
|
|
var kind = storageItem.GetPropertyAsString("kind"); |
|
|
var kind = storageItem.GetPropertyAsString("kind"); |
|
|
return kind switch |
|
|
return kind switch |
|
|
@ -356,12 +358,13 @@ internal class JSStorageFolder : JSStorageItem, IStorageBookmarkFolder |
|
|
{ |
|
|
{ |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
var storageFile = await StorageHelper.CreateFile(FileHandle, name); |
|
|
var fileHandle = await StorageHelper.CreateFile(FileHandle, name); |
|
|
if (storageFile is null) |
|
|
if (fileHandle is null) |
|
|
{ |
|
|
{ |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var storageFile = StorageHelper.StorageItemFromHandle(fileHandle)!; |
|
|
return new JSStorageFile(storageFile); |
|
|
return new JSStorageFile(storageFile); |
|
|
} |
|
|
} |
|
|
catch (JSException ex) when (ex.Message == BrowserStorageProvider.NoPermissionsMessage) |
|
|
catch (JSException ex) when (ex.Message == BrowserStorageProvider.NoPermissionsMessage) |
|
|
@ -374,13 +377,14 @@ internal class JSStorageFolder : JSStorageItem, IStorageBookmarkFolder |
|
|
{ |
|
|
{ |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
var storageFile = await StorageHelper.CreateFolder(FileHandle, name); |
|
|
var folderHandler = await StorageHelper.CreateFolder(FileHandle, name); |
|
|
if (storageFile is null) |
|
|
if (folderHandler is null) |
|
|
{ |
|
|
{ |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return new JSStorageFolder(storageFile); |
|
|
var storageFolder = StorageHelper.StorageItemFromHandle(folderHandler)!; |
|
|
|
|
|
return new JSStorageFolder(storageFolder); |
|
|
} |
|
|
} |
|
|
catch (JSException ex) when (ex.Message == BrowserStorageProvider.NoPermissionsMessage) |
|
|
catch (JSException ex) when (ex.Message == BrowserStorageProvider.NoPermissionsMessage) |
|
|
{ |
|
|
{ |
|
|
@ -392,13 +396,15 @@ internal class JSStorageFolder : JSStorageItem, IStorageBookmarkFolder |
|
|
{ |
|
|
{ |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
var storageFile = await StorageHelper.GetFolder(FileHandle, name); |
|
|
var folderHandle = await StorageHelper.GetFolder(FileHandle, name); |
|
|
if (storageFile is null) |
|
|
if (folderHandle is null) |
|
|
{ |
|
|
{ |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var storageFolder = StorageHelper.StorageItemFromHandle(folderHandle)!; |
|
|
|
|
|
|
|
|
return new JSStorageFolder(storageFile); |
|
|
return new JSStorageFolder(storageFolder); |
|
|
} |
|
|
} |
|
|
catch (JSException ex) when (ShouldSupressErrorOnFileAccess(ex)) |
|
|
catch (JSException ex) when (ShouldSupressErrorOnFileAccess(ex)) |
|
|
{ |
|
|
{ |
|
|
@ -410,11 +416,13 @@ internal class JSStorageFolder : JSStorageItem, IStorageBookmarkFolder |
|
|
{ |
|
|
{ |
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
var storageFile = await StorageHelper.GetFile(FileHandle, name); |
|
|
var fileHandle = await StorageHelper.GetFile(FileHandle, name); |
|
|
if (storageFile is null) |
|
|
if (fileHandle is null) |
|
|
{ |
|
|
{ |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var storageFile = StorageHelper.StorageItemFromHandle(fileHandle)!; |
|
|
|
|
|
|
|
|
return new JSStorageFile(storageFile); |
|
|
return new JSStorageFile(storageFile); |
|
|
} |
|
|
} |
|
|
|