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_