mirror of
https://github.com/servo/servo.git
synced 2025-10-17 00:39:15 +01:00
35 lines
1 KiB
JavaScript
35 lines
1 KiB
JavaScript
'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);
|
|
}
|