michael@0: /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * vim: sw=2 ts=8 et : michael@0: */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this file, michael@0: * You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: include protocol PCompositor; michael@0: include protocol PImageBridge; michael@0: include protocol PLayerTransaction; michael@0: michael@0: namespace mozilla { michael@0: namespace layers { michael@0: michael@0: /** michael@0: * This is a trivial protocol that's used to track gralloc buffers michael@0: * across thread contexts. A live PGrallocBuffer actor always michael@0: * corresponds 1:1 to a pre-shared gralloc buffer (sharing is done by michael@0: * the PGrallocBuffer constructor). michael@0: */ michael@0: async protocol PGrallocBuffer { michael@0: manager PImageBridge or PLayerTransaction; michael@0: michael@0: /** Gralloc buffers can be "owned" by either parent or child. */ michael@0: both: michael@0: async __delete__(); michael@0: }; michael@0: michael@0: } // namespace layers michael@0: } // namespace mozilla