diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp b/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp index 0d110c53a..94b464da1 100644 --- a/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp +++ b/Source/WebKit2/WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp @@ -33,6 +33,7 @@ #include "WebPage.h" #include "WebPageProxyMessages.h" #include <WebCore/Frame.h> +#include <WebCore/FrameLoader.h> #include <WebCore/Geolocation.h> #include <WebCore/SecurityOrigin.h> @@ -61,7 +62,10 @@ void GeolocationPermissionRequestManager::startRequestForGeolocation(Geolocation Frame* frame = geolocation->frame(); - WebFrame* webFrame = static_cast<WebFrameLoaderClient*>(frame->loader()->client())->webFrame(); + WebFrameLoaderClient* webFrameLoaderClient = toWebFrameLoaderClient(frame->loader()->client()); + WebFrame* webFrame = webFrameLoaderClient ? webFrameLoaderClient->webFrame() : 0; + ASSERT(webFrame); + SecurityOrigin* origin = frame->document()->securityOrigin(); m_page->send(Messages::WebPageProxy::RequestGeolocationPermissionForFrame(geolocationID, webFrame->frameID(), origin->databaseIdentifier())); |