Possible noncompliances with the indexedDB Spec

I was working in a project where I use the indexedDB API to store the state of some process on the client side until the app could connect to the server. The state of the process is represented by an instance of Object with a heavy nested structure (usually of 4 to 5 layers: some properties of the object instance were arrays of other objects who has more arrays within). The process is being stored in its own ObjectStore with a key path linked to a property of the first layer of the object instance (an uid) and I’m using a put request to update the stored object as the process advances. The problem is that, when the process starts I can store it without any problem and even I can update it as it grows, but when it becomes big enough something goes wrong. Allthough the put request is being completed without error events and even the success event is fired, the API stores not an instance of Object but instead of Array (more precisely an array of strings that joined are some kind serialization of the object instance) and with that I can not access to the data of my process reliably.

This is happening in localhost with plenty of quota. So this issue is not related to a QuotaExceededError but rather it seems to be a problem with the size of the value of the record that i’m attempting to put in the object store

More important than my description of what is happening in firefox is the observation that in the chromium based browsers this is not happening and my code works as expected and I could maintain the process state as my app runs.