Fixing data corruptions in Adblock Plus for Safari · 2014-03-13 09:50 by Sebastian Noack
When we ported Adblock Plus from Chrome to Safari, and realized that there was no fileSystem API, we moved to localStorage for storing filter lists. Short after it turned out that we can’t store more than about 1 MB in localStorage on Safari. So we moved to a WebSQL database for the filter lists, while sticking to localStorage for other persistent data.
After we released Adblock Plus for Safari Beta, users began to complain that settings were automatically reset. The reason therefore was that both localStorage and WebSQL data are cleared when Safari cleans up browsing data.
Then we became aware of Safari’s settings API. Safari doesn’t reset settings when clearing browsing data, nor do they seem to have a limit of size. So we will soon migrate to hidden settings for storing persistent data including filter lists.
If you are using Adblock Plus for Safari Beta, please note:
When the patch is merged, all settings will be reset once (hopefully) for the last time.
So if you have changed any settings since you have installed Adblock Plus, you might want to have a look at your options now, in order to remember your settings and backup your custom filters, before they will be reset.
Update: The patch has landed in the devbuilds. So starting with Adblock Plus 184.108.40.2068, Safari’s settings API is used. And settings aren’t reset anymore when Safari cleans up browsing data.
Commenting is closed for this article.