10BC0 Refactor in-flight promise storage logic · servo/servo@8808ff4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8808ff4

Browse files
committed
Refactor in-flight promise storage logic
Signed-off-by: Sebastian C <sebsebmc@gmail.com>
1 parent 0132a0b commit 8808ff4

File tree

1 file changed

+16
-24
lines changed

1 file changed

+16
-24
lines changed

components/script/dom/cookiestore.rs

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
206206
// 4. Let url be settings’s creation URL.
207207
let creation_url = global.creation_url();
208208

209-
self.in_flight.borrow_mut().push_back(p.clone());
210-
211209
// 6. Run the following steps in parallel:
212210
let res = self
213211
.global()
@@ -218,8 +216,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
218216
Some(name.to_string()),
219217
));
220218
if res.is_err() {
221-
self.in_flight.borrow_mut().pop_back();
222219
error!("Failed to send cookiestore message to resource threads");
220+
} else {
221+
self.in_flight.borrow_mut().push_back(p.clone());
223222
}
224223

225224
// 7. Return p.
@@ -291,8 +290,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
291290
}
292291
}
293292

294-
self.in_flight.borrow_mut().push_back(p.clone());
295-
296293
// 6. Run the following steps in parallel:
297294
let res = self
298295
.global()
@@ -303,8 +300,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
303300
options.name.clone().map(|val| val.0),
304301
));
305302
if res.is_err() {
306-
self.in_flight.borrow_mut().pop_back();
307303
error!("Failed to send cookiestore message to resource threads");
304+
} else {
305+
self.in_flight.borrow_mut().push_back(p.clone());
308306
}
309307

310308
p
@@ -329,8 +327,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
329327
// 4. Let url be settings’s creation URL.
330328
let creation_url = global.creation_url();
331329

332-
self.in_flight.borrow_mut().push_back(p.clone());
333-
334330
// 6. Run the following steps in parallel:
335331
let res =
336332
self.global()
@@ -341,8 +337,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
341337
Some(name.to_string()),
342338
));
343339
if res.is_err() {
344-
self.in_flight.borrow_mut().pop_back();
345340
error!("Failed to send cookiestore message to resource threads");
341+
} else {
342+
self.in_flight.borrow_mut().push_back(p.clone());
346343
}
347344

348345
// 7. Return p.
@@ -414,8 +411,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
414411
}
415412
}
416413

417-
self.in_flight.borrow_mut().push_back(p.clone());
418-
419414
// 6. Run the following steps in parallel:
420415
let res =
421416
self.global()
@@ -426,8 +421,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
426421
options.name.clone().map(|val| val.0),
427422
));
428423
if res.is_err() {
429-
self.in_flight.borrow_mut().pop_back();
430424
error!("Failed to send cookiestore message to resource threads");
425+
} else {
426+
self.in_flight.borrow_mut().push_back(p.clone());
431427
}
432428

433429
// 8. Return p
@@ -464,8 +460,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
464460
// TODO: This currently doesn't implement all the "set a cookie" steps which involves
465461
// additional processing of the name and value
466462

467-
self.in_flight.borrow_mut().push_back(p.clone());
468-
469463
// 10. Run the following steps in parallel:
470464
let res = self
471465
.global()
@@ -477,8 +471,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
477471
NonHTTP,
478472
));
479473
if res.is_err() {
480-
self.in_flight.borrow_mut().pop_back();
481474
error!("Failed to send cookiestore message to resource threads");
475+
} else {
476+
self.in_flight.borrow_mut().push_back(p.clone());
482477
}
483478

484479
// 11. Return p.
@@ -514,8 +509,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
514509
// TODO: This currently doesn't implement all the "set a cookie" steps which involves
515510
// additional processing of the name and value
516511

517-
self.in_flight.borrow_mut().push_back(p.clone());
518-
519512
// 6. Run the following steps in parallel:
520513
let res = self
521514
.global()
@@ -527,8 +520,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
527520
NonHTTP,
528521
));
529522
if res.is_err() {
530-
self.in_flight.borrow_mut().pop_back();
531523
error!("Failed to send cookiestore message to resource threads");
524+
} else {
525+
self.in_flight.borrow_mut().push_back(p.clone());
532526
}
533527

534528
// 7. Return p
@@ -552,8 +546,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
552546
return p;
553547
}
554548

555-
self.in_flight.borrow_mut().push_back(p.clone());
556-
557549
// 6. Run the following steps in parallel:
558550
// TODO: the spec passes additional parameters to _delete a cookie_ that we don't handle yet
559551
let res = global
@@ -564,8 +556,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
564556
name.0,
565557
));
566558
if res.is_err() {
567-
self.in_flight.borrow_mut().pop_back();
568559
error!("Failed to send cookiestore message to resource threads");
560+
} else {
561+
self.in_flight.borrow_mut().push_back(p.clone());
569562
}
570563

571564
// 7. Return p.
@@ -589,8 +582,6 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
589582
return p;
590583
}
591584

592-
self.in_flight.borrow_mut().push_back(p.clone());
593-
594585
// 6. Run the following steps in parallel:
595586
// TODO: the spec passes additional parameters to _delete a cookie_ that we don't handle yet
596587
let res = global
@@ -601,8 +592,9 @@ impl CookieStoreMethods<crate::DomTypeHolder> for CookieStore {
601592
options.name.to_string(),
602593
));
603594
if res.is_err() {
604-
self.in_flight.borrow_mut().pop_back();
605595
error!("Failed to send cookiestore message to resource threads");
596+
} else {
597+
self.i 4926 n_flight.borrow_mut().push_back(p.clone());
606598
}
607599

608600
// 7. Return p.

0 commit comments

Comments
 (0)
0