RESOLVED FIXED 167795
Allow some schemes to opt-out of CORS
https://bugs.webkit.org/show_bug.cgi?id=167795
Summary Allow some schemes to opt-out of CORS
youenn fablet
Reported 2017-02-03 09:04:05 PST
Some schemes may be accessed through XHR/fetch but may not need CORS at all. This is the case for data URLs and also for browser extension resources.
Attachments
Patch (20.55 KB, patch)
2017-02-03 10:58 PST, youenn fablet
no flags
Patch (10.40 KB, patch)
2017-02-06 08:43 PST, youenn fablet
no flags
Patch for landing (10.34 KB, patch)
2017-02-06 15:49 PST, youenn fablet
no flags
youenn fablet
Comment 1 2017-02-03 09:04:26 PST
Related to radar://30096129
youenn fablet
Comment 2 2017-02-03 10:58:00 PST
youenn fablet
Comment 3 2017-02-06 08:43:03 PST
Alex Christensen
Comment 4 2017-02-06 10:25:36 PST
Comment on attachment 300724 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=300724&action=review > Source/WebCore/platform/SchemeRegistry.cpp:363 > +#if WTF_PLATFORM_MAC || WTF_PLATFORM_IOS PLATFORM(COCOA)
Alex Christensen
Comment 5 2017-02-06 11:27:41 PST
Comment on attachment 300724 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=300724&action=review > Source/WebCore/platform/SchemeRegistry.cpp:364 > + if (scheme == "safari-extension") If we need more schemes than just safari-extension, we should definitely make a PageSchemeRegistry.
Alex Christensen
Comment 6 2017-02-06 11:28:10 PST
Comment on attachment 300724 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=300724&action=review >> Source/WebCore/platform/SchemeRegistry.cpp:363 >> +#if WTF_PLATFORM_MAC || WTF_PLATFORM_IOS > > PLATFORM(COCOA) Actually, this might only be needed on PLATFORM(MAC)
youenn fablet
Comment 7 2017-02-06 15:49:33 PST
Created attachment 300765 [details] Patch for landing
Alex Christensen
Comment 8 2017-02-06 16:03:43 PST
Comment on attachment 300765 [details] Patch for landing View in context: https://bugs.webkit.org/attachment.cgi?id=300765&action=review > Source/WebCore/platform/SchemeRegistry.cpp:364 > + if (scheme == "safari-extension") This is a layering violation. WebCore shouldn't need to know about the safari-extension scheme. The proper solution would be to make a PageSchemeRegistry and register this scheme for each WKWebView. This is a good shortcut, though.
WebKit Commit Bot
Comment 9 2017-02-06 16:26:30 PST
Comment on attachment 300765 [details] Patch for landing Clearing flags on attachment: 300765 Committed r211758: <http://trac.webkit.org/changeset/211758>
WebKit Commit Bot
Comment 10 2017-02-06 16:26:36 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.