icecat: add release icecat-140.10.1-1gnu1 for ecne
This commit is contained in:
parent
a5f93cb214
commit
ff85d7c623
1256 changed files with 63469 additions and 24141 deletions
|
|
@ -524,22 +524,27 @@ StorageAccessAPIHelper::CompleteAllowAccessForOnParentProcess(
|
|||
__func__);
|
||||
}
|
||||
|
||||
RefPtr<dom::BrowsingContext> parentBC = aParentContext;
|
||||
auto storePermission =
|
||||
[aParentContext, aTopLevelWindowId, trackingOrigin, trackingPrincipal,
|
||||
[parentBC, aTopLevelWindowId, trackingOrigin, trackingPrincipal,
|
||||
aCookieBehavior,
|
||||
aReason](int aAllowMode) -> RefPtr<StorageAccessPermissionGrantPromise> {
|
||||
if (parentBC->IsDiscarded()) {
|
||||
return StorageAccessPermissionGrantPromise::CreateAndReject(false,
|
||||
__func__);
|
||||
}
|
||||
// We don't have the window, send an IPC to the content process that
|
||||
// owns the parent window. But there is a special case, for window.open,
|
||||
// we'll return to the content process we need to inform when this
|
||||
// function is done. So we don't need to create an extra IPC for the case.
|
||||
if (aReason != ContentBlockingNotifier::eOpener) {
|
||||
dom::ContentParent* cp = aParentContext->Canonical()->GetContentParent();
|
||||
dom::ContentParent* cp = parentBC->Canonical()->GetContentParent();
|
||||
if (!cp) {
|
||||
return StorageAccessPermissionGrantPromise::CreateAndReject(false,
|
||||
__func__);
|
||||
}
|
||||
|
||||
Unused << cp->SendOnAllowAccessFor(aParentContext, trackingOrigin,
|
||||
Unused << cp->SendOnAllowAccessFor(parentBC, trackingOrigin,
|
||||
aCookieBehavior, aReason);
|
||||
}
|
||||
|
||||
|
|
@ -547,7 +552,7 @@ StorageAccessAPIHelper::CompleteAllowAccessForOnParentProcess(
|
|||
reportReason;
|
||||
// We can directly report here if we can know the origin of the top.
|
||||
ContentBlockingNotifier::ReportUnblockingToConsole(
|
||||
aParentContext, NS_ConvertUTF8toUTF16(trackingOrigin), aReason);
|
||||
parentBC, NS_ConvertUTF8toUTF16(trackingOrigin), aReason);
|
||||
// Set the report reason to nothing if we've already reported.
|
||||
reportReason = Nothing();
|
||||
|
||||
|
|
@ -555,9 +560,9 @@ StorageAccessAPIHelper::CompleteAllowAccessForOnParentProcess(
|
|||
bool frameOnly = StaticPrefs::dom_storage_access_frame_only() &&
|
||||
aReason == ContentBlockingNotifier::eStorageAccessAPI;
|
||||
|
||||
uint64_t innerWindowId = aParentContext->GetCurrentInnerWindowId();
|
||||
uint64_t innerWindowId = parentBC->GetCurrentInnerWindowId();
|
||||
|
||||
return SaveAccessForOriginOnParentProcess(aTopLevelWindowId, aParentContext,
|
||||
return SaveAccessForOriginOnParentProcess(aTopLevelWindowId, parentBC,
|
||||
trackingPrincipal, aAllowMode,
|
||||
frameOnly)
|
||||
->Then(GetCurrentSerialEventTarget(), __func__,
|
||||
|
|
@ -746,21 +751,26 @@ StorageAccessAPIHelper::CompleteAllowAccessForOnChildProcess(
|
|||
__func__);
|
||||
}
|
||||
|
||||
RefPtr<dom::BrowsingContext> parentBC = aParentContext;
|
||||
auto storePermission =
|
||||
[aParentContext, aTopLevelWindowId, trackingOrigin, trackingPrincipal,
|
||||
[parentBC, aTopLevelWindowId, trackingOrigin, trackingPrincipal,
|
||||
aCookieBehavior,
|
||||
aReason](int aAllowMode) -> RefPtr<StorageAccessPermissionGrantPromise> {
|
||||
if (parentBC->IsDiscarded()) {
|
||||
return StorageAccessPermissionGrantPromise::CreateAndReject(false,
|
||||
__func__);
|
||||
}
|
||||
// Inform the window we granted permission for. This has to be done in the
|
||||
// window's process. As a child this is always the case.
|
||||
StorageAccessAPIHelper::OnAllowAccessFor(aParentContext, trackingOrigin,
|
||||
StorageAccessAPIHelper::OnAllowAccessFor(parentBC, trackingOrigin,
|
||||
aCookieBehavior, aReason);
|
||||
|
||||
Maybe<ContentBlockingNotifier::StorageAccessPermissionGrantedReason>
|
||||
reportReason;
|
||||
// We can directly report here if we can know the origin of the top.
|
||||
if (aParentContext->Top()->IsInProcess()) {
|
||||
if (parentBC->Top()->IsInProcess()) {
|
||||
ContentBlockingNotifier::ReportUnblockingToConsole(
|
||||
aParentContext, NS_ConvertUTF8toUTF16(trackingOrigin), aReason);
|
||||
parentBC, NS_ConvertUTF8toUTF16(trackingOrigin), aReason);
|
||||
|
||||
// Set the report reason to nothing if we've already reported.
|
||||
reportReason = Nothing();
|
||||
|
|
@ -783,12 +793,12 @@ StorageAccessAPIHelper::CompleteAllowAccessForOnChildProcess(
|
|||
bool frameOnly = StaticPrefs::dom_storage_access_frame_only() &&
|
||||
aReason == ContentBlockingNotifier::eStorageAccessAPI;
|
||||
|
||||
uint64_t innerWindowId = aParentContext->GetCurrentInnerWindowId();
|
||||
uint64_t innerWindowId = parentBC->GetCurrentInnerWindowId();
|
||||
|
||||
return cc
|
||||
->SendStorageAccessPermissionGrantedForOrigin(
|
||||
aTopLevelWindowId, aParentContext, trackingPrincipal,
|
||||
trackingOrigin, aAllowMode, reportReason, frameOnly)
|
||||
aTopLevelWindowId, parentBC, trackingPrincipal, trackingOrigin,
|
||||
aAllowMode, reportReason, frameOnly)
|
||||
->Then(
|
||||
GetCurrentSerialEventTarget(), __func__,
|
||||
[aReason, trackingPrincipal,
|
||||
|
|
|
|||
|
|
@ -100,11 +100,12 @@ export var DownloadPaths = {
|
|||
// .*? Matches the base name non-greedily.
|
||||
// \.[A-Z0-9]{1,3} Up to three letters or numbers preceding a
|
||||
// double extension.
|
||||
// \.(?:gz|bz2|Z) The second part of common double extensions.
|
||||
// \.(?:bz2|gz|lzma|xz|zst|Z) The second part of common double extensions.
|
||||
// \.[^.]* Matches any extension or a single trailing dot.
|
||||
let [, base, ext] = /(.*?)(\.[A-Z0-9]{1,3}\.(?:gz|bz2|Z)|\.[^.]*)?$/i.exec(
|
||||
leafName
|
||||
);
|
||||
let [, base, ext] =
|
||||
/(.*?)(\.[A-Z0-9]{1,3}\.(?:bz2|gz|lzma|xz|zst|Z)|\.[^.]*)?$/i.exec(
|
||||
leafName
|
||||
);
|
||||
// Return an empty string instead of undefined if no extension is found.
|
||||
return [base, ext || ""];
|
||||
},
|
||||
|
|
|
|||
|
|
@ -173,10 +173,12 @@ add_task(async function test_createNiceUniqueFile() {
|
|||
testCreateNiceUniqueFile(tempFile, "test(2).txt");
|
||||
|
||||
// Double extension.
|
||||
tempFile.leafName = "test.tar.gz";
|
||||
testCreateNiceUniqueFile(tempFile, "test.tar.gz");
|
||||
testCreateNiceUniqueFile(tempFile, "test(1).tar.gz");
|
||||
testCreateNiceUniqueFile(tempFile, "test(2).tar.gz");
|
||||
for (let suffix of ["gz", "lzma", "xz", "zst", "bz2"]) {
|
||||
tempFile.leafName = "test.tar." + suffix;
|
||||
testCreateNiceUniqueFile(tempFile, "test.tar." + suffix);
|
||||
testCreateNiceUniqueFile(tempFile, "test(1).tar." + suffix);
|
||||
testCreateNiceUniqueFile(tempFile, "test(2).tar." + suffix);
|
||||
}
|
||||
|
||||
// Test automatic shortening of long file names. We don't know exactly how
|
||||
// many characters are removed, because it depends on the name of the folder
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ DEFINE_STATIC_ATOM_SET(HostLocatorSchemes, nsGkAtoms::http, nsGkAtoms::https,
|
|||
nsGkAtoms::ws, nsGkAtoms::wss, nsGkAtoms::file,
|
||||
nsGkAtoms::ftp, nsGkAtoms::moz_extension,
|
||||
nsGkAtoms::chrome, nsGkAtoms::resource, nsGkAtoms::moz,
|
||||
nsGkAtoms::moz_icon, nsGkAtoms::moz_gio);
|
||||
nsGkAtoms::moz_icon);
|
||||
|
||||
DEFINE_STATIC_ATOM_SET(WildcardSchemes, nsGkAtoms::http, nsGkAtoms::https,
|
||||
nsGkAtoms::ws, nsGkAtoms::wss);
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
|||
LoginHelper: "resource://gre/modules/LoginHelper.sys.mjs",
|
||||
MLAutofill: "resource://autofill/MLAutofill.sys.mjs",
|
||||
NimbusFeatures: "resource://nimbus/ExperimentAPI.sys.mjs",
|
||||
OSKeyStore: "resource://gre/modules/OSKeyStore.sys.mjs",
|
||||
});
|
||||
|
||||
ChromeUtils.defineLazyGetter(lazy, "log", () =>
|
||||
|
|
@ -67,6 +66,16 @@ const { ADDRESSES_COLLECTION_NAME, CREDITCARDS_COLLECTION_NAME, FIELD_STATES } =
|
|||
|
||||
let gMessageObservers = new Set();
|
||||
|
||||
const FORM_AUTOFILL_MESSAGES = new Set([
|
||||
"FormAutofill:InitStorage",
|
||||
"FormAutofill:OnFormSubmit",
|
||||
"FormAutofill:FieldsIdentified",
|
||||
"FormAutofill:OnFieldsDetected",
|
||||
"FormAutofill:OnFieldsUpdated",
|
||||
"FormAutofill:FieldFilledModified",
|
||||
"FormAutofill:FieldsUpdatedDuringAutofill",
|
||||
]);
|
||||
|
||||
export let FormAutofillStatus = {
|
||||
_initialized: false,
|
||||
|
||||
|
|
@ -306,6 +315,10 @@ export class FormAutofillParent extends JSWindowActorParent {
|
|||
return undefined;
|
||||
}
|
||||
|
||||
if (!FORM_AUTOFILL_MESSAGES.has(name) && !Cu.isInAutomation) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
switch (name) {
|
||||
case "FormAutofill:InitStorage": {
|
||||
await lazy.gFormAutofillStorage.initialize();
|
||||
|
|
@ -364,12 +377,6 @@ export class FormAutofillParent extends JSWindowActorParent {
|
|||
break;
|
||||
}
|
||||
case "FormAutofill:SaveCreditCard": {
|
||||
// Setting the first parameter of OSKeyStore.ensurLoggedIn as false
|
||||
// since this case only called in tests. Also the reason why we're not calling FormAutofill.verifyUserOSAuth.
|
||||
if (!(await lazy.OSKeyStore.ensureLoggedIn(false)).authenticated) {
|
||||
lazy.log.warn("User canceled encryption login");
|
||||
return undefined;
|
||||
}
|
||||
await lazy.gFormAutofillStorage.creditCards.add(data.creditcard);
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -718,12 +718,6 @@ export const SpecialMessageActions = {
|
|||
throw new Error(
|
||||
`Special message action with type ${action.type} is unsupported.`
|
||||
);
|
||||
case "CLICK_ELEMENT":
|
||||
const clickElement = window.document.querySelector(
|
||||
action.data.selector
|
||||
);
|
||||
clickElement?.click();
|
||||
break;
|
||||
case "RELOAD_BROWSER":
|
||||
browser.reload();
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -589,24 +589,6 @@
|
|||
"additionalProperties": false,
|
||||
"description": "Runs multiple actions"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"data": {
|
||||
"selector": {
|
||||
"type": "string",
|
||||
"description": "A CSS selector for the HTML element to be clicked"
|
||||
}
|
||||
},
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": ["CLICK_ELEMENT"]
|
||||
}
|
||||
},
|
||||
"required": ["data", "type"],
|
||||
"additionalProperties": false,
|
||||
"description": "Selects an element in the current Window's document and triggers a click action"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
|
|
|||
|
|
@ -357,12 +357,6 @@ interface MultiAction {
|
|||
}
|
||||
```
|
||||
|
||||
### `CLICK_ELEMENT`
|
||||
|
||||
* args: `string` A CSS selector for the HTML element to be clicked
|
||||
|
||||
Selects an element in the current Window's document and triggers a click action
|
||||
|
||||
|
||||
### `RELOAD_BROWSER`
|
||||
|
||||
|
|
|
|||
|
|
@ -1502,7 +1502,7 @@ export class LoginManagerParent extends JSWindowActorParent {
|
|||
}
|
||||
|
||||
async searchAutoCompleteEntries(searchString, data) {
|
||||
return this.doAutocompleteSearch(data.formOrigin, data);
|
||||
return this.doAutocompleteSearch(this.origin, data);
|
||||
}
|
||||
|
||||
onAutoCompleteEntryHovered(_message, _data) {
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ const char* const ApplicationReputationService::kBinaryFileExtensions[] = {
|
|||
".class", // Java
|
||||
//".cmd", exec // Windows executable
|
||||
//".com", exec // Windows executable
|
||||
".command", // Mac script
|
||||
//".command", exec // Mac script
|
||||
".configprofile", // Configuration file for Apple systems
|
||||
".cpgz", // Mac archive
|
||||
".cpi", // Control Panel Item. Executable used for adding icons
|
||||
|
|
@ -434,7 +434,7 @@ const char* const ApplicationReputationService::kBinaryFileExtensions[] = {
|
|||
".scptd", // AppleScript
|
||||
//".scr", exec // Windows
|
||||
//".sct", exec // Windows shell
|
||||
".search-ms", // Windows
|
||||
//".search-ms", exec // Windows Saved Search
|
||||
".seplugin", // AppleScript
|
||||
".service", // Systemd service unit file
|
||||
//".settingcontent-ms", exec // Windows settings
|
||||
|
|
|
|||
|
|
@ -27,9 +27,9 @@ class ApplicationReputationService final
|
|||
public:
|
||||
static const char* const kNonBinaryExecutables[6];
|
||||
#ifdef XP_WIN
|
||||
static const char* const kBinaryFileExtensions[184];
|
||||
static const char* const kBinaryFileExtensions[182];
|
||||
#else
|
||||
static const char* const kBinaryFileExtensions[183];
|
||||
static const char* const kBinaryFileExtensions[181];
|
||||
#endif
|
||||
|
||||
static already_AddRefed<ApplicationReputationService> GetSingleton();
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ static const char* const kTestFileExtensions[] = {
|
|||
".scptd", // AppleScript
|
||||
".scr", // Windows
|
||||
".sct", // Windows shell
|
||||
".search-ms", // Windows
|
||||
".search-ms", // Windows Saved Search
|
||||
".seplugin", // AppleScript
|
||||
".service", // Systemd service unit file
|
||||
".settingcontent-ms", // Windows settings
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@
|
|||
"title": "Partner Code",
|
||||
"description": "The partner code for the engine or variant. This will be inserted into parameters which include '{partnerCode}'",
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z0-9-_]*$"
|
||||
"pattern": "^[a-zA-Z0-9-_.]*$"
|
||||
},
|
||||
"urls": {
|
||||
"title": "URLs",
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ tests.push({
|
|||
});
|
||||
|
||||
tests.push({
|
||||
region: "CA", // Testing for "rest of world" (excluding US, RU, TR, BY, KZ)
|
||||
region: "CA", // Testing for "rest of world" (excluding US, RU, BY)
|
||||
distribution: "dt-002",
|
||||
application: "icecat-android",
|
||||
test: engines =>
|
||||
|
|
@ -332,7 +332,7 @@ tests.push({
|
|||
});
|
||||
|
||||
tests.push({
|
||||
region: "CA", // Testing for "rest of world" (excluding US, RU, TR, BY, KZ)
|
||||
region: "CA", // Testing for "rest of world" (excluding US, RU, BY)
|
||||
distribution: "dt-003",
|
||||
application: "icecat-android",
|
||||
test: engines =>
|
||||
|
|
@ -342,6 +342,28 @@ tests.push({
|
|||
hasTelemetryId(engines, "Google", "google-b-dt"),
|
||||
});
|
||||
|
||||
tests.push({
|
||||
region: "US",
|
||||
distribution: "xiaomi-001",
|
||||
application: "icecat-android",
|
||||
test: engines =>
|
||||
hasParams(engines, "Google", "client=icecat-b-1-dt") &&
|
||||
hasDefault(engines, "Google") &&
|
||||
hasEnginesFirst(engines, ["Google"]) &&
|
||||
hasTelemetryId(engines, "Google", "google-b-1-dt"),
|
||||
});
|
||||
|
||||
tests.push({
|
||||
region: "CA", // Testing for "rest of world" (excluding US, RU, BY)
|
||||
distribution: "xiaomi-001",
|
||||
application: "icecat-android",
|
||||
test: engines =>
|
||||
hasParams(engines, "Google", "client=icecat-b-dt") &&
|
||||
hasDefault(engines, "Google") &&
|
||||
hasEnginesFirst(engines, ["Google"]) &&
|
||||
hasTelemetryId(engines, "Google", "google-b-dt"),
|
||||
});
|
||||
|
||||
tests.push({
|
||||
region: "US",
|
||||
distribution: "aura-001",
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ const test = new SearchConfigTest({
|
|||
: "icecat-b-1-d",
|
||||
},
|
||||
{
|
||||
excluded: [{ regions: ["us", "by", "kz", "ru", "tr"] }],
|
||||
excluded: [{ regions: ["us", "by", "ru"] }],
|
||||
included: [{}],
|
||||
domain: "google.com",
|
||||
telemetryId:
|
||||
|
|
@ -62,7 +62,7 @@ const test = new SearchConfigTest({
|
|||
: "icecat-b-d",
|
||||
},
|
||||
{
|
||||
included: [{ regions: ["by", "kz", "ru", "tr"] }],
|
||||
included: [{ regions: ["by", "ru"] }],
|
||||
domain: "google.com",
|
||||
telemetryId: "google-com-nocodes",
|
||||
partnerCode: "",
|
||||
|
|
|
|||
|
|
@ -505,7 +505,7 @@ void LookupCache::GetLookupEntitylistFragments(
|
|||
if (FindCharInReadable('.', iter, end)) {
|
||||
iter++;
|
||||
nsAutoCString thirdPartyURLToAdd;
|
||||
thirdPartyURLToAdd.Assign(Substring(iter++, end));
|
||||
thirdPartyURLToAdd.Assign(Substring(iter, end));
|
||||
|
||||
// don't bother checking toplevel domains
|
||||
if (FindCharInReadable('.', iter, end)) {
|
||||
|
|
|
|||
|
|
@ -143,8 +143,8 @@ HttpIndexViewer.prototype = {
|
|||
aDocListenerResult
|
||||
) {
|
||||
// Bug 1824325: application/http-index-format is deprecated for almost all
|
||||
// sites, we only allow it for urls with a inner scheme of "file" or
|
||||
// "moz-gio" (specified in network.http_index_format.allowed_schemes).
|
||||
// sites, we only allow it for urls with a inner scheme of "file"
|
||||
// (specified in network.http_index_format.allowed_schemes).
|
||||
// This also includes jar: and resource:// uris, as jar: uris has a inner
|
||||
// scheme of "file", and resource:// uris have been turned into either a
|
||||
// jar: or file:// uri by the point where we are checking them here.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue