root/content/worker/shared_worker_permission_client_proxy.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// 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<ThreadSafeSender> thread_safe_sender_;

  DISALLOW_COPY_AND_ASSIGN(SharedWorkerPermissionClientProxy);
};

}  // namespace content

#endif  // CONTENT_WORKER_SHARED_WORKER_PERMISSION_CLIENT_PROXY_H_

/* [<][>][^][v][top][bottom][index][help] */