Update To 11.40.268.0
[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   void OpenChannelToBroker(const base::FilePath& path,
23                            const OpenChannelCallback& callback) override;
24
25   // PpapiPluginProcessHost::BrokerClient implementation.
26   void GetPpapiChannelInfo(base::ProcessHandle* renderer_handle,
27                            int* renderer_id) override;
28   void OnPpapiChannelOpened(const IPC::ChannelHandle& channel_handle,
29                             base::ProcessId plugin_pid,
30                             int plugin_child_id) override;
31   bool OffTheRecord() override;
32
33  protected:
34   ~PepperFlashSettingsHelperImpl() override;
35
36  private:
37   OpenChannelCallback callback_;
38   DISALLOW_COPY_AND_ASSIGN(PepperFlashSettingsHelperImpl);
39 };
40
41 }  // namespace content
42
43 #endif  // CONTENT_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_