'use strict'; // These tests rely on the User Agent providing an implementation of // platform compute pressure backends. // // In Chromium-based browsers this implementation is provided by a polyfill // in order to reduce the amount of test-only code shipped to users. To enable // these tests the browser must be run with these options: // // --enable-blink-features=MojoJS,MojoJSTest let mockPressureService = undefined; function pressure_test(func, name, properties) { promise_test(async t => { if (mockPressureService === undefined) { if (isChromiumBased) { const mocks = await import('/resources/chromium/mock-pressure-service.js'); mockPressureService = mocks.mockPressureService; } } assert_implements( mockPressureService, 'missing mockPressureService after initialization'); mockPressureService.start(); t.add_cleanup(() => { mockPressureService.reset(); return mockPressureService.stop(); }); return func(t, mockPressureService); }, name, properties); }