Skip to content

Instantly share code, notes, and snippets.

View jdm's full-sized avatar

Josh Matthews jdm

View GitHub Profile
<style>
body {
background-color: #222222;
--menu-background-color: white;
--menu-icon-color: #202020;
--unfavorited-color: gray;
--action-button-secondary-background: white;
}
.ui-root__nag-corner-button__3TFW5 button, .ui-root__choose-scene-button__3VNdD {
background-color: var(--action-button-secondary-background);
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef enum {
Ignored,
Selected,
Dismissed_,
} CContextMenuResult;
PAUL:0
PAUL:0
The thread 0xadc has exited with code 0 (0x0).
The thread 0x1858 has exited with code 0 (0x0).
PAUL:XXX:select
right
PAUL:XXX:select
left
PAUL:XXX:select
right
'ServoApp.exe' (Win32): Loaded 'U:\Users\DefaultAccount\AppData\Local\DevelopmentFiles\MozillaFoundation.FirefoxRealityVS.Debug_ARM64.image\ServoApp.exe'. Symbols loaded.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ntdll.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\KernelBase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\combase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ucrtbase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\rpcrt4.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\kernel32legacy.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\bcryptprimitives.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\oleaut32.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\msvcp_win.dll'.
[IonScripts] Compiling script https://www.joshmatthews.net/mul.html:10:20 (7d5a96890e0) (warmup-counter=1000, level=Optimization_Normal)
[IonScripts] Analyzing script https://www.joshmatthews.net/mul.html:3:21 (7d5a9689088) Analysis_DefiniteProperties
[IonScripts] Compiling script https://www.joshmatthews.net/mul.html:6:33 (7d5a9689138) (warmup-counter=1000, level=Optimization_Normal)
[IonScripts] Compiling script https://www.joshmatthews.net/mul.html:10:20 (7d5a96890e0) (warmup-counter=1001, level=Optimization_Normal)
[IonScripts] Inlining script https://www.joshmatthews.net/mul.html:6:33 (7d5a9689138)
[IonBailouts] Took bailout! Snapshot offset: 20
[BaselineBailouts] Bailing to baseline https://www.joshmatthews.net/mul.html:6:33 (IonScript=2565ffe1c70) (FrameType=2)
[BaselineBailouts] Reading from snapshot offset 20 size 27
[BaselineBailouts] Incoming frame ptr = a7f7ef1840
[BaselineBailouts] Callee function (https://www.joshmatthews.net/mul.html:6:33)
'ServoApp.exe' (Win32): Loaded 'U:\Users\DefaultAccount\AppData\Local\DevelopmentFiles\MozillaFoundation.FirefoxRealityVS.Debug_ARM64.image\ServoApp.exe'. Symbols loaded.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ntdll.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\KernelBase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\combase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ucrtbase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\rpcrt4.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\kernel32legacy.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\bcryptprimitives.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\oleaut32.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\msvcp_win.dll'.
@jdm
jdm / rgsoc.md
Last active March 31, 2020 14:44
How to implement a new DOM API for Servo
title How to implement a new DOM API for Servo
layout post

Servo is an awesome project about making a web browser engine in Rust! It is really well maintained with friendly contributors and mentors. Because Servo is a new web browser engine, there are so many relatively easy tasks waiting for new contributors. One of the things you as a contributor can do is implementing a DOM API for Servo.

Malisa and I implemented a few DOM APIs over the summer. There are lots of great documentation on how to get started, but we still felt a bit lost in the beginning. So we decided to make a tutorial for people who are relatively new to Servo and want a little more concrete example on implementing a new DOM API for Servo.

In this blog post, I will implement the up and coming DOM API called ✨Doge✨. This API has a spec that describes the standard Doge API should follow. [You should give it a very brief skim before continuing](https://jeenale

'ServoApp.exe' (Win32): Loaded 'U:\Users\DefaultAccount\AppData\Local\DevelopmentFiles\MozillaFoundation.FirefoxRealityVS.Debug_ARM64.image\ServoApp.exe'. Symbols loaded.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ntdll.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\KernelBase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\combase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ucrtbase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\rpcrt4.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\kernel32legacy.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\bcryptprimitives.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\oleaut32.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\msvcp_win.dll'.
'ServoApp.exe' (Win32): Loaded 'U:\Users\DefaultAccount\AppData\Local\DevelopmentFiles\MozillaFoundation.FirefoxRealityVS.Debug_ARM64.image\ServoApp.exe'. Symbols loaded.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ntdll.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\KernelBase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\combase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\ucrtbase.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\rpcrt4.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\kernel32legacy.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\bcryptprimitives.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\oleaut32.dll'.
'ServoApp.exe' (Win32): Loaded 'C:\Windows\system32\msvcp_win.dll'.
This file has been truncated, but you can view the full file.
[2020-03-13T15:56:45Z DEBUG gfx::font_context] FontContext::font cache miss for font_descriptor=FontDescriptor { template_descriptor: FontTemplateDescriptor { weight: FontWeight(700.0), stretch: FontStretch(NonNegative(Percentage(1.0))), style: Normal }, variant: Normal, pt_size: 32px } family_descriptor=FontFamilyDescriptor { name: Generic(Atom('serif' type=static)), scope: Any }
[2020-03-13T15:56:45Z DEBUG gfx::font_context] FontContext::font_template cache miss for template_descriptor=FontTemplateDescriptor { weight: FontWeight(700.0), stretch: FontStretch(NonNegative(Percentage(1.0))), style: Normal } family_descriptor=FontFamilyDescriptor { name: Generic(Atom('serif' type=static)), scope: Any }
[2020-03-13T15:56:45Z DEBUG gfx::font_cache_thread] FontList: Found font family with name=times new roman
[2020-03-13T15:56:45Z DEBUG gfx::platform::macos::font_list] Looking for faces of family: times new roman
[2020-03-13T15:56:45Z DEBUG gfx::platform::macos::font] Font metrics (@32 pt): FontMetrics { underline_