-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test infrastructure to expose whether a browser intends to expose transferSize across origins with TAO #371
Comments
I'm not sure this won't be useful beyond just testing. It may be helpful for RUM providers and developers to know if the browser supports cross-origin resource sizes. It may be useful to add an enum that disambiguates all of these. @nicjansma - thoughts? |
Agreed that this could be a useful signal for RUM. We frequently get questions when customers are reviewing the RUM data we collect regarding why some resources or page loads don't have sizing information. If we knew definitively that this was due to Right now we essentially UA-sniff to assume those two states. |
Discussed on the 2023-03-30 W3C WebPerf call: https://docs.google.com/document/d/1EBhbMloSye3zu0wyOimaUNEiHi-wnNbeDjo92d4RSzA/edit?usp=sharing High-level notes:
|
I want to raise some similar issues. For example this LCP test assumes the |
@sefeng211 - I believe we already have |
Ah right, I missed that one, sorry! Though I am still not sure whether the boolean attribute is the right approach or not. The original comment from Alex also mentions I'd still imagine the ideal solution is the clients of RUM providers can use Reporting API to determine this, and we have something unique for testing. However, if that's too much work and folks don't like the user agent approach in the test files, maybe this should be something like |
Yeah, we'd clearly need a better name that represents the reason behind the lack of exposure.
I'm not sure I see how the Reporting API fits into this..
In this case, the attributes are supported, just not supported on cross-origin cases. |
Okie..so you want a single boolean value represents this user agent prevents some of the attributes to be exposed on cross-origin cases. Do you want to include the name of those attributes in this single boolean value? What if different agents have different For the Reporiting API, I was thinking a new type of report for timing attributes, which specifies the attributes that are not supported in cross-origin case. Now thinking about this again, I suspect this might not fix the RUM use case...maybe... |
Oh another thing regards |
That's true.. Any thoughts on a more holistic API to expose variations in support? |
With #369 doing a corresponding PR to web platform tests makes them no longer catch regressions in intended transferSize exposure. For example, assert(timing.transferSize == 42) needs to be changed to assert(timing.transferSize == 0 || timing.transferSize == 42). It would be better if we could instead change it to if (internals.allowsCrossOriginTransferSize) { assert(timing.transferSize == 42) } else { assert(timing.transferSize == 0) }. Since the motivation of this is for unit tests, it would probably be distasteful to expose a boolean to the web platform, the implementation of which would just be a hard-coded value. Same applies to encodedBodySize, decodedBodySize, and server timing.
The text was updated successfully, but these errors were encountered: