v8binding: Fixes a crash issue at GeoNotifier::TimerFired.
Geolocation stops owning GeoNotifiers in some cases (e.g. Geolocation::clearWatch), so it's possible that, when GeoNotifier::TimerFired gets invoked, the owner geolocation had already stopped owning the notifier. In this scenario, no one is performing wrapper-tracing for the notifier, thus the underlying V8 functions might have already been collected by V8 GC. GeoNotifier must not invoke any callback in such a case. This patch adds a check whether the geolocation still owns the notifier or not. Bug: 792604 Tbr: haraken@chromium.org Change-Id: I46f2d34f62bac2073b75eb36b935172cb1c10465 Reviewed-on: https://chromium-review.googlesource.com/893240 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by:Hitoshi Yoshida <peria@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#532945}
Showing
Please register or sign in to comment