Pepper Flash settings integration: implement "deauthorize content licenses".

A few notes about PepperFlashSettingsManager:
- It doesn't re-establish a channel for each request. It might seem unnecessary at this point. But that is needed for implementing content settings (camera/mic and peer networking), which requires more interactions with the broker process.
- Similarly, the support of multiple in-flight requests isn't very useful for deauthorizing content licenses, but that is useful for content settings, e.g., sending multiple GetPermissionSettings requests for different setting types.

BUG=112190
TEST=None

Review URL: https://chromiumcodereview.appspot.com/10391173

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139210 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/content/browser/pepper_flash_settings_helper_impl.h b/content/browser/pepper_flash_settings_helper_impl.h
new file mode 100644
index 0000000..bfecc002
--- /dev/null
+++ b/content/browser/pepper_flash_settings_helper_impl.h
@@ -0,0 +1,44 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_
+#define CONTENT_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_
+#pragma once
+
+#include "base/basictypes.h"
+#include "base/compiler_specific.h"
+#include "content/browser/ppapi_plugin_process_host.h"
+#include "content/public/browser/pepper_flash_settings_helper.h"
+
+namespace content {
+
+class CONTENT_EXPORT PepperFlashSettingsHelperImpl
+    : public PepperFlashSettingsHelper,
+      public PpapiPluginProcessHost::BrokerClient {
+ public:
+  PepperFlashSettingsHelperImpl();
+
+  // PepperFlashSettingsHelper implementation.
+  virtual void OpenChannelToBroker(
+      const FilePath& path,
+      const OpenChannelCallback& callback) OVERRIDE;
+
+  // PpapiPluginProcessHost::BrokerClient implementation.
+  virtual void GetPpapiChannelInfo(base::ProcessHandle* renderer_handle,
+                                   int* renderer_id) OVERRIDE;
+  virtual void OnPpapiChannelOpened(const IPC::ChannelHandle& channel_handle,
+                                    int plugin_child_id) OVERRIDE;
+  virtual bool OffTheRecord() OVERRIDE;
+
+ protected:
+  virtual ~PepperFlashSettingsHelperImpl();
+
+ private:
+  OpenChannelCallback callback_;
+  DISALLOW_COPY_AND_ASSIGN(PepperFlashSettingsHelperImpl);
+};
+
+}  // namespace content
+
+#endif  // CONTENT_BROWSER_PEPPER_FLASH_SETTINGS_HELPER_IMPL_H_