# Global Metrics

path: .metrics.mi.mi_sei
old: -0.6295925886884959
new: -22.499061261920712
path: .metrics.mi.mi_original
old: 23.507362444533456
new: 27.33714453322139
path: .metrics.mi.mi_visual_studio
old: 13.746995581598512
new: 15.98663422995403
path: .metrics.cyclomatic.sum
old: 11.0
new: 37.0
path: .metrics.cyclomatic.average
old: 1.0
new: 2.0555555555555554
path: .metrics.halstead.n1
old: 9.0
new: 26.0
path: .metrics.halstead.effort
old: 39468.953394065495
new: 344297.0328854794
path: .metrics.halstead.bugs
old: 0.3864107073705931
new: 1.6374483073489718
path: .metrics.halstead.volume
old: 5824.231676114651
new: 7752.908202713787
path: .metrics.halstead.N1
old: 344.0
new: 587.0
path: .metrics.halstead.difficulty
old: 6.776679841897233
new: 44.40875912408759
path: .metrics.halstead.estimated_program_length
old: 2048.2266994106412
new: 1094.6418280372604
path: .metrics.halstead.time
old: 2192.7196330036386
new: 19127.612938082188
path: .metrics.halstead.N2
old: 381.0
new: 468.0
path: .metrics.halstead.purity_ratio
old: 2.82514027504916
new: 1.0375751924523795
path: .metrics.halstead.level
old: 0.14756488772236803
new: 0.022518080210387904
path: .metrics.halstead.vocabulary
old: 262.0
new: 163.0
path: .metrics.halstead.n2
old: 253.0
new: 137.0
path: .metrics.halstead.length
old: 725.0
new: 1055.0
path: .metrics.nom.total
old: 0.0
new: 17.0
path: .metrics.nom.functions
old: 0.0
new: 17.0
path: .metrics.nexits.average
old: null
new: 1.3529411764705883
path: .metrics.nexits.sum
old: 0.0
new: 23.0
path: .metrics.cognitive.sum
old: 0.0
new: 13.0
path: .metrics.cognitive.average
old: null
new: 0.7647058823529411
path: .metrics.loc.ploc
old: 243.0
new: 206.0
path: .metrics.loc.blank
old: 62.0
new: 27.0
path: .metrics.loc.lloc
old: 0.0
new: 46.0
path: .metrics.loc.sloc
old: 476.0
new: 237.0
path: .metrics.loc.cloc
old: 171.0
new: 4.0
path: .metrics.nargs.sum
old: 0.0
new: 82.0
path: .metrics.nargs.average
old: null
new: 4.823529411764706

# Spaces Data

## Minimal test - lines (67, 76)

path: .spaces[5].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[5].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[5].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[5].metrics.nexits.average
old: null
new: 2.0
path: .spaces[5].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[5].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[5].metrics.nargs.average
old: null
new: 3.0
path: .spaces[5].metrics.nargs.sum
old: 0.0
new: 3.0
path: .spaces[5].metrics.halstead.length
old: 9.0
new: 59.0
path: .spaces[5].metrics.halstead.n1
old: 4.0
new: 12.0
path: .spaces[5].metrics.halstead.effort
old: 54.0
new: 2805.383626276446
path: .spaces[5].metrics.halstead.n2
old: 4.0
new: 15.0
path: .spaces[5].metrics.halstead.difficulty
old: 2.0
new: 10.0
path: .spaces[5].metrics.halstead.estimated_program_length
old: 16.0
new: 101.62290894278166
path: .spaces[5].metrics.halstead.volume
old: 27.0
new: 280.53836262764463
path: .spaces[5].metrics.halstead.bugs
old: 0.004762203155904598
new: 0.06630407956346103
path: .spaces[5].metrics.halstead.vocabulary
old: 8.0
new: 27.0
path: .spaces[5].metrics.halstead.N2
old: 4.0
new: 25.0
path: .spaces[5].metrics.halstead.time
old: 3.0
new: 155.854645904247
path: .spaces[5].metrics.halstead.N1
old: 5.0
new: 34.0
path: .spaces[5].metrics.halstead.level
old: 0.5
new: 0.1
path: .spaces[5].metrics.halstead.purity_ratio
old: 1.7777777777777777
new: 1.7224221854708757
path: .spaces[5].metrics.cognitive.average
old: null
new: 1.0
path: .spaces[5].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[5].metrics.loc.sloc
old: 6.0
new: 10.0
path: .spaces[5].metrics.loc.lloc
old: 0.0
new: 3.0
path: .spaces[5].metrics.loc.cloc
old: 4.0
new: 0.0
path: .spaces[5].metrics.loc.ploc
old: 5.0
new: 10.0
path: .spaces[5].metrics.mi.mi_visual_studio
old: 72.8685057867152
new: 60.77615613653863
path: .spaces[5].metrics.mi.mi_sei
old: 151.8472295014132
new: 74.43808272363292
path: .spaces[5].metrics.mi.mi_original
old: 124.60514489528302
new: 103.92722699348106

