icecat: update upstream v128.13.0-1gnu1
This commit is contained in:
parent
a8d305c270
commit
0cdda4f34e
51 changed files with 5487 additions and 4614 deletions
|
|
@ -22,4 +22,4 @@
|
||||||
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
|
# changes to stick? As of bug 928195, this shouldn't be necessary! Please
|
||||||
# don't change CLOBBER for WebIDL changes any more.
|
# don't change CLOBBER for WebIDL changes any more.
|
||||||
|
|
||||||
Merge day clobber 2025-05-26
|
Merge day clobber 2025-06-23
|
||||||
|
|
@ -8,12 +8,12 @@
|
||||||
# See PermissionManager.cpp for more...
|
# See PermissionManager.cpp for more...
|
||||||
|
|
||||||
# UITour
|
# UITour
|
||||||
# Bug 1557153: www.mozilla.org gets a special workaround in UITourChild.sys.mjs
|
|
||||||
# Bug 1837407: support.mozilla.org gets a special workaround for similar reasons.
|
|
||||||
origin uitour 1 https://www.mozilla.org
|
origin uitour 1 https://www.mozilla.org
|
||||||
origin uitour 1 https://support.mozilla.org
|
origin uitour 1 https://support.mozilla.org
|
||||||
origin uitour 1 about:home
|
origin uitour 1 about:home
|
||||||
origin uitour 1 about:newtab
|
origin uitour 1 about:newtab
|
||||||
|
# Bug 1942328: firefox.com needs the same privileges as mozilla.org
|
||||||
|
origin uitour 1 https://www.firefox.com
|
||||||
|
|
||||||
# XPInstall
|
# XPInstall
|
||||||
origin install 1 https://addons.mozilla.org
|
origin install 1 https://addons.mozilla.org
|
||||||
|
|
|
||||||
|
|
@ -116,10 +116,9 @@ add_task(async function test_search_config_codes_in_search_telemetry() {
|
||||||
`Should have the base partner code ${engine.base.partnerCode} listed in the search telemetry 'taggedCodes'`
|
`Should have the base partner code ${engine.base.partnerCode} listed in the search telemetry 'taggedCodes'`
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
Assert.equal(
|
Assert.ok(
|
||||||
telemetryEntry.telemetryId,
|
["google", "baidu"].includes(telemetryEntry.telemetryId),
|
||||||
"baidu",
|
"Should only not have a base partner code for Google and Baidu"
|
||||||
"Should only not have a base partner code for Baidu"
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
128.12.0
|
128.13.0
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
128.12.0esr
|
128.13.0esr
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ MOZ_DEVTOOLS=all
|
||||||
MOZ_APP_BASENAME=IceCat
|
MOZ_APP_BASENAME=IceCat
|
||||||
MOZ_APP_UA_NAME=Firefox
|
MOZ_APP_UA_NAME=Firefox
|
||||||
MOZ_APP_VENDOR=GNU
|
MOZ_APP_VENDOR=GNU
|
||||||
MOZ_APP_VERSION=128.12.0
|
MOZ_APP_VERSION=128.13.0
|
||||||
MOZ_APP_PROFILE=mozilla/icecat
|
MOZ_APP_PROFILE=mozilla/icecat
|
||||||
MOZ_PAY=0
|
MOZ_PAY=0
|
||||||
MOZ_SERVICES_HEALTHREPORT=0
|
MOZ_SERVICES_HEALTHREPORT=0
|
||||||
|
|
|
||||||
|
|
@ -10,4 +10,4 @@
|
||||||
# hardcoded milestones in the tree from these two files.
|
# hardcoded milestones in the tree from these two files.
|
||||||
#--------------------------------------------------------
|
#--------------------------------------------------------
|
||||||
|
|
||||||
128.12.0
|
128.13.0
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
icecat (128.13.0-1gnu1+build1-0.12.0) ecne; urgency=medium
|
||||||
|
|
||||||
|
* New upstream stable release (icecat-128.13.0-1gnu1)
|
||||||
|
|
||||||
|
-- Capitulo Mexicano de Software Libre <devel@cmxsl.org> Thu, 07 Aug 2025 14:18:35 -0600
|
||||||
|
|
||||||
icecat (128.12.0-1gnu1+build1-0.12.0) ecne; urgency=medium
|
icecat (128.12.0-1gnu1+build1-0.12.0) ecne; urgency=medium
|
||||||
|
|
||||||
* Initial packaging for Trisquel GNU/Linux and new upstream IceCat
|
* Initial packaging for Trisquel GNU/Linux and new upstream IceCat
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
if [ "" = "configure" ] || [ "" = "abort-upgrade" ] ; then
|
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] ; then
|
||||||
|
|
||||||
[ -f /usr/bin/firefox-esr ] || ln -s /usr/bin/icecat /usr/bin/firefox-esr
|
[ -f /usr/bin/firefox-esr ] || ln -s /usr/bin/icecat /usr/bin/firefox-esr
|
||||||
|
|
||||||
for HOMEDIR in /home/cups-pk-helper
|
for HOMEDIR in $(grep :/home/ /etc/passwd |grep -v usbmux |grep -v syslog|cut -d : -f 6)
|
||||||
/home/ark
|
|
||||||
do
|
do
|
||||||
[ -d /.mozilla/icecat ] && continue || true
|
[ -d $HOMEDIR/.mozilla/icecat ] && continue || true
|
||||||
[ -d /.mozilla/firefox-esr ] || continue
|
[ -d $HOMEDIR/.mozilla/firefox-esr ] || continue
|
||||||
echo Linking /.mozilla/firefox-esr into /.mozilla/icecat
|
echo Linking $HOMEDIR/.mozilla/firefox-esr into $HOMEDIR/.mozilla/icecat
|
||||||
ln -s /.mozilla/firefox-esr /.mozilla/icecat
|
ln -s $HOMEDIR/.mozilla/firefox-esr $HOMEDIR/.mozilla/icecat
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
||||||
|
|
@ -344,7 +344,7 @@ function testEscapeStringWin() {
|
||||||
const newLines = "line1\r\nline2\r\rline3\n\nline4";
|
const newLines = "line1\r\nline2\r\rline3\n\nline4";
|
||||||
is(
|
is(
|
||||||
CurlUtils.escapeStringWin(newLines),
|
CurlUtils.escapeStringWin(newLines),
|
||||||
'^"line1^\n\nline2\r\rline3^\n\n^\n\nline4^"',
|
'^"line1^\n\nline2^\n\n^\n\nline3^\n\n^\n\nline4^"',
|
||||||
"Newlines should be escaped."
|
"Newlines should be escaped."
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -365,7 +365,7 @@ function testEscapeStringWin() {
|
||||||
const evilCommand = `query=evil\r\rcmd" /c timeout /t 3 & calc.exe\r\r`;
|
const evilCommand = `query=evil\r\rcmd" /c timeout /t 3 & calc.exe\r\r`;
|
||||||
is(
|
is(
|
||||||
CurlUtils.escapeStringWin(evilCommand),
|
CurlUtils.escapeStringWin(evilCommand),
|
||||||
'^"query=evil\r\rcmd\\" /c timeout /t 3 & calc.exe\r\r^"',
|
'^"query=evil^\n\n^\n\ncmd\\" /c timeout /t 3 & calc.exe^\n\n^\n\n^"',
|
||||||
"The evil command is escaped properly"
|
"The evil command is escaped properly"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -484,7 +484,7 @@ const CurlUtils = {
|
||||||
// Lastly we replace new lines with ^ and TWO new lines because the first
|
// Lastly we replace new lines with ^ and TWO new lines because the first
|
||||||
// new line is there to enact the escape command the second is the character
|
// new line is there to enact the escape command the second is the character
|
||||||
// to escape (in this case new line).
|
// to escape (in this case new line).
|
||||||
.replace(/\r?\n/g, "^\n\n") +
|
.replace(/\r?\n|\r/g, "^\n\n") +
|
||||||
encapsChars
|
encapsChars
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
<html class="reftest-wait">
|
|
||||||
<head>
|
|
||||||
<script>
|
|
||||||
var obj;
|
|
||||||
|
|
||||||
function boo()
|
|
||||||
{
|
|
||||||
obj = document.getElementById("obj");
|
|
||||||
setScriptSrc();
|
|
||||||
}
|
|
||||||
|
|
||||||
function setScriptSrc()
|
|
||||||
{
|
|
||||||
obj.data = "javascript:setScriptSrc2();";
|
|
||||||
}
|
|
||||||
|
|
||||||
function setScriptSrc2()
|
|
||||||
{
|
|
||||||
obj.data = "javascript:void 0";
|
|
||||||
|
|
||||||
document.documentElement.removeAttribute("class");
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body onload="setTimeout(boo, 30);">
|
|
||||||
|
|
||||||
<object data="../../../testing/crashtest/images/tree.gif" id="obj">
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
@ -24,7 +24,6 @@ load 343730-1.xhtml
|
||||||
load 343850-1.xhtml
|
load 343850-1.xhtml
|
||||||
load 343889-1.html
|
load 343889-1.html
|
||||||
load 344434-1.xhtml
|
load 344434-1.xhtml
|
||||||
load 344882-1.html
|
|
||||||
load 345837-1.xhtml
|
load 345837-1.xhtml
|
||||||
load 346381-1.html
|
load 346381-1.html
|
||||||
load 349355-1.html
|
load 349355-1.html
|
||||||
|
|
|
||||||
|
|
@ -4345,16 +4345,17 @@ nsresult nsFocusManager::GetNextTabbableContent(
|
||||||
rootElement = doc->GetRootElement();
|
rootElement = doc->GetRootElement();
|
||||||
}
|
}
|
||||||
if (aForward) {
|
if (aForward) {
|
||||||
nsIFrame* frame = invokerContent->GetPrimaryFrame();
|
if (nsIFrame* frame = invokerContent->GetPrimaryFrame()) {
|
||||||
int32_t tabIndex = frame->IsFocusable().mTabIndex;
|
int32_t tabIndex = frame->IsFocusable().mTabIndex;
|
||||||
if (tabIndex >= 0 &&
|
if (tabIndex >= 0 &&
|
||||||
(aIgnoreTabIndex || aCurrentTabIndex == tabIndex)) {
|
(aIgnoreTabIndex || aCurrentTabIndex == tabIndex)) {
|
||||||
nsresult rv = GetNextTabbableContent(
|
nsresult rv = GetNextTabbableContent(
|
||||||
aPresShell, rootElement, nullptr, invokerContent, true,
|
aPresShell, rootElement, nullptr, invokerContent, true,
|
||||||
tabIndex, false, false, aNavigateByKey, true,
|
tabIndex, false, false, aNavigateByKey, true,
|
||||||
aReachedToEndForDocumentNavigation, aResultContent);
|
aReachedToEndForDocumentNavigation, aResultContent);
|
||||||
if (NS_SUCCEEDED(rv) && *aResultContent) {
|
if (NS_SUCCEEDED(rv) && *aResultContent) {
|
||||||
return rv;
|
return rv;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (invokerContent) {
|
} else if (invokerContent) {
|
||||||
|
|
|
||||||
|
|
@ -5005,9 +5005,8 @@ void nsGlobalWindowOuter::PrintOuter(ErrorResult& aError) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const bool forPreview =
|
const bool forPreview = !StaticPrefs::print_always_print_silent() &&
|
||||||
!StaticPrefs::print_always_print_silent() &&
|
!StaticPrefs::print_prefer_system_dialog();
|
||||||
!Preferences::GetBool("print.prefer_system_dialog", false);
|
|
||||||
Print(nullptr, nullptr, nullptr, nullptr, IsPreview(forPreview),
|
Print(nullptr, nullptr, nullptr, nullptr, IsPreview(forPreview),
|
||||||
IsForWindowDotPrint::Yes, nullptr, nullptr, aError);
|
IsForWindowDotPrint::Yes, nullptr, nullptr, aError);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -5205,8 +5204,11 @@ Nullable<WindowProxyHolder> nsGlobalWindowOuter::Print(
|
||||||
// The exception is if we're using the passed-in aCachedBrowsingContext, in
|
// The exception is if we're using the passed-in aCachedBrowsingContext, in
|
||||||
// which case this is the second print with this static document clone that
|
// which case this is the second print with this static document clone that
|
||||||
// we created the first time through, and we are responsible for cleaning it
|
// we created the first time through, and we are responsible for cleaning it
|
||||||
// up.
|
// up. There's also an exception if we're directly using the system print
|
||||||
closeWindowAfterPrint = usingCachedBrowsingContext;
|
// dialog rather than our preview panel, because in this case the preview
|
||||||
|
// will not take care of cleaning up the cloned doc.
|
||||||
|
closeWindowAfterPrint =
|
||||||
|
usingCachedBrowsingContext || StaticPrefs::print_prefer_system_dialog();
|
||||||
} else {
|
} else {
|
||||||
// In this case the document was not a static clone, so we made a static
|
// In this case the document was not a static clone, so we made a static
|
||||||
// clone for printing purposes and must clean it up after the print is done.
|
// clone for printing purposes and must clean it up after the print is done.
|
||||||
|
|
@ -5248,6 +5250,9 @@ Nullable<WindowProxyHolder> nsGlobalWindowOuter::Print(
|
||||||
if (aIsPreview == IsPreview::Yes) {
|
if (aIsPreview == IsPreview::Yes) {
|
||||||
return !hasPrintCallbacks;
|
return !hasPrintCallbacks;
|
||||||
}
|
}
|
||||||
|
if (StaticPrefs::print_prefer_system_dialog()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
return StaticPrefs::dom_window_print_fuzzing_block_while_printing();
|
return StaticPrefs::dom_window_print_fuzzing_block_while_printing();
|
||||||
}();
|
}();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1162,27 +1162,28 @@ nsresult nsObjectLoadingContent::LoadObject(bool aNotify, bool aForceLoad,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't allow view-source scheme.
|
// https://html.spec.whatwg.org/multipage/iframe-embed-object.html#the-object-element
|
||||||
// view-source is the only scheme to which this applies at the moment due to
|
// requires that `embed` and `object` go through `Fetch` with mode=navigate,
|
||||||
// potential timing attacks to read data from cross-origin documents. If this
|
// see 1.3.5. This will in https://fetch.spec.whatwg.org/#fetching plumb us
|
||||||
// widens we should add a protocol flag for whether the scheme is only allowed
|
// through to https://fetch.spec.whatwg.org/#concept-main-fetch where in step
|
||||||
// in top and use something like nsNetUtil::NS_URIChainHasFlags.
|
// 12 a switch is performed. Since `object` and `embed` have mode=navigate the
|
||||||
if (mType != ObjectType::Fallback) {
|
// result of https://fetch.spec.whatwg.org/#concept-scheme-fetch will decide
|
||||||
nsCOMPtr<nsIURI> tempURI = mURI;
|
// if main fetch proceeds. We short-circuit that scheme-fetch here, inspecting
|
||||||
nsCOMPtr<nsINestedURI> nestedURI = do_QueryInterface(tempURI);
|
// if the scheme of `mURI` is one that would return a network error. The
|
||||||
while (nestedURI) {
|
// following schemes are allowed through in scheme fetch:
|
||||||
// view-source should always be an nsINestedURI, loop and check the
|
// "about", "blob", "data", "file", "http", "https".
|
||||||
// scheme on this and all inner URIs that are also nested URIs.
|
//
|
||||||
if (tempURI->SchemeIs("view-source")) {
|
// Some accessibility tests use our internal "chrome" scheme.
|
||||||
LOG(("OBJLC [%p]: Blocking as effective URI has view-source scheme",
|
if (mType != ObjectType::Fallback && mURI) {
|
||||||
this));
|
ObjectType type = ObjectType::Fallback;
|
||||||
mType = ObjectType::Fallback;
|
for (const auto& candidate :
|
||||||
|
{"about", "blob", "chrome", "data", "file", "http", "https"}) {
|
||||||
|
if (mURI->SchemeIs(candidate)) {
|
||||||
|
type = mType;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
nestedURI->GetInnerURI(getter_AddRefs(tempURI));
|
|
||||||
nestedURI = do_QueryInterface(tempURI);
|
|
||||||
}
|
}
|
||||||
|
mType = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Items resolved as Image/Document are not candidates for content blocking,
|
// Items resolved as Image/Document are not candidates for content blocking,
|
||||||
|
|
|
||||||
|
|
@ -280,16 +280,27 @@ nsSyncLoader::GetInterface(const nsIID& aIID, void** aResult) {
|
||||||
|
|
||||||
/* static */
|
/* static */
|
||||||
nsresult nsSyncLoadService::LoadDocument(
|
nsresult nsSyncLoadService::LoadDocument(
|
||||||
nsIURI* aURI, nsContentPolicyType aContentPolicyType,
|
nsIURI* aURI, nsContentPolicyType aContentPolicyType, Document* aLoaderDoc,
|
||||||
nsIPrincipal* aLoaderPrincipal, nsSecurityFlags aSecurityFlags,
|
nsIPrincipal* aLoaderPrincipal, nsSecurityFlags aSecurityFlags,
|
||||||
nsILoadGroup* aLoadGroup, nsICookieJarSettings* aCookieJarSettings,
|
nsILoadGroup* aLoadGroup, nsICookieJarSettings* aCookieJarSettings,
|
||||||
bool aForceToXML, ReferrerPolicy aReferrerPolicy, Document** aResult) {
|
bool aForceToXML, ReferrerPolicy aReferrerPolicy, Document** aResult) {
|
||||||
|
MOZ_ASSERT(!!aLoaderPrincipal != !!aLoaderDoc);
|
||||||
|
|
||||||
nsCOMPtr<nsIChannel> channel;
|
nsCOMPtr<nsIChannel> channel;
|
||||||
nsresult rv =
|
nsresult rv;
|
||||||
NS_NewChannel(getter_AddRefs(channel), aURI, aLoaderPrincipal,
|
if (aLoaderDoc) {
|
||||||
aSecurityFlags, aContentPolicyType, aCookieJarSettings,
|
MOZ_ASSERT(!aCookieJarSettings);
|
||||||
nullptr, // PerformanceStorage
|
rv = NS_NewChannel(getter_AddRefs(channel), aURI, aLoaderDoc,
|
||||||
aLoadGroup);
|
aSecurityFlags, aContentPolicyType,
|
||||||
|
nullptr, // PerformanceStorage
|
||||||
|
aLoadGroup);
|
||||||
|
} else {
|
||||||
|
rv = NS_NewChannel(getter_AddRefs(channel), aURI, aLoaderPrincipal,
|
||||||
|
aSecurityFlags, aContentPolicyType, aCookieJarSettings,
|
||||||
|
nullptr, // PerformanceStorage
|
||||||
|
aLoadGroup);
|
||||||
|
}
|
||||||
|
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
if (!aForceToXML) {
|
if (!aForceToXML) {
|
||||||
|
|
|
||||||
|
|
@ -48,9 +48,10 @@ class nsSyncLoadService {
|
||||||
*/
|
*/
|
||||||
static nsresult LoadDocument(
|
static nsresult LoadDocument(
|
||||||
nsIURI* aURI, nsContentPolicyType aContentPolicyType,
|
nsIURI* aURI, nsContentPolicyType aContentPolicyType,
|
||||||
nsIPrincipal* aLoaderPrincipal, nsSecurityFlags aSecurityFlags,
|
mozilla::dom::Document* aLoaderDoc, nsIPrincipal* aLoaderPrincipal,
|
||||||
nsILoadGroup* aLoadGroup, nsICookieJarSettings* aCookieJarSettings,
|
nsSecurityFlags aSecurityFlags, nsILoadGroup* aLoadGroup,
|
||||||
bool aForceToXML, mozilla::dom::ReferrerPolicy aReferrerPolicy,
|
nsICookieJarSettings* aCookieJarSettings, bool aForceToXML,
|
||||||
|
mozilla::dom::ReferrerPolicy aReferrerPolicy,
|
||||||
mozilla::dom::Document** aResult);
|
mozilla::dom::Document** aResult);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=353334
|
||||||
<title>Test for Bug 353334</title>
|
<title>Test for Bug 353334</title>
|
||||||
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||||
<script>var x = "PASS"</script>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=353334">Mozilla Bug 353334</a>
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=353334">Mozilla Bug 353334</a>
|
||||||
|
|
@ -16,8 +15,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=353334
|
||||||
<object id="two" data="about:blank"></object>
|
<object id="two" data="about:blank"></object>
|
||||||
<iframe id="three" srcdoc="<body>test</body>"></iframe>
|
<iframe id="three" srcdoc="<body>test</body>"></iframe>
|
||||||
<object id="four" data="object_bug353334.html"></object>
|
<object id="four" data="object_bug353334.html"></object>
|
||||||
<iframe id="five" src="javascript:parent.x"></iframe>
|
|
||||||
<object id="six" data="javascript:x"></object>
|
|
||||||
</p>
|
</p>
|
||||||
<div id="content" style="display: none">
|
<div id="content" style="display: none">
|
||||||
|
|
||||||
|
|
@ -37,11 +34,6 @@ function doPrincipalTest(id) {
|
||||||
"Wrong principal for document in node with id='" + id + "'");
|
"Wrong principal for document in node with id='" + id + "'");
|
||||||
}
|
}
|
||||||
|
|
||||||
function doContentTest(id) {
|
|
||||||
is($(id).contentDocument.documentElement.textContent, "PASS",
|
|
||||||
"Script executed in wrong context in node with id='" + id + "'");
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkPrincipal() {
|
function checkPrincipal() {
|
||||||
ok(SpecialPowers.call_Instanceof(SpecialPowers.wrap(document).nodePrincipal, SpecialPowers.Ci.nsIPrincipal),
|
ok(SpecialPowers.call_Instanceof(SpecialPowers.wrap(document).nodePrincipal, SpecialPowers.Ci.nsIPrincipal),
|
||||||
"Should be a principal");
|
"Should be a principal");
|
||||||
|
|
@ -54,10 +46,6 @@ addLoadEvent(function() {
|
||||||
doPrincipalTest(i);
|
doPrincipalTest(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i of [ "five", "six" ]) {
|
|
||||||
doContentTest(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
SimpleTest.finish();
|
SimpleTest.finish();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -921,7 +921,7 @@ void nsCSPContext::logToConsole(const char* aName,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Strip URI for reporting according to:
|
* Strip URI for reporting according to:
|
||||||
* https://w3c.github.io/webappsec-csp/#security-violation-reports
|
* https://w3c.github.io/webappsec-csp/#strip-url-for-use-in-reports
|
||||||
*
|
*
|
||||||
* @param aSelfURI
|
* @param aSelfURI
|
||||||
* The URI of the CSP policy. Used for cross-origin checks.
|
* The URI of the CSP policy. Used for cross-origin checks.
|
||||||
|
|
@ -936,34 +936,41 @@ void nsCSPContext::logToConsole(const char* aName,
|
||||||
void StripURIForReporting(nsIURI* aSelfURI, nsIURI* aURI,
|
void StripURIForReporting(nsIURI* aSelfURI, nsIURI* aURI,
|
||||||
const nsAString& aEffectiveDirective,
|
const nsAString& aEffectiveDirective,
|
||||||
nsACString& outStrippedURI) {
|
nsACString& outStrippedURI) {
|
||||||
// If the origin of aURI is a globally unique identifier (for example,
|
|
||||||
// aURI has a scheme of data, blob, or filesystem), then
|
|
||||||
// return the ASCII serialization of uri’s scheme.
|
|
||||||
bool isHttpOrWs = (aURI->SchemeIs("http") || aURI->SchemeIs("https") ||
|
bool isHttpOrWs = (aURI->SchemeIs("http") || aURI->SchemeIs("https") ||
|
||||||
aURI->SchemeIs("ws") || aURI->SchemeIs("wss"));
|
aURI->SchemeIs("ws") || aURI->SchemeIs("wss"));
|
||||||
|
|
||||||
|
// Step 1. If url’s scheme is not an HTTP(S) scheme, then return url’s scheme.
|
||||||
|
// https://github.com/w3c/webappsec-csp/issues/735: We also allow WS(S) schemes.
|
||||||
if (!isHttpOrWs) {
|
if (!isHttpOrWs) {
|
||||||
// not strictly spec compliant, but what we really care about is
|
|
||||||
// http/https. If it's not http/https, then treat aURI
|
|
||||||
// as if it's a globally unique identifier and just return the scheme.
|
|
||||||
aURI->GetScheme(outStrippedURI);
|
aURI->GetScheme(outStrippedURI);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Step 2. Set url’s fragment to the empty string.
|
||||||
|
// Step 3. Set url’s username to the empty string.
|
||||||
|
// Step 3. Set url’s password to the empty string.
|
||||||
|
nsCOMPtr<nsIURI> stripped;
|
||||||
|
if (NS_FAILED(NS_MutateURI(aURI).SetRef(""_ns).SetUserPass(""_ns).Finalize(stripped))) {
|
||||||
|
// Mutating the URI failed for some reason, just return the scheme.
|
||||||
|
aURI->GetScheme(outStrippedURI);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Non-standard: https://github.com/w3c/webappsec-csp/issues/735
|
||||||
// For cross-origin URIs in frame-src also strip the path.
|
// For cross-origin URIs in frame-src also strip the path.
|
||||||
// This prevents detailed tracking of pages loaded into an iframe
|
// This prevents detailed tracking of pages loaded into an iframe
|
||||||
// by the embedding page using a report-only policy.
|
// by the embedding page using a report-only policy.
|
||||||
if (aEffectiveDirective.EqualsLiteral("frame-src") ||
|
if (aEffectiveDirective.EqualsLiteral("frame-src") ||
|
||||||
aEffectiveDirective.EqualsLiteral("object-src")) {
|
aEffectiveDirective.EqualsLiteral("object-src")) {
|
||||||
nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager();
|
nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager();
|
||||||
if (NS_FAILED(ssm->CheckSameOriginURI(aSelfURI, aURI, false, false))) {
|
if (NS_FAILED(ssm->CheckSameOriginURI(aSelfURI, stripped, false, false))) {
|
||||||
aURI->GetPrePath(outStrippedURI);
|
stripped->GetPrePath(outStrippedURI);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return aURI, with any fragment component removed.
|
// Step 4. Return the result of executing the URL serializer on url.
|
||||||
aURI->GetSpecIgnoringRef(outStrippedURI);
|
stripped->GetSpec(outStrippedURI);
|
||||||
}
|
}
|
||||||
|
|
||||||
nsresult nsCSPContext::GatherSecurityPolicyViolationEventData(
|
nsresult nsCSPContext::GatherSecurityPolicyViolationEventData(
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ nsresult nsXMLPrettyPrinter::PrettyPrint(Document* aDocument,
|
||||||
|
|
||||||
nsCOMPtr<Document> xslDocument;
|
nsCOMPtr<Document> xslDocument;
|
||||||
rv = nsSyncLoadService::LoadDocument(
|
rv = nsSyncLoadService::LoadDocument(
|
||||||
xslUri, nsIContentPolicy::TYPE_XSLT, nsContentUtils::GetSystemPrincipal(),
|
xslUri, nsIContentPolicy::TYPE_XSLT, nullptr,
|
||||||
|
nsContentUtils::GetSystemPrincipal(),
|
||||||
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL, nullptr,
|
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_SEC_CONTEXT_IS_NULL, nullptr,
|
||||||
aDocument->CookieJarSettings(), true, ReferrerPolicy::_empty,
|
aDocument->CookieJarSettings(), true, ReferrerPolicy::_empty,
|
||||||
getter_AddRefs(xslDocument));
|
getter_AddRefs(xslDocument));
|
||||||
|
|
|
||||||
|
|
@ -36,10 +36,9 @@ Result<txXPathNode, nsresult> txParseDocumentFromURI(const nsAString& aHref,
|
||||||
SyncOperationBehavior::eSuspendInput);
|
SyncOperationBehavior::eSuspendInput);
|
||||||
rv = nsSyncLoadService::LoadDocument(
|
rv = nsSyncLoadService::LoadDocument(
|
||||||
documentURI, nsIContentPolicy::TYPE_INTERNAL_XMLHTTPREQUEST_SYNC,
|
documentURI, nsIContentPolicy::TYPE_INTERNAL_XMLHTTPREQUEST_SYNC,
|
||||||
loaderDocument->NodePrincipal(),
|
loaderDocument, nullptr,
|
||||||
nsILoadInfo::SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT, loadGroup,
|
nsILoadInfo::SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT, loadGroup, nullptr,
|
||||||
loaderDocument->CookieJarSettings(), true,
|
true, loaderDocument->GetReferrerPolicy(), getter_AddRefs(theDocument));
|
||||||
loaderDocument->GetReferrerPolicy(), getter_AddRefs(theDocument));
|
|
||||||
|
|
||||||
if (NS_FAILED(rv)) {
|
if (NS_FAILED(rv)) {
|
||||||
aErrMsg.AppendLiteral("Document load of ");
|
aErrMsg.AppendLiteral("Document load of ");
|
||||||
|
|
|
||||||
|
|
@ -532,29 +532,24 @@ nsresult txSyncCompileObserver::loadURI(const nsAString& aUri,
|
||||||
nsresult rv = NS_NewURI(getter_AddRefs(uri), aUri);
|
nsresult rv = NS_NewURI(getter_AddRefs(uri), aUri);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
nsCOMPtr<nsIURI> referrerUri;
|
nsCOMPtr<nsPIDOMWindowInner> window =
|
||||||
rv = NS_NewURI(getter_AddRefs(referrerUri), aReferrerUri);
|
do_QueryInterface(mProcessor->GetParentObject());
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_TRUE(window, NS_ERROR_FAILURE);
|
||||||
|
nsCOMPtr<Document> loaderDoc = window->GetExtantDoc();
|
||||||
nsCOMPtr<nsIPrincipal> referrerPrincipal =
|
NS_ENSURE_TRUE(loaderDoc, NS_ERROR_FAILURE);
|
||||||
BasePrincipal::CreateContentPrincipal(referrerUri, OriginAttributes());
|
|
||||||
NS_ENSURE_TRUE(referrerPrincipal, NS_ERROR_FAILURE);
|
|
||||||
|
|
||||||
// This is probably called by js, a loadGroup for the channel doesn't
|
// This is probably called by js, a loadGroup for the channel doesn't
|
||||||
// make sense.
|
// make sense.
|
||||||
nsCOMPtr<nsINode> source;
|
nsCOMPtr<nsINode> source = mProcessor->GetSourceContentModel();
|
||||||
if (mProcessor) {
|
|
||||||
source = mProcessor->GetSourceContentModel();
|
|
||||||
}
|
|
||||||
dom::nsAutoSyncOperation sync(source ? source->OwnerDoc() : nullptr,
|
dom::nsAutoSyncOperation sync(source ? source->OwnerDoc() : nullptr,
|
||||||
dom::SyncOperationBehavior::eSuspendInput);
|
dom::SyncOperationBehavior::eSuspendInput);
|
||||||
nsCOMPtr<Document> document;
|
nsCOMPtr<Document> document;
|
||||||
|
|
||||||
rv = nsSyncLoadService::LoadDocument(
|
rv = nsSyncLoadService::LoadDocument(
|
||||||
uri, nsIContentPolicy::TYPE_XSLT, referrerPrincipal,
|
uri, nsIContentPolicy::TYPE_XSLT, loaderDoc,
|
||||||
nsILoadInfo::SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT, nullptr,
|
/* aLoaderPrincipal */ nullptr,
|
||||||
source ? source->OwnerDoc()->CookieJarSettings() : nullptr, false,
|
nsILoadInfo::SEC_REQUIRE_CORS_INHERITS_SEC_CONTEXT, nullptr, nullptr,
|
||||||
aReferrerPolicy, getter_AddRefs(document));
|
false, aReferrerPolicy, getter_AddRefs(document));
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
rv = handleNode(document, aCompiler);
|
rv = handleNode(document, aCompiler);
|
||||||
|
|
|
||||||
|
|
@ -412,14 +412,15 @@ bool gfxFontEntry::TryGetColorGlyphs() {
|
||||||
class gfxFontEntry::FontTableBlobData {
|
class gfxFontEntry::FontTableBlobData {
|
||||||
public:
|
public:
|
||||||
explicit FontTableBlobData(nsTArray<uint8_t>&& aBuffer)
|
explicit FontTableBlobData(nsTArray<uint8_t>&& aBuffer)
|
||||||
: mTableData(std::move(aBuffer)), mHashtable(nullptr), mHashKey(0) {
|
: mTableData(std::move(aBuffer)), mFontEntry(nullptr), mHashKey(0) {
|
||||||
MOZ_COUNT_CTOR(FontTableBlobData);
|
MOZ_COUNT_CTOR(FontTableBlobData);
|
||||||
}
|
}
|
||||||
|
|
||||||
~FontTableBlobData() {
|
~FontTableBlobData() {
|
||||||
MOZ_COUNT_DTOR(FontTableBlobData);
|
MOZ_COUNT_DTOR(FontTableBlobData);
|
||||||
if (mHashtable && mHashKey) {
|
if (mFontEntry && mHashKey) {
|
||||||
mHashtable->RemoveEntry(mHashKey);
|
AutoWriteLock lock(mFontEntry->mLock);
|
||||||
|
mFontEntry->GetFontTableCache()->RemoveEntry(mHashKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -431,16 +432,15 @@ class gfxFontEntry::FontTableBlobData {
|
||||||
|
|
||||||
// Tell this FontTableBlobData to remove the HashEntry when this is
|
// Tell this FontTableBlobData to remove the HashEntry when this is
|
||||||
// destroyed.
|
// destroyed.
|
||||||
void ManageHashEntry(nsTHashtable<FontTableHashEntry>* aHashtable,
|
void ManageHashEntry(gfxFontEntry* aFontEntry, uint32_t aHashKey) {
|
||||||
uint32_t aHashKey) {
|
mFontEntry = aFontEntry;
|
||||||
mHashtable = aHashtable;
|
|
||||||
mHashKey = aHashKey;
|
mHashKey = aHashKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disconnect from the HashEntry (because the blob has already been
|
// Disconnect from the HashEntry (because the blob has already been
|
||||||
// removed from the hashtable).
|
// removed from the hashtable).
|
||||||
void ForgetHashEntry() {
|
void ForgetHashEntry() {
|
||||||
mHashtable = nullptr;
|
mFontEntry = nullptr;
|
||||||
mHashKey = 0;
|
mHashKey = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -455,9 +455,10 @@ class gfxFontEntry::FontTableBlobData {
|
||||||
// The font table data block
|
// The font table data block
|
||||||
nsTArray<uint8_t> mTableData;
|
nsTArray<uint8_t> mTableData;
|
||||||
|
|
||||||
// The blob destroy function needs to know the owning hashtable
|
// The blob destroy function needs to know the owning font entry
|
||||||
// and the hashtable key, so that it can remove the entry.
|
// so that it can take the font-entry's lock while modifying the
|
||||||
nsTHashtable<FontTableHashEntry>* mHashtable;
|
// hashtable; and the hashtable key, so that it can remove the entry.
|
||||||
|
gfxFontEntry* mFontEntry;
|
||||||
uint32_t mHashKey;
|
uint32_t mHashKey;
|
||||||
|
|
||||||
// not implemented
|
// not implemented
|
||||||
|
|
@ -465,7 +466,7 @@ class gfxFontEntry::FontTableBlobData {
|
||||||
};
|
};
|
||||||
|
|
||||||
hb_blob_t* gfxFontEntry::FontTableHashEntry::ShareTableAndGetBlob(
|
hb_blob_t* gfxFontEntry::FontTableHashEntry::ShareTableAndGetBlob(
|
||||||
nsTArray<uint8_t>&& aTable, nsTHashtable<FontTableHashEntry>* aHashtable) {
|
nsTArray<uint8_t>&& aTable, gfxFontEntry* aFontEntry) {
|
||||||
Clear();
|
Clear();
|
||||||
// adopts elements of aTable
|
// adopts elements of aTable
|
||||||
mSharedBlobData = new FontTableBlobData(std::move(aTable));
|
mSharedBlobData = new FontTableBlobData(std::move(aTable));
|
||||||
|
|
@ -483,7 +484,7 @@ hb_blob_t* gfxFontEntry::FontTableHashEntry::ShareTableAndGetBlob(
|
||||||
|
|
||||||
// Tell the FontTableBlobData to remove this hash entry when destroyed.
|
// Tell the FontTableBlobData to remove this hash entry when destroyed.
|
||||||
// The hashtable does not keep a strong reference.
|
// The hashtable does not keep a strong reference.
|
||||||
mSharedBlobData->ManageHashEntry(aHashtable, GetKey());
|
mSharedBlobData->ManageHashEntry(aFontEntry, GetKey());
|
||||||
return mBlob;
|
return mBlob;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -565,7 +566,7 @@ hb_blob_t* gfxFontEntry::ShareFontTableAndGetBlob(uint32_t aTag,
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
return entry->ShareTableAndGetBlob(std::move(*aBuffer), cache);
|
return entry->ShareTableAndGetBlob(std::move(*aBuffer), this);
|
||||||
}
|
}
|
||||||
|
|
||||||
already_AddRefed<gfxCharacterMap> gfxFontEntry::GetCMAPFromFontInfo(
|
already_AddRefed<gfxCharacterMap> gfxFontEntry::GetCMAPFromFontInfo(
|
||||||
|
|
|
||||||
|
|
@ -872,11 +872,10 @@ class gfxFontEntry {
|
||||||
|
|
||||||
// Transfer (not copy) elements of aTable to a new hb_blob_t and
|
// Transfer (not copy) elements of aTable to a new hb_blob_t and
|
||||||
// return ownership to the caller. A weak reference to the blob is
|
// return ownership to the caller. A weak reference to the blob is
|
||||||
// recorded in the hashtable entry so that others may use the same
|
// recorded in the font entry's table cache so that others may use
|
||||||
// table.
|
// the same table.
|
||||||
hb_blob_t* ShareTableAndGetBlob(
|
hb_blob_t* ShareTableAndGetBlob(nsTArray<uint8_t>&& aTable,
|
||||||
nsTArray<uint8_t>&& aTable,
|
gfxFontEntry* aFontEntry);
|
||||||
nsTHashtable<FontTableHashEntry>* aHashtable);
|
|
||||||
|
|
||||||
// Return a strong reference to the blob.
|
// Return a strong reference to the blob.
|
||||||
// Callers must hb_blob_destroy the returned blob.
|
// Callers must hb_blob_destroy the returned blob.
|
||||||
|
|
@ -1076,7 +1075,7 @@ class gfxFontFamily {
|
||||||
// This is a no-op in cases where the family is explicitly populated by other
|
// This is a no-op in cases where the family is explicitly populated by other
|
||||||
// means, rather than being asked to find its faces via system API.
|
// means, rather than being asked to find its faces via system API.
|
||||||
virtual void FindStyleVariationsLocked(FontInfoData* aFontInfoData = nullptr)
|
virtual void FindStyleVariationsLocked(FontInfoData* aFontInfoData = nullptr)
|
||||||
MOZ_REQUIRES(mLock){};
|
MOZ_REQUIRES(mLock) {};
|
||||||
void FindStyleVariations(FontInfoData* aFontInfoData = nullptr) {
|
void FindStyleVariations(FontInfoData* aFontInfoData = nullptr) {
|
||||||
if (mHasStyles) {
|
if (mHasStyles) {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ void gfxGDIFont::Initialize() {
|
||||||
|
|
||||||
LOGFONTW logFont;
|
LOGFONTW logFont;
|
||||||
|
|
||||||
if (mAdjustedSize == 0.0) {
|
if (mAdjustedSize <= 0.0) {
|
||||||
mAdjustedSize = GetAdjustedSize();
|
mAdjustedSize = GetAdjustedSize();
|
||||||
if (FontSizeAdjust::Tag(mStyle.sizeAdjustBasis) !=
|
if (FontSizeAdjust::Tag(mStyle.sizeAdjustBasis) !=
|
||||||
FontSizeAdjust::Tag::None) {
|
FontSizeAdjust::Tag::None) {
|
||||||
|
|
|
||||||
|
|
@ -148,11 +148,11 @@ var exp = asmLink(asmCompile(USE_ASM + "var x=0; function a() { return x|0 } fun
|
||||||
assertEq(exp.c(10), undefined);
|
assertEq(exp.c(10), undefined);
|
||||||
assertEq(exp.a(), 10);
|
assertEq(exp.a(), 10);
|
||||||
|
|
||||||
var f = asmLink(asmCompile(USE_ASM + "function f(i) { i=i|0; switch(i|0) { case 1: i=-1; break; case 133742: i=2; break; default: i=42; break } return i|0 } return f"));
|
var f = asmLink(asmCompile(USE_ASM + "function f(i) { i=i|0; switch(i|0) { case 1: i=-1; break; case 65520: i=2; break; default: i=42; break } return i|0 } return f"));
|
||||||
assertEq(f(1), -1);
|
assertEq(f(1), -1);
|
||||||
assertEq(f(2), 42);
|
assertEq(f(2), 42);
|
||||||
assertEq(f(133742), 2);
|
assertEq(f(65520), 2);
|
||||||
assertEq(f(133743), 42);
|
assertEq(f(65521), 42);
|
||||||
|
|
||||||
var f = asmLink(asmCompile(USE_ASM + "function f(i) { i=i|0; switch(i|0) { case 1: i=42; break; default: i=13 } return i|0 } return f"));
|
var f = asmLink(asmCompile(USE_ASM + "function f(i) { i=i|0; switch(i|0) { case 1: i=42; break; default: i=13 } return i|0 } return f"));
|
||||||
assertEq(f(-1), 13);
|
assertEq(f(-1), 13);
|
||||||
|
|
|
||||||
|
|
@ -10108,6 +10108,37 @@ void CodeGenerator::visitWasmStoreSlot(LWasmStoreSlot* ins) {
|
||||||
emitWasmValueStore(ins, type, narrowingOp, src, addr);
|
emitWasmValueStore(ins, type, narrowingOp, src, addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CodeGenerator::visitWasmStoreStackResult(LWasmStoreStackResult* ins) {
|
||||||
|
const LAllocation* value = ins->value();
|
||||||
|
Address addr(ToRegister(ins->stackResultsArea()), ins->offset());
|
||||||
|
|
||||||
|
switch (ins->type()) {
|
||||||
|
case MIRType::Int32:
|
||||||
|
masm.storePtr(ToRegister(value), addr);
|
||||||
|
break;
|
||||||
|
case MIRType::Float32:
|
||||||
|
masm.storeFloat32(ToFloatRegister(value), addr);
|
||||||
|
break;
|
||||||
|
case MIRType::Double:
|
||||||
|
masm.storeDouble(ToFloatRegister(value), addr);
|
||||||
|
break;
|
||||||
|
#ifdef ENABLE_WASM_SIMD
|
||||||
|
case MIRType::Simd128:
|
||||||
|
masm.storeUnalignedSimd128(ToFloatRegister(value), addr);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
case MIRType::WasmAnyRef:
|
||||||
|
masm.storePtr(ToRegister(value), addr);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
MOZ_CRASH("unexpected type in ::visitWasmStoreStackResult");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CodeGenerator::visitWasmStoreStackResultI64(LWasmStoreStackResultI64* ins) {
|
||||||
|
masm.store64(ToRegister64(ins->value()), Address(ToRegister(ins->stackResultsArea()), ins->offset()));
|
||||||
|
}
|
||||||
|
|
||||||
void CodeGenerator::visitWasmStoreElement(LWasmStoreElement* ins) {
|
void CodeGenerator::visitWasmStoreElement(LWasmStoreElement* ins) {
|
||||||
MIRType type = ins->type();
|
MIRType type = ins->type();
|
||||||
MNarrowingOp narrowingOp = ins->narrowingOp();
|
MNarrowingOp narrowingOp = ins->narrowingOp();
|
||||||
|
|
|
||||||
|
|
@ -3350,6 +3350,21 @@
|
||||||
offset: size_t
|
offset: size_t
|
||||||
maybeTrap: MaybeTrapSiteInfo
|
maybeTrap: MaybeTrapSiteInfo
|
||||||
|
|
||||||
|
- name: WasmStoreStackResult
|
||||||
|
operands:
|
||||||
|
value: WordSized
|
||||||
|
stackResultsArea: WordSized
|
||||||
|
arguments:
|
||||||
|
offset: size_t
|
||||||
|
type: MIRType
|
||||||
|
|
||||||
|
- name: WasmStoreStackResultI64
|
||||||
|
operands:
|
||||||
|
value: Int64
|
||||||
|
stackResultsArea: WordSized
|
||||||
|
arguments:
|
||||||
|
offset: size_t
|
||||||
|
|
||||||
- name: WasmStoreElement
|
- name: WasmStoreElement
|
||||||
operands:
|
operands:
|
||||||
base: WordSized
|
base: WordSized
|
||||||
|
|
|
||||||
|
|
@ -6123,13 +6123,12 @@ void LIRGenerator::visitWasmStoreStackResult(MWasmStoreStackResult* ins) {
|
||||||
LInstruction* lir;
|
LInstruction* lir;
|
||||||
if (value->type() == MIRType::Int64) {
|
if (value->type() == MIRType::Int64) {
|
||||||
lir = new (alloc())
|
lir = new (alloc())
|
||||||
LWasmStoreSlotI64(useInt64Register(value), useRegister(stackResultArea),
|
LWasmStoreStackResultI64(useInt64Register(value), useRegister(stackResultArea),
|
||||||
offs, mozilla::Nothing());
|
offs);
|
||||||
} else {
|
} else {
|
||||||
MOZ_ASSERT(value->type() != MIRType::WasmAnyRef);
|
|
||||||
lir = new (alloc())
|
lir = new (alloc())
|
||||||
LWasmStoreSlot(useRegister(value), useRegister(stackResultArea), offs,
|
LWasmStoreStackResult(useRegister(value), useRegister(stackResultArea), offs,
|
||||||
value->type(), MNarrowingOp::None, mozilla::Nothing());
|
value->type());
|
||||||
}
|
}
|
||||||
add(lir, ins);
|
add(lir, ins);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -312,9 +312,6 @@ AsyncGeneratorRequest* AsyncGeneratorRequest::create(
|
||||||
// Stesp 10-13.
|
// Stesp 10-13.
|
||||||
[[nodiscard]] static bool AsyncGeneratorYield(
|
[[nodiscard]] static bool AsyncGeneratorYield(
|
||||||
JSContext* cx, Handle<AsyncGeneratorObject*> generator, HandleValue value) {
|
JSContext* cx, Handle<AsyncGeneratorObject*> generator, HandleValue value) {
|
||||||
// Step 13.a.
|
|
||||||
generator->setSuspendedYield();
|
|
||||||
|
|
||||||
// Step 10. Perform
|
// Step 10. Perform
|
||||||
// ! AsyncGeneratorCompleteStep(generator, completion, false,
|
// ! AsyncGeneratorCompleteStep(generator, completion, false,
|
||||||
// previousRealm).
|
// previousRealm).
|
||||||
|
|
@ -322,6 +319,9 @@ AsyncGeneratorRequest* AsyncGeneratorRequest::create(
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Step 13.a.
|
||||||
|
generator->setSuspendedYield();
|
||||||
|
|
||||||
// Steps 11-13.
|
// Steps 11-13.
|
||||||
return AsyncGeneratorDrainQueue(cx, generator);
|
return AsyncGeneratorDrainQueue(cx, generator);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1168,7 +1168,7 @@ static_assert(uint64_t(MaxArrayPayloadBytes) <
|
||||||
// These limits pertain to our WebAssembly implementation only.
|
// These limits pertain to our WebAssembly implementation only.
|
||||||
|
|
||||||
static const unsigned MaxTryTableCatches = 10000;
|
static const unsigned MaxTryTableCatches = 10000;
|
||||||
static const unsigned MaxBrTableElems = 1000000;
|
static const unsigned MaxBrTableElems = 65520;
|
||||||
static const unsigned MaxCodeSectionBytes = MaxModuleBytes;
|
static const unsigned MaxCodeSectionBytes = MaxModuleBytes;
|
||||||
static const unsigned MaxBranchHintValue = 2;
|
static const unsigned MaxBranchHintValue = 2;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2554,17 +2554,9 @@ class FunctionCompiler {
|
||||||
const ABIResult& result = iter.cur();
|
const ABIResult& result = iter.cur();
|
||||||
if (result.onStack()) {
|
if (result.onStack()) {
|
||||||
MOZ_ASSERT(iter.remaining() > 1);
|
MOZ_ASSERT(iter.remaining() > 1);
|
||||||
if (result.type().isRefRepr()) {
|
auto* store = MWasmStoreStackResult::New(
|
||||||
auto* store = MWasmStoreRef::New(
|
alloc(), stackResultPointer_, result.stackOffset(), values[i]);
|
||||||
alloc(), instancePointer_, stackResultPointer_,
|
curBlock_->add(store);
|
||||||
result.stackOffset(), values[i], AliasSet::WasmStackResult,
|
|
||||||
WasmPreBarrierKind::None);
|
|
||||||
curBlock_->add(store);
|
|
||||||
} else {
|
|
||||||
auto* store = MWasmStoreStackResult::New(
|
|
||||||
alloc(), stackResultPointer_, result.stackOffset(), values[i]);
|
|
||||||
curBlock_->add(store);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
MOZ_ASSERT(iter.remaining() == 1);
|
MOZ_ASSERT(iter.remaining() == 1);
|
||||||
MOZ_ASSERT(i + 1 == values.length());
|
MOZ_ASSERT(i + 1 == values.length());
|
||||||
|
|
|
||||||
|
|
@ -13964,6 +13964,14 @@
|
||||||
value: false
|
value: false
|
||||||
mirror: always
|
mirror: always
|
||||||
|
|
||||||
|
# Whether we directly use the system print dialog to collect the user's print
|
||||||
|
# settings rather than using the tab-modal print preview dialog.
|
||||||
|
# Note: `print.always_print_silent` overrides this.
|
||||||
|
- name: print.prefer_system_dialog
|
||||||
|
type: RelaxedAtomicBool
|
||||||
|
value: false
|
||||||
|
mirror: always
|
||||||
|
|
||||||
# Whether we attempt to generate links in Save As PDF output.
|
# Whether we attempt to generate links in Save As PDF output.
|
||||||
- name: print.save_as_pdf.links.enabled
|
- name: print.save_as_pdf.links.enabled
|
||||||
type: RelaxedAtomicBool
|
type: RelaxedAtomicBool
|
||||||
|
|
|
||||||
|
|
@ -746,11 +746,6 @@ pref("browser.fixup.fallback-to-https", true);
|
||||||
// used in this case. See nsPrintSettingsService::InitPrintSettingsFromPrefs
|
// used in this case. See nsPrintSettingsService::InitPrintSettingsFromPrefs
|
||||||
// for the restrictions on which prefs can act as defaults.
|
// for the restrictions on which prefs can act as defaults.
|
||||||
|
|
||||||
// Whether we directly use the system print dialog to collect the user's print
|
|
||||||
// settings rather than using the tab-modal print preview dialog.
|
|
||||||
// Note: `print.always_print_silent` overrides this.
|
|
||||||
pref("print.prefer_system_dialog", false);
|
|
||||||
|
|
||||||
// Print/Preview Shrink-To-Fit won't shrink below 20% for text-ish documents.
|
// Print/Preview Shrink-To-Fit won't shrink below 20% for text-ish documents.
|
||||||
pref("print.shrink-to-fit.scale-limit-percent", 20);
|
pref("print.shrink-to-fit.scale-limit-percent", 20);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@
|
||||||
// Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat,
|
// Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat,
|
||||||
// rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported.
|
// rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported.
|
||||||
|
|
||||||
// VERSION: 2025-06-12_21-09-57_UTC
|
// VERSION: 2025-07-09_15-23-09_UTC
|
||||||
// COMMIT: a01fe523d7359fc523d8b164bcb16834a4f2d8ba
|
// COMMIT: c38a2f8e8862ad65d91af25dee90002c61329953
|
||||||
|
|
||||||
// Instructions on pulling and using this list can be found at https://publicsuffix.org/list/.
|
// Instructions on pulling and using this list can be found at https://publicsuffix.org/list/.
|
||||||
|
|
||||||
|
|
@ -6792,7 +6792,7 @@ org.zw
|
||||||
|
|
||||||
// newGTLDs
|
// newGTLDs
|
||||||
|
|
||||||
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2025-06-07T15:17:54Z
|
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2025-07-09T15:20:49Z
|
||||||
// This list is auto-generated, don't edit it manually.
|
// This list is auto-generated, don't edit it manually.
|
||||||
// aaa : American Automobile Association, Inc.
|
// aaa : American Automobile Association, Inc.
|
||||||
// https://www.iana.org/domains/root/db/aaa.html
|
// https://www.iana.org/domains/root/db/aaa.html
|
||||||
|
|
@ -7006,7 +7006,7 @@ arab
|
||||||
// https://www.iana.org/domains/root/db/aramco.html
|
// https://www.iana.org/domains/root/db/aramco.html
|
||||||
aramco
|
aramco
|
||||||
|
|
||||||
// archi : Identity Digital Limited
|
// archi : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/archi.html
|
// https://www.iana.org/domains/root/db/archi.html
|
||||||
archi
|
archi
|
||||||
|
|
||||||
|
|
@ -7186,7 +7186,7 @@ best
|
||||||
// https://www.iana.org/domains/root/db/bestbuy.html
|
// https://www.iana.org/domains/root/db/bestbuy.html
|
||||||
bestbuy
|
bestbuy
|
||||||
|
|
||||||
// bet : Identity Digital Limited
|
// bet : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/bet.html
|
// https://www.iana.org/domains/root/db/bet.html
|
||||||
bet
|
bet
|
||||||
|
|
||||||
|
|
@ -7214,11 +7214,11 @@ bing
|
||||||
// https://www.iana.org/domains/root/db/bingo.html
|
// https://www.iana.org/domains/root/db/bingo.html
|
||||||
bingo
|
bingo
|
||||||
|
|
||||||
// bio : Identity Digital Limited
|
// bio : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/bio.html
|
// https://www.iana.org/domains/root/db/bio.html
|
||||||
bio
|
bio
|
||||||
|
|
||||||
// black : Identity Digital Limited
|
// black : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/black.html
|
// https://www.iana.org/domains/root/db/black.html
|
||||||
black
|
black
|
||||||
|
|
||||||
|
|
@ -7238,7 +7238,7 @@ blog
|
||||||
// https://www.iana.org/domains/root/db/bloomberg.html
|
// https://www.iana.org/domains/root/db/bloomberg.html
|
||||||
bloomberg
|
bloomberg
|
||||||
|
|
||||||
// blue : Identity Digital Limited
|
// blue : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/blue.html
|
// https://www.iana.org/domains/root/db/blue.html
|
||||||
blue
|
blue
|
||||||
|
|
||||||
|
|
@ -8334,7 +8334,7 @@ glass
|
||||||
// https://www.iana.org/domains/root/db/gle.html
|
// https://www.iana.org/domains/root/db/gle.html
|
||||||
gle
|
gle
|
||||||
|
|
||||||
// global : Identity Digital Limited
|
// global : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/global.html
|
// https://www.iana.org/domains/root/db/global.html
|
||||||
global
|
global
|
||||||
|
|
||||||
|
|
@ -8410,7 +8410,7 @@ graphics
|
||||||
// https://www.iana.org/domains/root/db/gratis.html
|
// https://www.iana.org/domains/root/db/gratis.html
|
||||||
gratis
|
gratis
|
||||||
|
|
||||||
// green : Identity Digital Limited
|
// green : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/green.html
|
// https://www.iana.org/domains/root/db/green.html
|
||||||
green
|
green
|
||||||
|
|
||||||
|
|
@ -8818,7 +8818,7 @@ kia
|
||||||
// https://www.iana.org/domains/root/db/kids.html
|
// https://www.iana.org/domains/root/db/kids.html
|
||||||
kids
|
kids
|
||||||
|
|
||||||
// kim : Identity Digital Limited
|
// kim : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/kim.html
|
// https://www.iana.org/domains/root/db/kim.html
|
||||||
kim
|
kim
|
||||||
|
|
||||||
|
|
@ -8946,7 +8946,7 @@ lego
|
||||||
// https://www.iana.org/domains/root/db/lexus.html
|
// https://www.iana.org/domains/root/db/lexus.html
|
||||||
lexus
|
lexus
|
||||||
|
|
||||||
// lgbt : Identity Digital Limited
|
// lgbt : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/lgbt.html
|
// https://www.iana.org/domains/root/db/lgbt.html
|
||||||
lgbt
|
lgbt
|
||||||
|
|
||||||
|
|
@ -9002,7 +9002,7 @@ live
|
||||||
// https://www.iana.org/domains/root/db/living.html
|
// https://www.iana.org/domains/root/db/living.html
|
||||||
living
|
living
|
||||||
|
|
||||||
// llc : Identity Digital Limited
|
// llc : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/llc.html
|
// https://www.iana.org/domains/root/db/llc.html
|
||||||
llc
|
llc
|
||||||
|
|
||||||
|
|
@ -9038,7 +9038,7 @@ london
|
||||||
// https://www.iana.org/domains/root/db/lotte.html
|
// https://www.iana.org/domains/root/db/lotte.html
|
||||||
lotte
|
lotte
|
||||||
|
|
||||||
// lotto : Identity Digital Limited
|
// lotto : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/lotto.html
|
// https://www.iana.org/domains/root/db/lotto.html
|
||||||
lotto
|
lotto
|
||||||
|
|
||||||
|
|
@ -9482,7 +9482,7 @@ oracle
|
||||||
// https://www.iana.org/domains/root/db/orange.html
|
// https://www.iana.org/domains/root/db/orange.html
|
||||||
orange
|
orange
|
||||||
|
|
||||||
// organic : Identity Digital Limited
|
// organic : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/organic.html
|
// https://www.iana.org/domains/root/db/organic.html
|
||||||
organic
|
organic
|
||||||
|
|
||||||
|
|
@ -9542,7 +9542,7 @@ pay
|
||||||
// https://www.iana.org/domains/root/db/pccw.html
|
// https://www.iana.org/domains/root/db/pccw.html
|
||||||
pccw
|
pccw
|
||||||
|
|
||||||
// pet : Identity Digital Limited
|
// pet : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/pet.html
|
// https://www.iana.org/domains/root/db/pet.html
|
||||||
pet
|
pet
|
||||||
|
|
||||||
|
|
@ -9606,7 +9606,7 @@ pin
|
||||||
// https://www.iana.org/domains/root/db/ping.html
|
// https://www.iana.org/domains/root/db/ping.html
|
||||||
ping
|
ping
|
||||||
|
|
||||||
// pink : Identity Digital Limited
|
// pink : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/pink.html
|
// https://www.iana.org/domains/root/db/pink.html
|
||||||
pink
|
pink
|
||||||
|
|
||||||
|
|
@ -9646,7 +9646,7 @@ pnc
|
||||||
// https://www.iana.org/domains/root/db/pohl.html
|
// https://www.iana.org/domains/root/db/pohl.html
|
||||||
pohl
|
pohl
|
||||||
|
|
||||||
// poker : Identity Digital Limited
|
// poker : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/poker.html
|
// https://www.iana.org/domains/root/db/poker.html
|
||||||
poker
|
poker
|
||||||
|
|
||||||
|
|
@ -9686,7 +9686,7 @@ prof
|
||||||
// https://www.iana.org/domains/root/db/progressive.html
|
// https://www.iana.org/domains/root/db/progressive.html
|
||||||
progressive
|
progressive
|
||||||
|
|
||||||
// promo : Identity Digital Limited
|
// promo : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/promo.html
|
// https://www.iana.org/domains/root/db/promo.html
|
||||||
promo
|
promo
|
||||||
|
|
||||||
|
|
@ -9758,7 +9758,7 @@ realty
|
||||||
// https://www.iana.org/domains/root/db/recipes.html
|
// https://www.iana.org/domains/root/db/recipes.html
|
||||||
recipes
|
recipes
|
||||||
|
|
||||||
// red : Identity Digital Limited
|
// red : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/red.html
|
// https://www.iana.org/domains/root/db/red.html
|
||||||
red
|
red
|
||||||
|
|
||||||
|
|
@ -10074,7 +10074,7 @@ shell
|
||||||
// https://www.iana.org/domains/root/db/shia.html
|
// https://www.iana.org/domains/root/db/shia.html
|
||||||
shia
|
shia
|
||||||
|
|
||||||
// shiksha : Identity Digital Limited
|
// shiksha : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/shiksha.html
|
// https://www.iana.org/domains/root/db/shiksha.html
|
||||||
shiksha
|
shiksha
|
||||||
|
|
||||||
|
|
@ -10114,7 +10114,7 @@ singles
|
||||||
// https://www.iana.org/domains/root/db/site.html
|
// https://www.iana.org/domains/root/db/site.html
|
||||||
site
|
site
|
||||||
|
|
||||||
// ski : Identity Digital Limited
|
// ski : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/ski.html
|
// https://www.iana.org/domains/root/db/ski.html
|
||||||
ski
|
ski
|
||||||
|
|
||||||
|
|
@ -10686,7 +10686,7 @@ wanggou
|
||||||
// https://www.iana.org/domains/root/db/watch.html
|
// https://www.iana.org/domains/root/db/watch.html
|
||||||
watch
|
watch
|
||||||
|
|
||||||
// watches : Identity Digital Limited
|
// watches : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/watches.html
|
// https://www.iana.org/domains/root/db/watches.html
|
||||||
watches
|
watches
|
||||||
|
|
||||||
|
|
@ -10866,7 +10866,7 @@ xin
|
||||||
// https://www.iana.org/domains/root/db/xn--5tzm5g.html
|
// https://www.iana.org/domains/root/db/xn--5tzm5g.html
|
||||||
网站
|
网站
|
||||||
|
|
||||||
// xn--6frz82g : Identity Digital Limited
|
// xn--6frz82g : Identity Digital Domains Limited
|
||||||
// https://www.iana.org/domains/root/db/xn--6frz82g.html
|
// https://www.iana.org/domains/root/db/xn--6frz82g.html
|
||||||
移动
|
移动
|
||||||
|
|
||||||
|
|
@ -14668,6 +14668,10 @@ is-local.org
|
||||||
// Submitted by Alexander Varwijk <security@getopensocial.com>
|
// Submitted by Alexander Varwijk <security@getopensocial.com>
|
||||||
opensocial.site
|
opensocial.site
|
||||||
|
|
||||||
|
// OpenAI : https://openai.com
|
||||||
|
// Submitted by Thomas Shadwell <security@openai.com>
|
||||||
|
*.oaiusercontent.com
|
||||||
|
|
||||||
// OpenCraft GmbH : http://opencraft.com/
|
// OpenCraft GmbH : http://opencraft.com/
|
||||||
// Submitted by Sven Marnach <sven@opencraft.com>
|
// Submitted by Sven Marnach <sven@opencraft.com>
|
||||||
opencraft.hosting
|
opencraft.hosting
|
||||||
|
|
@ -15122,32 +15126,53 @@ logoip.com
|
||||||
logoip.de
|
logoip.de
|
||||||
|
|
||||||
// Scaleway : https://www.scaleway.com/
|
// Scaleway : https://www.scaleway.com/
|
||||||
// Submitted by Rémy Léone <rleone@scaleway.com>
|
// Submitted by Scaleway PSL Maintainer <psl-maintainers@scaleway.com>
|
||||||
fr-par-1.baremetal.scw.cloud
|
fr-par-1.baremetal.scw.cloud
|
||||||
fr-par-2.baremetal.scw.cloud
|
fr-par-2.baremetal.scw.cloud
|
||||||
nl-ams-1.baremetal.scw.cloud
|
nl-ams-1.baremetal.scw.cloud
|
||||||
cockpit.fr-par.scw.cloud
|
cockpit.fr-par.scw.cloud
|
||||||
|
ddl.fr-par.scw.cloud
|
||||||
|
dtwh.fr-par.scw.cloud
|
||||||
fnc.fr-par.scw.cloud
|
fnc.fr-par.scw.cloud
|
||||||
functions.fnc.fr-par.scw.cloud
|
functions.fnc.fr-par.scw.cloud
|
||||||
|
ifr.fr-par.scw.cloud
|
||||||
k8s.fr-par.scw.cloud
|
k8s.fr-par.scw.cloud
|
||||||
nodes.k8s.fr-par.scw.cloud
|
nodes.k8s.fr-par.scw.cloud
|
||||||
|
kafk.fr-par.scw.cloud
|
||||||
|
mgdb.fr-par.scw.cloud
|
||||||
|
rdb.fr-par.scw.cloud
|
||||||
s3.fr-par.scw.cloud
|
s3.fr-par.scw.cloud
|
||||||
s3-website.fr-par.scw.cloud
|
s3-website.fr-par.scw.cloud
|
||||||
|
scbl.fr-par.scw.cloud
|
||||||
whm.fr-par.scw.cloud
|
whm.fr-par.scw.cloud
|
||||||
priv.instances.scw.cloud
|
priv.instances.scw.cloud
|
||||||
pub.instances.scw.cloud
|
pub.instances.scw.cloud
|
||||||
k8s.scw.cloud
|
k8s.scw.cloud
|
||||||
cockpit.nl-ams.scw.cloud
|
cockpit.nl-ams.scw.cloud
|
||||||
|
ddl.nl-ams.scw.cloud
|
||||||
|
dtwh.nl-ams.scw.cloud
|
||||||
|
ifr.nl-ams.scw.cloud
|
||||||
k8s.nl-ams.scw.cloud
|
k8s.nl-ams.scw.cloud
|
||||||
nodes.k8s.nl-ams.scw.cloud
|
nodes.k8s.nl-ams.scw.cloud
|
||||||
|
kafk.nl-ams.scw.cloud
|
||||||
|
mgdb.nl-ams.scw.cloud
|
||||||
|
rdb.nl-ams.scw.cloud
|
||||||
s3.nl-ams.scw.cloud
|
s3.nl-ams.scw.cloud
|
||||||
s3-website.nl-ams.scw.cloud
|
s3-website.nl-ams.scw.cloud
|
||||||
|
scbl.nl-ams.scw.cloud
|
||||||
whm.nl-ams.scw.cloud
|
whm.nl-ams.scw.cloud
|
||||||
cockpit.pl-waw.scw.cloud
|
cockpit.pl-waw.scw.cloud
|
||||||
|
ddl.pl-waw.scw.cloud
|
||||||
|
dtwh.pl-waw.scw.cloud
|
||||||
|
ifr.pl-waw.scw.cloud
|
||||||
k8s.pl-waw.scw.cloud
|
k8s.pl-waw.scw.cloud
|
||||||
nodes.k8s.pl-waw.scw.cloud
|
nodes.k8s.pl-waw.scw.cloud
|
||||||
|
kafk.pl-waw.scw.cloud
|
||||||
|
mgdb.pl-waw.scw.cloud
|
||||||
|
rdb.pl-waw.scw.cloud
|
||||||
s3.pl-waw.scw.cloud
|
s3.pl-waw.scw.cloud
|
||||||
s3-website.pl-waw.scw.cloud
|
s3-website.pl-waw.scw.cloud
|
||||||
|
scbl.pl-waw.scw.cloud
|
||||||
scalebook.scw.cloud
|
scalebook.scw.cloud
|
||||||
smartlabeling.scw.cloud
|
smartlabeling.scw.cloud
|
||||||
dedibox.fr
|
dedibox.fr
|
||||||
|
|
@ -15647,8 +15672,8 @@ dnsupdate.info
|
||||||
// Submitted by Gavin Brown <gavin.brown@centralnic.com>
|
// Submitted by Gavin Brown <gavin.brown@centralnic.com>
|
||||||
us.org
|
us.org
|
||||||
|
|
||||||
// V.UA Domain Administrator : https://domain.v.ua/
|
// V.UA Domain Registry: https://www.v.ua/
|
||||||
// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>
|
// Submitted by Serhii Rostilo <admin@v.ua>
|
||||||
v.ua
|
v.ua
|
||||||
|
|
||||||
// Val Town, Inc : https://val.town/
|
// Val Town, Inc : https://val.town/
|
||||||
|
|
@ -15673,6 +15698,10 @@ now.sh
|
||||||
// Submitted by Adnan RIHAN <hostmaster@v-info.info>
|
// Submitted by Adnan RIHAN <hostmaster@v-info.info>
|
||||||
v-info.info
|
v-info.info
|
||||||
|
|
||||||
|
// VistaBlog : https://vistablog.ir/
|
||||||
|
// Submitted by Hossein Piri <info@vistablog.ir>
|
||||||
|
vistablog.ir
|
||||||
|
|
||||||
// Viva Republica, Inc. : https://toss.im/
|
// Viva Republica, Inc. : https://toss.im/
|
||||||
// Submitted by Deus Team <deus@toss.im>
|
// Submitted by Deus Team <deus@toss.im>
|
||||||
deus-canvas.com
|
deus-canvas.com
|
||||||
|
|
|
||||||
|
|
@ -736,4 +736,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
|
||||||
|
|
||||||
static const int32_t kUnknownId = -1;
|
static const int32_t kUnknownId = -1;
|
||||||
|
|
||||||
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1758539902731000);
|
static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1760959658369000);
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,5 +1,230 @@
|
||||||
{
|
{
|
||||||
"data": [
|
"data": [
|
||||||
|
{
|
||||||
|
"name": "Edge",
|
||||||
|
"schema": 1751069103311,
|
||||||
|
"status": "planned",
|
||||||
|
"version": "141",
|
||||||
|
"browserid": "edge",
|
||||||
|
"id": "1276177b-8e2c-4677-9839-c39cdb272d9f",
|
||||||
|
"last_modified": 1751266171953
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Edge",
|
||||||
|
"schema": 1751069103253,
|
||||||
|
"status": "nightly",
|
||||||
|
"version": "140",
|
||||||
|
"browserid": "edge",
|
||||||
|
"id": "2f6ded78-f30e-4477-9175-c32d040041c7",
|
||||||
|
"last_modified": 1751266171946
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Edge",
|
||||||
|
"schema": 1751069103200,
|
||||||
|
"status": "beta",
|
||||||
|
"version": "139",
|
||||||
|
"browserid": "edge",
|
||||||
|
"id": "c652a9a5-3a1c-4272-8a52-68dd4e9ae1b4",
|
||||||
|
"last_modified": 1751266171943
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Edge",
|
||||||
|
"schema": 1751069103137,
|
||||||
|
"status": "current",
|
||||||
|
"version": "138",
|
||||||
|
"browserid": "edge",
|
||||||
|
"id": "c9aa191e-ce6c-4f14-89b3-67877f64bc92",
|
||||||
|
"last_modified": 1751266171940
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "WebView Android",
|
||||||
|
"schema": 1750809904832,
|
||||||
|
"status": "planned",
|
||||||
|
"version": "141",
|
||||||
|
"browserid": "webview_android",
|
||||||
|
"id": "63e64099-e7d1-4b27-9a5d-ae173595a61f",
|
||||||
|
"last_modified": 1750835286636
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat for Android",
|
||||||
|
"schema": 1750809904539,
|
||||||
|
"status": "planned",
|
||||||
|
"version": "143",
|
||||||
|
"browserid": "icecat_android",
|
||||||
|
"id": "1202f99c-4161-4075-a5f5-01dcb1734bff",
|
||||||
|
"last_modified": 1750835286632
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat",
|
||||||
|
"schema": 1750809904149,
|
||||||
|
"status": "planned",
|
||||||
|
"version": "143",
|
||||||
|
"browserid": "icecat",
|
||||||
|
"id": "8c64af12-6643-49a8-bf55-f3941779399c",
|
||||||
|
"last_modified": 1750835286629
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome Android",
|
||||||
|
"schema": 1750809903778,
|
||||||
|
"status": "planned",
|
||||||
|
"version": "141",
|
||||||
|
"browserid": "chrome_android",
|
||||||
|
"id": "1fccf4ba-14fb-4641-b9c9-5b02bbb528a5",
|
||||||
|
"last_modified": 1750835286626
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome",
|
||||||
|
"schema": 1750809903446,
|
||||||
|
"status": "planned",
|
||||||
|
"version": "141",
|
||||||
|
"browserid": "chrome",
|
||||||
|
"id": "7cdd8e9c-d3fc-47b3-bfcc-f63ddfccb7fc",
|
||||||
|
"last_modified": 1750835286622
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat for Android",
|
||||||
|
"schema": 1750809904473,
|
||||||
|
"status": "nightly",
|
||||||
|
"version": "142",
|
||||||
|
"browserid": "icecat_android",
|
||||||
|
"id": "78d60df0-cb7e-4949-9917-ed8fdc503382",
|
||||||
|
"last_modified": 1750835286600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome Android",
|
||||||
|
"schema": 1750809903707,
|
||||||
|
"status": "nightly",
|
||||||
|
"version": "140",
|
||||||
|
"browserid": "chrome_android",
|
||||||
|
"id": "794cc316-0785-4962-847c-f31ac285f847",
|
||||||
|
"last_modified": 1750835286596
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "WebView Android",
|
||||||
|
"schema": 1750809904778,
|
||||||
|
"status": "nightly",
|
||||||
|
"version": "140",
|
||||||
|
"browserid": "webview_android",
|
||||||
|
"id": "7bbb223e-ada4-4f53-babb-b93a73927329",
|
||||||
|
"last_modified": 1750835286593
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome",
|
||||||
|
"schema": 1750809903376,
|
||||||
|
"status": "nightly",
|
||||||
|
"version": "140",
|
||||||
|
"browserid": "chrome",
|
||||||
|
"id": "60172b96-7711-458b-9b0e-2dd55255bf05",
|
||||||
|
"last_modified": 1750835286590
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat",
|
||||||
|
"schema": 1750809904090,
|
||||||
|
"status": "nightly",
|
||||||
|
"version": "142",
|
||||||
|
"browserid": "icecat",
|
||||||
|
"id": "a5323a0e-8201-4c4b-a5fd-ff89431cc98b",
|
||||||
|
"last_modified": 1750835286587
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "WebView Android",
|
||||||
|
"schema": 1750809904709,
|
||||||
|
"status": "beta",
|
||||||
|
"version": "139",
|
||||||
|
"browserid": "webview_android",
|
||||||
|
"id": "fdb5c123-2409-4e93-bc2c-e9d482c3eabf",
|
||||||
|
"last_modified": 1750835286583
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome",
|
||||||
|
"schema": 1750809903304,
|
||||||
|
"status": "beta",
|
||||||
|
"version": "139",
|
||||||
|
"browserid": "chrome",
|
||||||
|
"id": "6ffd90da-55f8-4759-8049-2b3696d34d42",
|
||||||
|
"last_modified": 1750835286580
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat",
|
||||||
|
"schema": 1750809904038,
|
||||||
|
"status": "beta",
|
||||||
|
"version": "141",
|
||||||
|
"browserid": "icecat",
|
||||||
|
"id": "e6ac475d-0038-451e-b875-e71a26f26c1f",
|
||||||
|
"last_modified": 1750835286577
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome Android",
|
||||||
|
"schema": 1750809903644,
|
||||||
|
"status": "beta",
|
||||||
|
"version": "139",
|
||||||
|
"browserid": "chrome_android",
|
||||||
|
"id": "6dc0e4cb-560c-46ad-996f-2e65cd9a78bf",
|
||||||
|
"last_modified": 1750835286574
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat for Android",
|
||||||
|
"schema": 1750809904418,
|
||||||
|
"status": "beta",
|
||||||
|
"version": "141",
|
||||||
|
"browserid": "icecat_android",
|
||||||
|
"id": "e2a35b06-f07e-417d-98c6-f9eafdff546b",
|
||||||
|
"last_modified": 1750835286571
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "WebView Android",
|
||||||
|
"schema": 1750809904659,
|
||||||
|
"status": "current",
|
||||||
|
"version": "138",
|
||||||
|
"browserid": "webview_android",
|
||||||
|
"id": "ca0f7fe1-7bf2-4154-ab36-d759e08d0276",
|
||||||
|
"last_modified": 1750835286568
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome Android",
|
||||||
|
"schema": 1750809903588,
|
||||||
|
"status": "current",
|
||||||
|
"version": "138",
|
||||||
|
"browserid": "chrome_android",
|
||||||
|
"id": "485be132-bf7e-4586-af0f-8e731365b8c8",
|
||||||
|
"last_modified": 1750835286565
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat for Android",
|
||||||
|
"schema": 1750809904356,
|
||||||
|
"status": "current",
|
||||||
|
"version": "140",
|
||||||
|
"browserid": "icecat_android",
|
||||||
|
"id": "29671e58-5233-4969-8f3a-b3208e3b8f17",
|
||||||
|
"last_modified": 1750835286562
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IceCat",
|
||||||
|
"schema": 1750809903978,
|
||||||
|
"status": "current",
|
||||||
|
"version": "140",
|
||||||
|
"browserid": "icecat",
|
||||||
|
"id": "9949da65-f6be-41f4-9c9d-73bc27b4d2a0",
|
||||||
|
"last_modified": 1750835286558
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chrome",
|
||||||
|
"schema": 1750809903230,
|
||||||
|
"status": "current",
|
||||||
|
"version": "138",
|
||||||
|
"browserid": "chrome",
|
||||||
|
"id": "ddeb0464-e5e9-4b00-816f-211de9a4e818",
|
||||||
|
"last_modified": 1750835286555
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Opera Android",
|
||||||
|
"schema": 1750464302932,
|
||||||
|
"status": "current",
|
||||||
|
"version": "90",
|
||||||
|
"browserid": "opera_android",
|
||||||
|
"id": "7d7cd6cd-4527-49c8-a8eb-9ec00f9af8d6",
|
||||||
|
"last_modified": 1750757900185
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Safari",
|
"name": "Safari",
|
||||||
"schema": 1749550693771,
|
"schema": 1749550693771,
|
||||||
|
|
@ -72,195 +297,6 @@
|
||||||
"id": "1f2765cf-a177-4249-b5f9-fdf271727bb7",
|
"id": "1f2765cf-a177-4249-b5f9-fdf271727bb7",
|
||||||
"last_modified": 1748854785996
|
"last_modified": 1748854785996
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Edge",
|
|
||||||
"schema": 1748649903447,
|
|
||||||
"status": "current",
|
|
||||||
"version": "137",
|
|
||||||
"browserid": "edge",
|
|
||||||
"id": "fd0c0e43-c139-4526-8f78-16d479f71267",
|
|
||||||
"last_modified": 1748854785992
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat for Android",
|
|
||||||
"schema": 1748390704665,
|
|
||||||
"status": "planned",
|
|
||||||
"version": "142",
|
|
||||||
"browserid": "icecat_android",
|
|
||||||
"id": "78d60df0-cb7e-4949-9917-ed8fdc503382",
|
|
||||||
"last_modified": 1748418497438
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome Android",
|
|
||||||
"schema": 1748390704003,
|
|
||||||
"status": "planned",
|
|
||||||
"version": "140",
|
|
||||||
"browserid": "chrome_android",
|
|
||||||
"id": "794cc316-0785-4962-847c-f31ac285f847",
|
|
||||||
"last_modified": 1748418497435
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "WebView Android",
|
|
||||||
"schema": 1748390704998,
|
|
||||||
"status": "planned",
|
|
||||||
"version": "140",
|
|
||||||
"browserid": "webview_android",
|
|
||||||
"id": "7bbb223e-ada4-4f53-babb-b93a73927329",
|
|
||||||
"last_modified": 1748418497431
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome",
|
|
||||||
"schema": 1748390703679,
|
|
||||||
"status": "planned",
|
|
||||||
"version": "140",
|
|
||||||
"browserid": "chrome",
|
|
||||||
"id": "60172b96-7711-458b-9b0e-2dd55255bf05",
|
|
||||||
"last_modified": 1748418497427
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat",
|
|
||||||
"schema": 1748390704332,
|
|
||||||
"status": "planned",
|
|
||||||
"version": "142",
|
|
||||||
"browserid": "icecat",
|
|
||||||
"id": "a5323a0e-8201-4c4b-a5fd-ff89431cc98b",
|
|
||||||
"last_modified": 1748418497422
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat",
|
|
||||||
"schema": 1748390704131,
|
|
||||||
"status": "current",
|
|
||||||
"version": "139",
|
|
||||||
"browserid": "icecat",
|
|
||||||
"id": "5135fcdf-d80b-4297-a169-8a0670ec43ea",
|
|
||||||
"last_modified": 1748418497417
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat for Android",
|
|
||||||
"schema": 1748390704463,
|
|
||||||
"status": "current",
|
|
||||||
"version": "139",
|
|
||||||
"browserid": "icecat_android",
|
|
||||||
"id": "9cb04ffb-8d53-4c9b-87bf-4fef786c727f",
|
|
||||||
"last_modified": 1748418497412
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome",
|
|
||||||
"schema": 1748390703481,
|
|
||||||
"status": "current",
|
|
||||||
"version": "137",
|
|
||||||
"browserid": "chrome",
|
|
||||||
"id": "aeaf5cc7-6eb8-4376-9969-af6970d3a115",
|
|
||||||
"last_modified": 1748418497408
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome Android",
|
|
||||||
"schema": 1748390703816,
|
|
||||||
"status": "current",
|
|
||||||
"version": "137",
|
|
||||||
"browserid": "chrome_android",
|
|
||||||
"id": "5238773e-4c08-43c8-b225-7f26aae817d1",
|
|
||||||
"last_modified": 1748418497405
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "WebView Android",
|
|
||||||
"schema": 1748390704805,
|
|
||||||
"status": "current",
|
|
||||||
"version": "137",
|
|
||||||
"browserid": "webview_android",
|
|
||||||
"id": "a68b6fa2-9dda-4338-b854-2b0b1fd089bc",
|
|
||||||
"last_modified": 1748418497400
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "WebView Android",
|
|
||||||
"schema": 1748390704935,
|
|
||||||
"status": "nightly",
|
|
||||||
"version": "139",
|
|
||||||
"browserid": "webview_android",
|
|
||||||
"id": "fdb5c123-2409-4e93-bc2c-e9d482c3eabf",
|
|
||||||
"last_modified": 1748418497380
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome",
|
|
||||||
"schema": 1748390703619,
|
|
||||||
"status": "nightly",
|
|
||||||
"version": "139",
|
|
||||||
"browserid": "chrome",
|
|
||||||
"id": "6ffd90da-55f8-4759-8049-2b3696d34d42",
|
|
||||||
"last_modified": 1748418497376
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat",
|
|
||||||
"schema": 1748390704265,
|
|
||||||
"status": "nightly",
|
|
||||||
"version": "141",
|
|
||||||
"browserid": "icecat",
|
|
||||||
"id": "e6ac475d-0038-451e-b875-e71a26f26c1f",
|
|
||||||
"last_modified": 1748418497372
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome Android",
|
|
||||||
"schema": 1748390703945,
|
|
||||||
"status": "nightly",
|
|
||||||
"version": "139",
|
|
||||||
"browserid": "chrome_android",
|
|
||||||
"id": "6dc0e4cb-560c-46ad-996f-2e65cd9a78bf",
|
|
||||||
"last_modified": 1748418497368
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat for Android",
|
|
||||||
"schema": 1748390704600,
|
|
||||||
"status": "nightly",
|
|
||||||
"version": "141",
|
|
||||||
"browserid": "icecat_android",
|
|
||||||
"id": "e2a35b06-f07e-417d-98c6-f9eafdff546b",
|
|
||||||
"last_modified": 1748418497363
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "WebView Android",
|
|
||||||
"schema": 1748390704866,
|
|
||||||
"status": "beta",
|
|
||||||
"version": "138",
|
|
||||||
"browserid": "webview_android",
|
|
||||||
"id": "ca0f7fe1-7bf2-4154-ab36-d759e08d0276",
|
|
||||||
"last_modified": 1748418497359
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome Android",
|
|
||||||
"schema": 1748390703880,
|
|
||||||
"status": "beta",
|
|
||||||
"version": "138",
|
|
||||||
"browserid": "chrome_android",
|
|
||||||
"id": "485be132-bf7e-4586-af0f-8e731365b8c8",
|
|
||||||
"last_modified": 1748418497354
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat for Android",
|
|
||||||
"schema": 1748390704532,
|
|
||||||
"status": "beta",
|
|
||||||
"version": "140",
|
|
||||||
"browserid": "icecat_android",
|
|
||||||
"id": "29671e58-5233-4969-8f3a-b3208e3b8f17",
|
|
||||||
"last_modified": 1748418497349
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat",
|
|
||||||
"schema": 1748390704196,
|
|
||||||
"status": "beta",
|
|
||||||
"version": "140",
|
|
||||||
"browserid": "icecat",
|
|
||||||
"id": "9949da65-f6be-41f4-9c9d-73bc27b4d2a0",
|
|
||||||
"last_modified": 1748418497345
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chrome",
|
|
||||||
"schema": 1748390703553,
|
|
||||||
"status": "beta",
|
|
||||||
"version": "138",
|
|
||||||
"browserid": "chrome",
|
|
||||||
"id": "ddeb0464-e5e9-4b00-816f-211de9a4e818",
|
|
||||||
"last_modified": 1748418497341
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Opera",
|
"name": "Opera",
|
||||||
"schema": 1747440304496,
|
"schema": 1747440304496,
|
||||||
|
|
@ -270,15 +306,6 @@
|
||||||
"id": "f6db5e03-957c-4d2b-a74b-d537ea26be3f",
|
"id": "f6db5e03-957c-4d2b-a74b-d537ea26be3f",
|
||||||
"last_modified": 1747642859915
|
"last_modified": 1747642859915
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Edge",
|
|
||||||
"schema": 1747440304162,
|
|
||||||
"status": "planned",
|
|
||||||
"version": "139",
|
|
||||||
"browserid": "edge",
|
|
||||||
"id": "c652a9a5-3a1c-4272-8a52-68dd4e9ae1b4",
|
|
||||||
"last_modified": 1747642859911
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Opera",
|
"name": "Opera",
|
||||||
"schema": 1747440304433,
|
"schema": 1747440304433,
|
||||||
|
|
@ -297,15 +324,6 @@
|
||||||
"id": "06763118-b650-4937-8d4c-55de017faa53",
|
"id": "06763118-b650-4937-8d4c-55de017faa53",
|
||||||
"last_modified": 1747642859896
|
"last_modified": 1747642859896
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Edge",
|
|
||||||
"schema": 1747440304090,
|
|
||||||
"status": "nightly",
|
|
||||||
"version": "138",
|
|
||||||
"browserid": "edge",
|
|
||||||
"id": "c9aa191e-ce6c-4f14-89b3-67877f64bc92",
|
|
||||||
"last_modified": 1747642859892
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Node.js",
|
"name": "Node.js",
|
||||||
"schema": 1747181110151,
|
"schema": 1747181110151,
|
||||||
|
|
@ -315,15 +333,6 @@
|
||||||
"id": "9e4eb0f8-808c-4ae9-b137-bf0172b24166",
|
"id": "9e4eb0f8-808c-4ae9-b137-bf0172b24166",
|
||||||
"last_modified": 1747199364436
|
"last_modified": 1747199364436
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "Opera Android",
|
|
||||||
"schema": 1745971504319,
|
|
||||||
"status": "current",
|
|
||||||
"version": "89",
|
|
||||||
"browserid": "opera_android",
|
|
||||||
"id": "0eafe050-dc00-409b-927e-e5eb457e33a6",
|
|
||||||
"last_modified": 1745991620101
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Node.js",
|
"name": "Node.js",
|
||||||
"schema": 1734480302872,
|
"schema": 1734480302872,
|
||||||
|
|
@ -333,24 +342,6 @@
|
||||||
"id": "5ba3aee3-2875-4a2c-938c-0f1f43e28488",
|
"id": "5ba3aee3-2875-4a2c-938c-0f1f43e28488",
|
||||||
"last_modified": 1735832995466
|
"last_modified": 1735832995466
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "IceCat for Android",
|
|
||||||
"schema": 1723593904156,
|
|
||||||
"status": "esr",
|
|
||||||
"version": "128",
|
|
||||||
"browserid": "icecat_android",
|
|
||||||
"id": "05aa43eb-3966-4fc1-8b33-53c493448d2d",
|
|
||||||
"last_modified": 1723628503801
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IceCat",
|
|
||||||
"schema": 1723593903753,
|
|
||||||
"status": "esr",
|
|
||||||
"version": "128",
|
|
||||||
"browserid": "icecat",
|
|
||||||
"id": "565161dc-52d8-4cb1-8cf3-8171b960f9e4",
|
|
||||||
"last_modified": 1723628503798
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Quest Browser",
|
"name": "Quest Browser",
|
||||||
"schema": 1665650596430,
|
"schema": 1665650596430,
|
||||||
|
|
@ -361,5 +352,5 @@
|
||||||
"last_modified": 1665656484764
|
"last_modified": 1665656484764
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1749710045183
|
"timestamp": 1751266171953
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4287,7 +4287,7 @@
|
||||||
},
|
},
|
||||||
"id": "04e99a38-13ee-47d8-8aa4-64482b3dea99",
|
"id": "04e99a38-13ee-47d8-8aa4-64482b3dea99",
|
||||||
"identifier": "ddg",
|
"identifier": "ddg",
|
||||||
"last_modified": 1754,
|
"last_modified": 1756,
|
||||||
"recordType": "engine",
|
"recordType": "engine",
|
||||||
"schema": 1718698362015,
|
"schema": 1718698362015,
|
||||||
"variants": [
|
"variants": [
|
||||||
|
|
@ -4301,7 +4301,7 @@
|
||||||
{
|
{
|
||||||
"globalDefault": "ddg",
|
"globalDefault": "ddg",
|
||||||
"id": "f3891684-2348-4e7a-9765-0c5d2d0ab1b9",
|
"id": "f3891684-2348-4e7a-9765-0c5d2d0ab1b9",
|
||||||
"last_modified": 1753,
|
"last_modified": 1755,
|
||||||
"recordType": "defaultEngines",
|
"recordType": "defaultEngines",
|
||||||
"schema": 1702901837584,
|
"schema": 1702901837584,
|
||||||
"specificDefaults": []
|
"specificDefaults": []
|
||||||
|
|
|
||||||
|
|
@ -361,7 +361,7 @@
|
||||||
"id": "wikipedia@search.mozilla.org"
|
"id": "wikipedia@search.mozilla.org"
|
||||||
},
|
},
|
||||||
"id": "3f3beb1d-e32e-40a4-b6ed-56741803e1d8",
|
"id": "3f3beb1d-e32e-40a4-b6ed-56741803e1d8",
|
||||||
"last_modified": 1754
|
"last_modified": 1756
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"params": {
|
"params": {
|
||||||
|
|
@ -404,8 +404,8 @@
|
||||||
"id": "ddg@search.mozilla.org"
|
"id": "ddg@search.mozilla.org"
|
||||||
},
|
},
|
||||||
"id": "c0b26c0e-63e6-4235-b2ce-5f16b6a8bf87",
|
"id": "c0b26c0e-63e6-4235-b2ce-5f16b6a8bf87",
|
||||||
"last_modified": 1753
|
"last_modified": 1755
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1754
|
"timestamp": 1756
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,303 @@
|
||||||
{
|
{
|
||||||
"data": [
|
"data": [
|
||||||
|
{
|
||||||
|
"schema": 1751854531997,
|
||||||
|
"subframes": [],
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": "ad_carousel",
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": ".adsMvCarousel"
|
||||||
|
},
|
||||||
|
"related": {
|
||||||
|
"selector": ".cr"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"selector": ".pa_item",
|
||||||
|
"countChildren": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ad_link",
|
||||||
|
"excluded": {
|
||||||
|
"parent": {
|
||||||
|
"selector": "aside"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": ".sb_adTA"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "ad_sitelink",
|
||||||
|
"selector": ".b_vlist2col"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ad_sidebar",
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": "aside"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"selector": ".pa_item, .sb_adTA",
|
||||||
|
"countChildren": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "incontent_searchbox",
|
||||||
|
"topDown": true,
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": "form#sb_form"
|
||||||
|
},
|
||||||
|
"related": {
|
||||||
|
"selector": "#sw_as"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"selector": "input[name='q']"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "cookie_banner",
|
||||||
|
"topDown": true,
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": "div#bnp_cookie_banner"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"selector": "button#bnp_btn_accept",
|
||||||
|
"eventListeners": [
|
||||||
|
{
|
||||||
|
"action": "clicked_accept",
|
||||||
|
"eventType": "click"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"selector": "button#bnp_btn_reject",
|
||||||
|
"eventListeners": [
|
||||||
|
{
|
||||||
|
"action": "clicked_reject",
|
||||||
|
"eventType": "click"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"selector": "a#bnp_btn_preference",
|
||||||
|
"eventListeners": [
|
||||||
|
{
|
||||||
|
"action": "clicked_more_options",
|
||||||
|
"eventType": "click"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ad_link",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shoppingTab": {
|
||||||
|
"regexp": "^/shop?",
|
||||||
|
"selector": "#b-scopeListItem-shop a"
|
||||||
|
},
|
||||||
|
"taggedCodes": [
|
||||||
|
"MOZ2",
|
||||||
|
"MOZ4",
|
||||||
|
"MOZ5",
|
||||||
|
"MOZA",
|
||||||
|
"MOZB",
|
||||||
|
"MOZD",
|
||||||
|
"MOZE",
|
||||||
|
"MOZI",
|
||||||
|
"MOZL",
|
||||||
|
"MOZM",
|
||||||
|
"MOZO",
|
||||||
|
"MOZR",
|
||||||
|
"MOZT",
|
||||||
|
"MOZW",
|
||||||
|
"MOZX",
|
||||||
|
"MZABT",
|
||||||
|
"MZCP",
|
||||||
|
"MZTOF",
|
||||||
|
"MZSL01",
|
||||||
|
"MZSL02",
|
||||||
|
"MZSL03"
|
||||||
|
],
|
||||||
|
"telemetryId": "bing",
|
||||||
|
"organicCodes": [],
|
||||||
|
"codeParamName": "pc",
|
||||||
|
"queryParamName": "q",
|
||||||
|
"followOnCookies": [
|
||||||
|
{
|
||||||
|
"host": "www.bing.com",
|
||||||
|
"name": "_SS",
|
||||||
|
"codeParamName": "PC",
|
||||||
|
"extraCodePrefixes": [],
|
||||||
|
"extraCodeParamName": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "www.bing.com",
|
||||||
|
"name": "SRCHS",
|
||||||
|
"codeParamName": "PC",
|
||||||
|
"extraCodePrefixes": [],
|
||||||
|
"extraCodeParamName": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "cn.bing.com",
|
||||||
|
"name": "_SS",
|
||||||
|
"codeParamName": "PC",
|
||||||
|
"extraCodePrefixes": [],
|
||||||
|
"extraCodeParamName": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"host": "cn.bing.com",
|
||||||
|
"name": "SRCHS",
|
||||||
|
"codeParamName": "PC",
|
||||||
|
"extraCodePrefixes": [],
|
||||||
|
"extraCodeParamName": ""
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"queryParamNames": [
|
||||||
|
"q"
|
||||||
|
],
|
||||||
|
"domainExtraction": {
|
||||||
|
"ads": [
|
||||||
|
{
|
||||||
|
"method": "textContent",
|
||||||
|
"selectors": "#b_results .b_ad .b_attribution cite, .adsMvCarousel cite, aside cite"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nonAds": [
|
||||||
|
{
|
||||||
|
"method": "textContent",
|
||||||
|
"selectors": "#b_results .b_algo .b_attribution cite"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"searchPageRegexp": "^https://(?:cn|www)\\.bing\\.com/search",
|
||||||
|
"nonAdsLinkRegexps": [
|
||||||
|
"^https://(?:cn|www).bing.com/ck/a"
|
||||||
|
],
|
||||||
|
"searchPageMatches": [
|
||||||
|
"https://(?:cn|www).bing.com/search*"
|
||||||
|
],
|
||||||
|
"extraAdServersRegexps": [
|
||||||
|
"^https://(?:cn|www)\\.bing\\.com/acli?c?k"
|
||||||
|
],
|
||||||
|
"id": "e1eec461-f1f3-40de-b94b-3b670b78108c",
|
||||||
|
"last_modified": 1751891587705
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schema": 1750817732643,
|
||||||
|
"subframes": [
|
||||||
|
{
|
||||||
|
"regexp": "^https://syndicatedsearch\\.goog/afs/ads",
|
||||||
|
"inspectRegexpInSERP": true,
|
||||||
|
"inspectRegexpInParent": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"components": [
|
||||||
|
{
|
||||||
|
"type": "ad_carousel",
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": ".product-ads-carousel"
|
||||||
|
},
|
||||||
|
"related": {
|
||||||
|
"selector": ".snippet__control"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"selector": ".product-ads-carousel__item",
|
||||||
|
"countChildren": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ad_link",
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": ".ad-result"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "ad_sitelink",
|
||||||
|
"selector": ".result__extra-content .deep-links--descriptions"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "incontent_searchbox",
|
||||||
|
"topDown": true,
|
||||||
|
"included": {
|
||||||
|
"parent": {
|
||||||
|
"selector": "form.search-form"
|
||||||
|
},
|
||||||
|
"related": {
|
||||||
|
"selector": ".search-form__suggestions"
|
||||||
|
},
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"selector": ".search-form__input, .search-form__submit"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ad_link",
|
||||||
|
"default": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shoppingTab": {
|
||||||
|
"regexp": "/shopping?",
|
||||||
|
"selector": "nav li[data-test-id='search-navigation-item-shopping'] a"
|
||||||
|
},
|
||||||
|
"taggedCodes": [
|
||||||
|
"mzl",
|
||||||
|
"813cf1dd",
|
||||||
|
"16eeffc4"
|
||||||
|
],
|
||||||
|
"telemetryId": "ecosia",
|
||||||
|
"organicCodes": [],
|
||||||
|
"codeParamName": "tt",
|
||||||
|
"queryParamName": "q",
|
||||||
|
"queryParamNames": [
|
||||||
|
"q"
|
||||||
|
],
|
||||||
|
"searchPageRegexp": "^https://www\\.ecosia\\.org/",
|
||||||
|
"filter_expression": "env.version|versionCompare(\"110.0a1\")>=0",
|
||||||
|
"searchPageMatches": [
|
||||||
|
"https://www.ecosia.org/*"
|
||||||
|
],
|
||||||
|
"expectedOrganicCodes": [],
|
||||||
|
"extraAdServersRegexps": [
|
||||||
|
"^https://www\\.bing\\.com/acli?c?k",
|
||||||
|
"^https://syndicatedsearch\\.goog/aclk\\?",
|
||||||
|
"^https://www\\.googleadservices\\.com/pagead/aclk\\?"
|
||||||
|
],
|
||||||
|
"id": "9a487171-3a06-4647-8866-36250ec84f3a",
|
||||||
|
"last_modified": 1750880107190
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"schema": 1748966468517,
|
"schema": 1748966468517,
|
||||||
"subframes": [],
|
"subframes": [],
|
||||||
|
|
@ -295,197 +593,6 @@
|
||||||
"id": "635a3325-1995-42d6-be09-dbe4b2a95453",
|
"id": "635a3325-1995-42d6-be09-dbe4b2a95453",
|
||||||
"last_modified": 1749153997368
|
"last_modified": 1749153997368
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1747075599737,
|
|
||||||
"subframes": [],
|
|
||||||
"components": [
|
|
||||||
{
|
|
||||||
"type": "ad_carousel",
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": ".adsMvCarousel"
|
|
||||||
},
|
|
||||||
"related": {
|
|
||||||
"selector": ".cr"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"selector": ".pa_item",
|
|
||||||
"countChildren": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "ad_link",
|
|
||||||
"excluded": {
|
|
||||||
"parent": {
|
|
||||||
"selector": "aside"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": ".sb_adTA"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "ad_sitelink",
|
|
||||||
"selector": ".b_vlist2col"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "ad_sidebar",
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": "aside"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"selector": ".pa_item, .sb_adTA",
|
|
||||||
"countChildren": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "incontent_searchbox",
|
|
||||||
"topDown": true,
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": "form#sb_form"
|
|
||||||
},
|
|
||||||
"related": {
|
|
||||||
"selector": "#sw_as"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"selector": "input[name='q']"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "cookie_banner",
|
|
||||||
"topDown": true,
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": "div#bnp_cookie_banner"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"selector": "button#bnp_btn_accept",
|
|
||||||
"eventListeners": [
|
|
||||||
{
|
|
||||||
"action": "clicked_accept",
|
|
||||||
"eventType": "click"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector": "button#bnp_btn_reject",
|
|
||||||
"eventListeners": [
|
|
||||||
{
|
|
||||||
"action": "clicked_reject",
|
|
||||||
"eventType": "click"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"selector": "a#bnp_btn_preference",
|
|
||||||
"eventListeners": [
|
|
||||||
{
|
|
||||||
"action": "clicked_more_options",
|
|
||||||
"eventType": "click"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "ad_link",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"shoppingTab": {
|
|
||||||
"regexp": "^/shop?",
|
|
||||||
"selector": "#b-scopeListItem-shop a"
|
|
||||||
},
|
|
||||||
"taggedCodes": [
|
|
||||||
"MOZ2",
|
|
||||||
"MOZ4",
|
|
||||||
"MOZ5",
|
|
||||||
"MOZA",
|
|
||||||
"MOZB",
|
|
||||||
"MOZD",
|
|
||||||
"MOZE",
|
|
||||||
"MOZI",
|
|
||||||
"MOZL",
|
|
||||||
"MOZM",
|
|
||||||
"MOZO",
|
|
||||||
"MOZR",
|
|
||||||
"MOZT",
|
|
||||||
"MOZW",
|
|
||||||
"MOZX",
|
|
||||||
"MZABT",
|
|
||||||
"MZCP",
|
|
||||||
"MZTOF",
|
|
||||||
"MZSL01",
|
|
||||||
"MZSL02",
|
|
||||||
"MZSL03"
|
|
||||||
],
|
|
||||||
"telemetryId": "bing",
|
|
||||||
"organicCodes": [],
|
|
||||||
"codeParamName": "pc",
|
|
||||||
"queryParamName": "q",
|
|
||||||
"followOnCookies": [
|
|
||||||
{
|
|
||||||
"host": "www.bing.com",
|
|
||||||
"name": "_SS",
|
|
||||||
"codeParamName": "PC",
|
|
||||||
"extraCodePrefixes": [],
|
|
||||||
"extraCodeParamName": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"host": "www.bing.com",
|
|
||||||
"name": "SRCHS",
|
|
||||||
"codeParamName": "PC",
|
|
||||||
"extraCodePrefixes": [],
|
|
||||||
"extraCodeParamName": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"queryParamNames": [
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
"domainExtraction": {
|
|
||||||
"ads": [
|
|
||||||
{
|
|
||||||
"method": "textContent",
|
|
||||||
"selectors": "#b_results .b_ad .b_attribution cite, .adsMvCarousel cite, aside cite"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"nonAds": [
|
|
||||||
{
|
|
||||||
"method": "textContent",
|
|
||||||
"selectors": "#b_results .b_algo .b_attribution cite"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"searchPageRegexp": "^https://www\\.bing\\.com/search",
|
|
||||||
"nonAdsLinkRegexps": [
|
|
||||||
"^https://www.bing.com/ck/a"
|
|
||||||
],
|
|
||||||
"searchPageMatches": [
|
|
||||||
"https://www.bing.com/search*"
|
|
||||||
],
|
|
||||||
"extraAdServersRegexps": [
|
|
||||||
"^https://www\\.bing\\.com/acli?c?k"
|
|
||||||
],
|
|
||||||
"id": "e1eec461-f1f3-40de-b94b-3b670b78108c",
|
|
||||||
"last_modified": 1747257937608
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"isSPA": true,
|
"isSPA": true,
|
||||||
"schema": 1741189704472,
|
"schema": 1741189704472,
|
||||||
|
|
@ -757,99 +864,7 @@
|
||||||
],
|
],
|
||||||
"id": "19c434a3-d173-4871-9743-290ac92a3f6a",
|
"id": "19c434a3-d173-4871-9743-290ac92a3f6a",
|
||||||
"last_modified": 1741781945955
|
"last_modified": 1741781945955
|
||||||
},
|
|
||||||
{
|
|
||||||
"schema": 1741189700650,
|
|
||||||
"subframes": [
|
|
||||||
{
|
|
||||||
"regexp": "^https://syndicatedsearch\\.goog/afs/ads",
|
|
||||||
"inspectRegexpInSERP": true,
|
|
||||||
"inspectRegexpInParent": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"components": [
|
|
||||||
{
|
|
||||||
"type": "ad_carousel",
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": ".product-ads-carousel"
|
|
||||||
},
|
|
||||||
"related": {
|
|
||||||
"selector": ".snippet__control"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"selector": ".product-ads-carousel__item",
|
|
||||||
"countChildren": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "ad_link",
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": ".ad-result"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "ad_sitelink",
|
|
||||||
"selector": ".result__extra-content .deep-links--descriptions"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "incontent_searchbox",
|
|
||||||
"topDown": true,
|
|
||||||
"included": {
|
|
||||||
"parent": {
|
|
||||||
"selector": "form.search-form"
|
|
||||||
},
|
|
||||||
"related": {
|
|
||||||
"selector": ".search-form__suggestions"
|
|
||||||
},
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"selector": ".search-form__input, .search-form__submit"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "ad_link",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"shoppingTab": {
|
|
||||||
"regexp": "/shopping?",
|
|
||||||
"selector": "nav li[data-test-id='search-navigation-item-shopping'] a"
|
|
||||||
},
|
|
||||||
"taggedCodes": [
|
|
||||||
"mzl",
|
|
||||||
"813cf1dd",
|
|
||||||
"16eeffc4"
|
|
||||||
],
|
|
||||||
"telemetryId": "ecosia",
|
|
||||||
"organicCodes": [],
|
|
||||||
"codeParamName": "tt",
|
|
||||||
"queryParamName": "q",
|
|
||||||
"queryParamNames": [
|
|
||||||
"q"
|
|
||||||
],
|
|
||||||
"searchPageRegexp": "^https://www\\.ecosia\\.org/",
|
|
||||||
"filter_expression": "env.version|versionCompare(\"110.0a1\")>=0",
|
|
||||||
"searchPageMatches": [
|
|
||||||
"https://www.ecosia.org/*"
|
|
||||||
],
|
|
||||||
"expectedOrganicCodes": [],
|
|
||||||
"extraAdServersRegexps": [
|
|
||||||
"^https://www\\.bing\\.com/acli?c?k",
|
|
||||||
"^https://syndicatedsearch\\.goog/aclk\\?"
|
|
||||||
],
|
|
||||||
"id": "9a487171-3a06-4647-8866-36250ec84f3a",
|
|
||||||
"last_modified": 1741781945953
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1749153997368
|
"timestamp": 1751891587705
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,124 +1,24 @@
|
||||||
{
|
{
|
||||||
"changes": [
|
"changes": [
|
||||||
{
|
|
||||||
"last_modified": 1748485472559,
|
|
||||||
"bucket": "blocklists",
|
|
||||||
"collection": "gfx"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1749818177432,
|
|
||||||
"bucket": "blocklists",
|
|
||||||
"collection": "addons-bloomfilters"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"last_modified": 1604940558744,
|
"last_modified": 1604940558744,
|
||||||
"bucket": "blocklists",
|
"bucket": "blocklists",
|
||||||
"collection": "addons"
|
"collection": "addons"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"last_modified": 1749710045183,
|
"last_modified": 1748485472559,
|
||||||
"bucket": "main",
|
"bucket": "blocklists",
|
||||||
"collection": "devtools-compatibility-browsers"
|
"collection": "gfx"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"last_modified": 1749153997368,
|
"last_modified": 1752258970807,
|
||||||
"bucket": "main",
|
"bucket": "blocklists",
|
||||||
"collection": "search-telemetry-v2"
|
"collection": "addons-bloomfilters"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"last_modified": 1544035467383,
|
"last_modified": 1752159422751,
|
||||||
"bucket": "main",
|
"bucket": "security-state",
|
||||||
"collection": "sites-classification"
|
"collection": "intermediates"
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1749069444811,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "translations-wasm"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1633983928590,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "top-sites"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1745933974542,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "search-config-v2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 0,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "search-config-overrides"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1725526980846,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "cookie-banner-rules-list"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1673270322227,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "language-dictionaries"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1749763158840,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "translations-models"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1605801189258,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "hijack-blocklists"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1739471652383,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "url-classifier-skip-urls"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1653469171354,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "devtools-devices"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1564511755134,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "anti-tracking-url-decoration"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1738775297137,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "websites-with-shared-credential-backends"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1754,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "search-config"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1743683182607,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "password-rules"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1746562822691,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "search-config-icons"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 0,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "search-config-overrides-v2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1744749743529,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "search-default-override-allowlist"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"last_modified": 1674595048726,
|
|
||||||
"bucket": "main",
|
|
||||||
"collection": "password-recipes"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"last_modified": 1747787134572,
|
"last_modified": 1747787134572,
|
||||||
|
|
@ -126,10 +26,110 @@
|
||||||
"collection": "onecrl"
|
"collection": "onecrl"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"last_modified": 1749221822598,
|
"last_modified": 1752267318690,
|
||||||
"bucket": "security-state",
|
"bucket": "main",
|
||||||
"collection": "intermediates"
|
"collection": "translations-models"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1743683182607,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "password-rules"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1751266171953,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "devtools-compatibility-browsers"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 0,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-config-overrides-v2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1725526980846,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "cookie-banner-rules-list"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1749069444811,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "translations-wasm"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1738775297137,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "websites-with-shared-credential-backends"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1674595048726,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "password-recipes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 0,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-config-overrides"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1633983928590,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "top-sites"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1751891587705,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-telemetry-v2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1564511755134,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "anti-tracking-url-decoration"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1544035467383,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "sites-classification"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1653469171354,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "devtools-devices"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1746562822691,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-config-icons"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1745933974542,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-config-v2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1756,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-config"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1739471652383,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "url-classifier-skip-urls"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1744749743529,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "search-default-override-allowlist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1605801189258,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "hijack-blocklists"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"last_modified": 1673270322227,
|
||||||
|
"bucket": "main",
|
||||||
|
"collection": "language-dictionaries"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1753
|
"timestamp": 1755
|
||||||
}
|
}
|
||||||
|
|
@ -1,5 +1,83 @@
|
||||||
{
|
{
|
||||||
"data": [
|
"data": [
|
||||||
|
{
|
||||||
|
"schema": 1752155863326,
|
||||||
|
"derHash": "dx59bC13t7kOG0/32/6j4a19JJ0Ncp7QRVZ7XBZAknY=",
|
||||||
|
"attachment": {
|
||||||
|
"hash": "1ae45b7b0ceef35190fcbaf30c8b0442d2f2caa0a5519ffff89b9a5152bb84c0",
|
||||||
|
"size": 1305,
|
||||||
|
"filename": "wyPygwouDrmZ9JjrHsSya44hCIbHB0O1i3IMIeU20FE=.pem",
|
||||||
|
"location": "security-state-staging/intermediates/befc0f92-2e21-4ed1-900b-8947f01e7372.pem",
|
||||||
|
"mimetype": "application/x-pem-file"
|
||||||
|
},
|
||||||
|
"id": "85d03609-d84b-4554-a164-7d75746b959d",
|
||||||
|
"last_modified": 1752159422751
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schema": 1752155862293,
|
||||||
|
"derHash": "mAWUbNRs0vIidtRj9YLU6BHuJAJdjBfW7QrOOPc2Z0w=",
|
||||||
|
"attachment": {
|
||||||
|
"hash": "f1280eef8ebc2ff612458b2798279e95d5172d8883a5b646a68b352fbed96f4b",
|
||||||
|
"size": 2109,
|
||||||
|
"filename": "83xSo8lPiDB3NfbtH8Sf6nnd6a_5lf9oOooQ86ca04I=.pem",
|
||||||
|
"location": "security-state-staging/intermediates/74958bc5-8cdf-4aaa-a74a-5f74bcd32b6d.pem",
|
||||||
|
"mimetype": "application/x-pem-file"
|
||||||
|
},
|
||||||
|
"id": "77a5b5de-9cfa-4d8b-8f6d-570f0afa4d3c",
|
||||||
|
"last_modified": 1752159422748
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schema": 1752155864301,
|
||||||
|
"derHash": "Rud26nxsD5HxzeMXVfhkxFphgS8cN47VWU4Tu03mM8M=",
|
||||||
|
"attachment": {
|
||||||
|
"hash": "43be86a2c15a4438f0f6135b49ef56ea9d5ecc5688c3744dddd47258fb6116c1",
|
||||||
|
"size": 2450,
|
||||||
|
"filename": "2PetmpDyIF3lqvSYiYQyKHCHGnW0P7DdIC1MnDREeHc=.pem",
|
||||||
|
"location": "security-state-staging/intermediates/42f7aee8-d33a-445f-871c-affdc0cb6809.pem",
|
||||||
|
"mimetype": "application/x-pem-file"
|
||||||
|
},
|
||||||
|
"id": "f9b2d933-0eae-46e6-942a-41244569963a",
|
||||||
|
"last_modified": 1752159422744
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schema": 1751896661778,
|
||||||
|
"derHash": "EflXHDDC3iMnU9WxWMVPd7CgLf9BcTV1LTLpi4m8lxk=",
|
||||||
|
"attachment": {
|
||||||
|
"hash": "d57e574d55d96c379a3926a86cd251a818034e0950b914ee0955f9f6e52a3c93",
|
||||||
|
"size": 2406,
|
||||||
|
"filename": "i-KvnAmgyN3RFmy3WIX3PLPVfLL7ohyVZ6NMlvZbwME=.pem",
|
||||||
|
"location": "security-state-staging/intermediates/7c7c258a-b262-4f87-a321-3ca974337bb4.pem",
|
||||||
|
"mimetype": "application/x-pem-file"
|
||||||
|
},
|
||||||
|
"id": "b08c45a5-1cc0-4c09-afd6-5b60ab026262",
|
||||||
|
"last_modified": 1751900222448
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schema": 1750730263299,
|
||||||
|
"derHash": "LguEGJ/5dAwUDMfr3aBRosI58d7rEvxMVtvVAPlTmNg=",
|
||||||
|
"attachment": {
|
||||||
|
"hash": "c4d199ed4f7b32cdadcf429f7b1d962e6a3c034fe3b704492b0ac16fcd1b00b2",
|
||||||
|
"size": 1853,
|
||||||
|
"filename": "joN6IPaPB9ALd3OzEFQHSQcSICs0_U_MmT4qcKgSXrc=.pem",
|
||||||
|
"location": "security-state-staging/intermediates/f96f2779-246d-471e-b62b-242743e655e3.pem",
|
||||||
|
"mimetype": "application/x-pem-file"
|
||||||
|
},
|
||||||
|
"id": "d58e8eea-15e8-46e4-a20b-aad35a61dfdd",
|
||||||
|
"last_modified": 1750733822397
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schema": 1750255062558,
|
||||||
|
"derHash": "sOcUWki5+uSkmQcf6cT6WQMt9y51lVsrPvt5WZ5KU+A=",
|
||||||
|
"attachment": {
|
||||||
|
"hash": "f1f67fdd9b44a170657f5ecb602b7115773ba1a9ee24505ac5d702c7bc16a3bb",
|
||||||
|
"size": 2369,
|
||||||
|
"filename": "Vo0kHXgA-__lFjaxinaazmjp6Snzw2dANQzv6YTU5n0=.pem",
|
||||||
|
"location": "security-state-staging/intermediates/1cd9e0f2-1935-4231-ae43-19ac3d9aef8c.pem",
|
||||||
|
"mimetype": "application/x-pem-file"
|
||||||
|
},
|
||||||
|
"id": "7422ccce-eccc-4a7f-a6b7-f9481a9c169b",
|
||||||
|
"last_modified": 1750258622612
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"schema": 1749218267234,
|
"schema": 1749218267234,
|
||||||
"derHash": "M7W3wh5mUE/T7mWw/g0SwxdboqYWRBtxM9s8Eja1Xfc=",
|
"derHash": "M7W3wh5mUE/T7mWw/g0SwxdboqYWRBtxM9s8Eja1Xfc=",
|
||||||
|
|
@ -7296,42 +7374,6 @@
|
||||||
"id": "9604f1d4-9179-4db7-a8ef-e1fca8de5e17",
|
"id": "9604f1d4-9179-4db7-a8ef-e1fca8de5e17",
|
||||||
"last_modified": 1704470223072
|
"last_modified": 1704470223072
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1703537607315,
|
|
||||||
"derHash": "ctcW97tr0QVwT0K5UkkjUQ3LhbLYcMDpraWuuclpBRo=",
|
|
||||||
"subject": "CN=ePKI Root Certification Authority - G2,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MGMxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEvMC0GA1UEAwwmZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzI=",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "aff986340dcc592a5eacd96a6044c07f55438a9b0214921ea5306a0ea997fed9",
|
|
||||||
"size": 2804,
|
|
||||||
"filename": "tInMsiS5prgd0nTOr1IJwlKZjJp2r0jk9MUKByhGGCU=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/1cd7753f-d18c-4864-8129-0ea1a5092f75.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "tInMsiS5prgd0nTOr1IJwlKZjJp2r0jk9MUKByhGGCU=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "4e467304-4cae-4b24-8542-fa721e586cfb",
|
|
||||||
"last_modified": 1703537823229
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"schema": 1703537607030,
|
|
||||||
"derHash": "aAfJcjXF7GCQJppLX+36tGmG5C9NZ9Lt3c9uRc8N+oA=",
|
|
||||||
"subject": "CN=HiPKI Root CA - G1,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "ME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "c94a4c47c3048f75024cf6c844a614b253f7ee3823a41c0e39e567effea001fc",
|
|
||||||
"size": 2328,
|
|
||||||
"filename": "ecqvU0fm5KlMjniphJb8dAIPgJ7eE_Ig-rYQTI3tMp8=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/24d59f73-321d-498a-8fa9-3f4111529687.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "ecqvU0fm5KlMjniphJb8dAIPgJ7eE/Ig+rYQTI3tMp8=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "64de4f00-ad9d-48db-9d46-2c27c55f4337",
|
|
||||||
"last_modified": 1703537823226
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1702979286308,
|
"schema": 1702979286308,
|
||||||
"derHash": "hHQJ5jUm8WJ1OsSfdSGO+q+n1clK3pCVznLn9rbjrJk=",
|
"derHash": "hHQJ5jUm8WJ1OsSfdSGO+q+n1clK3pCVznLn9rbjrJk=",
|
||||||
|
|
@ -12426,24 +12468,6 @@
|
||||||
"id": "b97451e0-61f4-46a5-908d-5fd947861af6",
|
"id": "b97451e0-61f4-46a5-908d-5fd947861af6",
|
||||||
"last_modified": 1666727875348
|
"last_modified": 1666727875348
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1666727336675,
|
|
||||||
"derHash": "2uNDT2lvyfD2UuGypvabXpJz0J9DvTvdRxfWFB+M0sI=",
|
|
||||||
"subject": "OU=Public Certification Authority - G2,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MGAxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEsMCoGA1UECwwjUHVibGljIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzI=",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "d35775690c65ebee8113249b23f19a293655d0ed08e999f64243089ed009db1b",
|
|
||||||
"size": 2129,
|
|
||||||
"filename": "tnFqrstaexEa6Zz-CVGGozhI8IF1FafM6uzX3zzHrUI=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/07e9d719-440e-4db5-9e24-7f15cd5cee54.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "tnFqrstaexEa6Zz+CVGGozhI8IF1FafM6uzX3zzHrUI=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "9bae286e-930a-4285-8a27-54c6509f3077",
|
|
||||||
"last_modified": 1666727875331
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1666727377394,
|
"schema": 1666727377394,
|
||||||
"derHash": "GDWw5ILqZVNvwBDkvBPAYPZWaBZfupfi9ULOlspt/vw=",
|
"derHash": "GDWw5ILqZVNvwBDkvBPAYPZWaBZfupfi9ULOlspt/vw=",
|
||||||
|
|
@ -13092,24 +13116,6 @@
|
||||||
"id": "9dfe1a67-5cce-4d31-a077-99d8791d279d",
|
"id": "9dfe1a67-5cce-4d31-a077-99d8791d279d",
|
||||||
"last_modified": 1666727874573
|
"last_modified": 1666727874573
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1666727376029,
|
|
||||||
"derHash": "YJkw64B61CCv2iqKphtnSDA5FozXZuCZQqSL/n873BA=",
|
|
||||||
"subject": "OU=Public Certification Authority - G2,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MGAxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEsMCoGA1UECwwjUHVibGljIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzI=",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "b2b74d8c5d2ce4f283391974773f823f1441c476105a4e78f1b99db3e02f9528",
|
|
||||||
"size": 2117,
|
|
||||||
"filename": "tnFqrstaexEa6Zz-CVGGozhI8IF1FafM6uzX3zzHrUI=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/b062306c-bad7-433f-bcc1-81512b1194eb.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "tnFqrstaexEa6Zz+CVGGozhI8IF1FafM6uzX3zzHrUI=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "4835ad01-5f2c-4639-abc1-05d2b5279fb5",
|
|
||||||
"last_modified": 1666727874544
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1666727343840,
|
"schema": 1666727343840,
|
||||||
"derHash": "LeYg8tEgCqkLFsPM9nD9ftFDeasG+osDHP742gUepaI=",
|
"derHash": "LeYg8tEgCqkLFsPM9nD9ftFDeasG+osDHP742gUepaI=",
|
||||||
|
|
@ -24396,24 +24402,6 @@
|
||||||
"id": "abf9e632-aa0d-4b33-a74e-1afa980faa53",
|
"id": "abf9e632-aa0d-4b33-a74e-1afa980faa53",
|
||||||
"last_modified": 1663293423105
|
"last_modified": 1663293423105
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1663225023673,
|
|
||||||
"derHash": "q97sUxSQmPigsH79lys0Wom+3o7eaXXmG+le4Cbafvo=",
|
|
||||||
"subject": "CN=Actalis Client Authentication CA G1,O=Actalis S.p.A./03358520967,L=Milano,ST=Milano,C=IT",
|
|
||||||
"subjectDN": "MIGCMQswCQYDVQQGEwJJVDEPMA0GA1UECAwGTWlsYW5vMQ8wDQYDVQQHDAZNaWxhbm8xIzAhBgNVBAoMGkFjdGFsaXMgUy5wLkEuLzAzMzU4NTIwOTY3MSwwKgYDVQQDDCNBY3RhbGlzIENsaWVudCBBdXRoZW50aWNhdGlvbiBDQSBHMQ==",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "737f0f0ce1590b65bb7efa52f0521e84ec1ac16313c8b4c6cd288064af2d127d",
|
|
||||||
"size": 2235,
|
|
||||||
"filename": "YsqG87ugr7iITRNFFaHeNX5oMmY80JlEVuqBCxAhZAM=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/5df58a07-e383-4a1a-8af4-9471aa61c013.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "YsqG87ugr7iITRNFFaHeNX5oMmY80JlEVuqBCxAhZAM=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "621a2382-280e-48de-b859-5293ba5379b7",
|
|
||||||
"last_modified": 1663246623215
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1662515823574,
|
"schema": 1662515823574,
|
||||||
"derHash": "Yjq+xvhacCisoQ9b3F2BtWtjFN8odD/8yE7KMvNa6EY=",
|
"derHash": "Yjq+xvhacCisoQ9b3F2BtWtjFN8odD/8yE7KMvNa6EY=",
|
||||||
|
|
@ -27240,42 +27228,6 @@
|
||||||
"id": "e23e350c-f4ed-46ee-a1f2-560e15138f5e",
|
"id": "e23e350c-f4ed-46ee-a1f2-560e15138f5e",
|
||||||
"last_modified": 1645578266173
|
"last_modified": 1645578266173
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1643316508186,
|
|
||||||
"derHash": "S9FvSVXz88nI6kjvmZUyTaUSFyT4mRXV8skesLrvIzc=",
|
|
||||||
"subject": "OU=Public Certification Authority,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MFsxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEnMCUGA1UECwweUHVibGljIENlcnRpZmljYXRpb24gQXV0aG9yaXR5",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "689c7ab13bb497838c62b566e5da7f914f4cf9354f08643500263bcfb46a32a3",
|
|
||||||
"size": 2105,
|
|
||||||
"filename": "qMjf0br8Ay71_wiJ0t25y4v3IWwirr3SF1bWHJzkbnE=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/c2017a82-2237-4c28-8656-5764f263e185.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "qMjf0br8Ay71/wiJ0t25y4v3IWwirr3SF1bWHJzkbnE=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "a869aa70-b82b-40fc-b8b7-123af99bb58e",
|
|
||||||
"last_modified": 1643317054972
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"schema": 1643295453377,
|
|
||||||
"derHash": "RksOwKYC8Bk9tfM5EYhaOmGSGtFtJmTiW++rEM+m7SU=",
|
|
||||||
"subject": "OU=Public Certification Authority,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MFsxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEnMCUGA1UECwweUHVibGljIENlcnRpZmljYXRpb24gQXV0aG9yaXR5",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "49845caec147a9f80e7f49b5e4b2b8629653bccf72d7aa8dfa0b7029f5d75514",
|
|
||||||
"size": 1934,
|
|
||||||
"filename": "qMjf0br8Ay71_wiJ0t25y4v3IWwirr3SF1bWHJzkbnE=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/cabaf189-98ae-41ee-8da3-966fb99dbea2.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "qMjf0br8Ay71/wiJ0t25y4v3IWwirr3SF1bWHJzkbnE=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "201bbcbe-98a9-4e1d-9ba8-1d91ccaef4d5",
|
|
||||||
"last_modified": 1643317054962
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1642150113750,
|
"schema": 1642150113750,
|
||||||
"derHash": "fPY09fr+ndzIizbWsefr+3B4A01kQZ58Z4M15W2CNCE=",
|
"derHash": "fPY09fr+ndzIizbWsefr+3B4A01kQZ58Z4M15W2CNCE=",
|
||||||
|
|
@ -27816,24 +27768,6 @@
|
||||||
"id": "db10a85d-fae6-4776-b901-d09000033eca",
|
"id": "db10a85d-fae6-4776-b901-d09000033eca",
|
||||||
"last_modified": 1601517444423
|
"last_modified": 1601517444423
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1601376733088,
|
|
||||||
"derHash": "ZHFyUK+LAo3Y5cC65MkULIsQNTJhK8SHCF/Twxn5wGc=",
|
|
||||||
"subject": "CN=ePKI Root Certification Authority - G2,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MGMxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEvMC0GA1UEAwwmZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzI=",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "73789188b1ff6dcd70442594b8ff119cb7b30d858c0e7f072cf8a014cd8f296a",
|
|
||||||
"size": 2649,
|
|
||||||
"filename": "tInMsiS5prgd0nTOr1IJwlKZjJp2r0jk9MUKByhGGCU=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/3785b85c-da3b-4b7b-bd12-2796cce60c04.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "tInMsiS5prgd0nTOr1IJwlKZjJp2r0jk9MUKByhGGCU=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "ee033ab1-7bfc-4f08-b26a-b3b2bce86767",
|
|
||||||
"last_modified": 1601517444135
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1601376755836,
|
"schema": 1601376755836,
|
||||||
"derHash": "joxuv3fcc9s+OOk/SAPmK2tZM761HuQVL2jXqhRCazE=",
|
"derHash": "joxuv3fcc9s+OOk/SAPmK2tZM761HuQVL2jXqhRCazE=",
|
||||||
|
|
@ -27870,42 +27804,6 @@
|
||||||
"id": "ff319db3-4ac0-4406-9c29-03f632e42c98",
|
"id": "ff319db3-4ac0-4406-9c29-03f632e42c98",
|
||||||
"last_modified": 1601517443342
|
"last_modified": 1601517443342
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"schema": 1601376763286,
|
|
||||||
"derHash": "0QjDSljA5KYWRJ+MSDGAI6IpyGzT3dXV/mBBpAHBahQ=",
|
|
||||||
"subject": "OU=ePKI Root Certification Authority,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "15e5931fc9e514bb8bf23b5f5c3c40bb3131ccf6ed8b0857416342b002b8db15",
|
|
||||||
"size": 2645,
|
|
||||||
"filename": "YlVMFwBVQ7I3IV8EJo3NL9HEcCQK08hmDiWuLFljD1U=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/a894f5a2-8e74-4828-97c6-41052369ca59.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "YlVMFwBVQ7I3IV8EJo3NL9HEcCQK08hmDiWuLFljD1U=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "056b1bcf-53e9-405c-96eb-eea77dcff395",
|
|
||||||
"last_modified": 1601517442680
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"schema": 1601376780263,
|
|
||||||
"derHash": "GEZ8TmTVhshEpERm3lunptWWnHqShZpRHF/a11sDzc4=",
|
|
||||||
"subject": "CN=ePKI Root Certification Authority - G2,O=Chunghwa Telecom Co.\\, Ltd.,C=TW",
|
|
||||||
"subjectDN": "MGMxCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEvMC0GA1UEAwwmZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzI=",
|
|
||||||
"whitelist": false,
|
|
||||||
"attachment": {
|
|
||||||
"hash": "6bf1025a0f2a333a3a9f9cf1fa26d326f099cad7c0d6658f30ea16733092bd7a",
|
|
||||||
"size": 2621,
|
|
||||||
"filename": "tInMsiS5prgd0nTOr1IJwlKZjJp2r0jk9MUKByhGGCU=.pem",
|
|
||||||
"location": "security-state-staging/intermediates/c7b2feb5-da29-4802-ba1d-e34f9184099c.pem",
|
|
||||||
"mimetype": "application/x-pem-file"
|
|
||||||
},
|
|
||||||
"pubKeyHash": "tInMsiS5prgd0nTOr1IJwlKZjJp2r0jk9MUKByhGGCU=",
|
|
||||||
"crlite_enrolled": false,
|
|
||||||
"id": "ca26521c-22ff-48b3-bd4d-3c06d4ffa75a",
|
|
||||||
"last_modified": 1601517442632
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"schema": 1601376748460,
|
"schema": 1601376748460,
|
||||||
"derHash": "cvmvIVgYG68W1gybTm9L18qNI0GtSK/bZ8tMgzLVRvY=",
|
"derHash": "cvmvIVgYG68W1gybTm9L18qNI0GtSK/bZ8tMgzLVRvY=",
|
||||||
|
|
@ -29977,5 +29875,5 @@
|
||||||
"last_modified": 1559865884636
|
"last_modified": 1559865884636
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timestamp": 1749567422319
|
"timestamp": 1752159422751
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
20250616190003
|
20250714124554
|
||||||
https://hg.mozilla.org/releases/mozilla-esr128/rev/f3f836bf735d55fcfdf97dd3788f7952419dea1f
|
https://hg.mozilla.org/releases/mozilla-esr128/rev/81d51b1bf06d4dff8aa050ca9d4b830517b5768d
|
||||||
|
|
|
||||||
|
|
@ -793,15 +793,15 @@ workers:
|
||||||
provisioner: scriptworker-prov-v1
|
provisioner: scriptworker-prov-v1
|
||||||
implementation: scriptworker-signing
|
implementation: scriptworker-signing
|
||||||
os: macosx
|
os: macosx
|
||||||
worker-type: depsigning-mac-v1
|
worker-type: dep-gecko-signing-mac14m2
|
||||||
mac-signing:
|
mac-signing:
|
||||||
provisioner: scriptworker-prov-v1
|
provisioner: scriptworker-prov-v1
|
||||||
implementation: scriptworker-signing
|
implementation: scriptworker-signing
|
||||||
os: macosx
|
os: macosx
|
||||||
worker-type:
|
worker-type:
|
||||||
by-release-level:
|
by-release-level:
|
||||||
production: signing-mac-v1
|
production: gecko-signing-mac14m2
|
||||||
staging: depsigning-mac-v1
|
staging: dep-gecko-signing-mac14m2
|
||||||
push-apk:
|
push-apk:
|
||||||
provisioner: scriptworker-k8s
|
provisioner: scriptworker-k8s
|
||||||
implementation: scriptworker-pushapk
|
implementation: scriptworker-pushapk
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,7 @@ class SearchConfigTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {Array} the list of locales for the tests to run with.
|
* @returns {Promise<string[]>} the list of locales for the tests to run with.
|
||||||
*/
|
*/
|
||||||
async getLocales() {
|
async getLocales() {
|
||||||
if (TEST_DEBUG) {
|
if (TEST_DEBUG) {
|
||||||
|
|
@ -429,26 +429,26 @@ class SearchConfigTest {
|
||||||
|
|
||||||
for (const rule of details) {
|
for (const rule of details) {
|
||||||
this._assertCorrectDomains(location, engine, rule);
|
this._assertCorrectDomains(location, engine, rule);
|
||||||
if (rule.codes) {
|
if ("codes" in rule) {
|
||||||
this._assertCorrectCodes(location, engine, rule);
|
this._assertCorrectCodes(location, engine, rule);
|
||||||
}
|
}
|
||||||
if (rule.searchUrlCode || rule.suggestUrlCode) {
|
if ("searchUrlCode" in rule || "suggestUrlCode" in rule) {
|
||||||
this._assertCorrectUrlCode(location, engine, rule);
|
this._assertCorrectUrlCode(location, engine, rule);
|
||||||
}
|
}
|
||||||
if (rule.aliases) {
|
if ("aliases" in rule) {
|
||||||
this.assertDeepEqual(
|
this.assertDeepEqual(
|
||||||
engine.aliases,
|
engine.aliases,
|
||||||
rule.aliases,
|
rule.aliases,
|
||||||
"Should have the correct aliases for the engine"
|
"Should have the correct aliases for the engine"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (rule.required_aliases) {
|
if ("required_aliases" in rule) {
|
||||||
this.assertOk(
|
this.assertOk(
|
||||||
rule.required_aliases.every(a => engine.aliases.includes(a)),
|
rule.required_aliases.every(a => engine.aliases.includes(a)),
|
||||||
"Should have the required aliases for the engine"
|
"Should have the required aliases for the engine"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (rule.telemetryId) {
|
if ("telemetryId" in rule) {
|
||||||
this.assertEqual(
|
this.assertEqual(
|
||||||
engine.telemetryId,
|
engine.telemetryId,
|
||||||
rule.telemetryId,
|
rule.telemetryId,
|
||||||
|
|
|
||||||
|
|
@ -232,6 +232,15 @@ tests.push({
|
||||||
hasTelemetryId(engines, "Google", "google-b-lm"),
|
hasTelemetryId(engines, "Google", "google-b-lm"),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
tests.push({
|
||||||
|
region: "ru",
|
||||||
|
distribution: "mint-001",
|
||||||
|
test: engines =>
|
||||||
|
hasDefault(engines, "Google") &&
|
||||||
|
hasEnginesFirst(engines, ["Google"]) &&
|
||||||
|
hasTelemetryId(engines, "Google", "google-com-nocodes"),
|
||||||
|
});
|
||||||
|
|
||||||
function hasURLs(engines, engineName, url, suggestURL) {
|
function hasURLs(engines, engineName, url, suggestURL) {
|
||||||
let engine = engines.find(e => e.name === engineName);
|
let engine = engines.find(e => e.name === engineName);
|
||||||
Assert.ok(engine, `Should be able to find ${engineName}`);
|
Assert.ok(engine, `Should be able to find ${engineName}`);
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ const test = new SearchConfigTest({
|
||||||
aliases: ["@google"],
|
aliases: ["@google"],
|
||||||
default: {
|
default: {
|
||||||
// Included everywhere apart from the exclusions below. These are basically
|
// Included everywhere apart from the exclusions below. These are basically
|
||||||
// just excluding what Yandex and Baidu include.
|
// just excluding what Baidu includes.
|
||||||
excluded: [
|
excluded: [
|
||||||
{
|
{
|
||||||
regions: ["cn"],
|
regions: ["cn"],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue