LGTM3

On Thu, May 15, 2025 at 8:07 AM Vladimir Levin <vmp...@chromium.org> wrote:

>
>
> On Wednesday, May 14, 2025 at 8:53:30 PM UTC-4 Domenic Denicola wrote:
>
> On Thu, May 15, 2025 at 12:26 AM Vladimir Levin <vmp...@chromium.org>
> wrote:
>
> Hi,
>
> I'm looking at https://github.com/search?q=QuotaExceededError&type=code
> it seems like there are already classes with that name, which I believe
> shouldn't be a problem.
>
>
> Notably the majority of cases I can find are in React Native and Node.js
> code.
>
>
> I do see some patterns that check explicitly for QuotaExceededError string
> and some examples handle that as a "success" as in: the request succeeded
> but some caching mechanism exceeded a quota, which is ok. The proposed
> change here would break these cases, is that right?
>
>
> I'm not sure which cases you're referring to. By "check explicitly for the
> QuotaExceededError string", do you mean the pattern `ex.name ===
> "QuotaExceededError"`? If so, that is listed in the explainer as one of the
> patterns that will not break.
>
>
> Ah my bad, I didn't realize that the name would continue to be
> QuotaExceededError. Sounds good, no concerns from me. (I believe Chris
> plans to be the third approver here)
>
> Thanks,
> Vlad
>
>
>
>
>
> Thanks,
> Vlad
>
> On Wednesday, May 14, 2025 at 11:23:28 AM UTC-4 Daniel Bratell wrote:
>
> LGTM2
>
> /Daniel
> On 2025-05-14 17:22, Alex Russell wrote:
>
> Sorry, I misunderstood which way this change was being proposed. LGTM1
>
> On Tuesday, May 13, 2025 at 6:24:02 PM UTC-7 Domenic Denicola wrote:
>
> On Wed, May 14, 2025 at 3:21 AM Alex Russell <slightly...@chromium.org>
> wrote:
>
> Thanks for flipping the bits, Ayu.
>
> Domenic: it seems like this is part of a longer-running set of changes
> we've had going in DOM-land regarding moving away from subclasses of Error
> types, and IIRC this is a motivating factor in the TAG's Design
> Principles guidance on error types
> <https://www.w3.org/TR/design-principles/#error-types>. Should we cite to
> that? And should the principles be updated to discuss not using subclasses
> with this sort of specific example?
>
>
> I'm not sure what longer-running set of changes you're referring to.
> Subclassing of Error is pretty common; the JavaScript spec itself does so;
> web developers commonly do so; and web specifications do a fair amount. (We
> added first-class support for doing so on the web platform in 2022
> <https://github.com/whatwg/webidl/pull/1211>, paving the cowpath set by
> WebTransportError, RTCError, GPUPipelineError, and a few others.) This is
> just the latest in a long list of such additions.
>
> This change, as well as all those previous ones, seems fully aligned with
> the TAG Design Principles. They are all subclasses of Error. (Because
> DOMException is a subclass of Error.)
>
> I don't understand the suggestion to update the principles. Are you saying
> they should be changed to the opposite of what they are saying now, and to
> discuss *not* using subclasses? Why?
>
>
>
> Best,
>
> Alex
>
> On Tuesday, May 6, 2025 at 5:28:48 PM UTC-7 dan...@microsoft.com wrote:
>
> Can you please request the other review bits in ChromeStatus (privacy,
> security, etc)?
>
> -- Dan
>
> On Tuesday, May 6, 2025 at 3:42:02 PM UTC-7 ay...@chromium.org wrote:
>
> Contact emails
>
> ay...@chromium.org, dom...@chromium.org
>
>
> Explainer
>
> https://github.com/whatwg/webidl/pull/1465
>
> Specification
>
> https://github.com/whatwg/webidl/pull/1465
>
> Summary
>
> Currently, when the web platform wants to tell you when you've exceeded
> quota, it will use `DOMException` with the specific `name` property set to
> `QuotaExceededError`. However this does not allow carrying additional
> information.
>
> This proposes removing "QuotaExceededError" from the list of built-in
> `DOMException` names, and instead creates a class name `QuotaExceededError`
> from the list of built-in `DOMException` and has the additional optional
> properties `quota` and `requested`. We propose all instances of specs that
> throw "QuotaExceededError" `DOMException`s get upgraded to instead throw
> `QuotaExceededError`s. For now, such specs would leave the `quota` and
> `requested` properties at their default value of `null`, but they could
> eventually upgrade to include that data, if it's useful for their use case
> (and isn't, e.g., a privacy leak).
>
>
> Blink component
>
> Blink
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%22>
>
> TAG review
>
> Review request filed & closed
> <https://github.com/w3ctag/design-reviews/issues/1065>
>
> TAG review status
>
> N/A
>
> Risks
>
> Interoperability and Compatibility
>
> This is technically backward-incompatible with some rare coding patterns.
> The spec PR outlines those, and compares them with the more common coding
> patterns which work the same even after this change. Given that quota
> exceeded exceptions only occur in rare cases anyway, and the most popular
> patterns will continue working with no problem, we think the compat risk
> here is small. Nevertheless, we'll carefully monitor for breakage, and use
> Finch to revert if any serious problems are found.
>
> We anticipate low interoperability risk, as we suspect that if Chromium
> proves that this is web-compatible, other browsers will quickly follow. And
> even during the transition period, the most common coding patterns will
> work in all browsers.
>
>
>
> Gecko: Under consideration (https://github.com/mozilla/
> standards-positions/issues/1223)
>
> WebKit: Pending (https://github.com/WebKit/standards-positions/issues/468)
>
> Web developers: No signals
>
> Other signals:
>
> Ergonomics
>
> None
>
>
> Activation
>
> N/A
>
>
> Security
>
> None
>
>
> WebView application risks
>
> Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?
>
> None
>
>
> Debuggability
>
> None
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?
>
> Yes
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> To be added here
> <https://crsrc.org/c/third_party/blink/web_tests/external/wpt/webidl/ecmascript-binding/es-exceptions/DOMException-constructor-behavior.any.js>
>
> Flag name on about://flags
>
> None
>
> Finch feature name
>
> QuotaExceededError
>
> Requires code in //chrome?
>
> False
>
> Measurement
>
> N/A
>
> Estimated milestones
>
> M138
>
>
> Anticipated spec changes
>
> Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).
>
> We haven't yet sent spec PRs to update all specifications to use this new
> error type, but that process is pretty mechanical, and we will do so once
> we're sure this sticks. We want to avoid badgering 9 separate spec editors
> into merging our update PRs, if there's a possibility we'd then have to
> badger them to accept 9 separate revert PRs a couple months later.
>
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/6194847180128256?gate=5011647107956736
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion visit https://groups.google.com/a/
> chromium.org/d/msgid/blink-dev/9f6747c4-94d9-4063-9ea5-
> 89bbab2eeb57n%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9f6747c4-94d9-4063-9ea5-89bbab2eeb57n%40chromium.org?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6bf5d5be-b2ff-4270-b3b8-116b7e752bc5n%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6bf5d5be-b2ff-4270-b3b8-116b7e752bc5n%40chromium.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-X0ywVSZanuQWbyDz%2Bj9ScaTRLg3mmbdoefvMKqzRmFg%40mail.gmail.com.

Reply via email to