Skip to content

Instantly share code, notes, and snippets.

Avatar

Julian Descottes juliandescottes

View GitHub Profile
View module_paths_resolver.js
const moduleLayout = {
root: {
windowglobal: {},
contentprocess: {
worker: {},
},
},
};
@juliandescottes
juliandescottes / mass_alert_acknowledge.js
Created Aug 23, 2021
Acknowledge alers on Perfherder UI
View mass_alert_acknowledge.js
function getPageNumber() {
const previous = document.querySelector("[aria-label='Previous']");
return previous.closest("[aria-label*='Page']").getAttribute("aria-label").replace("Page ", "") * 1;
}
(async () => {
while (getPageNumber() > 1) {
document.querySelectorAll("[data-testid*='summary'].form-check-input").forEach(e => e.click())
await new Promise(r => setTimeout(r, 3000));
document.querySelectorAll('.btn-secondary [data-icon="check"]').forEach(e => e.parentNode.click())
View marionette_release_notes.md

Quick guide for updating release notes for Marionette on MDN

  1. Check the bugs fixed in release RELEASE: https://bugzilla.mozilla.org/buglist.cgi?j_top=OR&f1=cf_status_firefoxRELEASE&o1=equals&resolution=FIXED&o2=equals&query_format=advanced&f2=cf_status_firefoxRELEASE&v1=fixed&component=Marionette&v2=verified&product=Testing

  2. In this bug list, find the bugs which are relevant for WebDriver users.

  3. If needed, clone the mdn/content repository (https://github.com/mdn/content).

  4. Create a branch for the release, e.g. for Release 91 you might name the branch marionette91.

View gist:0ad7fcce40f88dc019cf547356ee7f9b
Bug 1687954 - Pause on JS exceptions doesn't work properly in Fission (8)
Bug 1687963 - Debugger should properly break on debugger; keyword in remote frame (8)
Bug 1665020 - DevTools Toolbox broken when navigating cross origin (20)
Bug 1568880 - Make the inspector's search field work with remote targets (8)
Bug 1681698 - Bootstrap thread actor as soon as we start registering breakpoints via the Watcher actor (20)
Total: 64 points
Why did I prioritize this way:
I did not include the storage bugs, because this is already broken today, and not Fission related.
Also did not include most of the server-side resource support. Unless there is a huge feature broken with fission because of that I don't think it will have any user impact.
View parentStyleSheet_callsites.md

First, let's look at all the call sites that don't reassign/rename anything.

StyleRuleFront::get href()

Could be replaced be returning parentStylesheet.href in the actor's form.

StyleRuleFront::get nodeHref()

Same comment as for href().

View MARIONETTE_NOTES.md

Testing

tldr:

> mt test_path.py --setpref marionette.actors.enabled=true -vv --gecko-log -

Fission and useActors

To enable code paths guarded by MarionettePrefs.useActors pass --setpref marionette.actors.enabled=true when running a test.

View devtools_tests_sorted_by_duration.json
{
"devtools_tests": [
{
"test": "devtools/client/memory/test/xpcshell/test_individuals_05.js",
"averageRuntime": 174.97391418277104,
"runs": 3193
},
{
"test": "devtools/client/debugger/test/mochitest/browser_dbg-sourcemapped-scopes.js",
"averageRuntime": 174.76304804804806,
View memory_report_toolbox_unload.txt
Main Process (pid 89180)
Explicit Allocations
1.05 MB (100.0%) -- explicit
├──0.98 MB (93.50%) -- images
│ ├──0.84 MB (80.26%) -- chrome/vector/used/progress=18f
│ │ ├──0.06 MB (05.55%) -- image(5x7, chrome://devtools/skin/images/breadcrumbs-divider.svg)
│ │ │ ├──0.05 MB (05.15%) ── source
│ │ │ └──0.00 MB (00.41%) ++ locked/types=2000/surface(5x7)
│ │ ├──0.05 MB (05.00%) -- image(16x16, chrome://devtools/skin/images/close-3-pane.svg)
View DEVTOOLS_FISSION_LISTING_REMOTE_FRAMES.MD
                                                                ┌────────────────────────────┐                                         
 ╔═════════════════════════════════════╗                        │ domainA page               │                                         
 ║                                     ║                        │                            │                                         
 ║    LISTING REMOTE FRAMES BEFORE     ║                        │     ┌────────────────────┐ │                                         
 ║                                     ║                        │     │ domainB iframe     │ │                                         
 ╚═════════════════════════════════════╝                        │     │                    │ │                                         
                                                                │     └────────────────────┘ │                                         
                                                                └───