Bug 89524
| Summary: | [Mac] Dismiss the Geolocation permission dialog in response to GeolocationClient::cancelPermissionRequest() | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Benjamin Poulain <benjamin> |
| Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | ||
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Benjamin Poulain
On WebKit1, the Geolocation permission query is not cancelled on cancelPermissionRequest:
virtual void cancelPermissionRequest(WebCore::Geolocation*) OVERRIDE { }; (in WebGeolocationClient.h)
The problem is we can have the WebKit layers calling Geolocation::setIsAllowed() after WebCore invoked cancelPermissionRequest(), which is incorrect. This could cause the Geolocation object to have erroneous permissions.
The dialog does not have to be dismissed on cancelPermissionRequest(), but the WebGeolocationPolicyListener should be disconnected from its Geolocation object.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |