mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d.
This commit is contained in:
parent
b8900782b0
commit
466faac2a5
223 changed files with 4414 additions and 4105 deletions
|
@ -7,14 +7,15 @@ use dom::bindings::cell::DOMRefCell;
|
|||
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
|
||||
use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener;
|
||||
use dom::bindings::codegen::Bindings::EventTargetBinding::EventTargetMethods;
|
||||
use dom::bindings::error::{Fallible, InvalidState, report_pending_exception};
|
||||
use dom::bindings::error::{Fallible, report_pending_exception};
|
||||
use dom::bindings::error::Error::InvalidState;
|
||||
use dom::bindings::js::JSRef;
|
||||
use dom::bindings::utils::{Reflectable, Reflector};
|
||||
use dom::event::Event;
|
||||
use dom::eventdispatcher::dispatch_event;
|
||||
use dom::node::NodeTypeId;
|
||||
use dom::workerglobalscope::WorkerGlobalScopeId;
|
||||
use dom::xmlhttprequest::XMLHttpRequestId;
|
||||
use dom::workerglobalscope::WorkerGlobalScopeTypeId;
|
||||
use dom::xmlhttprequesteventtarget::XMLHttpRequestEventTargetTypeId;
|
||||
use dom::virtualmethods::VirtualMethods;
|
||||
use js::jsapi::{JS_CompileUCFunction, JS_GetFunctionObject, JS_CloneFunctionObject};
|
||||
use js::jsapi::{JSContext, JSObject};
|
||||
|
@ -37,12 +38,12 @@ pub enum ListenerPhase {
|
|||
#[deriving(PartialEq)]
|
||||
#[jstraceable]
|
||||
pub enum EventTargetTypeId {
|
||||
NodeTargetTypeId(NodeTypeId),
|
||||
WebSocketTypeId,
|
||||
WindowTypeId,
|
||||
WorkerTypeId,
|
||||
WorkerGlobalScopeTypeId(WorkerGlobalScopeId),
|
||||
XMLHttpRequestTargetTypeId(XMLHttpRequestId)
|
||||
Node(NodeTypeId),
|
||||
WebSocket,
|
||||
Window,
|
||||
Worker,
|
||||
WorkerGlobalScope(WorkerGlobalScopeTypeId),
|
||||
XMLHttpRequestEventTarget(XMLHttpRequestEventTargetTypeId)
|
||||
}
|
||||
|
||||
#[deriving(PartialEq)]
|
||||
|
@ -55,7 +56,8 @@ pub enum EventListenerType {
|
|||
impl EventListenerType {
|
||||
fn get_listener(&self) -> EventListener {
|
||||
match *self {
|
||||
Additive(listener) | Inline(listener) => listener
|
||||
EventListenerType::Additive(listener) |
|
||||
EventListenerType::Inline(listener) => listener
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -148,7 +150,7 @@ impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> {
|
|||
|
||||
let idx = entries.iter().position(|&entry| {
|
||||
match entry.listener {
|
||||
Inline(_) => true,
|
||||
EventListenerType::Inline(_) => true,
|
||||
_ => false,
|
||||
}
|
||||
});
|
||||
|
@ -156,7 +158,7 @@ impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> {
|
|||
match idx {
|
||||
Some(idx) => {
|
||||
match listener {
|
||||
Some(listener) => entries[idx].listener = Inline(listener),
|
||||
Some(listener) => entries[idx].listener = EventListenerType::Inline(listener),
|
||||
None => {
|
||||
entries.remove(idx);
|
||||
}
|
||||
|
@ -165,8 +167,8 @@ impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> {
|
|||
None => {
|
||||
if listener.is_some() {
|
||||
entries.push(EventListenerEntry {
|
||||
phase: Bubbling,
|
||||
listener: Inline(listener.unwrap()),
|
||||
phase: ListenerPhase::Bubbling,
|
||||
listener: EventListenerType::Inline(listener.unwrap()),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -178,7 +180,7 @@ impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> {
|
|||
let entries = handlers.get(&ty);
|
||||
entries.and_then(|entries| entries.iter().find(|entry| {
|
||||
match entry.listener {
|
||||
Inline(_) => true,
|
||||
EventListenerType::Inline(_) => true,
|
||||
_ => false,
|
||||
}
|
||||
}).map(|entry| entry.listener.get_listener()))
|
||||
|
@ -254,10 +256,10 @@ impl<'a> EventTargetMethods for JSRef<'a, EventTarget> {
|
|||
Vacant(entry) => entry.set(vec!()),
|
||||
};
|
||||
|
||||
let phase = if capture { Capturing } else { Bubbling };
|
||||
let phase = if capture { ListenerPhase::Capturing } else { ListenerPhase::Bubbling };
|
||||
let new_entry = EventListenerEntry {
|
||||
phase: phase,
|
||||
listener: Additive(listener)
|
||||
listener: EventListenerType::Additive(listener)
|
||||
};
|
||||
if entry.as_slice().position_elem(&new_entry).is_none() {
|
||||
entry.push(new_entry);
|
||||
|
@ -276,10 +278,10 @@ impl<'a> EventTargetMethods for JSRef<'a, EventTarget> {
|
|||
let mut handlers = self.handlers.borrow_mut();
|
||||
let mut entry = handlers.get_mut(&ty);
|
||||
for entry in entry.iter_mut() {
|
||||
let phase = if capture { Capturing } else { Bubbling };
|
||||
let phase = if capture { ListenerPhase::Capturing } else { ListenerPhase::Bubbling };
|
||||
let old_entry = EventListenerEntry {
|
||||
phase: phase,
|
||||
listener: Additive(listener)
|
||||
listener: EventListenerType::Additive(listener)
|
||||
};
|
||||
let position = entry.as_slice().position_elem(&old_entry);
|
||||
for &position in position.iter() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue