*/
#include "config.h"
-#include "WorkerPermissionClient.h"
+#include "web/WorkerPermissionClient.h"
#include "core/workers/WorkerGlobalScope.h"
+#include "public/platform/WebPermissionCallbacks.h"
#include "public/platform/WebString.h"
#include "public/web/WebWorkerPermissionClientProxy.h"
#include "wtf/PassOwnPtr.h"
using namespace WebCore;
-namespace WebKit {
+namespace blink {
-PassOwnPtr<WorkerPermissionClient> WorkerPermissionClient::create(PassOwnPtr<WebWorkerPermissionClientProxy> proxy)
+PassOwnPtrWillBeRawPtr<WorkerPermissionClient> WorkerPermissionClient::create(PassOwnPtr<WebWorkerPermissionClientProxy> proxy)
{
- return adoptPtr(new WorkerPermissionClient(proxy));
+ return adoptPtrWillBeNoop(new WorkerPermissionClient(proxy));
}
WorkerPermissionClient::~WorkerPermissionClient()
bool WorkerPermissionClient::allowDatabase(const WebString& name, const WebString& displayName, unsigned long estimatedSize)
{
if (!m_proxy)
- return false;
+ return true;
return m_proxy->allowDatabase(name, displayName, estimatedSize);
}
bool WorkerPermissionClient::allowFileSystem()
{
if (!m_proxy)
- return false;
+ return true;
return m_proxy->allowFileSystem();
}
+void WorkerPermissionClient::requestFileSystemAccess(const WebPermissionCallbacks& callbacks)
+{
+ if (!m_proxy) {
+ WebPermissionCallbacks permissionCallbacks(callbacks);
+ permissionCallbacks.doAllow();
+ return;
+ }
+ m_proxy->requestFileSystemAccess(callbacks);
+}
+
bool WorkerPermissionClient::allowIndexedDB(const WebString& name)
{
if (!m_proxy)
- return false;
+ return true;
return m_proxy->allowIndexedDB(name);
}
return "WorkerPermissionClient";
}
-WorkerPermissionClient* WorkerPermissionClient::from(ExecutionContext* context)
+WorkerPermissionClient* WorkerPermissionClient::from(ExecutionContext& context)
{
- return static_cast<WorkerPermissionClient*>(Supplement<WorkerClients>::from(toWorkerGlobalScope(context)->clients(), supplementName()));
+ WorkerClients* clients = toWorkerGlobalScope(context).clients();
+ ASSERT(clients);
+ return static_cast<WorkerPermissionClient*>(WillBeHeapSupplement<WorkerClients>::from(*clients, supplementName()));
}
WorkerPermissionClient::WorkerPermissionClient(PassOwnPtr<WebWorkerPermissionClientProxy> proxy)
void providePermissionClientToWorker(WorkerClients* clients, PassOwnPtr<WebWorkerPermissionClientProxy> proxy)
{
- WorkerPermissionClient::provideTo(clients, WorkerPermissionClient::supplementName(), WorkerPermissionClient::create(proxy));
+ ASSERT(clients);
+ WorkerPermissionClient::provideTo(*clients, WorkerPermissionClient::supplementName(), WorkerPermissionClient::create(proxy));
}
-} // namespace WebKit
+} // namespace blink