mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Remove global field from FileReader
This commit is contained in:
parent
9371c041a3
commit
efaf4cdeca
1 changed files with 8 additions and 10 deletions
|
@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods;
|
||||||
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
|
use dom::bindings::codegen::Bindings::EventHandlerBinding::EventHandlerNonNull;
|
||||||
use dom::bindings::codegen::Bindings::FileReaderBinding::{self, FileReaderConstants, FileReaderMethods};
|
use dom::bindings::codegen::Bindings::FileReaderBinding::{self, FileReaderConstants, FileReaderMethods};
|
||||||
use dom::bindings::error::{Error, ErrorResult, Fallible};
|
use dom::bindings::error::{Error, ErrorResult, Fallible};
|
||||||
use dom::bindings::global::{GlobalField, GlobalRef};
|
use dom::bindings::global::{GlobalRef, global_root_from_reflector};
|
||||||
use dom::bindings::inheritance::Castable;
|
use dom::bindings::inheritance::Castable;
|
||||||
use dom::bindings::js::{JS, MutNullableHeap, Root};
|
use dom::bindings::js::{JS, MutNullableHeap, Root};
|
||||||
use dom::bindings::refcounted::Trusted;
|
use dom::bindings::refcounted::Trusted;
|
||||||
|
@ -69,7 +69,6 @@ pub enum FileReaderReadyState {
|
||||||
#[dom_struct]
|
#[dom_struct]
|
||||||
pub struct FileReader {
|
pub struct FileReader {
|
||||||
eventtarget: EventTarget,
|
eventtarget: EventTarget,
|
||||||
global: GlobalField,
|
|
||||||
ready_state: Cell<FileReaderReadyState>,
|
ready_state: Cell<FileReaderReadyState>,
|
||||||
error: MutNullableHeap<JS<DOMException>>,
|
error: MutNullableHeap<JS<DOMException>>,
|
||||||
result: DOMRefCell<Option<DOMString>>,
|
result: DOMRefCell<Option<DOMString>>,
|
||||||
|
@ -77,10 +76,9 @@ pub struct FileReader {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl FileReader {
|
impl FileReader {
|
||||||
pub fn new_inherited(global: GlobalRef) -> FileReader {
|
pub fn new_inherited() -> FileReader {
|
||||||
FileReader {
|
FileReader {
|
||||||
eventtarget: EventTarget::new_inherited(),//?
|
eventtarget: EventTarget::new_inherited(),//?
|
||||||
global: GlobalField::from_rooted(&global),
|
|
||||||
ready_state: Cell::new(FileReaderReadyState::Empty),
|
ready_state: Cell::new(FileReaderReadyState::Empty),
|
||||||
error: MutNullableHeap::new(None),
|
error: MutNullableHeap::new(None),
|
||||||
result: DOMRefCell::new(None),
|
result: DOMRefCell::new(None),
|
||||||
|
@ -89,7 +87,7 @@ impl FileReader {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new(global: GlobalRef) -> Root<FileReader> {
|
pub fn new(global: GlobalRef) -> Root<FileReader> {
|
||||||
reflect_dom_object(box FileReader::new_inherited(global),
|
reflect_dom_object(box FileReader::new_inherited(),
|
||||||
global, FileReaderBinding::Wrap)
|
global, FileReaderBinding::Wrap)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,7 +112,7 @@ impl FileReader {
|
||||||
fr.change_ready_state(FileReaderReadyState::Done);
|
fr.change_ready_state(FileReaderReadyState::Done);
|
||||||
*fr.result.borrow_mut() = None;
|
*fr.result.borrow_mut() = None;
|
||||||
|
|
||||||
let global = fr.global.root();
|
let global = global_root_from_reflector(fr.r());
|
||||||
let exception = DOMException::new(global.r(), error);
|
let exception = DOMException::new(global.r(), error);
|
||||||
fr.error.set(Some(&exception));
|
fr.error.set(Some(&exception));
|
||||||
|
|
||||||
|
@ -291,7 +289,7 @@ impl FileReaderMethods for FileReader {
|
||||||
// Steps 1 & 3
|
// Steps 1 & 3
|
||||||
*self.result.borrow_mut() = None;
|
*self.result.borrow_mut() = None;
|
||||||
|
|
||||||
let global = self.global.root();
|
let global = global_root_from_reflector(self);
|
||||||
let exception = DOMException::new(global.r(), DOMErrorName::AbortError);
|
let exception = DOMException::new(global.r(), DOMErrorName::AbortError);
|
||||||
self.error.set(Some(&exception));
|
self.error.set(Some(&exception));
|
||||||
|
|
||||||
|
@ -321,7 +319,7 @@ impl FileReaderMethods for FileReader {
|
||||||
impl FileReader {
|
impl FileReader {
|
||||||
fn dispatch_progress_event(&self, type_: Atom, loaded: u64, total: Option<u64>) {
|
fn dispatch_progress_event(&self, type_: Atom, loaded: u64, total: Option<u64>) {
|
||||||
|
|
||||||
let global = self.global.root();
|
let global = global_root_from_reflector(self);
|
||||||
let progressevent = ProgressEvent::new(global.r(),
|
let progressevent = ProgressEvent::new(global.r(),
|
||||||
type_, EventBubbles::DoesNotBubble, EventCancelable::NotCancelable,
|
type_, EventBubbles::DoesNotBubble, EventCancelable::NotCancelable,
|
||||||
total.is_some(), loaded, total.unwrap_or(0));
|
total.is_some(), loaded, total.unwrap_or(0));
|
||||||
|
@ -334,7 +332,7 @@ impl FileReader {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn read(&self, function: FileReaderFunction, blob: &Blob, label: Option<DOMString>) -> ErrorResult {
|
fn read(&self, function: FileReaderFunction, blob: &Blob, label: Option<DOMString>) -> ErrorResult {
|
||||||
let root = self.global.root();
|
let root = global_root_from_reflector(self);
|
||||||
let global = root.r();
|
let global = root.r();
|
||||||
// Step 1
|
// Step 1
|
||||||
if self.ready_state.get() == FileReaderReadyState::Loading {
|
if self.ready_state.get() == FileReaderReadyState::Loading {
|
||||||
|
@ -342,7 +340,7 @@ impl FileReader {
|
||||||
}
|
}
|
||||||
// Step 2
|
// Step 2
|
||||||
if blob.IsClosed() {
|
if blob.IsClosed() {
|
||||||
let global = self.global.root();
|
let global = global_root_from_reflector(self);
|
||||||
let exception = DOMException::new(global.r(), DOMErrorName::InvalidStateError);
|
let exception = DOMException::new(global.r(), DOMErrorName::InvalidStateError);
|
||||||
self.error.set(Some(&exception));
|
self.error.set(Some(&exception));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue