gecko/gfx/layers/LayerScope.h
Boris Chiou 4b888d9c25 Bug 1096139 - Create websocket dynamically after we enable Layerscope. r=dglastonbury
We have to create the websocket if it doesn't exist after enabling
Layerscope. Therefore, we don't have to reboot the device anymore.

1. Remove the Init and DeInit in CreateCompositor and DestroyCompositor
   to prevent some unwanted deInits on the browser. (Our browser often
   calls DestroyCompositor)
2. Initize websocket only when we need it.
2014-11-20 02:00:00 +01:00

57 lines
1.4 KiB
C++

/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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 GFX_LAYERSCOPE_H
#define GFX_LAYERSCOPE_H
#include <stdint.h>
#include <mozilla/UniquePtr.h>
struct nsIntSize;
namespace mozilla {
namespace gl { class GLContext; }
namespace layers {
namespace layerscope { class Packet; }
struct EffectChain;
class LayerComposite;
class LayerScope {
public:
static void SendEffectChain(gl::GLContext* aGLContext,
const EffectChain& aEffectChain,
int aWidth,
int aHeight);
static void SendLayer(LayerComposite* aLayer,
int aWidth,
int aHeight);
static void SendLayerDump(UniquePtr<layerscope::Packet> aPacket);
static bool CheckSendable();
static void CleanLayer();
private:
static void Init();
};
// Perform BeginFrame and EndFrame automatically
class LayerScopeAutoFrame {
public:
explicit LayerScopeAutoFrame(int64_t aFrameStamp);
~LayerScopeAutoFrame();
private:
static void BeginFrame(int64_t aFrameStamp);
static void EndFrame();
};
} /* layers */
} /* mozilla */
#endif /* GFX_LAYERSCOPE_H */