### Code

    std::pair nsNativeBasicThemeGTK::ComputeScrollbarColors(
        nsIFrame* aFrame, const ComputedStyle& aStyle,
        const EventStates& aDocumentState) {
      if (ShouldUseDarkScrollbar(aFrame, aStyle)) {
        auto color = sRGBColor::FromU8(20, 20, 25, 77);
        return {color, color};
      }
      return nsNativeBasicTheme::ComputeScrollbarColors(aFrame, aStyle,
                                                        aDocumentState);
    }

## Minimal test - lines (37, 49)

path: .spaces[2].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[2].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[2].metrics.nexits.average
old: null
new: 2.0
path: .spaces[2].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[2].metrics.cognitive.sum
old: 0.0
new: 2.0
path: .spaces[2].metrics.cognitive.average
old: null
new: 2.0
path: .spaces[2].metrics.nargs.average
old: null
new: 2.0
path: .spaces[2].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[2].metrics.halstead.n2
old: 11.0
new: 22.0
path: .spaces[2].metrics.halstead.n1
old: 3.0
new: 17.0
path: .spaces[2].metrics.halstead.time
old: 7.960833018847718
new: 316.29662066312517
path: .spaces[2].metrics.halstead.difficulty
old: 1.6363636363636365
new: 13.136363636363637
path: .spaces[2].metrics.halstead.vocabulary
old: 14.0
new: 39.0
path: .spaces[2].metrics.halstead.purity_ratio
old: 1.86124501335538
new: 2.043833706235077
path: .spaces[2].metrics.halstead.bugs
old: 0.009127799496822778
new: 0.1062812817339062
path: .spaces[2].metrics.halstead.estimated_program_length
old: 42.80863530717374
new: 167.5943639112763
path: .spaces[2].metrics.halstead.N2
old: 12.0
new: 34.0
path: .spaces[2].metrics.halstead.length
old: 23.0
new: 82.0
path: .spaces[2].metrics.halstead.N1
old: 11.0
new: 48.0
path: .spaces[2].metrics.halstead.level
old: 0.611111111111111
new: 0.07612456747404844
path: .spaces[2].metrics.halstead.volume
old: 87.56916320732489
new: 433.4029819467044
path: .spaces[2].metrics.halstead.effort
old: 143.29499433925892
new: 5693.3391719362535
path: .spaces[2].metrics.loc.sloc
old: 9.0
new: 13.0
path: .spaces[2].metrics.loc.ploc
old: 9.0
new: 13.0
path: .spaces[2].metrics.loc.lloc
old: 0.0
new: 4.0
path: .spaces[2].metrics.loc.cloc
old: 7.0
new: 0.0
path: .spaces[2].metrics.cyclomatic.average
old: 1.0
new: 4.0
path: .spaces[2].metrics.cyclomatic.sum
old: 1.0
new: 4.0
path: .spaces[2].metrics.mi.mi_sei
old: 134.8227541030226
new: 64.5831371650834
path: .spaces[2].metrics.mi.mi_visual_studio
old: 65.44931665184487
new: 56.69891635558963
path: .spaces[2].metrics.mi.mi_original
old: 111.91833147465472
new: 96.95514696805829

