2012-03-09 8 views
0

現在、SpiderMonkeyのnsJSContext::CompileEventHandlerファンクションは、nullプリンシパルでイベントハンドラをコンパイルします。したがって、Spidermonkeyのfrontend::CompileFunctionBody機能では、現在、プリンシパルをイベントハンドラに関連付ける方法はありません。その後、イベントハンドラ関数のプリンシパルはnsScriptSecurityManager::CheckFunctionAccessに決定されます。
私の質問は、イベントハンドラのセキュリティプリンシパルがコンパイラのエントリポイントで検出できますか?これの背後にある私の直感は以下の通りです:通常、イベントハンドラはコンテナドキュメントであるDOM要素にアタッチされています。イベントハンドラがコンテナドキュメントとは別のプリンシパルによって呼び出されるコーナーケースはありますか?上記の場合、frontend::CompileFunctionBody関数の「ファイル名」属性(たとえば、chrome:// URIはシステムを意味します。http:// uriはシステムではありません)からイベントハンドラのプリンシパルを決定できますか?
:そう、単一のイベントハンドラが(例えばXBL経由)異なる原理にドキュメント間で共有することができるSpiderMonkeyコンパイラエントリポイントでのイベントハンドラのセキュリティプリンシパルの決定

答えて

0

(ちなみに私たちは程度の元本を検出することができますか。?プロトコル文書を、時には彼らは時々ではない、「システム」です)あなたは実際にコンパイル時にプリンシパルを知らない。ハンドラが実行される前に、正しいプリンシパルでクローンが作成されます。

関連する問題