Home | History | Annotate | Download | only in pepper
      1 // Copyright 2013 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 CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_OUTPUT_PROTECTION_MESSAGE_FILTER_H_
      6 #define CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_OUTPUT_PROTECTION_MESSAGE_FILTER_H_
      7 
      8 #include "ppapi/c/pp_instance.h"
      9 #include "ppapi/host/resource_message_filter.h"
     10 
     11 namespace content {
     12 class BrowserPpapiHost;
     13 }  // namespace content
     14 
     15 namespace ppapi {
     16 namespace host {
     17 struct HostMessageContext;
     18 }  // namespace host
     19 }  // namespace ppapi
     20 
     21 namespace chrome {
     22 
     23 class PepperOutputProtectionMessageFilter
     24     : public ppapi::host::ResourceMessageFilter {
     25  public:
     26   PepperOutputProtectionMessageFilter(content::BrowserPpapiHost* host,
     27                                       PP_Instance instance);
     28 
     29  private:
     30 #if defined(OS_CHROMEOS)
     31   class Delegate;
     32 #endif
     33 
     34   // ppapi::host::ResourceMessageFilter overrides.
     35   virtual scoped_refptr<base::TaskRunner> OverrideTaskRunnerForMessage(
     36       const IPC::Message& msg) OVERRIDE;
     37   virtual int32_t OnResourceMessageReceived(
     38       const IPC::Message& msg,
     39       ppapi::host::HostMessageContext* context) OVERRIDE;
     40 
     41   virtual ~PepperOutputProtectionMessageFilter();
     42 
     43   int32_t OnQueryStatus(ppapi::host::HostMessageContext* context);
     44   int32_t OnEnableProtection(ppapi::host::HostMessageContext* context,
     45                              uint32_t desired_method_mask);
     46 
     47 #if defined(OS_CHROMEOS)
     48   // Delegator. Should be deleted in UI thread.
     49   Delegate* delegate_;
     50 #endif
     51 
     52   DISALLOW_COPY_AND_ASSIGN(PepperOutputProtectionMessageFilter);
     53 };
     54 
     55 }  // namespace chrome
     56 
     57 #endif  // CHROME_BROWSER_RENDERER_HOST_PEPPER_PEPPER_OUTPUT_PROTECTION_MESSAGE_FILTER_H_
     58