### Code

    nsITheme::Transparency nsNativeBasicThemeGTK::GetWidgetTransparency(
        nsIFrame* aFrame, StyleAppearance aAppearance) {
      if (aAppearance == StyleAppearance::ScrollbarVertical ||
          aAppearance == StyleAppearance::ScrollbarHorizontal) {
        auto docState = aFrame->PresContext()->Document()->GetDocumentState();
        const auto* style = nsLayoutUtils::StyleForScrollbar(aFrame);
        auto [trackColor, borderColor] =
            ComputeScrollbarColors(aFrame, *style, docState);
        Unused << borderColor;
        return trackColor.a == 1.0 ? eOpaque : eTransparent;
      }
      return nsNativeBasicTheme::GetWidgetTransparency(aFrame, aAppearance);
    }

## Minimal test - lines (78, 87)

path: .spaces[6].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[6].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[6].metrics.loc.lloc
old: 0.0
new: 3.0
path: .spaces[6].metrics.loc.cloc
old: 2.0
new: 0.0
path: .spaces[6].metrics.loc.sloc
old: 4.0
new: 10.0
path: .spaces[6].metrics.loc.ploc
old: 4.0
new: 10.0
path: .spaces[6].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[6].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[6].metrics.nexits.average
old: null
new: 2.0
path: .spaces[6].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[6].metrics.mi.mi_visual_studio
old: 77.52072405030886
new: 60.899990255565925
path: .spaces[6].metrics.mi.mi_sei
old: 160.101856776245
new: 74.74358255033006
path: .spaces[6].metrics.mi.mi_original
old: 132.56043812602817
new: 104.13898333701772
path: .spaces[6].metrics.halstead.length
old: 8.0
new: 58.0
path: .spaces[6].metrics.halstead.N2
old: 3.0
new: 26.0
path: .spaces[6].metrics.halstead.n2
old: 3.0
new: 16.0
path: .spaces[6].metrics.halstead.difficulty
old: 1.5
new: 7.3125
path: .spaces[6].metrics.halstead.volume
old: 20.67970000576925
new: 269.343659006934
path: .spaces[6].metrics.halstead.level
old: 0.6666666666666666
new: 0.13675213675213677
path: .spaces[6].metrics.halstead.vocabulary
old: 6.0
new: 25.0
path: .spaces[6].metrics.halstead.purity_ratio
old: 1.188721875540867
new: 1.595333189878979
path: .spaces[6].metrics.halstead.bugs
old: 0.003290806962640765
new: 0.052375377772024154
path: .spaces[6].metrics.halstead.n1
old: 3.0
new: 9.0
path: .spaces[6].metrics.halstead.estimated_program_length
old: 9.509775004326936
new: 92.5293250129808
path: .spaces[6].metrics.halstead.time
old: 1.723308333814104
new: 109.42086147156694
path: .spaces[6].metrics.halstead.N1
old: 5.0
new: 32.0
path: .spaces[6].metrics.halstead.effort
old: 31.019550008653873
new: 1969.5755064882048
path: .spaces[6].metrics.cognitive.average
old: null
new: 1.0
path: .spaces[6].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[6].metrics.nargs.average
old: null
new: 4.0
path: .spaces[6].metrics.nargs.sum
old: 0.0
new: 4.0

### Code

    sRGBColor nsNativeBasicThemeGTK::ComputeScrollbarThumbColor(
        nsIFrame* aFrame, const ComputedStyle& aStyle,
        const EventStates& aElementState, const EventStates& aDocumentState) {
      if (ShouldUseDarkScrollbar(aFrame, aStyle)) {
        return sRGBColor::FromABGR(AdjustUnthemedScrollbarThumbColor(
            NS_RGBA(249, 249, 250, 102), aElementState));
      }
      return nsNativeBasicTheme::ComputeScrollbarThumbColor(
          aFrame, aStyle, aElementState, aDocumentState);
    }

