I’m talking about the case when the User wants origin A to render data origin B has, but origin B doesn’t want that. You’d expect the User Agent to act on the User’s behalf and hand B’s data to A after confirming with the User that is their intention.
But instead the User Agent totally disregards the User and exclusively listens to origin B. This prevents the User from rendering the data in the more accessible/secure/privacy-preserving/intuitive way that origin A would have provided.
Strange to see all the comments arguing that in fact the browser ought to be an Origin Agent.
Funny
One universe I could see is the browser allowing a user to grant cross origin cookies when wanted. Though even then a site B that really doesn’t want this can stick CSRF tokens in the right spots and that just falls apart immediately
I imagine you understand the security questions at play here right? Since a user going to origin A might not know what other origins that origin A wants to reach out to.
CSRF mitigations mean that origins could still block things off even without CORS, but it’s an interesting thought experiment
Worth noting this model would introduces no new holes - everything I ask for is already possible when running a native application.
> introduces no new holes - everything I ask for is already possible when running a native application.
A native application involves downloading a binary and installing it on your machine. Those involve a higher degree of trust than, say, clicking on a random URL. "I will read this person's blog" vs "I will download a binary to read this preson's blog" are acts with different trust requirements. At least for most people.
I suppose in a somewhat ironic way the iOS sandbox makes me feel more comfortable downloading random native apps but it probably really shouldn't! The OS is good about isolating cookie access for exactly the sort of things you're talking about (the prompt is like "this app wants to access your data for website.com)), but I should definitely be careful