Skip to content

Commit 4386290

Browse files
authored
Merge branch 'main' into sm-worker-package-fetch
2 parents 572bf74 + 83a8e5d commit 4386290

13 files changed

+82
-567
lines changed

ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ See docs/process.md for more on how version tagging works.
2020

2121
3.1.68 (in development)
2222
-----------------------
23+
- The freetype port was updated from v2.6 to v2.13.3. (#22585)
2324

2425
3.1.67 - 09/17/24
2526
-----------------

src/library.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,14 +1428,14 @@ addToLibrary({
14281428

14291429
emscripten_random: () => Math.random(),
14301430

1431-
emscripten_get_now: `;
14321431
#if PTHREADS && !AUDIO_WORKLET
1433-
// Pthreads need their clocks synchronized to the execution of the main
1434-
// thread, so, when using them, make sure to adjust all timings to the
1435-
// respective time origins.
1436-
_emscripten_get_now = () => performance.timeOrigin + {{{ getPerformanceNow() }}}();
1432+
// Pthreads need their clocks synchronized to the execution of the main
1433+
// thread, so, when using them, make sure to adjust all timings to the
1434+
// respective time origins.
1435+
emscripten_get_now: () => performance.timeOrigin + {{{ getPerformanceNow() }}}(),
14371436
#else
14381437
#if MIN_FIREFOX_VERSION <= 14 || MIN_CHROME_VERSION <= 23 || MIN_SAFARI_VERSION <= 80400 || AUDIO_WORKLET // https://caniuse.com/#feat=high-resolution-time
1438+
emscripten_get_now: `;
14391439
// AudioWorkletGlobalScope does not have performance.now()
14401440
// (https://github.com/WebAudio/web-audio-api/issues/2527), so if building
14411441
// with
@@ -1449,14 +1449,14 @@ addToLibrary({
14491449
} else {
14501450
_emscripten_get_now = Date.now;
14511451
}
1452+
`,
14521453
#else
1453-
// Modern environment where performance.now() is supported:
1454-
// N.B. a shorter form "_emscripten_get_now = performance.now;" is
1455-
// unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
1456-
_emscripten_get_now = () => {{{ getPerformanceNow() }}}();
1454+
// Modern environment where performance.now() is supported:
1455+
// N.B. a shorter form "_emscripten_get_now = performance.now;" is
1456+
// unfortunately not allowed even in current browsers (e.g. FF Nightly 75).
1457+
emscripten_get_now: () => {{{ getPerformanceNow() }}}(),
14571458
#endif
14581459
#endif
1459-
`,
14601460

14611461
emscripten_get_now_res: () => { // return resolution of get_now, in nanoseconds
14621462
#if ENVIRONMENT_MAY_BE_NODE

test/browser/test_sdl2_ttf.png

-2.51 KB
Loading

test/browser/test_sdl2_ttf_rtl.png

-431 Bytes
Loading

test/common.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2191,18 +2191,16 @@ def run_browser(self, html_file, expected=None, message=None, timeout=None, extr
21912191
def make_reftest(self, expected, manually_trigger=False):
21922192
# make sure the pngs used here have no color correction, using e.g.
21932193
# pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile outfile
2194-
basename = os.path.basename(expected)
2195-
if os.path.abspath(os.path.dirname(expected)) != self.get_dir():
2196-
shutil.copyfile(expected, self.in_dir(basename))
21972194
reporting = read_file(test_file('browser_reporting.js'))
2195+
shutil.copyfile(expected, 'expected.png')
21982196
create_file('reftest.js', '''
21992197
function doReftest() {
22002198
if (doReftest.done) return;
22012199
doReftest.done = true;
22022200
var img = new Image();
2203-
img.onload = function() {
2204-
assert(img.width == Module.canvas.width, 'Invalid width: ' + Module.canvas.width + ', should be ' + img.width);
2205-
assert(img.height == Module.canvas.height, 'Invalid height: ' + Module.canvas.height + ', should be ' + img.height);
2201+
img.onload = () => {
2202+
assert(img.width == Module.canvas.width, `Invalid width: ${Module.canvas.width}, should be ${img.width}`);
2203+
assert(img.height == Module.canvas.height, `Invalid height: ${Module.canvas.height}, should be ${img.height}`);
22062204
22072205
var canvas = document.createElement('canvas');
22082206
canvas.width = img.width;
@@ -2213,7 +2211,7 @@ def make_reftest(self, expected, manually_trigger=False):
22132211
22142212
var actualUrl = Module.canvas.toDataURL();
22152213
var actualImage = new Image();
2216-
actualImage.onload = function() {
2214+
actualImage.onload = () => {
22172215
/*
22182216
document.body.appendChild(img); // for comparisons
22192217
var div = document.createElement('div');
@@ -2242,7 +2240,7 @@ def make_reftest(self, expected, manually_trigger=False):
22422240
var wrong = Math.floor(total / (img.width*img.height*3)); // floor, to allow some margin of error for antialiasing
22432241
// If the main JS file is in a worker, or modularize, then we need to supply our own reporting logic.
22442242
if (typeof reportResultToServer === 'undefined') {
2245-
(function() {
2243+
(() => {
22462244
%s
22472245
reportResultToServer(wrong);
22482246
})();
@@ -2252,7 +2250,7 @@ def make_reftest(self, expected, manually_trigger=False):
22522250
};
22532251
actualImage.src = actualUrl;
22542252
}
2255-
img.src = '%s';
2253+
img.src = 'expected.png';
22562254
};
22572255
22582256
/** @suppress {uselessCode} */
@@ -2267,16 +2265,16 @@ def make_reftest(self, expected, manually_trigger=False):
22672265
// trigger reftest from RAF as well, needed for workers where there is no pre|postRun on the main thread
22682266
var realRAF = window.requestAnimationFrame;
22692267
/** @suppress{checkTypes} */
2270-
window.requestAnimationFrame = function(func) {
2271-
return realRAF(function() {
2268+
window.requestAnimationFrame = (func) => {
2269+
return realRAF(() => {
22722270
func();
22732271
realRAF(doReftest);
22742272
});
22752273
};
22762274
22772275
// trigger reftest from canvas render too, for workers not doing GL
22782276
var realWOM = worker.onmessage;
2279-
worker.onmessage = function(event) {
2277+
worker.onmessage = (event) => {
22802278
realWOM(event);
22812279
if (event.data.target === 'canvas' && event.data.op === 'render') {
22822280
realRAF(doReftest);
@@ -2290,14 +2288,12 @@ def make_reftest(self, expected, manually_trigger=False):
22902288
// The user will call it.
22912289
// Add an event loop iteration to ensure rendering, so users don't need to bother.
22922290
var realDoReftest = doReftest;
2293-
doReftest = function() {
2294-
setTimeout(realDoReftest, 1);
2295-
};
2291+
doReftest = () => setTimeout(realDoReftest, 1);
22962292
}
22972293
}
22982294
22992295
setupRefTest();
2300-
''' % (reporting, basename, int(manually_trigger)))
2296+
''' % (reporting, int(manually_trigger)))
23012297

23022298
def compile_btest(self, filename, args, reporting=Reporting.FULL):
23032299
# Inject support code for reporting results. This adds an include a header so testcases can
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8354
1+
8347
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20427
1+
20408
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4916
1+
4913
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
10465
1+
10458

test/test_browser.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3063,13 +3063,7 @@ def test_sdl2_canvas_write(self):
30633063

30643064
@requires_graphics_hardware
30653065
def test_sdl2_gl_frames_swap(self):
3066-
def post_build():
3067-
self.post_manual_reftest()
3068-
reftest = read_file('reftest.js')
3069-
reftest2 = reftest.replace("Module['postRun'] = doReftest;", '') # we don't want the very first frame
3070-
assert reftest != reftest2
3071-
create_file('reftest.js', reftest2)
3072-
self.reftest('test_sdl2_gl_frames_swap.c', 'test_sdl2_gl_frames_swap.png', args=['--proxy-to-worker', '-sGL_TESTING', '-sUSE_SDL=2'], manual_reference=True, post_build=post_build)
3066+
self.reftest('test_sdl2_gl_frames_swap.c', 'test_sdl2_gl_frames_swap.png', args=['--proxy-to-worker', '-sGL_TESTING', '-sUSE_SDL=2'], manual_reference=True, post_build=self.post_manual_reftest)
30733067

30743068
@requires_graphics_hardware
30753069
def test_sdl2_ttf(self):

0 commit comments

Comments
 (0)