Commit a5e2d367 authored by Marijn Kruisselbrink's avatar Marijn Kruisselbrink Committed by Commit Bot

[NativeFS] Update browser tests to use new writing API.

Also update runtime_features to turn on the new writable streams API when
the Native File System specific feature flag is enabled.

Bug: 853326
Change-Id: I2c66a6917a9d1cec6074f08aa1c2ef12170d133b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2095409Reviewed-by: default avatarOlivier Yiptong <oyiptong@chromium.org>
Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#748929}
parent c5259c20
...@@ -200,8 +200,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, SaveFile) { ...@@ -200,8 +200,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, SaveFile) {
content::EvalJs( content::EvalJs(
web_contents, web_contents,
content::JsReplace("(async () => {" content::JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" await w.close();" " await w.close();"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
file_contents))); file_contents)));
...@@ -247,8 +247,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, OpenFile) { ...@@ -247,8 +247,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, OpenFile) {
content::EvalJs( content::EvalJs(
web_contents, web_contents,
content::JsReplace("(async () => {" content::JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" await w.close();" " await w.close();"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
file_contents))); file_contents)));
...@@ -304,7 +304,7 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, FullscreenOpenFile) { ...@@ -304,7 +304,7 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, FullscreenOpenFile) {
" let fsChangePromise = new Promise((resolve) => {" " let fsChangePromise = new Promise((resolve) => {"
" document.onfullscreenchange = resolve;" " document.onfullscreenchange = resolve;"
" });" " });"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await fsChangePromise;" " await fsChangePromise;"
" return; })()")); " return; })()"));
...@@ -369,8 +369,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, SafeBrowsing) { ...@@ -369,8 +369,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, SafeBrowsing) {
"(async () => {" "(async () => {"
" let e = await self.chooseFileSystemEntries(" " let e = await self.chooseFileSystemEntries("
" {type: 'save-file'});" " {type: 'save-file'});"
" const w = await e.createWriter();" " const w = await e.createWritable();"
" await w.write(0, 'abc');" " await w.write('abc');"
" await w.close();" " await w.close();"
" return e.name; })()")); " return e.name; })()"));
...@@ -416,8 +416,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, ...@@ -416,8 +416,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest,
content::EvalJs( content::EvalJs(
web_contents, web_contents,
content::JsReplace("(async () => {" content::JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" await w.close();" " await w.close();"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
file_contents))); file_contents)));
...@@ -469,8 +469,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest, ...@@ -469,8 +469,8 @@ IN_PROC_BROWSER_TEST_P(NativeFileSystemBrowserTest,
content::EvalJs( content::EvalJs(
web_contents, web_contents,
content::JsReplace("(async () => {" content::JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" await w.close();" " await w.close();"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
file_contents))); file_contents)));
...@@ -576,8 +576,8 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemOriginScopedPermissionsBrowserTest, ...@@ -576,8 +576,8 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemOriginScopedPermissionsBrowserTest,
content::EvalJs( content::EvalJs(
third_party_iframe, third_party_iframe,
content::JsReplace("(async () => {" content::JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" await w.close();" " await w.close();"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
initial_file_contents))); initial_file_contents)));
......
...@@ -429,10 +429,10 @@ IN_PROC_BROWSER_TEST_P(SystemWebAppManagerLaunchFilesBrowserTest, ...@@ -429,10 +429,10 @@ IN_PROC_BROWSER_TEST_P(SystemWebAppManagerLaunchFilesBrowserTest,
bool writer_closed; bool writer_closed;
EXPECT_TRUE(content::ExecuteScriptAndExtractBool( EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
web_contents, web_contents,
"window.firstLaunchParams.files[1].createWriter().then(" "window.firstLaunchParams.files[1].createWritable().then("
" async writer => {" " async writer => {"
" console.log(writer);" " console.log(writer);"
" await writer.write(0, 'test');" " await writer.write('test');"
" await writer.close();" " await writer.close();"
" domAutomationController.send(true);" " domAutomationController.send(true);"
" }" " }"
......
...@@ -172,8 +172,8 @@ IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, SaveFile_NonExistingFile) { ...@@ -172,8 +172,8 @@ IN_PROC_BROWSER_TEST_F(FileSystemChooserBrowserTest, SaveFile_NonExistingFile) {
EXPECT_EQ(int{file_contents.size()}, EXPECT_EQ(int{file_contents.size()},
EvalJs(shell(), EvalJs(shell(),
JsReplace("(async () => {" JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" await w.close();" " await w.close();"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
file_contents))); file_contents)));
......
...@@ -125,8 +125,8 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -125,8 +125,8 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EXPECT_EQ(0, EXPECT_EQ(0,
EvalJs(shell(), EvalJs(shell(),
JsReplace("(async () => {" JsReplace("(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" await w.write(0, new Blob([$1]));" " await w.write(new Blob([$1]));"
" self.writer = w;" " self.writer = w;"
" return (await self.entry.getFile()).size; })()", " return (await self.entry.getFile()).size; })()",
file_contents))); file_contents)));
...@@ -166,7 +166,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -166,7 +166,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EXPECT_EQ(nullptr, EvalJs(shell(), EXPECT_EQ(nullptr, EvalJs(shell(),
"(async () => {" "(async () => {"
" const w = await self.entry.createWriter({" " const w = await self.entry.createWritable({"
" keepExistingData: true });" " keepExistingData: true });"
" self.writer = w;" " self.writer = w;"
"})()")); "})()"));
...@@ -181,7 +181,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -181,7 +181,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EXPECT_EQ(int{expected_contents.size()}, EXPECT_EQ(int{expected_contents.size()},
EvalJs(shell(), EvalJs(shell(),
"(async () => {" "(async () => {"
" await self.writer.write(0, new Blob(['bar']));" " await self.writer.write(new Blob(['bar']));"
" await self.writer.close();" " await self.writer.close();"
" return (await self.entry.getFile()).size; })()")); " return (await self.entry.getFile()).size; })()"));
{ {
...@@ -201,7 +201,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -201,7 +201,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EXPECT_EQ(nullptr, EvalJs(shell(), EXPECT_EQ(nullptr, EvalJs(shell(),
"(async () => {" "(async () => {"
" const w = await self.entry.createWriter({" " const w = await self.entry.createWritable({"
" keepExistingData: false });" " keepExistingData: false });"
" self.writer = w;" " self.writer = w;"
"})()")); "})()"));
...@@ -216,7 +216,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -216,7 +216,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EXPECT_EQ(int{expected_contents.size()}, EXPECT_EQ(int{expected_contents.size()},
EvalJs(shell(), EvalJs(shell(),
"(async () => {" "(async () => {"
" await self.writer.write(0, new Blob(['bar']));" " await self.writer.write(new Blob(['bar']));"
" await self.writer.close();" " await self.writer.close();"
" return (await self.entry.getFile()).size; })()")); " return (await self.entry.getFile()).size; })()"));
{ {
...@@ -236,7 +236,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -236,7 +236,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
for (int index = 0; index < num_writers; index++) { for (int index = 0; index < num_writers; index++) {
EXPECT_EQ(nullptr, EvalJs(shell(), EXPECT_EQ(nullptr, EvalJs(shell(),
"(async () => {" "(async () => {"
" const w = await self.entry.createWriter();" " const w = await self.entry.createWritable();"
" self.writers.push(w);" " self.writers.push(w);"
"})()")); "})()"));
} }
...@@ -266,7 +266,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -266,7 +266,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EvalJs(shell(), EvalJs(shell(),
JsReplace("(async () => {" JsReplace("(async () => {"
" for(let i = 0; i < $1; i++ ) {" " for(let i = 0; i < $1; i++ ) {"
" self.writers.push(self.entry.createWriter());" " self.writers.push(self.entry.createWritable());"
" }" " }"
" await Promise.all(self.writers);" " await Promise.all(self.writers);"
"})()", "})()",
...@@ -301,7 +301,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest, ...@@ -301,7 +301,7 @@ IN_PROC_BROWSER_TEST_F(NativeFileSystemFileWriterBrowserTest,
EXPECT_EQ(nullptr, EvalJs(shell(), EXPECT_EQ(nullptr, EvalJs(shell(),
"(async () => {" "(async () => {"
" const w = await self.entry.createWriter(" " const w = await self.entry.createWritable("
" {keepExistingData: true}," " {keepExistingData: true},"
" );" " );"
" self.writer = w;" " self.writer = w;"
......
...@@ -525,6 +525,9 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs( ...@@ -525,6 +525,9 @@ void SetCustomizedRuntimeFeaturesFromCombinedArgs(
blink::features::kNativeFileSystemAPI.name, blink::features::kNativeFileSystemAPI.name,
base::FeatureList::OVERRIDE_ENABLE_FEATURE)) { base::FeatureList::OVERRIDE_ENABLE_FEATURE)) {
WebRuntimeFeatures::EnableFeatureFromString("NativeFileSystem", true); WebRuntimeFeatures::EnableFeatureFromString("NativeFileSystem", true);
WebRuntimeFeatures::EnableFeatureFromString(
"CloneableNativeFileSystemHandles", true);
WebRuntimeFeatures::EnableFeatureFromString("WritableFileStream", true);
} }
if (base::FeatureList::IsEnabled(blink::features::kNativeFileSystemAPI) && if (base::FeatureList::IsEnabled(blink::features::kNativeFileSystemAPI) &&
base::FeatureList::IsEnabled(blink::features::kFileHandlingAPI)) { base::FeatureList::IsEnabled(blink::features::kFileHandlingAPI)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment