aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/script_task.rs
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-02-05 15:27:44 -0700
committerbors-servo <metajack+bors@gmail.com>2015-02-05 15:27:44 -0700
commitc360b75e1640d5329068cfdbaa560b63ed03b35f (patch)
tree8053a32a482cb7dd0468b4c0773337eb7a7c8702 /components/script/script_task.rs
parent0d560806f8fd621c2744429ae534e93e1f2563cb (diff)
parent7309f2a4283a1e3afd1becec94a325b3bc1ec5ea (diff)
downloadservo-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.rs6
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) =>