[wpt-sync] Sync PR 52117 - LanguageDetector: Don't proceed after an event triggers an abort
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox139 fixed)
| Tracking | Status | |
|---|---|---|
| firefox139 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 52117 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/52117
Details from upstream follow.
Nathan Memmott <memmott@chromium.org> wrote:
LanguageDetector: Don't proceed after an event triggers an abort
If an ProgressEvent triggers an abort, then we could erroneously send
another event or try to resolve the promise with a new LanguageDetector.
This checks after each ProgressEvent if we've aborted and stops if we
did.Fixed: 412444609
Change-Id: Iecb9563092431126e350bd5bd2384f5c12caf956
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6476848
Commit-Queue: Nathan Memmott \<memmott@chromium.org>
Reviewed-by: Christine Hollingsworth \<christinesm@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1450303}
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
| Assignee | ||
Comment 2•1 year ago
|
||
CI Results
Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 21 tests and 14 subtests
Status Summary
Firefox
OK : 21
FAIL : 86
Chrome
OK : 19
PASS : 1
FAIL : 68
TIMEOUT: 4
NOTRUN : 15
Safari
OK : 21
FAIL : 86
Links
Details
New Tests That Don't Pass
- /ai/language_detection/detector-locale.https.tentative.window.html [wpt.fyi]
- LanguageDetector.availability() is consistent between language tag variations:
FAIL(Chrome:PASS, Safari:FAIL) - LanguageDetector has valid expectedInputLanguages:
FAIL(Chrome:TIMEOUT, Safari:FAIL)
- LanguageDetector.availability() is consistent between language tag variations:
- /ai/language_detection/detector.https.tentative.window.html [wpt.fyi]
- Simple LanguageDetector.availability() call:
FAIL(Chrome:TIMEOUT, Safari:FAIL) - Simple LanguageDetector.detect() call:
FAIL(Chrome:NOTRUN, Safari:FAIL) - If monitor throws an error, LanguageDetector.create() rejects with that error:
FAIL(Chrome:NOTRUN, Safari:FAIL) - LanguageDetector.create() notifies its monitor on downloadprogress:
FAIL(Chrome:NOTRUN, Safari:FAIL) - LanguageDetector.create() call with an aborted signal.:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Aborting LanguageDetector.create().:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Calling LanguageDetector.destroy() aborts calls to detect and measureInputUsage.:
FAIL(Chrome:NOTRUN, Safari:FAIL) - LanguageDetector.create()'s abort signal destroys its LanguageDetector after creation.:
FAIL(Chrome:NOTRUN, Safari:FAIL) - LanguageDetector.detect() call with an aborted signal.:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Aborting LanguageDetector.detect().:
FAIL(Chrome:NOTRUN, Safari:FAIL) - LanguageDetector.measureInputUsage() and inputQuota basic usage.:
FAIL(Chrome:NOTRUN, Safari:FAIL) - LanguageDetector.measureInputUsage() call with an aborted signal.:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Aborting LanguageDetector.measureInputUsage().:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Creating LanguageDetector without expectedInputLanguages:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Creating LanguageDetector with expectedInputLanguages:
FAIL(Chrome:NOTRUN, Safari:FAIL) - Progress events are not emitted after aborted.:
FAIL(Chrome:NOTRUN, Safari:FAIL)
- Simple LanguageDetector.availability() call:
- /ai/summarizer/summarizer-abort.tentative.https.any.worker.html [wpt.fyi]
- Aborting Summarizer.create().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarize().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarizeStreaming().:
FAIL(Chrome:FAIL, Safari:FAIL)
- Aborting Summarizer.create().:
- /ai/summarizer/summarizer-abort.tentative.https.any.html [wpt.fyi]
- Aborting Summarizer.create().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarize().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarizeStreaming().:
FAIL(Chrome:FAIL, Safari:FAIL)
- Aborting Summarizer.create().:
- /ai/summarizer/summarizer-abort.tentative.https.any.serviceworker.html [wpt.fyi]
- Aborting Summarizer.create().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarize().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarizeStreaming().:
FAIL(Chrome:FAIL, Safari:FAIL)
- Aborting Summarizer.create().:
- /ai/summarizer/summarizer-abort.tentative.https.any.sharedworker.html [wpt.fyi]
- Aborting Summarizer.create().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarize().:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Summarizer.summarizeStreaming().:
FAIL(Chrome:FAIL, Safari:FAIL)
- Aborting Summarizer.create().:
- /ai/summarizer/summarizer-availability-available.tentative.https.any.html [wpt.fyi]
- Summarizer.availability() is available with no options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns available with supported options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns unavailable for unsupported languages:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.availability() is available with no options:
- /ai/summarizer/summarizer-availability-available.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.availability() is available with no options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns available with supported options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns unavailable for unsupported languages:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.availability() is available with no options:
- /ai/summarizer/summarizer-availability.tentative.https.any.html [wpt.fyi]
- Summarizer.availability() is defined:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns a valid value with no options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns a valid value with plausible options:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.availability() is defined:
- /ai/summarizer/summarizer-availability.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.availability() is defined:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns a valid value with no options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.availability() returns a valid value with plausible options:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.availability() is defined:
- /ai/summarizer/summarizer-create-available.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.create() returns a valid object with default options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.create() notifies its monitor on downloadprogress:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.sharedContext:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.type:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.format:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.length:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.expectedInputLanguages:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.expectedContextLanguages:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.outputLanguage:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer optional attributes return null:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.create() returns a valid object with default options:
- /ai/summarizer/summarizer-create-available.tentative.https.any.html [wpt.fyi]
- Summarizer.create() returns a valid object with default options:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.create() notifies its monitor on downloadprogress:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.sharedContext:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.type:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.format:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.length:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.expectedInputLanguages:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.expectedContextLanguages:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.outputLanguage:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer optional attributes return null:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.create() returns a valid object with default options:
- /ai/summarizer/summarizer-create.tentative.https.any.html [wpt.fyi]
- Summarizer.create() is defined:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.create() is defined:
- /ai/summarizer/summarizer-create.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.create() is defined:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.create() is defined:
- /ai/summarizer/summarizer-measureInputUsage.tentative.https.any.html [wpt.fyi]
- Summarizer.measureInputUsage() returns non-empty result:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.measureInputUsage() returns non-empty result:
- /ai/summarizer/summarizer-measureInputUsage.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.measureInputUsage() returns non-empty result:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.measureInputUsage() returns non-empty result:
- /ai/summarizer/summarizer-summarize-streaming.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.summarizeStreaming returns ReadableStream with a non-empty text.:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.summarizeStreaming returns a ReadableStream without any chunk on an empty input.:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.summarizeStreaming returns ReadableStream with a non-empty text.:
- /ai/summarizer/summarizer-summarize-streaming.tentative.https.any.html [wpt.fyi]
- Summarizer.summarizeStreaming returns ReadableStream with a non-empty text.:
FAIL(Chrome:FAIL, Safari:FAIL) - Summarizer.summarizeStreaming returns a ReadableStream without any chunk on an empty input.:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.summarizeStreaming returns ReadableStream with a non-empty text.:
- /ai/summarizer/summarizer-summarize.tentative.https.any.worker.html [wpt.fyi]
- Summarizer.summarize() returns non-empty result:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.summarize() returns non-empty result:
- /ai/summarizer/summarizer-summarize.tentative.https.any.html [wpt.fyi]
- Summarizer.summarize() returns non-empty result:
FAIL(Chrome:FAIL, Safari:FAIL)
- Summarizer.summarize() returns non-empty result:
- /ai/translator/translator_translate.tentative.https.window.html [wpt.fyi]
- Translator.create() requires user activation when availability is "downloadable.:
FAIL(Chrome:FAIL, Safari:FAIL) - Simple Translator.translate() call:
FAIL(Chrome:FAIL, Safari:FAIL) - Simple Translator.translateStreaming() call:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator: sourceLanguage and targetLanguage are equal to their respective option passed in to Translator.create.:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.translate() fails after destroyed:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.create() call with an aborted signal.:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Translator.create().:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.translate() call with an aborted signal.:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Translator.translate().:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.create() notifies its monitor on downloadprogress:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.translate() echos non-translatable content:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.measureInputUsage() and inputQuota basic usage.:
FAIL(Chrome:FAIL, Safari:FAIL) - Translator.measureInputUsage() call with an aborted signal.:
FAIL(Chrome:FAIL, Safari:FAIL) - Aborting Translator.measureInputUsage().:
FAIL(Chrome:FAIL, Safari:FAIL)
- Translator.create() requires user activation when availability is "downloadable.:
Comment 4•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/02eb6bc70aa7
https://hg.mozilla.org/mozilla-central/rev/4c88513f3b68
Description
•