CanGc fixes in several files (#33958)

* few cangc fixes

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

* few cangc fixes

Signed-off-by: L Ashwin B <lashwinib@gmail.com>

---------

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
This commit is contained in:
chickenleaf 2024-10-22 03:02:22 +05:30 committed by GitHub
parent 1bf68567b8
commit ebfea9b352
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 170 additions and 129 deletions

View file

@ -6,7 +6,7 @@ use base::id::PipelineId;
use crate::dom::domexception::DOMErrorName;
use crate::dom::filereader::{FileReader, GenerationId, ReadMetaData, TrustedFileReader};
use crate::script_runtime::{CommonScriptMsg, ScriptChan, ScriptThreadEventCategory};
use crate::script_runtime::{CanGc, CommonScriptMsg, ScriptChan, ScriptThreadEventCategory};
use crate::task::{TaskCanceller, TaskOnce};
use crate::task_source::{TaskSource, TaskSourceName};
@ -40,7 +40,7 @@ impl TaskSource for FileReadingTaskSource {
impl TaskOnce for FileReadingTask {
fn run_once(self) {
self.handle_task();
self.handle_task(CanGc::note());
}
}
@ -53,17 +53,19 @@ pub enum FileReadingTask {
}
impl FileReadingTask {
pub fn handle_task(self) {
pub fn handle_task(self, can_gc: CanGc) {
use self::FileReadingTask::*;
match self {
ProcessRead(reader, gen_id) => FileReader::process_read(reader, gen_id),
ProcessReadData(reader, gen_id) => FileReader::process_read_data(reader, gen_id),
ProcessRead(reader, gen_id) => FileReader::process_read(reader, gen_id, can_gc),
ProcessReadData(reader, gen_id) => {
FileReader::process_read_data(reader, gen_id, can_gc)
},
ProcessReadError(reader, gen_id, error) => {
FileReader::process_read_error(reader, gen_id, error)
FileReader::process_read_error(reader, gen_id, error, can_gc)
},
ProcessReadEOF(reader, gen_id, metadata, blob_contents) => {
FileReader::process_read_eof(reader, gen_id, metadata, blob_contents)
FileReader::process_read_eof(reader, gen_id, metadata, blob_contents, can_gc)
},
}
}