Title: [227649] trunk
- Revision
- 227649
- Author
- [email protected]
- Date
- 2018-01-25 18:42:14 -0800 (Thu, 25 Jan 2018)
Log Message
imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html crashes
https://bugs.webkit.org/show_bug.cgi?id=181980
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt:
* web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt: Added.
Source/_javascript_Core:
We accidentally failed to propagate errored promise in instantiate and satify phase if entry.{instantiate,satisfy}
promises are set. Since we just returned `entry`, it becomes succeeded promise even if the dependent fetch, instantiate,
and satisfy promises are failed. This patch fixes error propagation by returning `entry.instantiate` and `entry.satisfy`
correctly.
* builtins/ModuleLoaderPrototype.js:
(requestInstantiate):
(requestSatisfy):
LayoutTests:
* TestExpectations:
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (227648 => 227649)
--- trunk/LayoutTests/ChangeLog 2018-01-26 01:35:14 UTC (rev 227648)
+++ trunk/LayoutTests/ChangeLog 2018-01-26 02:42:14 UTC (rev 227649)
@@ -1,3 +1,12 @@
+2018-01-25 Yusuke Suzuki <[email protected]>
+
+ imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=181980
+
+ Reviewed by Ryosuke Niwa.
+
+ * TestExpectations:
+
2018-01-25 Jer Noble <[email protected]>
Move ImageDecoderAVFObjC from using AVSampleBufferGenerator to AVAssetReaderOutput for parsing
Modified: trunk/LayoutTests/TestExpectations (227648 => 227649)
--- trunk/LayoutTests/TestExpectations 2018-01-26 01:35:14 UTC (rev 227648)
+++ trunk/LayoutTests/TestExpectations 2018-01-26 02:42:14 UTC (rev 227649)
@@ -1404,8 +1404,6 @@
webkit.org/b/165764 http/tests/misc/module-script-async.html [ Pass Timeout ]
-webkit.org/b/181980 imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html [ Crash ]
-
# After rebasing WPT, we should investigate deterministic error handling, which is the updated spec.
imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-1.html [ Pass Failure ]
imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/compilation-error-2.html [ Pass Failure ]
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (227648 => 227649)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2018-01-26 01:35:14 UTC (rev 227648)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-01-26 02:42:14 UTC (rev 227649)
@@ -1,3 +1,13 @@
+2018-01-25 Yusuke Suzuki <[email protected]>
+
+ imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=181980
+
+ Reviewed by Ryosuke Niwa.
+
+ * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt:
+ * web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt: Added.
+
2018-01-25 Chris Dumez <[email protected]>
Access to service workers / Cache API should be disabled in sandboxed frames without allow-same-origin flag
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt (227648 => 227649)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt 2018-01-26 01:35:14 UTC (rev 227648)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/dynamic-imports-script-error-expected.txt 2018-01-26 02:42:14 UTC (rev 227649)
@@ -1,13 +1,13 @@
PASS import() must reject when there is a parse error
-FAIL import() must reject with the same error object for each import when there is a parse error assert_throws: It must reject the second time function "function () { throw e }" threw object "TypeError: Type error" ("TypeError") expected object "SyntaxError" ("SyntaxError")
+PASS import() must reject with the same error object for each import when there is a parse error
PASS import() must reject when there is a bad module specifier
PASS import() must reject with different error objects for each import when there is a bad module specifier
PASS import() must reject when there is a bad module specifier in a dependency
-FAIL import() must reject with the same error object for each import when there is a bad module specifier in a dependency assert_equals: The error objects must be equal expected object "TypeError: Type error" but got object "TypeError: Module specifier does not start with "/", "./", or "../"."
+PASS import() must reject with the same error object for each import when there is a bad module specifier in a dependency
PASS import() must reject when there is a instantiation error
PASS import() must reject with the same error object for each import when there is a instantiation error
PASS import() must reject when there is a evaluation error
-FAIL import() must reject with the same error object for each import when there is a evaluation error assert_unreached: Should have rejected: It must reject the first time Reached unreachable code
+FAIL import() must reject with the same error object for each import when there is a evaluation error assert_unreached: Should have rejected: It must reject the second time Reached unreachable code
PASS import()ing a module with an evaluation error must stop evaluation
Added: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt (0 => 227649)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling-expected.txt 2018-01-26 02:42:14 UTC (rev 227649)
@@ -0,0 +1,15 @@
+CONSOLE MESSAGE: TypeError: 'text/plain' is not a valid _javascript_ MIME type.
+CONSOLE MESSAGE: TypeError: 'text/plain' is not a valid _javascript_ MIME type.
+CONSOLE MESSAGE: line 1: SyntaxError: No identifiers allowed directly after numeric literal
+CONSOLE MESSAGE: line 1: SyntaxError: No identifiers allowed directly after numeric literal
+CONSOLE MESSAGE: line 1: SyntaxError: No identifiers allowed directly after numeric literal
+CONSOLE MESSAGE: line 1: SyntaxError: No identifiers allowed directly after numeric literal
+html-script-module-errorHandling
+
+
+FAIL IFrame test: 'iframe_parseError_Root' assert_equals: Unexpected _errorReported value expected "error" but got ""
+PASS IFrame test: 'iframe_parseError_Dependent'
+PASS IFrame test: 'iframe_parseError_DependentMultiple'
+PASS External root module with non-script mimetype
+PASS Module with imported non-script mimetype
+
Modified: trunk/Source/_javascript_Core/ChangeLog (227648 => 227649)
--- trunk/Source/_javascript_Core/ChangeLog 2018-01-26 01:35:14 UTC (rev 227648)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-01-26 02:42:14 UTC (rev 227649)
@@ -1,3 +1,19 @@
+2018-01-25 Yusuke Suzuki <[email protected]>
+
+ imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/module/errorhandling.html crashes
+ https://bugs.webkit.org/show_bug.cgi?id=181980
+
+ Reviewed by Ryosuke Niwa.
+
+ We accidentally failed to propagate errored promise in instantiate and satify phase if entry.{instantiate,satisfy}
+ promises are set. Since we just returned `entry`, it becomes succeeded promise even if the dependent fetch, instantiate,
+ and satisfy promises are failed. This patch fixes error propagation by returning `entry.instantiate` and `entry.satisfy`
+ correctly.
+
+ * builtins/ModuleLoaderPrototype.js:
+ (requestInstantiate):
+ (requestSatisfy):
+
2018-01-25 Mark Lam <[email protected]>
Gardening: fix 32-bit build after r227643.
Modified: trunk/Source/_javascript_Core/builtins/ModuleLoaderPrototype.js (227648 => 227649)
--- trunk/Source/_javascript_Core/builtins/ModuleLoaderPrototype.js 2018-01-26 01:35:14 UTC (rev 227648)
+++ trunk/Source/_javascript_Core/builtins/ModuleLoaderPrototype.js 2018-01-26 02:42:14 UTC (rev 227649)
@@ -193,7 +193,7 @@
// Now fetching request succeeds. Then even if instantiation fails, we should cache it.
// Instantiation won't be retried.
if (entry.instantiate)
- return entry;
+ return entry.instantiate;
entry.instantiate = instantiatePromise;
var key = entry.key;
@@ -229,7 +229,7 @@
visited.@add(entry);
var satisfyPromise = this.requestInstantiate(entry, parameters, fetcher).then((entry) => {
if (entry.satisfy)
- return entry;
+ return entry.satisfy;
var depLoads = @newArrayWithSize(entry.dependencies.length);
for (var i = 0, length = entry.dependencies.length; i < length; ++i) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes