mirror of
https://github.com/servo/servo.git
synced 2025-06-26 01:54:33 +01:00
To show the contents of inline scripts in the Sources panel, we need to send the whole HTML file from script to devtools, not just the script code. This is trickier than the external script case, but we can look to [how Firefox does it](https://servo.zulipchat.com/#narrow/channel/263398-general/topic/Getting.20the.20original.20page.20HTML.20from.20script/near/524392861) for some inspiration. The process is as follows: - when we execute a script - notify devtools to create the source actor - if it’s an external script, send the script code to the devtools server - if it’s an inline script, don’t send any source contents yet - devtools stores the contents in the source actor - while loading a new document - buffer the markup, so we can send it to devtools - when we finish loading a new document - send the buffered markup to the devtools server - devtools stores the contents in any source actors with no contents yet - when a source actor gets a `source` request - if we have the contents, send those contents to the client - if we don’t have the contents (inline script that loaded while devtools was closed) - FUTURE: try to fetch the markup out of cache - otherwise send `<!-- not available; please reload! -->` Testing: Several tests added to test the changes, also updates an existing test with correct assertion Fixes: https://github.com/servo/servo/issues/36874 --------- Signed-off-by: atbrakhi <atbrakhi@igalia.com> Signed-off-by: Delan Azabani <dazabani@igalia.com> Co-authored-by: Delan Azabani <dazabani@igalia.com> |
||
---|---|---|
.. | ||
mach | ||
servo | ||
tidy | ||
wpt | ||
mach_bootstrap.py | ||
README.md | ||
requirements.txt |
This directory contains various Python modules used to support servo development.
servo
servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.
tidy
servo-tidy is used to check licenses, line lengths, whitespace, ruff on Python files, lock file versions, and more.
wpt
servo-wpt is a module with support scripts for running, importing, exporting, updating manifests, and updating expectations for WPT tests.