// Copyright 2013 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_WORKER_SHARED_WORKER_PERMISSION_CLIENT_PROXY_H_ #define CONTENT_WORKER_SHARED_WORKER_PERMISSION_CLIENT_PROXY_H_ #include "base/basictypes.h" #include "base/memory/ref_counted.h" #include "third_party/WebKit/public/web/WebWorkerPermissionClientProxy.h" #include "url/gurl.h" namespace content { class ThreadSafeSender; // This proxy is created on the main renderer thread then passed onto // the blink's worker thread. class SharedWorkerPermissionClientProxy : public blink::WebWorkerPermissionClientProxy { public: SharedWorkerPermissionClientProxy( const GURL& origin_url, bool is_unique_origin, int routing_id, ThreadSafeSender* thread_safe_sender); virtual ~SharedWorkerPermissionClientProxy(); // WebWorkerPermissionClientProxy overrides. virtual bool allowDatabase(const blink::WebString& name, const blink::WebString& display_name, unsigned long estimated_size); virtual bool allowFileSystem(); virtual bool allowIndexedDB(const blink::WebString& name); private: const GURL origin_url_; const bool is_unique_origin_; const int routing_id_; scoped_refptr thread_safe_sender_; DISALLOW_COPY_AND_ASSIGN(SharedWorkerPermissionClientProxy); }; } // namespace content #endif // CONTENT_WORKER_SHARED_WORKER_PERMISSION_CLIENT_PROXY_H_