/[suikacvs]/markup/html/html5/spec-ja/data/workers.dat
Suika

Contents of /markup/html/html5/spec-ja/data/workers.dat

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (hide annotations) (download)
Thu Jul 17 11:40:31 2008 UTC (17 years, 9 months ago) by apache
Branch: MAIN
Changes since 1.10: +210 -2 lines
by remote user 'guest'

1 apache 1.2 #en
2     This specification defines an API that allows Web application authors to
3     spawn background workers running scripts in parallel to their main page.
4     This allows for thread-like operation with message-passing as the
5     coordination mechanism.
6     #ja
7     この仕様書は、 Web アプリケーションで主たる頁と並列に背景労働者スクリプトを動作させることを可能とする
8     API を定義します。
9     これによって、メッセージ・パッシングによるスレッド的操作を協調機構として利用できるようになります。
10    
11     #en
12     The current focus is in developing a first draft proposal.
13     #ja
14     現在の焦点は、第1案の開発です。
15    
16     #pattern
17 apache 1.11 <span class=secno>* </span>Tutorial
18     #ja
19     <span class=secno>$1 </span>解説
20    
21     #pattern
22 apache 1.4 <span class=secno>* </span>Requirements
23     #ja
24     <span class=secno>$1 </span>要件
25    
26     #en
27     This specification aims to address the following use cases and
28     requirements:
29     #ja
30     この仕様書は、次に示す利用事例と要件に取り組むことを目指します。
31    
32     #en
33     Background workers: A Web application needs to keep its data
34     synchronised with the server, both sending updates to the server and
35     receiving updates from the server, including handling buffering of
36     updates for when the application goes offline. The code to do this would
37     ideally be independent of the UI code.
38     #ja
39     背景労働者: Web アプリケーションは、そのデータを鯖と同期しておく必要があります。
40     これは、鯖への更新の送信と鯖からの更新の両方を含み、
41     アプリケーションがオフラインとなった時の更新のバッファリングの取扱いも含みます。
42     そのための符号は利用者界面の符号とは独立しているのが理想でしょう。
43    
44     #en
45     URLs: Workers should be spawned from URLs, not from strings, since
46     script rarely has access to its own source.
47     #ja
48     URL: 労働者は、文字列からではなく、 URL から生み出される[[SHOULD:べきです]]。
49     スクリプトはその出典へのアクセスを滅多に有しないからです。
50    
51     #en
52     Message queuing: Messages sent to a worker before the worker has
53     initialised should not be lost.
54     #ja
55     メッセージ・キューイング: 労働者が初期化される前に送信されたメッセージが失われるべきでは[[SHOULD NOT:ありません]]。
56    
57     #en
58     Workers should have access to timers.
59     #ja
60     労働者はタイマーへのアクセスを有する[[SHOULD:べきです]]。
61    
62     #en
63     Workers should have access to the network.
64     #ja
65     労働者はネットワークへのアクセスを有する[[SHOULD:べきです]]。
66    
67     #en
68     Workers should be able to use libraries.
69     #ja
70     労働者はライブラリを使える[[SHOULD:べきです]]。
71    
72     #en
73     Implementations should not have to expose <code>Node</code> or
74     <code>Document</code> objects to workers.
75     #ja
76     実装は労働者に <code>Node</code> オブジェクトや
77     <code>Document</code> オブジェクトを晒さなければならない[[SHOULD NOT:べきではありません]]。
78    
79     #en
80     Workers should not share anything with the outside world. The objects
81     representing the worker in the worker itself and in the context that
82     created the worker should be different, for instance.
83     #ja
84     労働者は外界と何も共有する[[SHOULD NOT:べきではありません]]。
85     例えば、労働者自体の中で労働者を現すオブジェクトと労働者を作成した文脈で労働者を表すオブジェクトは異なる[[SHOULD:べきです]]。
86    
87     #en
88     Shared workers: Multiple instances of the same Web application would
89     want to keep just one connection back to the server.
90     #ja
91     共有労働者: 同じ Web アプリケーションの複数の実現値は鯖に対する接続を1つだけ維持したいでしょう。
92    
93     #en
94     Capabilities granting: It should be possible for code running in one
95     iframe to negotiate a connection to another iframe, with that connection
96     granting certain rights (e.g. adding to an address book but not reading
97     from it).
98     #ja
99     能力保証: ある iframe で動作している符号が他の iframe と何らかの権限 (例えば、
100     住所録へは追加するが読まない) を保証する接続を折衝することが可能である[[SHOULD:べきです]]。
101    
102     #en
103     Delegation: It should be possible for one worker to spawn another
104     worker and efficiently delagate a request to that worker, without the
105     caller being aware of the delagate and without the original worker having
106     to proxy all the messages.
107     #ja
108     委譲: ある労働者が別の労働者を生み出し、呼び出し元が委譲に気づかず、
109     かつ元の労働者がすべてのメッセージを仲介せずに、
110     当該労働者に対する要求を効率的に委譲できる[[SHOULD:べきです]]。
111 apache 1.10
112 apache 1.11 #pattern
113     <span class=secno>* </span>Inside workers
114     #ja
115     <span class=secno>$1 </span>労働者の内側
116    
117 apache 1.10 #en
118     Objects that implement the <code><a
119     href="#windowworker">WindowWorker</a></code> interface must also implement
120     the <code>Window</code> interface (and thus also the
121     <code>WindowTimers</code> and <code><a
122     href="#windowworkercreators">WindowWorkerCreators</a></code> interfaces)
123     and the <code>EventTarget</code> interface.
124     #ja
125     <code><a
126     href="#windowworker">WindowWorker</a></code> 界面を実装するオブジェクトは、
127     <code>Window</code> 界面 (引いては、 <code>WindowTimers</code> 界面と <code><a
128     href="#windowworkercreators">WindowWorkerCreators</a></code> 界面も)
129     と <code>EventTarget</code> 界面を実装しなければ[[MUST:なりません]]。
130    
131     #en
132     The <dfn id=name title=dom-windowworker-name><code>name</code></dfn>
133     attribute must return the value it was assigned when the <code><a
134     href="#windowworker">WindowWorker</a></code> object was created by the "<a
135     href="#run-a">run a worker</a>" algorithm.
136     #ja
137     <dfn id=name title=dom-windowworker-name><code>name</code></dfn>
138     属性は、<code><a
139     href="#windowworker">WindowWorker</a></code> オブジェクトが「<a
140     href="#run-a">労働者を起動</a>」する算法で作成された時に割り当てられた値を返さなければ[[MUST:なりません]]。
141    
142     #en
143     The <dfn id=closing
144     title=dom-windowworker-closing><code>closing</code></dfn> attribute must
145     return false until the "<a href="#kill-a">kill a worker</a>" processing
146     model defined below sets it to true.
147     #ja
148     <dfn id=closing
149     title=dom-windowworker-closing><code>closing</code></dfn>
150 apache 1.11 属性は、後述の「<a href="#kill-a">労働者を殺す</a>」処理モデルがこれを真に設定するまで、
151 apache 1.10 偽を返さなければ[[MUST:なりません]]。
152    
153 apache 1.11 #en
154     The following are the <span>event handler DOM attributes</span> that
155     must be supported by objects implementing the <code><a
156     href="#windowworker">WindowWorker</a></code> interface:
157     #ja
158     次に示すのは、 <code><a
159     href="#windowworker">WindowWorker</a></code>
160     界面を実装するオブジェクトが対応しなければ[[MUST:ならない]]事象取扱器 DOM 属性です。
161    
162     #pattern
163     Must be invoked whenever a * event is targeted at or
164     bubbles through the * object.
165     #ja
166     $1 事象が当該 $2 オブジェクトを対象としているか、泡立って当該オブジェクトを通過する時に、
167     呼び出されなければなりません。
168    
169 apache 1.10 #pattern
170     <span class=secno>* </span>The queue of events
171     #ja
172     <span class=secno>$1 </span>事象の待ち行列
173    
174     #en
175     Each <code><a href="#windowworker">WindowWorker</a></code> object is
176     asssociated with a <dfn id=queue>queue of events</dfn>, which is initially
177     empty.
178     #ja
179     各 <code><a href="#windowworker">WindowWorker</a></code> オブジェクトは、
180     <dfn id=queue>事象の待ち行列</dfn> (はじめは空) と関連付けられています。
181    
182     #en
183     An event in the queue can be a DOM event or a timeout callback.
184     #ja
185 apache 1.11 待ち行列中の事象は、 DOM 事象か小休止呼び戻しのいずれかです。
186    
187     #en
188     All asynchronous callbacks and events that would be called or dispatched
189     in the worker must be added to the worker's queue, with the "<a
190     href="#run-a">run a worker</a>" processing model below taking care of
191     actually calling the callbacks or dispatching the events.
192     #ja
193     労働者中で呼び出しまたは発送されるすべての非同期の呼び戻しと事象は、
194     作業者の待ち行列に追加されなければなりません。
195     ただし、実際の呼び戻しの呼び出しや事象の発送は、後述の「<a
196     href="#run-a">労働者を起動</a>」処理モデルに従い処理されます。
197    
198     #en
199     Once the <code><a href="#windowworker">WindowWorker</a></code>'s <code
200     title=dom-windowworker-closing><a href="#closing">closing</a></code>
201     attribute is set to true, the queue must discard anything else that would
202     be added to it. Effectively, once the <code
203     title=dom-windowworker-closing><a href="#closing">closing</a></code>
204     attribute is true, timers stop firing, notifications for all pending
205     asynchronous operations are dropped, etc.
206     #ja
207     一旦 <code><a href="#windowworker">WindowWorker</a></code> の <code
208     title=dom-windowworker-closing><a href="#closing">closing</a></code>
209     属性が真に設定されると、待ち行列は、以後追加されるべきものがあっても、
210     すべて捨てなければ[[MUST:なりません]]。実効的には、一旦 <code
211     title=dom-windowworker-closing><a href="#closing">closing</a></code>
212     属性が真となると、タイマーが発火を停止したり、
213     すべての未決の非同期処理に関する通知は捨てられるようになるなどします。
214    
215     #pattern
216     <span class=secno>* </span>The worker's ports
217     #ja
218     <span class=secno>$1 </span>作業者のポート
219    
220     #en
221     Workers communicate with other workers and with <span title="browsing
222     context">browsing contexts</span> through <span title="channel
223     messaging">message channels</span> and their <code>MessagePort</code>
224     objects.
225     #ja
226     作業者は、メッセージ通信路とその <code>MessagePort</code>
227     オブジェクトを通じて、他の労働者や閲覧文脈と通信します。
228    
229     #en
230     Each <code><a href="#windowworker">WindowWorker</a></code> <var
231     title="">worker</var> has a list of <dfn id=the-workers0>the worker's
232     ports</dfn>, which consists of all the <code>MessagePort</code> objects
233     that are entangled with another port and that have one (but only one) port
234     whose <code title=dom-MessagePort-ownerWindow>ownerWindow</code> is <var
235     title="">worker</var>. This list includes all the <code>MessagePort</code>
236     objects that are in events pending in the <a href="#queue">queue of
237     events</a>.
238     #ja
239     各 <code><a href="#windowworker">WindowWorker</a></code> <var
240     title="">worker</var> は、<dfn id=the-workers0>労働者のポート</dfn>の並びを持ちます。
241     これは、他のポートと絡められており、かつ <code title=dom-MessagePort-ownerWindow>ownerWindow</code>
242     が <var
243     title="">worker</var> であるポートを1つ (だけ) 持つような <code>MessagePort</code>
244     オブジェクトすべてを含むものです。この並びは<a href="#queue">事象の待ち行列</a>中で未決の事象中にある
245     <code>MessagePort</code> オブジェクトすべてを含みます。
246 apache 1.10
247     #pattern
248     <span class=secno>* </span>Processing model
249     #ja
250     <span class=secno>$1 </span>処理モデル
251 apache 1.11
252     #en
253     When a user agent is to <dfn id=run-a>run a worker</dfn> named <var
254     title="">name</var> for a script with <span>URL</span> <var
255     title="">url</var>, a browsing context <var title="">owner browsing
256     context</var> and a <code>Document</code> <var title="">owner
257     document</var>, it must run the following steps in a completely separate
258     and parallel execution environment:
259     #ja
260     利用者エージェントが、<span>URL</span> <var
261     title="">url</var>、閲覧文脈 <var title="">owner browsing
262     context</var>、<code>Document</code> <var title="">owner
263     document</var> のスクリプトに対する、 <var
264     title="">name</var> と名付けられた<dfn id=run-a>労働者を起動</dfn>する、
265     という時には、利用者エージェントは、次の段階を、完全に分離された並列実行環境で実行しなければ[[MUST:なりません]]。
266    
267     #en
268     Attempt to <span>fetch</span><!-- XXX --> the resource identified by
269     <var title="">url</var>.
270     #ja
271     <var title="">url</var> で識別される資源を取って来ようと試みます。
272    
273     #en
274     If the attempt fails, then abort these steps and invoke the <a
275     href="#worker0" title="worker creation failed">error handling steps</a>
276     defined by the algorithm that called this one.
277     #ja
278     この試みが失敗した場合、これらの段階を停止し、この段階を呼び出した算法が定義する<a
279     href="#worker0" title="worker creation failed">誤り取扱段階</a>を呼び出します。
280    
281     #en
282     If the attempt succeeds, then let <var title="">script</var> be the
283     resource that was obtained.
284     #ja
285     この試みが成功した場合、 <var title="">script</var>
286     を得られた資源とします。
287    
288     #en
289     As with <code>script</code> elements, the MIME type of the
290     script is ignored. Unlike with <code>script</code> elements, there is no
291     way to override the type. It's always assumed to be JavaScript.
292     #ja
293     <code>script</code> 要素と同様に、スクリプトの MIME 型は無視します。
294     <code>script</code 要素とは異なり、
295     型を上書きする方法はありません。スクリプトは常に JavaScript
296     と仮定します。
297    
298     #en
299     Create a new <code><a href="#windowworker">WindowWorker</a></code>
300     object, <var title="">window</var>.
301     #ja
302     新しい <code><a href="#windowworker">WindowWorker</a></code>
303     オブジェクト <var title="">window</var> を作成します。
304    
305     #en
306     Set the <code title=dom-windowworker-name><a
307     href="#name">name</a></code> attribute of <var title="">window</var> to
308     the value of <var title="">name</var>.
309     #ja
310     <var title="">window</var> の <code title=dom-windowworker-name><a
311     href="#name">name</a></code>
312     属性を <var title="">name</var> の値に設定します。
313    
314     #en
315     Let <var title="">script</var>'s <span>script execution context</span>
316     (and thus also <span>global object</span>) be <var
317     title="">window</var>.
318     #ja
319     <var title="">script</var> のスクリプト実行文脈 (と大域オブジェクトも)
320     を <var
321     title="">window</var> とします。
322    
323     #en
324     Let <var title="">script</var>'s <span>script browsing context</span>
325     be <var title="">owner browsing context</var>.
326     #ja
327     <var title="">script</var> のスクリプト閲覧文脈を <var title="">owner browsing context</var>
328     とします。
329    
330     #en
331     Let <var title="">script</var>'s <span>script document context</span>
332    
333     be <var title="">owner document</var>.
334     #ja
335     <var title="">script</var> のスクリプト文書文脈を <var title="">owner document</var>
336     とします。
337    
338     #en
339     Invoke the <a href="#worker" title="worker creation succeeded">success
340     steps</a> defined by the algorithm that called this one. (This will add
341     an event to the <a href="#queue">queue of events</a>.)
342     #ja
343     この段階を呼び出す算法が定義する<a href="#worker" title="worker creation succeeded">成功段階</a>を呼び出します。
344     (これは、<a href="#queue">事象の待ち行列</a>)
345     に事象を追加します。)
346    
347     #en
348     Start monitoring <var title="">worker</var>, such that whenever the
349     <var title="">window</var> object's <code
350     title=dom-windowworker-closing><a href="#closing">closing</a></code>
351     attribute is false and all <a href="#the-workers0">the worker's
352     ports</a> have their <code title=dom-MessagePort-active>active</code>
353     attributes set to false, the user agent suspends execution of script in
354     that worker until such time as either the <code
355     title=dom-windowworker-closing><a href="#closing">closing</a></code>
356     attribute switches to true or one of the <code>MessagePort</code>
357     objects in the list of <a href="#the-workers0">the worker's ports</a>
358     has an <code title=dom-MessagePort-active>active</code> attribute with
359     the value true.
360     #ja
361     <var title="">worker</var> の監視を開始し、
362     <var title="">window</var> オブジェクトの <code
363     title=dom-windowworker-closing><a href="#closing">closing</a></code>
364     属性が偽で<a href="#the-workers0">労働者のポート</a>のすべてが
365     <code title=dom-MessagePort-active>active</code>
366     属性が偽に設定されているという時には常に、利用者エージェントがスクリプトの実行を、 <code
367     title=dom-windowworker-closing><a href="#closing">closing</a></code>
368     属性が真に切り替わるまでか または<a href="#the-workers0">労働者のポート</a>の並びのいずれか1つの
369     <code>MessagePort</code> オブジェクトの <code title=dom-MessagePort-active>active</code>
370     属性が値として真を持つようになるまでのいずれかの間、
371     一時停止するようにします。
372    

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24