ipc/glue/FileDescriptorSetParent.h
author George Wright <george@mozilla.com>
Fri, 08 Apr 2016 13:33:27 -0400
changeset 292483 8d87452bfc44bf502e2a1a172db91f88e5284782
parent 234933 ac4464790ec4896a5188fa50cfc69ae0ffeddc08
child 299417 74f12ae5dbc55caabb5bd546c6f12ce1ed282fac
permissions -rw-r--r--
Revert "Bug 1261416 - Rename firefox-plugin-container back to plugin-container to satisfy Flash's protected mode checks, and ensure that we launch the correct binary r=ted" because of widespread breakage due to whitelisted executable names in third parties This reverts commit 2d44e8ffaf63a32292f8e5b8fdd1485d0a462afc.

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef mozilla_ipc_FileDescriptorSetParent_h__
#define mozilla_ipc_FileDescriptorSetParent_h__

#include "mozilla/Assertions.h"
#include "mozilla/Attributes.h"
#include "mozilla/ipc/PFileDescriptorSetParent.h"
#include "nsTArray.h"

namespace mozilla {

namespace dom {

class ContentParent;

} // namespace dom

namespace ipc {

class BackgroundParentImpl;
class FileDescriptor;

class FileDescriptorSetParent final
  : public PFileDescriptorSetParent
{
  friend class BackgroundParentImpl;
  friend class mozilla::dom::ContentParent;

  nsTArray<FileDescriptor> mFileDescriptors;

public:
  void
  ForgetFileDescriptors(nsTArray<FileDescriptor>& aFileDescriptors);

private:
  explicit FileDescriptorSetParent(const FileDescriptor& aFileDescriptor);
  ~FileDescriptorSetParent();

  virtual void ActorDestroy(ActorDestroyReason aWhy) override;

  virtual bool
  RecvAddFileDescriptor(const FileDescriptor& aFileDescriptor) override;
};

} // namespace ipc
} // namespace mozilla

#endif // mozilla_ipc_FileDescriptorSetParent_h__