1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "content/renderer/shared_worker/embedded_shared_worker_permission_client_proxy.h" 6 7#include "content/child/thread_safe_sender.h" 8#include "content/common/worker_messages.h" 9#include "third_party/WebKit/public/platform/WebString.h" 10#include "url/gurl.h" 11 12namespace content { 13 14EmbeddedSharedWorkerPermissionClientProxy:: 15 EmbeddedSharedWorkerPermissionClientProxy( 16 const GURL& origin_url, 17 bool is_unique_origin, 18 int routing_id, 19 ThreadSafeSender* thread_safe_sender) 20 : origin_url_(origin_url), 21 is_unique_origin_(is_unique_origin), 22 routing_id_(routing_id), 23 thread_safe_sender_(thread_safe_sender) { 24} 25 26EmbeddedSharedWorkerPermissionClientProxy:: 27 ~EmbeddedSharedWorkerPermissionClientProxy() { 28} 29 30bool EmbeddedSharedWorkerPermissionClientProxy::allowDatabase( 31 const blink::WebString& name, 32 const blink::WebString& display_name, 33 unsigned long estimated_size) { 34 if (is_unique_origin_) 35 return false; 36 bool result = false; 37 thread_safe_sender_->Send(new WorkerProcessHostMsg_AllowDatabase( 38 routing_id_, origin_url_, name, display_name, estimated_size, &result)); 39 return result; 40} 41 42bool EmbeddedSharedWorkerPermissionClientProxy::requestFileSystemAccessSync() { 43 if (is_unique_origin_) 44 return false; 45 bool result = false; 46 thread_safe_sender_->Send( 47 new WorkerProcessHostMsg_RequestFileSystemAccessSync( 48 routing_id_, origin_url_, &result)); 49 return result; 50} 51 52bool EmbeddedSharedWorkerPermissionClientProxy::allowIndexedDB( 53 const blink::WebString& name) { 54 if (is_unique_origin_) 55 return false; 56 bool result = false; 57 thread_safe_sender_->Send(new WorkerProcessHostMsg_AllowIndexedDB( 58 routing_id_, origin_url_, name, &result)); 59 return result; 60} 61 62} // namespace content 63