Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: sw=2 ts=8 et :
3 */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 include LayersSurfaces;
9 include protocol PLayerTransaction;
10 include protocol PImageBridge;
11 include protocol PGrallocBuffer;
12 include "mozilla/GfxMessageUtils.h";
14 using struct mozilla::layers::FrameMetrics from "FrameMetrics.h";
15 using struct mozilla::layers::FenceHandle from "mozilla/layers/FenceUtils.h";
17 namespace mozilla {
18 namespace layers {
20 union MaybeFenceHandle {
21 FenceHandle;
22 null_t;
23 };
25 /**
26 * PTexture is the IPDL glue between a TextureClient and a TextureHost.
27 */
28 sync protocol PTexture {
29 manager PImageBridge or PLayerTransaction;
31 child:
32 async __delete__();
34 async CompositorRecycle(MaybeFenceHandle aFence);
36 parent:
38 async ClientRecycle();
40 /**
41 * Asynchronously tell the Compositor side to remove the texture.
42 */
43 async RemoveTexture();
45 /**
46 * Synchronously tell the compositor side to remove the texture.
47 */
48 sync RemoveTextureSync();
49 };
51 } // layers
52 } // mozilla