User Agent Data Test (v5)

Revision 5 of this benchmark created on


Setup

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

      (() => {
      	if(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) {
      return window.navigator?.userAgentData.brands.some(
        (b) => b.brand === brand
      ) ?? false;
  }
  
  function includesUserAgentDataBrandMsft(brand) {
    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.