On Thu, Sep 25, 2014 at 6:08 PM, Kyle Machulis <[email protected]> wrote:
> Looking at Bug 1070066 today, I found an interesting issue. Pretty much 
> everywhere in gaia, it's assumed that the settings API will never fail on a 
> query call. There's lots of calls to mozSettings.createLock().get()/set() 
> that just expect to get back a DOMRequest no matter what.
>
> The problem in bug 1070066 is that the call screen app closes itself before 
> all of its callbacks are done, meaning that settings API calls are made after 
> inner-window-destroyed. These fail in what look like settings issues, which 
> it partially is, since the settings API is trying to create a DOMRequest with 
> no window. This was true for the old API, and is true for the new one too. If 
> we don't have a window, you're not getting back a DOMRequest. You're getting 
> an exception.
>
> Unfortunately, in terms of bug 1070066, it's getting fixed by things like bug 
> 1068109, where we just put in a 2 second wait for UX reasons that also 
> happens to fix this. Great bandaid, and needed for UX, not actually a fix for 
> the API problem.
>
> So, we need to figure out what to do here. Almost all settings API calls in 
> gaia are queries chained to createLock(), which means there's no error 
> checking, and they'll throw exceptions, possibly leading to odd state issues 
> like Bug 1070066. I've filed bug 1073259 to at least make the errors more 
> descriptive, though they'll also look even more like settings errors so I 
> look forward to lots more bugs filed against me. Going forward, what should 
> we do here? Document better and try to wrap all current instances in 
> try/catch? Return fake DOMRequest-like objects that instantly fail?
> _______________________________________________
> dev-b2g mailing list
> [email protected]
> https://lists.mozilla.org/listinfo/dev-b2g

Why are we running callbacks after the app has closed anyways?

- Kyle
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to