Home | History | Annotate | Download | only in pepper
      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 
     12 namespace ppapi {
     13 class PpapiPermissions;
     14 }
     15 
     16 namespace content {
     17 class PepperInstanceStateAccessor;
     18 class RendererPpapiHostImpl;
     19 class RenderViewImpl;
     20 
     21 class ContentRendererPepperHostFactory : public ppapi::host::HostFactory {
     22  public:
     23   explicit ContentRendererPepperHostFactory(
     24       RendererPpapiHostImpl* host);
     25   virtual ~ContentRendererPepperHostFactory();
     26 
     27   virtual scoped_ptr<ppapi::host::ResourceHost> CreateResourceHost(
     28       ppapi::host::PpapiHost* host,
     29       const ppapi::proxy::ResourceMessageCallParams& params,
     30       PP_Instance instance,
     31       const IPC::Message& message) OVERRIDE;
     32 
     33  private:
     34   const ppapi::PpapiPermissions& GetPermissions() const;
     35 
     36   // Non-owning pointer.
     37   RendererPpapiHostImpl* host_;
     38 
     39   DISALLOW_COPY_AND_ASSIGN(ContentRendererPepperHostFactory);
     40 };
     41 
     42 }  // namespace content
     43 
     44 #endif  // CONTENT_RENDERER_PEPPER_CONTENT_RENDERER_PEPPER_HOST_FACTORY_H_
     45