https://chromium-review.googlesource.com/c/chromium/src/+/1097047 made methods in ReadableStreamOperations return base::nullopt when an exception is thrown. However, the wrapper methods in BodyStreamBuffer hide this state from their callers, so the callers will not be able to detect if an exception is pending and return. We want the exceptions to be visible to Javascript so that someone looking up response.bodyUsed with a full stack gets a RangeError exception rather than just getting a bogus return value.
Exception handling needs to be explicit for maintainability. So the methods in ReadableStreamOperations that return Optional<bool> and their callers and their callers' callers need to take an ExceptionState& argument.
Comment 1 by bugdroid1@chromium.org
, Jun 27 2018