User Agent Data Test (v4)

Revision 4 of this benchmark created on


Setup

function includesUserAgentDataBrandOld(brand) {
    try {
      let result = false;

      (() => {
        // @ts-ignore: AUTO-IGNORING ALL ERRORS
        if (window.navigator.userAgentData) {
          // @ts-ignore: AUTO-IGNORING ALL ERRORS
          for (let i = 0; i < navigator.userAgentData.brands.length; i++) {
            // @ts-ignore: AUTO-IGNORING ALL ERRORS
            if (navigator.userAgentData.brands[i].brand == brand) {
              result = true;
              break;
            }
          }
        }
      })();

      return result;
    } catch ($$e_2) {
      return false;
    }
  }
  
function includesUserAgentDataBrandNew(brand) {
    if (window.navigator.userAgentData) {
      return window.navigator.userAgentData.brands.some(
        (b) => b.brand === brand
      );
    }
    return false;
  }
  
  function includesUserAgentDataBrandMsft(brand) {
  	if (window.navigator.userAgentData) {
    for (brand_version_pair of navigator.userAgentData.brands) {
        if (brand_version_pair.brand == brand){
            return true;
        }
    }
    }
    return false;
  }

Test runner

Ready to run.

Testing in
TestOps/sec
Before
includesUserAgentDataBrandOld("Foo")
ready
After
includesUserAgentDataBrandNew("Foo")
ready
Msft
includesUserAgentDataBrandMsft("Foo")
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.