Title: [268232] trunk
Revision
268232
Author
[email protected]
Date
2020-10-08 17:03:09 -0700 (Thu, 08 Oct 2020)

Log Message

FileReader.result should return null if it isn't done yet
https://bugs.webkit.org/show_bug.cgi?id=217484

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

* web-platform-tests/FileAPI/reading-data-section/filereader_result-expected.txt:

Source/WebCore:

This matches Chrome and Firefox.
Covered by newly passing web platform tests.

* fileapi/FileReader.cpp:
(WebCore::FileReader::result const):

LayoutTests:

* fast/files/read-file-async-expected.txt:
* fast/files/workers/worker-read-file-async-expected.txt:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (268231 => 268232)


--- trunk/LayoutTests/ChangeLog	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/LayoutTests/ChangeLog	2020-10-09 00:03:09 UTC (rev 268232)
@@ -1,3 +1,13 @@
+2020-10-08  Alex Christensen  <[email protected]>
+
+        FileReader.result should return null if it isn't done yet
+        https://bugs.webkit.org/show_bug.cgi?id=217484
+
+        Reviewed by Geoffrey Garen.
+
+        * fast/files/read-file-async-expected.txt:
+        * fast/files/workers/worker-read-file-async-expected.txt:
+
 2020-10-08  Peng Liu  <[email protected]>
 
         [Media in GPU Process] Cannot activate or deactivate an audio session

Modified: trunk/LayoutTests/fast/files/read-file-async-expected.txt (268231 => 268232)


--- trunk/LayoutTests/fast/files/read-file-async-expected.txt	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/LayoutTests/fast/files/read-file-async-expected.txt	2020-10-09 00:03:09 UTC (rev 268232)
@@ -194,7 +194,7 @@
 result: Hello
 Received loadend event
 readyState after recalling read method: 1
-result after recalling read method:
+result after recalling read method: null
 error after recalling read method: null
 Received loadstart event
 readyState: 1
@@ -211,7 +211,7 @@
 result: null
 Received loadend event
 readyState after recalling read method: 1
-result after recalling read method:
+result after recalling read method: null
 error after recalling read method: null
 Received loadstart event
 readyState: 1

Modified: trunk/LayoutTests/fast/files/workers/worker-read-file-async-expected.txt (268231 => 268232)


--- trunk/LayoutTests/fast/files/workers/worker-read-file-async-expected.txt	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/LayoutTests/fast/files/workers/worker-read-file-async-expected.txt	2020-10-09 00:03:09 UTC (rev 268232)
@@ -195,7 +195,7 @@
 result: Hello
 Received loadend event
 readyState after recalling read method: 1
-result after recalling read method:
+result after recalling read method: null
 error after recalling read method: null
 Received loadstart event
 readyState: 1
@@ -212,7 +212,7 @@
 result: null
 Received loadend event
 readyState after recalling read method: 1
-result after recalling read method:
+result after recalling read method: null
 error after recalling read method: null
 Received loadstart event
 readyState: 1

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (268231 => 268232)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-10-09 00:03:09 UTC (rev 268232)
@@ -1,5 +1,14 @@
 2020-10-08  Alex Christensen  <[email protected]>
 
+        FileReader.result should return null if it isn't done yet
+        https://bugs.webkit.org/show_bug.cgi?id=217484
+
+        Reviewed by Geoffrey Garen.
+
+        * web-platform-tests/FileAPI/reading-data-section/filereader_result-expected.txt:
+
+2020-10-08  Alex Christensen  <[email protected]>
+
         Implement Blob.stream
         https://bugs.webkit.org/show_bug.cgi?id=217457
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/FileAPI/reading-data-section/filereader_result-expected.txt (268231 => 268232)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/FileAPI/reading-data-section/filereader_result-expected.txt	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/FileAPI/reading-data-section/filereader_result-expected.txt	2020-10-09 00:03:09 UTC (rev 268232)
@@ -3,12 +3,12 @@
 PASS readAsDataURL
 PASS readAsArrayBuffer
 PASS readAsBinaryString
-FAIL result is null during "loadstart" event for readAsText assert_equals: result is null after first read call expected (object) null but got (string) ""
-FAIL result is null during "loadstart" event for readAsDataURL assert_equals: result is null after first read call expected (object) null but got (string) ""
-FAIL result is null during "loadstart" event for readAsArrayBuffer assert_equals: result is null during event expected null but got object "[object ArrayBuffer]"
-FAIL result is null during "loadstart" event for readAsBinaryString assert_equals: result is null after first read call expected (object) null but got (string) ""
-FAIL result is null during "progress" event for readAsText assert_equals: result is null after first read call expected (object) null but got (string) ""
-FAIL result is null during "progress" event for readAsDataURL assert_equals: result is null after first read call expected (object) null but got (string) ""
-FAIL result is null during "progress" event for readAsArrayBuffer assert_equals: result is null during event expected null but got object "[object ArrayBuffer]"
-FAIL result is null during "progress" event for readAsBinaryString assert_equals: result is null after first read call expected (object) null but got (string) ""
+PASS result is null during "loadstart" event for readAsText
+PASS result is null during "loadstart" event for readAsDataURL
+PASS result is null during "loadstart" event for readAsArrayBuffer
+PASS result is null during "loadstart" event for readAsBinaryString
+PASS result is null during "progress" event for readAsText
+PASS result is null during "progress" event for readAsDataURL
+PASS result is null during "progress" event for readAsArrayBuffer
+PASS result is null during "progress" event for readAsBinaryString
 

Modified: trunk/Source/WebCore/ChangeLog (268231 => 268232)


--- trunk/Source/WebCore/ChangeLog	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/Source/WebCore/ChangeLog	2020-10-09 00:03:09 UTC (rev 268232)
@@ -1,5 +1,18 @@
 2020-10-08  Alex Christensen  <[email protected]>
 
+        FileReader.result should return null if it isn't done yet
+        https://bugs.webkit.org/show_bug.cgi?id=217484
+
+        Reviewed by Geoffrey Garen.
+
+        This matches Chrome and Firefox.
+        Covered by newly passing web platform tests.
+
+        * fileapi/FileReader.cpp:
+        (WebCore::FileReader::result const):
+
+2020-10-08  Alex Christensen  <[email protected]>
+
         Implement Blob.stream
         https://bugs.webkit.org/show_bug.cgi?id=217457
 

Modified: trunk/Source/WebCore/fileapi/FileReader.cpp (268231 => 268232)


--- trunk/Source/WebCore/fileapi/FileReader.cpp	2020-10-08 23:44:53 UTC (rev 268231)
+++ trunk/Source/WebCore/fileapi/FileReader.cpp	2020-10-09 00:03:09 UTC (rev 268232)
@@ -223,7 +223,7 @@
 
 Optional<Variant<String, RefPtr<JSC::ArrayBuffer>>> FileReader::result() const
 {
-    if (!m_loader || m_error)
+    if (!m_loader || m_error || m_state != DONE)
         return WTF::nullopt;
     if (m_readType == FileReaderLoader::ReadAsArrayBuffer) {
         auto result = m_loader->arrayBufferResult();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to