## Minimal test - lines (51, 53)

path: .spaces[3].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[3].metrics.nargs.average
old: null
new: 0.0
path: .spaces[3].metrics.mi.mi_sei
old: 122.12119195360312
new: 119.57777639115298
path: .spaces[3].metrics.mi.mi_visual_studio
old: 61.38159213011407
new: 79.11476873621837
path: .spaces[3].metrics.mi.mi_original
old: 104.96252254249508
new: 135.2862545389334
path: .spaces[3].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[3].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[3].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[3].metrics.nexits.average
old: null
new: 1.0
path: .spaces[3].metrics.halstead.N2
old: 16.0
new: 2.0
path: .spaces[3].metrics.halstead.effort
old: 435.71788833965303
new: 90.0
path: .spaces[3].metrics.halstead.level
old: 0.3125
new: 0.3333333333333333
path: .spaces[3].metrics.halstead.N1
old: 15.0
new: 8.0
path: .spaces[3].metrics.halstead.bugs
old: 0.01915794867437241
new: 0.006694329500821694
path: .spaces[3].metrics.halstead.volume
old: 136.16184010614157
new: 30.0
path: .spaces[3].metrics.halstead.estimated_program_length
old: 74.11313393845472
new: 17.509775004326936
path: .spaces[3].metrics.halstead.vocabulary
old: 21.0
new: 8.0
path: .spaces[3].metrics.halstead.purity_ratio
old: 2.390746256079185
new: 1.7509775004326935
path: .spaces[3].metrics.halstead.time
old: 24.206549352202945
new: 5.0
path: .spaces[3].metrics.halstead.n2
old: 15.0
new: 2.0
path: .spaces[3].metrics.halstead.difficulty
old: 3.2
new: 3.0
path: .spaces[3].metrics.halstead.length
old: 31.0
new: 10.0
path: .spaces[3].metrics.loc.lloc
old: 0.0
new: 1.0
path: .spaces[3].metrics.loc.cloc
old: 7.0
new: 0.0
path: .spaces[3].metrics.loc.ploc
old: 9.0
new: 3.0
path: .spaces[3].metrics.loc.sloc
old: 12.0
new: 3.0

### Code

    bool nsNativeBasicThemeGTK::ThemeSupportsScrollbarButtons() {
      return StaticPrefs::widget_non_native_theme_gtk_scrollbar_allow_buttons();
    }

## Minimal test - lines (128, 153)

path: .spaces[8].metrics.halstead.volume
old: 1043.1881654256636
new: 718.6828600467467
path: .spaces[8].metrics.halstead.difficulty
old: 3.661764705882353
new: 13.014705882352942
path: .spaces[8].metrics.halstead.estimated_program_length
old: 429.45724820935
new: 231.57709553663932
path: .spaces[8].metrics.halstead.length
old: 168.0
new: 128.0
path: .spaces[8].metrics.halstead.time
old: 212.21720031943644
new: 519.6358914553683
path: .spaces[8].metrics.halstead.n2
old: 68.0
new: 34.0
path: .spaces[8].metrics.halstead.N2
old: 83.0
new: 59.0
path: .spaces[8].metrics.halstead.purity_ratio
old: 2.556293144103274
new: 1.809196058879995
path: .spaces[8].metrics.halstead.n1
old: 6.0
new: 15.0
path: .spaces[8].metrics.halstead.vocabulary
old: 74.0
new: 49.0
path: .spaces[8].metrics.halstead.N1
old: 85.0
new: 69.0
path: .spaces[8].metrics.halstead.bugs
old: 0.08145432252121895
new: 0.14797664466287214
path: .spaces[8].metrics.halstead.effort
old: 3819.909605749856
new: 9353.44604619663
path: .spaces[8].metrics.halstead.level
old: 0.27309236947791166
new: 0.07683615819209039
path: .spaces[8].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[8].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[8].metrics.nexits.average
old: null
new: 1.0
path: .spaces[8].metrics.nargs.sum
old: 0.0
new: 8.0
path: .spaces[8].metrics.nargs.average
old: null
new: 8.0
path: .spaces[8].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[8].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[8].metrics.loc.cloc
old: 56.0
new: 0.0
path: .spaces[8].metrics.loc.ploc
old: 46.0
new: 22.0
path: .spaces[8].metrics.loc.blank
old: 24.0
new: 4.0
path: .spaces[8].metrics.loc.lloc
old: 0.0
new: 3.0
path: .spaces[8].metrics.loc.sloc
old: 126.0
new: 26.0
path: .spaces[8].metrics.mi.mi_visual_studio
old: 32.778971640341545
new: 48.594298930249465
path: .spaces[8].metrics.mi.mi_original
old: 56.05204150498405
new: 83.09625117072659
path: .spaces[8].metrics.mi.mi_sei
old: 48.305532228021015
new: 44.58897692607606
path: .spaces[8].metrics.cyclomatic.average
old: 1.0
new: 4.0
path: .spaces[8].metrics.cyclomatic.sum
old: 2.0
new: 4.0

