Files
sousa-gecko/testing/web-platform/tests/ai/language-model/language-model-params.tentative.https.window.js
T
Isaac Ahouma 194d32260f Bug 2047508 [wpt PR 60629] - [Prompt API] Decouple AIPromptAPILegacyParams from Web Origin Trial, a=testonly
Automatic update from web-platform-tests
[Prompt API] Decouple AIPromptAPILegacyParams from Web Origin Trial

Unlink the legacy raw parameter surfaces (temperature, topK, and
params()) from the active AIPromptAPIParams Web Origin Trial.

Standard web pages participating in the Origin Trial will no longer have
functional access to these legacy parameters (the values are ignored and
trigger console deprecation warnings). These parameter surfaces remain
fully functional in Extension contexts (which explicitly enable the
legacy flag) and when manually enabled via command-line flags.

Bug: 502214118
Change-Id: I151798b36d18b910edd031c21aaec073578c1c3c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7869250
Reviewed-by: Mike Wasserman <msw@chromium.org>
Commit-Queue: Isaac Ahouma <iahouma@google.com>
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1646755}

--

wpt-commits: 4c8560de79d486b060273a8d8acb00d0a80a756e
wpt-pr: 60629
2026-06-18 14:39:14 +00:00

66 lines
2.3 KiB
JavaScript

// META: title=Language Model Params
// META: script=/resources/testdriver.js
// META: script=/resources/testdriver-vendor.js
// META: script=../resources/util.js
// META: timeout=long
'use strict';
const legacyParamsEnabled = ('params' in LanguageModel);
if (legacyParamsEnabled) {
promise_test(async () => {
await ensureLanguageModel();
const params = await LanguageModel.params();
assert_true(!!params);
assert_equals(typeof params.defaultTopK, 'number');
assert_equals(typeof params.maxTopK, 'number');
assert_equals(typeof params.defaultTemperature, 'number');
assert_equals(typeof params.maxTemperature, 'number');
}, 'LanguageModel.params() returns valid parameters');
promise_test(async () => {
await ensureLanguageModel();
const session = await createLanguageModel();
assert_equals(typeof session.topK, 'number');
assert_equals(typeof session.temperature, 'number');
session.destroy();
}, 'Default session has topK and temperature as numbers');
promise_test(async () => {
await ensureLanguageModel();
const session = await createLanguageModel({topK: 2, temperature: 0.6});
assert_equals(session.topK, 2);
assert_equals(session.temperature, Math.fround(0.6));
const clonedSession = await session.clone();
assert_equals(clonedSession.topK, session.topK);
assert_equals(clonedSession.temperature, session.temperature);
session.destroy();
clonedSession.destroy();
}, 'Create and clone with topK and temperature preserves values');
} else {
promise_test(async () => {
await ensureLanguageModel();
assert_false('params' in LanguageModel);
}, 'LanguageModel.params static accessor does not exist');
promise_test(async () => {
await ensureLanguageModel();
const session = await createLanguageModel();
assert_equals(session.topK, undefined);
assert_equals(session.temperature, undefined);
session.destroy();
}, 'Default session does not have topK and temperature');
promise_test(async () => {
await ensureLanguageModel();
const session = await createLanguageModel({topK: 2, temperature: 0.6});
assert_equals(session.topK, undefined);
assert_equals(session.temperature, undefined);
session.destroy();
}, 'Create with topK and temperature ignored');
}