bool StorageAreaProxy::canAccessStorage(Frame* frame) const { if (!frame->page()) return false; WebKit::WebFrameImpl* webFrame = WebKit::WebFrameImpl::fromFrame(frame); WebKit::WebViewImpl* webView = webFrame->viewImpl(); return !webView->permissionClient() || webView->permissionClient()->allowStorage(webFrame, m_storageType == LocalStorage); }
bool WebWorkerClientImpl::allowIndexedDB(const WebString& name) { if (askedToTerminate()) return false; WebKit::WebViewImpl* webView = m_webFrame->viewImpl(); if (!webView) return false; return !webView->permissionClient() || webView->permissionClient()->allowIndexedDB(m_webFrame, name, WebSecurityOrigin()); }
bool WebWorkerClientImpl::allowFileSystem() { if (askedToTerminate()) return false; WebKit::WebViewImpl* webView = m_webFrame->viewImpl(); if (!webView) return false; return !webView->permissionClient() || webView->permissionClient()->allowFileSystem(m_webFrame); }
bool WebWorkerClientImpl::allowDatabase(WebFrame*, const WebString& name, const WebString& displayName, unsigned long estimatedSize) { if (askedToTerminate()) return false; WebKit::WebViewImpl* webView = m_webFrame->viewImpl(); if (!webView) return false; return !webView->permissionClient() || webView->permissionClient()->allowDatabase(m_webFrame, name, displayName, estimatedSize); }
bool StorageAreaProxy::canAccessStorage(Frame* frame) { if (!frame || !frame->page()) return false; if (m_canAccessStorageCachedFrame == frame) return m_canAccessStorageCachedResult; WebKit::WebFrameImpl* webFrame = WebKit::WebFrameImpl::fromFrame(frame); WebKit::WebViewImpl* webView = webFrame->viewImpl(); bool result = !webView->permissionClient() || webView->permissionClient()->allowStorage(webFrame, m_storageType == LocalStorage); m_canAccessStorageCachedFrame = frame; m_canAccessStorageCachedResult = result; return result; }