### Code

    bool nsNativeBasicThemeGTK::DoPaintScrollbarThumb(
        PaintBackendData& aPaintData, const LayoutDeviceRect& aRect,
        bool aHorizontal, nsIFrame* aFrame, const ComputedStyle& aStyle,
        const EventStates& aElementState, const EventStates& aDocumentState,
        DPIRatio aDpiRatio) {
      sRGBColor thumbColor =
          ComputeScrollbarThumbColor(aFrame, aStyle, aElementState, aDocumentState);

      LayoutDeviceRect thumbRect(aRect);

      {
        float factor = std::max(
            0.0f,
            1.0f - StaticPrefs::widget_non_native_theme_gtk_scrollbar_thumb_size());
        thumbRect.Deflate((aHorizontal ? aRect.height : aRect.width) * factor);
      }

      LayoutDeviceCoord radius =
          StaticPrefs::widget_non_native_theme_gtk_scrollbar_round_thumb()
              ? (aHorizontal ? thumbRect.height : thumbRect.width) / 2.0f
              : 0.0f;

      PaintRoundedRectWithRadius(aPaintData, thumbRect, thumbColor, sRGBColor(), 0,
                                 radius / aDpiRatio, aDpiRatio);
      return true;
    }

## Minimal test - lines (55, 65)

path: .spaces[4].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[4].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[4].metrics.loc.ploc
old: 6.0
new: 11.0
path: .spaces[4].metrics.loc.lloc
old: 0.0
new: 1.0
path: .spaces[4].metrics.loc.sloc
old: 6.0
new: 11.0
path: .spaces[4].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[4].metrics.halstead.purity_ratio
old: 1.1688948554714484
new: 2.2808215992925147
path: .spaces[4].metrics.halstead.level
old: 0.6666666666666666
new: 0.1153846153846154
path: .spaces[4].metrics.halstead.bugs
old: 0.0052776320879040755
new: 0.05839264148308816
path: .spaces[4].metrics.halstead.N1
old: 9.0
new: 30.0
path: .spaces[4].metrics.halstead.time
old: 3.5
new: 128.80910407005874
path: .spaces[4].metrics.halstead.length
old: 14.0
new: 54.0
path: .spaces[4].metrics.halstead.estimated_program_length
old: 16.36452797660028
new: 123.1643663617958
path: .spaces[4].metrics.halstead.n2
old: 5.0
new: 18.0
path: .spaces[4].metrics.halstead.n1
old: 3.0
new: 13.0
path: .spaces[4].metrics.halstead.vocabulary
old: 8.0
new: 31.0
path: .spaces[4].metrics.halstead.effort
old: 63.0
new: 2318.5638732610573
path: .spaces[4].metrics.halstead.N2
old: 5.0
new: 24.0
path: .spaces[4].metrics.halstead.volume
old: 42.0
new: 267.52660076089126
path: .spaces[4].metrics.halstead.difficulty
old: 1.5
new: 8.666666666666666
path: .spaces[4].metrics.nexits.average
old: null
new: 1.0
path: .spaces[4].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[4].metrics.mi.mi_original
old: 122.307614583432
new: 102.63015776252456
path: .spaces[4].metrics.mi.mi_visual_studio
old: 71.52492080902456
new: 60.01763611843541
path: .spaces[4].metrics.mi.mi_sei
old: 100.85355688986772
new: 72.56680737644233
path: .spaces[4].metrics.nargs.average
old: null
new: 3.0
path: .spaces[4].metrics.nargs.sum
old: 0.0
new: 3.0
path: .spaces[4].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[4].metrics.cyclomatic.average
old: 1.0
new: 2.0

