1// Copyright (c) 2012 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#ifndef CONTENT_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_ 6#define CONTENT_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_ 7 8#include "base/compiler_specific.h" 9#include "ppapi/host/host_factory.h" 10#include "ppapi/shared_impl/ppapi_permissions.h" 11 12namespace ppapi { 13class PpapiPermissions; 14} 15 16namespace content { 17class PepperInstanceStateAccessor; 18class RendererPpapiHostImpl; 19class RenderViewImpl; 20 21class ContentRendererPepperHostFactory : public ppapi::host::HostFactory { 22 public: 23 explicit ContentRendererPepperHostFactory(RendererPpapiHostImpl* host); 24 virtual ~ContentRendererPepperHostFactory(); 25 26 virtual scoped_ptr<ppapi::host::ResourceHost> CreateResourceHost( 27 ppapi::host::PpapiHost* host, 28 const ppapi::proxy::ResourceMessageCallParams& params, 29 PP_Instance instance, 30 const IPC::Message& message) OVERRIDE; 31 32 private: 33 const ppapi::PpapiPermissions& GetPermissions() const; 34 35 // Non-owning pointer. 36 RendererPpapiHostImpl* host_; 37 38 DISALLOW_COPY_AND_ASSIGN(ContentRendererPepperHostFactory); 39}; 40 41} // namespace content 42 43#endif // CONTENT_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_ 44