diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-02-05 15:27:44 -0700 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-02-05 15:27:44 -0700 |
commit | c360b75e1640d5329068cfdbaa560b63ed03b35f (patch) | |
tree | 8053a32a482cb7dd0468b4c0773337eb7a7c8702 /components/script/script_task.rs | |
parent | 0d560806f8fd621c2744429ae534e93e1f2563cb (diff) | |
parent | 7309f2a4283a1e3afd1becec94a325b3bc1ec5ea (diff) | |
download | servo-c360b75e1640d5329068cfdbaa560b63ed03b35f.tar.gz servo-c360b75e1640d5329068cfdbaa560b63ed03b35f.zip |
auto merge of #4854 : jdm/servo/workererr, r=jdm
...rker object.
Rebased from #4537.
Diffstat (limited to 'components/script/script_task.rs')
-rw-r--r-- | components/script/script_task.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/components/script/script_task.rs b/components/script/script_task.rs index 8440da0dd2a..11245f59dfa 100644 --- a/components/script/script_task.rs +++ b/components/script/script_task.rs @@ -32,6 +32,7 @@ use dom::keyboardevent::KeyboardEvent; use dom::mouseevent::MouseEvent; use dom::node::{self, Node, NodeHelpers, NodeDamage, NodeTypeId}; use dom::window::{Window, WindowHelpers, ScriptHelpers}; +use dom::worker::{Worker, TrustedWorkerAddress}; use parse::html::{HTMLInput, parse_html}; use layout_interface::{ScriptLayoutChan, LayoutChan, ReflowGoal, ReflowQueryType}; use layout_interface; @@ -63,6 +64,7 @@ use servo_net::resource_task::LoadData as NetLoadData; use servo_net::storage_task::StorageTask; use util::geometry::to_frac_px; use util::smallvec::SmallVec; +use util::str::DOMString; use util::task::spawn_named_with_send_on_failure; use util::task_state; @@ -123,6 +125,8 @@ pub enum ScriptMsg { /// Message sent through Worker.postMessage (only dispatched to /// DedicatedWorkerGlobalScope). DOMMessage(StructuredCloneData), + /// Sends a message to the Worker object (dispatched to all tasks) regarding error. + WorkerDispatchErrorEvent(TrustedWorkerAddress, DOMString, DOMString, u32, u32), /// Generic message that encapsulates event handling. RunnableMsg(Box<Runnable+Send>), /// A DOM object's last pinned reference was removed (dispatched to all tasks). @@ -617,6 +621,8 @@ impl ScriptTask { self.handle_exit_window_msg(id), ScriptMsg::DOMMessage(..) => panic!("unexpected message"), + ScriptMsg::WorkerDispatchErrorEvent(addr, msg, file_name,line_num, col_num) => + Worker::handle_error_message(addr, msg, file_name, line_num, col_num), ScriptMsg::RunnableMsg(runnable) => runnable.handler(), ScriptMsg::RefcountCleanup(addr) => |