### Code

    auto nsNativeBasicThemeGTK::GetScrollbarSizes(nsPresContext* aPresContext,
                                                  StyleScrollbarWidth aWidth,
                                                  Overlay) -> ScrollbarSizes {
      DPIRatio dpiRatio = GetDPIRatioForScrollbarPart(aPresContext);
      CSSCoord size =
          aWidth == StyleScrollbarWidth::Thin
              ? StaticPrefs::widget_non_native_theme_gtk_scrollbar_thin_size()
              : StaticPrefs::widget_non_native_theme_gtk_scrollbar_normal_size();
      LayoutDeviceIntCoord s = (size * dpiRatio).Truncated();
      return {s, s};
    }

## Minimal test - lines (28, 35)

path: .spaces[1].metrics.cognitive.average
old: null
new: 1.0
path: .spaces[1].metrics.cognitive.sum
old: 0.0
new: 1.0
path: .spaces[1].metrics.loc.lloc
old: 0.0
new: 4.0
path: .spaces[1].metrics.loc.cloc
old: 6.0
new: 0.0
path: .spaces[1].metrics.halstead.N2
old: 8.0
new: 14.0
path: .spaces[1].metrics.halstead.vocabulary
old: 11.0
new: 20.0
path: .spaces[1].metrics.halstead.time
old: 5.765719364395496
new: 73.95299184585042
path: .spaces[1].metrics.halstead.volume
old: 69.18863237274594
new: 155.58941141594505
path: .spaces[1].metrics.halstead.n1
old: 3.0
new: 11.0
path: .spaces[1].metrics.halstead.difficulty
old: 1.5
new: 8.555555555555555
path: .spaces[1].metrics.halstead.purity_ratio
old: 1.4377443751081735
new: 1.849529800499752
path: .spaces[1].metrics.halstead.effort
old: 103.78294855911892
new: 1331.1538532253076
path: .spaces[1].metrics.halstead.bugs
old: 0.007361439526411013
new: 0.04033644141942263
path: .spaces[1].metrics.halstead.estimated_program_length
old: 28.75488750216347
new: 66.58307281799108
path: .spaces[1].metrics.halstead.n2
old: 8.0
new: 9.0
path: .spaces[1].metrics.halstead.N1
old: 12.0
new: 22.0
path: .spaces[1].metrics.halstead.length
old: 20.0
new: 36.0
path: .spaces[1].metrics.halstead.level
old: 0.6666666666666666
new: 0.11688311688311688
path: .spaces[1].metrics.cyclomatic.sum
old: 1.0
new: 2.0
path: .spaces[1].metrics.cyclomatic.average
old: 1.0
new: 2.0
path: .spaces[1].metrics.mi.mi_original
old: 115.0514968240781
new: 110.60750011589248
path: .spaces[1].metrics.mi.mi_sei
old: 139.07812006474603
new: 84.07567962911975
path: .spaces[1].metrics.mi.mi_visual_studio
old: 67.28157709010415
new: 64.68274860578508
path: .spaces[1].metrics.nexits.sum
old: 0.0
new: 1.0
path: .spaces[1].metrics.nexits.average
old: null
new: 1.0
path: .spaces[1].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[1].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[1].metrics.nargs.average
old: null
new: 0.0

