1,273
edits
Dandonkulous (talk | contribs) No edit summary |
Dandonkulous (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
== JEP 108 - | == JEP 108 - Page Worker == | ||
* Champion: Daniel Buchner - daniel@mozilla.com | * Champion: Daniel Buchner - daniel@mozilla.com | ||
Line 8: | Line 8: | ||
=== Proposal === | === Proposal === | ||
Page Worker is like a more open sandbox for doing most anything in a traditional web page with a DOM context, but with a key difference: the page is augmented with escalated, waterfall chrome privileges. It is essentially along the same line of a Web Worker, just more open and accessible. | |||
=== Use-Cases === | === Use-Cases === | ||
Line 19: | Line 19: | ||
=== Dependencies & Requirements === | === Dependencies & Requirements === | ||
* We must be able to give the code in the top window of this page chrome privileges that are strictly one-way/descending in nature. | * We must be able to give the code in the top window of this page chrome privileges that are strictly one-way/descending in nature. | ||
* Dynamically generated code sent to the | * Dynamically generated code sent to the Page Worker should be injected and executed in the Page Worker's window context. | ||
Line 27: | Line 27: | ||
== API Methods == | == API Methods == | ||
==== | ==== Page Worker Global: <i>$dom</i> ==== | ||
==== | ==== Page Worker Method: <i>run</i> ==== | ||
<b>Description:</b> | <b>Description:</b> | ||
Allows you to run code in the | Allows you to run code in the Page Worker's window context. | ||
<b>Arguments:</b> | <b>Arguments:</b> | ||
Line 41: | Line 41: | ||
#* timeout: (<i>number</i>) a number that is used to set the timeout duration | #* timeout: (<i>number</i>) a number that is used to set the timeout duration | ||
#* interval: (<i>number</i>) a number that is used to set the interval duration | #* interval: (<i>number</i>) a number that is used to set the interval duration | ||
#<b><i>action</i></b> - (<i>function</i>) a function to be executed within the DOM of the | #<b><i>action</i></b> - (<i>function</i>) a function to be executed within the DOM of the Page Worker - by default, the Page Worker's window object is the bound 'this' within the function | ||
<b>Returns:</b> | <b>Returns:</b> | ||
Line 64: | Line 64: | ||
</pre> | </pre> | ||
==== | ==== Page Worker Method: <i>empty</i> ==== | ||
<b>Description:</b> | <b>Description:</b> | ||
Empties the | Empties the Page Worker's of all elements (this includes the body, which is then reinserted fresh). | ||
<b>Arguments:</b> | <b>Arguments:</b> | ||
Line 75: | Line 75: | ||
<b>Returns:</b> | <b>Returns:</b> | ||
The | The Page Worker Global object: <i>$dom</i> | ||
<b>Examples:</b> | <b>Examples:</b> | ||
Line 83: | Line 83: | ||
</pre> | </pre> | ||
==== | ==== Page Worker Method: <i>reset</i> ==== | ||
<b>Description:</b> | <b>Description:</b> | ||
Resets the | Resets the Page Worker to a blank HTML page with no elements and a clean global window object. | ||
<b>Arguments:</b> | <b>Arguments:</b> | ||
Line 94: | Line 94: | ||
<b>Returns:</b> | <b>Returns:</b> | ||
The | The Page Worker Global object: <i>$dom</i> | ||
<b>Examples:</b> | <b>Examples:</b> |
edits