[Webkit-unassigned] [Bug 39288] Geolocation causes DOMWindow to leak if position requests are in progress when the page is navigated away

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed May 19 11:29:38 PDT 2010


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


Darin Adler <darin at apple.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #56503|review?                     |review-
               Flag|                            |




--- Comment #6 from Darin Adler <darin at apple.com>  2010-05-19 11:29:38 PST ---
(From update of attachment 56503)
This is one of those cases where a function by function comment in the change log would make it more clear why your changes are correct.

> +    if (m_frame->domWindow() && m_frame->domWindow()->navigator()->optionalGeolocation())
> +        m_frame->domWindow()->navigator()->optionalGeolocation()->stop();

If we’re calling m_frame->domWindow() you should not check it for 0. The code can either call existingDOMWindow or we can remove the null check.

>  void Geolocation::disconnectFrame()
>  {
>      if (m_frame && m_frame->page() && m_allowGeolocation == InProgress)
>          m_frame->page()->chrome()->cancelGeolocationPermissionRequestForFrame(m_frame, this);
> -    stopUpdating();

Is there a guarantee that no new geolocation activity can start after a frame stops loading? What guarantees that? There is not enough explanation here, either in change log or in comments, to make clear why this code is correct.

review- for the moment because of this one issue and one question

-- 
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