### Code

    already_AddRefed do_GetBasicNativeThemeDoNotUseDirectly() {
      static StaticRefPtr gInstance;
      if (MOZ_UNLIKELY(!gInstance)) {
        gInstance = new nsNativeBasicThemeGTK();
        ClearOnShutdown(&gInstance);
      }
      return do_AddRef(gInstance);
    }

## Minimal test - lines (90, 125)

path: .spaces[7].metrics.cyclomatic.sum
old: 1.0
new: 8.0
path: .spaces[7].metrics.cyclomatic.average
old: 1.0
new: 8.0
path: .spaces[7].metrics.nexits.sum
old: 0.0
new: 2.0
path: .spaces[7].metrics.nexits.average
old: null
new: 2.0
path: .spaces[7].metrics.nargs.average
old: null
new: 5.0
path: .spaces[7].metrics.nargs.sum
old: 0.0
new: 5.0
path: .spaces[7].metrics.cognitive.average
old: null
new: 6.0
path: .spaces[7].metrics.cognitive.sum
old: 0.0
new: 6.0
path: .spaces[7].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[7].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[7].metrics.halstead.bugs
old: 0.008512755447996739
new: 0.20041045089390516
path: .spaces[7].metrics.halstead.N1
old: 10.0
new: 97.0
path: .spaces[7].metrics.halstead.length
old: 18.0
new: 169.0
path: .spaces[7].metrics.halstead.difficulty
old: 2.0
new: 15.157894736842104
path: .spaces[7].metrics.halstead.estimated_program_length
old: 32.0
new: 263.42124551085624
path: .spaces[7].metrics.halstead.level
old: 0.5
new: 0.06597222222222222
path: .spaces[7].metrics.halstead.n1
old: 4.0
new: 16.0
path: .spaces[7].metrics.halstead.time
old: 7.169925001442312
new: 819.0113582026324
path: .spaces[7].metrics.halstead.N2
old: 8.0
new: 72.0
path: .spaces[7].metrics.halstead.purity_ratio
old: 1.7777777777777777
new: 1.5587055947387942
path: .spaces[7].metrics.halstead.vocabulary
old: 12.0
new: 54.0
path: .spaces[7].metrics.halstead.n2
old: 8.0
new: 38.0
path: .spaces[7].metrics.halstead.effort
old: 129.0586500259616
new: 14742.204447647384
path: .spaces[7].metrics.halstead.volume
old: 64.5293250129808
new: 972.575987865626
path: .spaces[7].metrics.loc.ploc
old: 7.0
new: 33.0
path: .spaces[7].metrics.loc.sloc
old: 7.0
new: 36.0
path: .spaces[7].metrics.loc.blank
old: 0.0
new: 3.0
path: .spaces[7].metrics.loc.cloc
old: 5.0
new: 0.0
path: .spaces[7].metrics.loc.lloc
old: 0.0
new: 10.0
path: .spaces[7].metrics.mi.mi_sei
old: 142.3293643992218
new: 33.7937457301376
path: .spaces[7].metrics.mi.mi_visual_studio
old: 68.75861565597634
new: 44.05336988882117
path: .spaces[7].metrics.mi.mi_original
old: 117.57723277171954
new: 75.33126250988421

