function matchURLPattern(pattern, input) { | |
return pattern.test(input); | |
} | |
function parseURLPattern(patternObj) { | |
if (patternObj.type === "string") { | |
return new URLPattern(patternObj.pattern); | |
} else { |
- to install and to remove pre-load (bootstrap) -> "to add and to remove" (to be in sync with the command names?)
Two suggestions below to slightly rephrase some paragraphs in the code example:
- While this was already helpful to just call those pre-defined functions from within any script.evaluate or script.callFunction command their return value needed to be returned via the command’s response.
-> "This was already helpful to perform some setup logic, or to expose functions that could be called from script.evaluate or script.callFunction commands later on. However there was no way to properly handle dynamic situations, like monitoring DOM mutations and notify the client about the details."
// Here goes the list of tests from the manifest, with the skip-if etc... | |
const tests = ``; | |
// JS and python don't follow the same alphabetical order for special characters | |
// the safest is to take the output from the linter and add it here. | |
const expectedOrder = ``.split("\n"); | |
const sortTests = str => { | |
const lines = str.split("\n"); | |
const tests = []; |
# coding=UTF-8 | |
import base64 | |
import contextlib | |
import os | |
import pdb | |
import struct | |
import time | |
import urllib | |
from datetime import datetime |
const { RootMessageHandlerRegistry } = ChromeUtils.import( | |
"chrome://remote/content/shared/messagehandler/RootMessageHandlerRegistry.jsm" | |
); | |
const { RootMessageHandler } = ChromeUtils.import( | |
"chrome://remote/content/shared/messagehandler/RootMessageHandler.jsm" | |
); | |
const { WindowGlobalMessageHandler } = ChromeUtils.import( | |
"chrome://remote/content/shared/messagehandler/WindowGlobalMessageHandler.jsm" | |
); |
const moduleLayout = { | |
root: { | |
windowglobal: {}, | |
contentprocess: { | |
worker: {}, | |
}, | |
}, | |
}; |
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()) |
Quick guide for updating release notes for Marionette on MDN
-
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
-
In this bug list, find the bugs which are relevant for WebDriver users.
-
If needed, clone the mdn/content repository (https://github.com/mdn/content).
-
Create a branch for the release, e.g. for Release 91 you might name the branch
marionette91
.