Yesterday was Labor Day, so we celebrated it by not working! Woohoo! Malisa is traveling back today, so I (Jeena) worked alone today.

Things we did:

  • Promise in Fetch
    • jdm is back! He rebased his promises branch! :clap: The rust compiler still panics instead of throwing error as it uses the older rust version, but that’s ok! I can work around it.
    • It turns out there’s a lot more to do with implementing promise in fetch so I spent the day trying to understand what I need to do. Roughly, there are two things I can do:
      1. figure out how to reject/resolve Promise in fetch. Promise::maybe_resolve_native is probably a better choice than Promise::maybe_resolve because they take regular DOM objects. This seems partially dependent on the next thing.
      2. implement FetchResponseListener in fetch.rs. This turns out to have a lot more pre-requisite infrastructure! fetch.rs needs a FetchContext struct that will store the intermediate fetch. XMLHttpRequest is done very similarly to fetch, so I should look into how XHR is implemented in Servo. How XHR implements FetchResponseListener is here.

Things we learned:

TODO:

  • Promise in Fetch
    • make FetchContext struct
    • Impl FetchResponseListener for FetchContext (may require helper functions)
    • resolve/reject promise in fetch