### Code

    nsNativeBasicThemeGTK::GetMinimumWidgetSize(nsPresContext* aPresContext,
                                                nsIFrame* aFrame,
                                                StyleAppearance aAppearance,
                                                LayoutDeviceIntSize* aResult,
                                                bool* aIsOverridable) {
      if (!IsWidgetScrollbarPart(aAppearance)) {
        return nsNativeBasicTheme::GetMinimumWidgetSize(
            aPresContext, aFrame, aAppearance, aResult, aIsOverridable);
      }

      DPIRatio dpiRatio = GetDPIRatioForScrollbarPart(aPresContext);
      ComputedStyle* style = nsLayoutUtils::StyleForScrollbar(aFrame);
      auto sizes = GetScrollbarSizes(
          aPresContext, style->StyleUIReset()->mScrollbarWidth, Overlay::No);
      MOZ_ASSERT(sizes.mHorizontal == sizes.mVertical);
      aResult->SizeTo(sizes.mHorizontal, sizes.mHorizontal);

      if (aAppearance == StyleAppearance::ScrollbarHorizontal ||
          aAppearance == StyleAppearance::ScrollbarVertical ||
          aAppearance == StyleAppearance::ScrollbarthumbHorizontal ||
          aAppearance == StyleAppearance::ScrollbarthumbVertical) {
        CSSCoord thumbSize(
            StaticPrefs::widget_non_native_theme_gtk_scrollbar_thumb_cross_size());
        const bool isVertical =
            aAppearance == StyleAppearance::ScrollbarVertical ||
            aAppearance == StyleAppearance::ScrollbarthumbVertical;
        if (isVertical) {
          aResult->height = thumbSize * dpiRatio;
        } else {
          aResult->width = thumbSize * dpiRatio;
        }
      }

      *aIsOverridable = true;
      return NS_OK;
    }

## Minimal test - lines (17, 26)

path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 3.0
path: .spaces[0].metrics.cyclomatic.average
old: 1.0
new: 3.0
path: .spaces[0].metrics.halstead.length
old: 8.0
new: 41.0
path: .spaces[0].metrics.halstead.N1
old: 5.0
new: 27.0
path: .spaces[0].metrics.halstead.N2
old: 3.0
new: 14.0
path: .spaces[0].metrics.halstead.level
old: 0.6666666666666666
new: 0.13095238095238096
path: .spaces[0].metrics.halstead.volume
old: 20.67970000576925
new: 185.4660401983375
path: .spaces[0].metrics.halstead.difficulty
old: 1.5
new: 7.636363636363637
path: .spaces[0].metrics.halstead.vocabulary
old: 6.0
new: 23.0
path: .spaces[0].metrics.halstead.n1
old: 3.0
new: 12.0
path: .spaces[0].metrics.halstead.time
old: 1.723308333814104
new: 78.68256250838562
path: .spaces[0].metrics.halstead.bugs
old: 0.003290806962640765
new: 0.04203839039237545
path: .spaces[0].metrics.halstead.n2
old: 3.0
new: 11.0
path: .spaces[0].metrics.halstead.effort
old: 31.019550008653873
new: 1416.2861251509412
path: .spaces[0].metrics.halstead.purity_ratio
old: 1.188721875540867
new: 1.977397507650345
path: .spaces[0].metrics.halstead.estimated_program_length
old: 9.509775004326936
new: 81.07329781366414
path: .spaces[0].metrics.nom.total
old: 0.0
new: 1.0
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 1.0
path: .spaces[0].metrics.nargs.average
old: null
new: 2.0
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.loc.ploc
old: 4.0
new: 10.0
path: .spaces[0].metrics.loc.lloc
old: 0.0
new: 5.0
path: .spaces[0].metrics.loc.sloc
old: 4.0
new: 10.0
path: .spaces[0].metrics.cognitive.sum
old: 0.0
new: 2.0
path: .spaces[0].metrics.cognitive.average
old: null
new: 2.0
path: .spaces[0].metrics.mi.mi_original
old: 132.56043812602817
new: 105.8491881668766
path: .spaces[0].metrics.mi.mi_sei
old: 115.6452545698808
new: 77.31270643667624
path: .spaces[0].metrics.mi.mi_visual_studio
old: 77.52072405030886
new: 61.90011003910912
path: .spaces[0].metrics.nexits.sum
old: 0.0
new: 3.0
path: .spaces[0].metrics.nexits.average
old: null
new: 3.0

### Code

    static bool ShouldUseDarkScrollbar(nsIFrame* aFrame,
                                       const ComputedStyle& aStyle) {
      if (StaticPrefs::widget_disable_dark_scrollbar()) {
        return false;
      }
      if (aStyle.StyleUI()->mScrollbarColor.IsColors()) {
        return false;
      }
      return nsNativeTheme::IsDarkBackground(aFrame);
    }