ApplicationData description suggests it is an immutable object with a mutable piece (ManifestData). This is like this to ensure thread-safety of that object. This was like this because this was copied from Chromium, but I'm not sure whether we make use of that property or not.

If now ApplicationData is mutable we need to figure out what to do with its thread-safeness. Its class comment will need to be updated.

Does the database loading and such happens on IO or UI thread? This could shed a light if we need to keep that object thread-safe or not.

CC: @pozdnyakov