The third-party storage blocking API should be extended to allow a user to block all storage instead of either no data or third-party data. This mirrors what we already have in place for cookies.
Created attachment 162377 [details] Patch
Comment on attachment 162377 [details] Patch Attachment 162377 [details] did not pass chromium-ews (chromium-xvfb): Output: http://queues.webkit.org/results/13774441 New failing tests: http/tests/security/same-origin-storage-blocked.html
(In reply to comment #2) > (From update of attachment 162377 [details]) > Attachment 162377 [details] did not pass chromium-ews (chromium-xvfb): > Output: http://queues.webkit.org/results/13774441 > > New failing tests: > http/tests/security/same-origin-storage-blocked.html This seems bad.
Comment on attachment 162377 [details] Patch Since there's a test failing, I did more of a "glance-over" instead of a full review. Seems fine as a general approach. I'll look more closely with the new patch that resolves the failing test.
Created attachment 162604 [details] Patch
Comment on attachment 162604 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=162604&action=review > Source/WebKit2/UIProcess/API/C/WKPreferences.h:210 > -WK_EXPORT void WKPreferencesSetThirdPartyStorageBlockingEnabled(WKPreferencesRef preferencesRef, bool enabled); > -WK_EXPORT bool WKPreferencesGetThirdPartyStorageBlockingEnabled(WKPreferencesRef preferencesRef); > +WK_EXPORT void WKPreferencesSetStorageBlockingPolicy(WKPreferencesRef preferencesRef, uint32_t policy); > +WK_EXPORT uint32_t WKPreferencesGetStorageBlockingPolicy(WKPreferencesRef preferencesRef); This should be exposed as an enum, not a uint32_t There's precedent for this - See WKPreferencesPrivate.h for a directly comparable example.
Created attachment 162636 [details] Patch
Comment on attachment 162636 [details] Patch Attachment 162636 [details] did not pass mac-ews (mac): Output: http://queues.webkit.org/results/13764931
Created attachment 162843 [details] Patch
Comment on attachment 162843 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=162843&action=review I'd like you to consider making the changes I suggested, but won't hold up the patch any longer. > Source/WebCore/page/SecurityOrigin.h:52 > + enum StorageBlockingPolicy { > + AllowAllStorage = 0, > + BlockAllStorage, > + BlockThirdPartyStorage > + }; It reads better to me if these enums move from most permissive to least permissive. -Allow All -Block 3rd Parties -Block All. > Source/WebKit2/UIProcess/API/C/WKPreferences.h:43 > +enum WKStorageBlockingPolicy { > + kWKAllowAllStorage = 0, > + kWKBlockAllStorage, > + kWKBlockThirdPartyStorage > +}; Same comment.
Committed r127956: <http://trac.webkit.org/changeset/127956>
<rdar://problem/12259830>