[Webkit-unassigned] [Bug 39908] Reentrant Geolocation tests crash with an assertion

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Nov 17 07:42:03 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=39908





--- Comment #7 from Jonathan Dixon <joth at chromium.org>  2010-11-17 07:42:02 PST ---
(From update of attachment 74101)
View in context: https://bugs.webkit.org/attachment.cgi?id=74101&action=review

> WebCore/page/Geolocation.cpp:582
> +    copyToSet(oneShotsCached, m_oneShots);

It's not obvious when the watchersCached set is not re-instated here too. Specifically, if the error was fatal we won't have sent them an error above (as we removed them from the watchersCopy vector) but they won't get a cached position either (as we don't reinstate here). Perhaps it's the intermix of isFatal and isDenied that is confusing me. Would it be clearer as:

if (!isFatal) {
     removeCachedNotifiers(oneShotsCopy, oneShotsCached);
     removeCachedNotifiers(watchersCopy, watchersCached);
} else 
     m_watchers.clear();

m_oneshots.clear();


Also would it be worth adding a comment on hasListeners that we need to test that before re-instating pending one-shots?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list