# Global Metrics

path: .metrics.cognitive.average
old: null
new: 0.0
path: .metrics.cyclomatic.sum
old: 2.0
new: 8.0
path: .metrics.nom.total
old: 0.0
new: 5.0
path: .metrics.nom.functions
old: 0.0
new: 5.0
path: .metrics.loc.cloc
old: 17.0
new: 6.0
path: .metrics.loc.lloc
old: 0.0
new: 9.0
path: .metrics.loc.blank
old: 0.0
new: 7.0
path: .metrics.loc.ploc
old: 22.0
new: 29.0
path: .metrics.loc.sloc
old: 27.0
new: 42.0
path: .metrics.halstead.n2
old: 20.0
new: 31.0
path: .metrics.halstead.bugs
old: 0.017937890624885423
new: 0.11795789854894669
path: .metrics.halstead.estimated_program_length
old: 94.43856189774723
new: 217.5800856219931
path: .metrics.halstead.difficulty
old: 2.1
new: 11.096774193548388
path: .metrics.halstead.n1
old: 4.0
new: 16.0
path: .metrics.halstead.purity_ratio
old: 2.30337955848164
new: 2.014630422425862
path: .metrics.halstead.length
old: 41.0
new: 108.0
path: .metrics.halstead.N2
old: 21.0
new: 43.0
path: .metrics.halstead.effort
old: 394.7652713120915
new: 6656.905968307343
path: .metrics.halstead.time
old: 21.931403961782863
new: 369.82810935040794
path: .metrics.halstead.vocabulary
old: 24.0
new: 47.0
path: .metrics.halstead.N1
old: 20.0
new: 65.0
path: .metrics.halstead.volume
old: 187.9834625295674
new: 599.8955959811849
path: .metrics.halstead.level
old: 0.47619047619047616
new: 0.09011627906976744
path: .metrics.mi.mi_original
old: 89.91840200352877
new: 75.346622890248
path: .metrics.mi.mi_sei
old: 101.33989169108776
new: 61.44838321480685
path: .metrics.mi.mi_visual_studio
old: 52.58386082077706
new: 44.06235256739649
path: .metrics.nargs.average
old: null
new: 0.8
path: .metrics.nargs.sum
old: 0.0
new: 4.0
path: .metrics.nexits.average
old: null
new: 0.6
path: .metrics.nexits.sum
old: 0.0
new: 3.0

# Spaces Data

## Minimal test - lines (10, 42)

path: .spaces[0].metrics.mi.mi_visual_studio
old: 56.08747509990467
new: 46.61976100611063
path: .spaces[0].metrics.mi.mi_original
old: 95.909582420837
new: 79.71979132044918
path: .spaces[0].metrics.mi.mi_sei
old: 112.2623734537598
new: 53.344382788750806
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 5.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 5.0
path: .spaces[0].metrics.nargs.average
old: null
new: 0.8
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 4.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 7.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 9.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 6.0
path: .spaces[0].metrics.loc.sloc
old: 20.0
new: 33.0
path: .spaces[0].metrics.loc.cloc
old: 17.0
new: 1.0
path: .spaces[0].metrics.loc.ploc
old: 18.0
new: 26.0
path: .spaces[0].metrics.nexits.average
old: null
new: 0.6
path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 3.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[0].metrics.halstead.vocabulary
old: 21.0
new: 44.0
path: .spaces[0].metrics.halstead.n2
old: 17.0
new: 28.0
path: .spaces[0].metrics.halstead.effort
old: 316.24685444007076
new: 6551.317942364757
path: .spaces[0].metrics.halstead.time
old: 17.569269691115043
new: 363.9621079091532
path: .spaces[0].metrics.halstead.level
old: 0.5
new: 0.0875
path: .spaces[0].metrics.halstead.N1
old: 19.0
new: 65.0
path: .spaces[0].metrics.halstead.n1
old: 4.0
new: 16.0
path: .spaces[0].metrics.halstead.N2
old: 17.0
new: 40.0
path: .spaces[0].metrics.halstead.volume
old: 158.12342722003538
new: 573.2403199569162
path: .spaces[0].metrics.halstead.difficulty
old: 2.0
new: 11.428571428571429
path: .spaces[0].metrics.halstead.estimated_program_length
old: 77.48686830125577
new: 198.6059378176129
path: .spaces[0].metrics.halstead.bugs
old: 0.015472585394082024
new: 0.1167072573336086
path: .spaces[0].metrics.halstead.length
old: 36.0
new: 105.0
path: .spaces[0].metrics.halstead.purity_ratio
old: 2.1524130083682156
new: 1.8914851220725035

### Code

    namespace mozilla {
    namespace widget {

    CompositorWidgetChild::CompositorWidgetChild(
        RefPtr aVsyncDispatcher,
        RefPtr aVsyncObserver,
        const CompositorWidgetInitData&)
        : mVsyncDispatcher(aVsyncDispatcher), mVsyncObserver(aVsyncObserver) {
      MOZ_ASSERT(XRE_IsParentProcess());
      MOZ_ASSERT(!gfxPlatform::IsHeadless());
    }

    CompositorWidgetChild::~CompositorWidgetChild() = default;

    bool CompositorWidgetChild::Initialize() { return true; }

    mozilla::ipc::IPCResult CompositorWidgetChild::RecvObserveVsync() {
      mVsyncDispatcher->SetCompositorVsyncObserver(mVsyncObserver);
      return IPC_OK();
    }

    mozilla::ipc::IPCResult CompositorWidgetChild::RecvUnobserveVsync() {
      mVsyncDispatcher->SetCompositorVsyncObserver(nullptr);
      return IPC_OK();
    }

    void CompositorWidgetChild::NotifyClientSizeChanged(
        const LayoutDeviceIntSize& aClientSize) {
      Unused << SendNotifyClientSizeChanged(aClientSize);
    }

    }  // namespace widget
    }  // namespace mozilla