LCOV - code coverage report
Current view: top level - layout/painting - MaskLayerImageCache.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 6 32 18.8 %
Date: 2017-07-14 16:53:18 Functions: 2 8 25.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 20; 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 "MaskLayerImageCache.h"
       7             : 
       8             : #include "ImageContainer.h"
       9             : #include "mozilla/layers/ShadowLayers.h"
      10             : 
      11             : using namespace mozilla::layers;
      12             : 
      13             : namespace mozilla {
      14             : 
      15           2 : MaskLayerImageCache::MaskLayerImageCache()
      16             : {
      17           2 :   MOZ_COUNT_CTOR(MaskLayerImageCache);
      18           2 : }
      19           0 : MaskLayerImageCache::~MaskLayerImageCache()
      20             : {
      21           0 :   MOZ_COUNT_DTOR(MaskLayerImageCache);
      22           0 : }
      23             : 
      24             : void
      25         261 : MaskLayerImageCache::Sweep()
      26             : {
      27         261 :   for (auto iter = mMaskImageContainers.Iter(); !iter.Done(); iter.Next()) {
      28           0 :     const MaskLayerImageCache::MaskLayerImageKey* key = iter.Get()->mKey;
      29           0 :     if (key->HasZeroLayerCount()) {
      30           0 :       iter.Remove();
      31             :     }
      32             :   }
      33         261 : }
      34             : 
      35             : ImageContainer*
      36           0 : MaskLayerImageCache::FindImageFor(const MaskLayerImageKey** aKey)
      37             : {
      38           0 :   if (MaskLayerImageEntry* entry = mMaskImageContainers.GetEntry(**aKey)) {
      39           0 :     *aKey = entry->mKey.get();
      40           0 :     return entry->mContainer;
      41             :   }
      42             : 
      43           0 :   return nullptr;
      44             : }
      45             : 
      46             : void
      47           0 : MaskLayerImageCache::PutImage(const MaskLayerImageKey* aKey, ImageContainer* aContainer)
      48             : {
      49           0 :   MaskLayerImageEntry* entry = mMaskImageContainers.PutEntry(*aKey);
      50           0 :   entry->mContainer = aContainer;
      51           0 : }
      52             : 
      53           0 : MaskLayerImageCache::MaskLayerImageKey::MaskLayerImageKey()
      54             :   : mRoundedClipRects()
      55           0 :   , mLayerCount(0)
      56             : {
      57           0 :   MOZ_COUNT_CTOR(MaskLayerImageKey);
      58           0 : }
      59             : 
      60           0 : MaskLayerImageCache::MaskLayerImageKey::MaskLayerImageKey(const MaskLayerImageKey& aKey)
      61             :   : mRoundedClipRects(aKey.mRoundedClipRects)
      62           0 :   , mLayerCount(aKey.mLayerCount)
      63             : {
      64           0 :   MOZ_COUNT_CTOR(MaskLayerImageKey);
      65           0 : }
      66             : 
      67           0 : MaskLayerImageCache::MaskLayerImageKey::~MaskLayerImageKey()
      68             : {
      69           0 :   MOZ_COUNT_DTOR(MaskLayerImageKey);
      70           0 : }
      71             : 
      72             : } // namespace mozilla

Generated by: LCOV version 1.13