- add sources.
[platform/framework/web/crosswalk.git] / src / content / browser / pepper_flash_settings_helper_impl.h
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_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_
6 #define CONTENT_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_
7
8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h"
10 #include "content/browser/ppapi_plugin_process_host.h"
11 #include "content/public/browser/pepper_flash_settings_helper.h"
12
13 namespace content {
14
15 class CONTENT_EXPORT PepperFlashSettingsHelperImpl
16     : public PepperFlashSettingsHelper,
17       NON_EXPORTED_BASE(public PpapiPluginProcessHost::BrokerClient) {
18  public:
19   PepperFlashSettingsHelperImpl();
20
21   // PepperFlashSettingsHelper implementation.
22   virtual void OpenChannelToBroker(
23       const base::FilePath& path,
24       const OpenChannelCallback& callback) OVERRIDE;
25
26   // PpapiPluginProcessHost::BrokerClient implementation.
27   virtual void GetPpapiChannelInfo(base::ProcessHandle* renderer_handle,
28                                    int* renderer_id) OVERRIDE;
29   virtual void OnPpapiChannelOpened(const IPC::ChannelHandle& channel_handle,
30                                     base::ProcessId plugin_pid,
31                                     int plugin_child_id) OVERRIDE;
32   virtual bool OffTheRecord() OVERRIDE;
33
34  protected:
35   virtual ~PepperFlashSettingsHelperImpl();
36
37  private:
38   OpenChannelCallback callback_;
39   DISALLOW_COPY_AND_ASSIGN(PepperFlashSettingsHelperImpl);
40 };
41
42 }  // namespace content
43
44 #endif  // CONTENT_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_