Radar 19339994: Multiple Web View Silos

I have been doing some work around web views on iOS recently that inspired me to log Radar 19339994:

Product: iOS

Classification: Enhancement

Reproducibility: Always

Title: Web View Silos

Description: I appreciate that the cookies, local storage, and cache used by web views in an app are isolated to that app. The purpose of this radar is to request that the paradigm be taken even further, allowing an app developer to define persistent web “silos” and to associate a web view with one of those silos. Each silo would have its own persistent store for cookies, local storage, and cache.

This would support a variety of use cases:

  • A developer wants to allow the user to define Fluid-like site-specific browsers.
  • A developer wants to make a web browser that supports multiple users.
  • A developer is building a site-specific browser that supports multiple accounts. Most web interfaces do not support multiple accounts without forcing the user to log out and log back in.
  • A developer wants a pristine environment in which to ask a user to log in to a service to get an OAuth token.

To clarify, I am not asking that each web view automatically run in its own silo. I think that would cause other problems. I am requesting that developers be empowered to create persistent web view silos. They can be thought of like secondary sandboxes.

I have been able to simulate this behavior (with some ugly hacks) using UIWebViews, but have been unable to do so using WKWebViews. [Thoughts on how to do this are welcome. The challenge is that data does not appear to be written to disk immediately after the web view is dismissed.]

Steps to Reproduce:

Expected Results:


Version & Build:
iOS 8.1.2 (12B440)

Additional Notes:

If you would also like to see Apple address this request, please consider filing a duplicate of this report.