XPConnect:Security:XPCNativeWrapper Automation: Difference between revisions

Line 16: Line 16:
*** using the one spare bit above the lock bit for objects
*** using the one spare bit above the lock bit for objects
** new JS_IsSystemObject and JS_IsSystemScript APIs
** new JS_IsSystemObject and JS_IsSystemScript APIs
** new JS_FlagSystemObject and JS_FlagSystemScriptFilename APIs
** new JS_FlagSystemObject and JS_FlagScriptFilenamePrefix APIs
*** JS_FlagSystemScriptFilename allows the embedding to preconfigure script filenames as "system" (chrome, not content)
*** JS_FlagScriptFilenamePrefix allows the embedding to preconfigure script filenames as "system" by setting filename prefixes
*** these filenames are pinned for the life of the JSRuntime
*** these filename prefixes are pinned for the life of the JSRuntime
* Extend our extension model compatibly
* Extend our extension model compatibly
** support extensions sharing content wrappers
** support extensions sharing content wrappers
Line 28: Line 28:
** if so, we have enough bits, and IsSystemPrincipal checks can be optimized
** if so, we have enough bits, and IsSystemPrincipal checks can be optimized
** if not, we need another bit, for wrapper sharing policy, per script filename (but not object) as opposed to a fast has-system-principals test
** if not, we need another bit, for wrapper sharing policy, per script filename (but not object) as opposed to a fast has-system-principals test
*** JS_FlagScriptFilenamePrefix can take a flags argument
*** do we want JS_UnflagScriptFilenamePrefix?  do we ever unload chrome?
Confirmed users, Bureaucrats and Sysops emeriti
419

edits