Issue metadata
Sign in to add a comment
|
IndexedDB: data not effectively stored with 'add' / 'put'
Reported by
ka.gema...@gmail.com,
Nov 3 2017
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/62.0.3202.75 Chrome/62.0.3202.75 Safari/537.36 Steps to reproduce the problem: 1. Adding a new data item in the IndexedDB store using 'add' or 'put' does not work anymore. Can be tested @ https://googlechrome.github.io/samples/indexeddb-observers/ What is the expected behavior? Data should be effectively stored in the database. On successful and unsuccessful complete, an event should be fired. What went wrong? On using the 'add' or 'store' methods, data are not stored in the database. Also no event is fired once the write action has completed, successful or unsuccessful. Did this work before? Yes The previous one (from https://dl.google.com/linux/chrome/deb/) Does this work in other browsers? Yes Chrome version: 62.0.3202.75 Channel: stable OS Version: Ubuntu 14.04.5 LTS Flash Version: This bug does not happen on the current Android versions ( stable 61 & beta 63) and seems to be a recent one (Chrome updated some days ago).
,
Nov 3 2017
,
Nov 7 2017
Tested the issue on ubuntu 14.04 using chrome M62 #62.0.3202.75 & M62 #62.0.3202.89 and observed similar behavior in incognito window. Attached screencast for reference. @ ka.gemayel-- Could you please check attached screencast and confirm us about the expected result with the screenshot and also please try in latest chrome stable , if you can still see the issue and update us with your observtions. Thanks!
,
Nov 8 2017
Yes, the screenscast reflects the expected result, the count is incremented.
The bug has disappeared on 62.0.3202.89, thank you !
As a side note, seems some changes where made recently with IndexedDB events. On my side, I had to make some changes with 'get' after the upgrade to 62.0.3202.75 :
- before:
public getItem(name, id):Promise<Object> {
return new Promise((ok, err) => {
const getItem = this.objectStore(name, 'readonly').get(id);
getItem.onsuccess = ({ target: { result }}) => ok(result);
getItem.onerror = event => err(event);
});
}
- after:
public getItem(name, id):Promise<Object> {
return new Promise((ok, err) => {
const getItem = this.objectStore(name, 'readonly').get(id);
getItem.oncomplete = ({ target: { result }}) => ok(result);
getItem.onerror = event => err(event);
});
}
Seems some events are not fired anymore, or were not fired correctly some versions ago. Gotta revisit that part on my side, although now it works but perhaps not following the spec.
Also, if I were you I'd implement an automated IndexedDB tests suite. :)
Cheers !
,
Nov 8 2017
Thank you for providing more feedback. Adding requester "hdodda@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Nov 8 2017
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by ka.gema...@gmail.com
, Nov 3 2017