Bug 1899172 - Part 2: Add ScriptLoadContext::GetInlineScriptText. r=nbp

Differential Revision: https://phabricator.services.mozilla.com/D211902
This commit is contained in:
Tooru Fujisawa 2024-05-30 05:01:15 +00:00
Родитель 24265d53c5
Коммит c0957a7fc8
3 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -147,6 +147,11 @@ nsIScriptElement* ScriptLoadContext::GetScriptElement() const {
return scriptElement;
}
void ScriptLoadContext::GetInlineScriptText(nsAString& aText) const {
MOZ_ASSERT(mIsInline);
GetScriptElement()->GetScriptText(aText);
}
void ScriptLoadContext::SetIsLoadRequest(nsIScriptElement* aElement) {
MOZ_ASSERT(aElement);
MOZ_ASSERT(!GetScriptElement());

Просмотреть файл

@ -183,6 +183,8 @@ class ScriptLoadContext : public JS::loader::LoadContextBase,
nsIScriptElement* GetScriptElement() const;
void GetInlineScriptText(nsAString& aText) const;
// Make this request a preload (speculative) request.
void SetIsPreloadRequest() {
MOZ_ASSERT(!GetScriptElement());

Просмотреть файл

@ -129,7 +129,7 @@ nsresult LoadedScript::GetScriptSource(JSContext* aCx,
if (isWindowContext && aMaybeLoadContext->AsWindowContext()->mIsInline) {
nsAutoString inlineData;
auto* scriptLoadContext = aMaybeLoadContext->AsWindowContext();
scriptLoadContext->GetScriptElement()->GetScriptText(inlineData);
scriptLoadContext->GetInlineScriptText(inlineData);
size_t nbytes = inlineData.Length() * sizeof(char16_t);
JS::UniqueTwoByteChars chars(