diff options
author | Luca Matei Pintilie <lucafulger@gmail.com> | 2022-10-18 15:33:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-18 15:33:35 +0200 |
commit | 1a0c7edebacc76a70e57dfd494e24420fa77b56b (patch) | |
tree | afa26f8db4dd121f548e19f92f84c1da589708c4 /runtime/js/99_main.js | |
parent | 23bb0abc230bd796e60bb8e22ccc39aef5629158 (diff) |
feat: introduce navigator.language (#12322)
Link to the spec:
https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator-language-dev
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r-- | runtime/js/99_main.js | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index 0a65cadee..a123fc24f 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -335,7 +335,7 @@ delete Intl.v8BreakIterator; const navigator = webidl.createBranded(Navigator); - let numCpus, userAgent; + let numCpus, userAgent, language; ObjectDefineProperties(Navigator.prototype, { gpu: { @@ -362,6 +362,22 @@ delete Intl.v8BreakIterator; return userAgent; }, }, + language: { + configurable: true, + enumerable: true, + get() { + webidl.assertBranded(this, NavigatorPrototype); + return language; + }, + }, + languages: { + configurable: true, + enumerable: true, + get() { + webidl.assertBranded(this, NavigatorPrototype); + return [language]; + }, + }, }); const NavigatorPrototype = Navigator.prototype; @@ -393,6 +409,22 @@ delete Intl.v8BreakIterator; webidl.assertBranded(this, WorkerNavigatorPrototype); return numCpus; }, + language: { + configurable: true, + enumerable: true, + get() { + webidl.assertBranded(this, WorkerNavigatorPrototype); + return language; + }, + }, + languages: { + configurable: true, + enumerable: true, + get() { + webidl.assertBranded(this, WorkerNavigatorPrototype); + return [language]; + }, + }, }, }); const WorkerNavigatorPrototype = WorkerNavigator.prototype; @@ -705,6 +737,7 @@ delete Intl.v8BreakIterator; numCpus = runtimeOptions.cpuCount; userAgent = runtimeOptions.userAgent; + language = runtimeOptions.locale; const internalSymbol = Symbol("Deno.internal"); @@ -793,6 +826,7 @@ delete Intl.v8BreakIterator; location.setLocationHref(runtimeOptions.location); numCpus = runtimeOptions.cpuCount; + language = runtimeOptions.locale; globalThis.pollForMessages = pollForMessages; |