Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 49246d26127685998d42f9ede4f925d490e15449
https://github.com/WebKit/WebKit/commit/49246d26127685998d42f9ede4f925d490e15449
Author: Yusuke Suzuki <[email protected]>
Date: 2026-08-10 (Mon, 10 Aug 2026)
Changed paths:
M JSTests/test262/config.yaml
M JSTests/test262/expectations.yaml
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/content-security-policy/connect-src/connect-src-text-import-allowed.sub-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/content-security-policy/connect-src/connect-src-text-import-blocked.sub-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination.https-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/script-text-module-import-static.https.sub-expected.txt
A
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/script-text-module-import-static.sub-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/text.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/preload/modulepreload-expected.txt
A LayoutTests/js/dom/modules/import-text-module-expected.txt
A LayoutTests/js/dom/modules/import-text-module.html
A LayoutTests/js/dom/modules/resources/module-src-text.js
M
LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination.https-expected.txt
M Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/parser/NodesAnalyzeModule.cpp
M Source/JavaScriptCore/parser/SourceProvider.h
M Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp
M Source/JavaScriptCore/runtime/AbstractModuleRecord.h
M Source/JavaScriptCore/runtime/Completion.cpp
M Source/JavaScriptCore/runtime/CyclicModuleRecord.cpp
M Source/JavaScriptCore/runtime/CyclicModuleRecord.h
M Source/JavaScriptCore/runtime/JSModuleLoader.cpp
M Source/JavaScriptCore/runtime/JSModuleRecord.cpp
M Source/JavaScriptCore/runtime/ScriptFetchParameters.h
M Source/JavaScriptCore/runtime/SyntheticModuleRecord.cpp
M Source/JavaScriptCore/runtime/SyntheticModuleRecord.h
M Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/Modules/fetch/FetchRequestDestination.idl
M Source/WebCore/bindings/js/CachedModuleScriptLoader.cpp
M Source/WebCore/bindings/js/CachedScriptFetcher.cpp
M Source/WebCore/bindings/js/ScriptModuleLoader.cpp
M Source/WebCore/bindings/js/ScriptModuleLoader.h
M Source/WebCore/bindings/js/WorkerModuleScriptLoader.cpp
M Source/WebCore/html/parser/HTMLResourcePreloader.cpp
M Source/WebCore/inspector/InspectorResourceUtilities.cpp
M Source/WebCore/loader/DefaultResourceLoadPriority.cpp
M Source/WebCore/loader/FetchOptions.h
M Source/WebCore/loader/FetchOptionsDestination.h
M Source/WebCore/loader/LinkLoader.cpp
M Source/WebCore/loader/ResourceLoadInfo.cpp
M Source/WebCore/loader/SubresourceLoader.cpp
M Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp
M Source/WebCore/loader/cache/CachedResource.cpp
M Source/WebCore/loader/cache/CachedResource.h
M Source/WebCore/loader/cache/CachedResourceLoader.cpp
M Source/WebCore/loader/cache/CachedScript.cpp
M Source/WebCore/loader/cache/CachedScript.h
M Source/WebCore/loader/cache/MemoryCache.cpp
M Source/WebCore/workers/WorkerScriptLoader.cpp
M Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp
M Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
M Tools/Scripts/webkitpy/style/checkers/cpp.py
Log Message:
-----------
[JSC] Implement import-text
https://bugs.webkit.org/show_bug.cgi?id=321389
rdar://184443879
Reviewed by Yijia Huang.
This patch implements import-text proposal[1]. This adds type: "text"
attribute to the import statement / dynamic-import so that we can load a
text from the source. This is pretty similar to import-json (type: "json"),
and "text" is just for strings. Most of the implementations is mimicking
the existing type: "json" implementations, so straightforward.
[1]: https://github.com/tc39/proposal-import-text
* JSTests/test262/config.yaml:
* JSTests/test262/expectations.yaml:
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/content-security-policy/connect-src/connect-src-text-import-allowed.sub-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/content-security-policy/connect-src/connect-src-text-import-blocked.sub-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination.https-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/script-text-module-import-static.https.sub-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/generated/script-text-module-import-static.sub-expected.txt:
Added.
*
LayoutTests/imported/w3c/web-platform-tests/fetch/metadata/text.https-expected.txt:
*
LayoutTests/imported/w3c/web-platform-tests/preload/modulepreload-expected.txt:
* LayoutTests/js/dom/modules/import-text-module-expected.txt: Added.
* LayoutTests/js/dom/modules/import-text-module.html: Added.
* LayoutTests/js/dom/modules/resources/module-src-text.js: Added.
*
LayoutTests/platform/ios/imported/w3c/web-platform-tests/fetch/api/request/destination/fetch-destination.https-expected.txt:
* Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::scriptTypeForScript):
* Source/JavaScriptCore/jsc.cpp:
(GlobalObject::moduleLoaderFetch):
* Source/JavaScriptCore/parser/NodesAnalyzeModule.cpp:
(JSC::tryCreateAttributes):
* Source/JavaScriptCore/parser/SourceProvider.h:
(JSC::SourceProvider::isModuleType const):
* Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::AbstractModuleRecord):
(JSC::AbstractModuleRecord::moduleType const):
* Source/JavaScriptCore/runtime/AbstractModuleRecord.h:
* Source/JavaScriptCore/runtime/Completion.cpp:
(JSC::getSourceType):
(JSC::retrieveTypeImportAttribute):
* Source/JavaScriptCore/runtime/CyclicModuleRecord.cpp:
(JSC::CyclicModuleRecord::CyclicModuleRecord):
* Source/JavaScriptCore/runtime/CyclicModuleRecord.h:
* Source/JavaScriptCore/runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::makeModule):
* Source/JavaScriptCore/runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::JSModuleRecord):
* Source/JavaScriptCore/runtime/ScriptFetchParameters.h:
(JSC::ScriptFetchParameters::parseType):
* Source/JavaScriptCore/runtime/SyntheticModuleRecord.cpp:
(JSC::SyntheticModuleRecord::create):
(JSC::SyntheticModuleRecord::SyntheticModuleRecord):
(JSC::SyntheticModuleRecord::tryCreateWithExportNamesAndValues):
(JSC::SyntheticModuleRecord::tryCreateDefaultExportSyntheticModule):
(JSC::SyntheticModuleRecord::parseJSONModule):
(JSC::SyntheticModuleRecord::createTextModule):
* Source/JavaScriptCore/runtime/SyntheticModuleRecord.h:
* Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::WebAssemblyModuleRecord):
* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Modules/fetch/FetchRequestDestination.idl:
* Source/WebCore/bindings/js/CachedModuleScriptLoader.cpp:
(WebCore::CachedModuleScriptLoader::load):
* Source/WebCore/bindings/js/CachedScriptFetcher.cpp:
(WebCore::CachedScriptFetcher::requestScriptWithCache const):
* Source/WebCore/bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::importModule):
(WebCore::ScriptModuleLoader::notifyFinished):
* Source/WebCore/bindings/js/ScriptModuleLoader.h:
* Source/WebCore/bindings/js/WorkerModuleScriptLoader.cpp:
(WebCore::WorkerModuleScriptLoader::load):
* Source/WebCore/html/parser/HTMLResourcePreloader.cpp:
(WebCore::PreloadRequest::resourceRequest):
* Source/WebCore/inspector/InspectorResourceUtilities.cpp:
(Inspector::ResourceUtilities::inspectorResourceType):
(Inspector::ResourceUtilities::cachedResourceContent):
* Source/WebCore/loader/DefaultResourceLoadPriority.cpp:
(WebCore::DefaultResourceLoadPriority::forResourceType):
* Source/WebCore/loader/FetchOptions.h:
* Source/WebCore/loader/FetchOptionsDestination.h:
* Source/WebCore/loader/LinkLoader.cpp:
(WebCore::LinkLoader::resourceTypeFromAsAttribute):
(WebCore::createLinkPreloadResourceClient):
(WebCore::LinkLoader::isSupportedType):
(WebCore::LinkLoader::preloadIfNeeded):
* Source/WebCore/loader/ResourceLoadInfo.cpp:
(WebCore::ContentExtensions::toResourceType):
* Source/WebCore/loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded):
* Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createInternal):
* Source/WebCore/loader/cache/CachedResource.cpp:
(WebCore::deadDecodedDataDeletionIntervalForResourceType):
* Source/WebCore/loader/cache/CachedResource.h:
* Source/WebCore/loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::checkInsecureContent const):
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
(WebCore::destinationForType):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::preload):
* Source/WebCore/loader/cache/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
* Source/WebCore/loader/cache/CachedScript.h:
(isType):
* Source/WebCore/loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::getStatistics):
* Source/WebCore/workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::validateWorkerResponse):
* Source/WebKit/NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy):
* Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::resourceLoadInfo):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
* Tools/Scripts/webkitpy/style/checkers/cpp.py:
Canonical link: https://commits.webkit.org/318950@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications