2. What is Prerender2
WPT for Prerender
Miyoung Shin
● Pre-render a page before navigation happens
● Live Spec
● See previous talks from BlinkOn13/BlinkOn14
● WPT Tests at wpt_internal/prerender
Without With
4. WPT for Prerender - Basic
test.html
WPT for Prerender
Miyoung Shin
prerender.html
5. WPT for prerender - Grant case
WPT for Prerender
Miyoung Shin
prerender.html
✓
renderer
Host<blink::mojom::CacheStorage>
Mojo Capability Control
Receiver<blink::mojom::CacheStorage>
browser
mojo bound
Communication
6. WPT for prerender - Defer case by MCC
WPT for Prerender
Miyoung Shin
renderer
Remote<mojom::blink::WebBluetoothService>
Mojo Capability Control
browser
Receiver<mojom::blink::WebBluetoothService>
prerender.html
Activated!!!
mojo bound
Communication
prerender.html
7. WPT for prerender - Defer case in blink-side
WPT for Prerender
Miyoung Shin
prerender.html
renderer
Document
SetSinkIdResolver
prerender.html
Activated!!!
::Start
::Start
Add callback
invoke Callback
8. WPT for prerender - Other cases
WPT for Prerender
Miyoung Shin
● Cancel case like using Mojo Sync message
● Kill case like using API required user activations
● Write browser test if you can't write WRT TC