All Downloads are FREE. Search and download functionalities are using the official Maven repository.

elemental.html.Worker Maven / Gradle / Ivy

/*
 * Copyright 2012 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package elemental.html;
import elemental.util.Indexable;
import elemental.events.EventListener;

import elemental.events.*;
import elemental.util.*;
import elemental.dom.*;
import elemental.html.*;
import elemental.css.*;
import elemental.stylesheets.*;

import java.util.Date;

/**
  * 

Workers are background tasks that can be easily created and can send messages back to their creators. Creating a worker is as simple as calling the Worker() constructor, specifying a script to be run in the worker thread.

Of note is the fact that workers may in turn spawn new workers as long as those workers are hosted within the same origin as the parent page.  In addition, workers may use XMLHttpRequest for network I/O, with the exception that the responseXML and channel attributes on XMLHttpRequest always return null.

For a list of global functions available to workers, see Functions available to workers.

Gecko 2.0 note
(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

If you want to use workers in extensions, and would like to have access to js-ctypes, you should use the ChromeWorker object instead.

See Using web workers for examples and details.

*/ public interface Worker extends AbstractWorker { /** * An event listener that is called whenever a MessageEvent with type message bubbles through the worker. The message is stored in the event's data member. */ EventListener getOnmessage(); void setOnmessage(EventListener arg); /** *

Sends a message to the worker's inner scope. This accepts a single parameter, which is the data to send to the worker. The data may be any value or JavaScript object that does not contain functions or cyclical references (since the object is converted to JSON internally).

Parameters
aMessage
The object to deliver to the worker; this will be in the data field in the event delivered to the onmessage handler. This may be any value or JavaScript object that does not contain functions or cyclical references (since the object is converted to JSON internally).
*/ void postMessage(Object message); /** *

Sends a message to the worker's inner scope. This accepts a single parameter, which is the data to send to the worker. The data may be any value or JavaScript object that does not contain functions or cyclical references (since the object is converted to JSON internally).

Parameters
aMessage
The object to deliver to the worker; this will be in the data field in the event delivered to the onmessage handler. This may be any value or JavaScript object that does not contain functions or cyclical references (since the object is converted to JSON internally).
*/ void postMessage(Object message, Indexable messagePorts); /** *

Immediately terminates the worker. This does not offer the worker an opportunity to finish its operations; it is simply stopped at once.

void terminate();
*/ void terminate(); void webkitPostMessage(Object message); void webkitPostMessage(Object message, Indexable messagePorts); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy