概要 Partytownというプロジェクトが先月発表された。このプロジェクト自体はWebのパフォーマンス向上(3rd Party Scriptによるブロッキングの低減)を主目的としているが、実質ブラウザにおけるJavaScript Sandboxの方向性に一石を投じるものであるとして自分は理解した。本稿ではこちらについて背景とともに解説を試みる。 WebブラウザにおけるJavaScript Sandbox JavaScriptで記述されたWebアプリケーションにおいて、たとえばプラグイン機構を実現したいなど、他Partyが提供あるいはユーザ自身が記述したスクリプトを、ホストとなるアプリケーションに影響を与えることなく実行することを許可したい、というケースはままある。2000年代に跋扈したブログパーツの類はWebコンテンツに対するプラグインの代表例とも言えるが、埋め込み先ページに対しての全権
【2021/9/1 追記】 提案されていた API のリネームが検討されていましたが ShadowRealm に決まりました。それに伴って記事の中身を修正しています。 【追記ここまで】 Realms とは何か Realms は JavaScript の言語仕様である ECMAScript で定義されている概念です。 JavaScript のコードが評価されるグローバル変数や Array, Map といったビルトインクラス、そこで実行されるコードなどの状態やリソースのことを指します。 ShadowRealm 現在 TC39 で ShadowRealm クラスが提案されています。これを使うことで新しい Realm を作って、JavaScript を評価させることが出来ます。 Web Workers のように別のスレッドで動作されるわけではなく、同じスレッドで同期的に実行されます。 const
Endo is a framework for powerful JavaScript plugin systems and supply chain attack resistance. Endo includes tools for confinement, communication, and concurrency. These include a shim for Hardened JavaScript, an ECMA TC-39 standards track proposal to make JavaScript a safer and more suitable platform for plugin systems. Agoric and MetaMask rely on Hardened JavaScript and the SES shim as part of s
Saluton TAG! I'm requesting a TAG review of TC39's Realms API. Realms are a distinct global environment, with its own global object containing its own intrinsics and built-ins. The Realms proposal provides a new mechanism to execute JavaScript code within the context of a new global object and set of JavaScript built-ins. The Realm constructor creates this kind of a new global object. Explainer¹ (
This repository contains a legacy shim implementation of an outdated Realm API Proposal. The Realms proposal has been superceded by the ShadowRealm Proposal. This shim does not implement ShadowRealm, which (as of this writing) is a proposal at Stage 3 of the TC39 standardization process, so common JS engines should have support soon. We do not recommend the use of this shim or the original Realms
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く