Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 : * This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 :
6 : #include "ClientCanvasLayer.h"
7 : #include "GeckoProfiler.h" // for AUTO_PROFILER_LABEL
8 : #include "ClientLayerManager.h" // for ClientLayerManager, etc
9 : #include "nsCOMPtr.h" // for already_AddRefed
10 :
11 : namespace mozilla {
12 : namespace layers {
13 :
14 0 : ClientCanvasLayer::~ClientCanvasLayer()
15 : {
16 0 : MOZ_COUNT_DTOR(ClientCanvasLayer);
17 0 : }
18 :
19 : void
20 0 : ClientCanvasLayer::RenderLayer()
21 : {
22 0 : AUTO_PROFILER_LABEL("ClientCanvasLayer::RenderLayer", GRAPHICS);
23 :
24 0 : RenderMaskLayers(this);
25 :
26 0 : UpdateCompositableClient();
27 0 : ClientManager()->Hold(this);
28 0 : }
29 :
30 : already_AddRefed<CanvasLayer>
31 0 : ClientLayerManager::CreateCanvasLayer()
32 : {
33 0 : NS_ASSERTION(InConstruction(), "Only allowed in construction phase");
34 : RefPtr<ClientCanvasLayer> layer =
35 0 : new ClientCanvasLayer(this);
36 0 : CREATE_SHADOW(Canvas);
37 0 : return layer.forget();
38 : }
39 :
40 : } // namespace layers
41 : } // namespace mozilla
|