Skip to content

Commit 9715071

Browse files
Refactor - auto update credential provider script
1 parent 6bdea21 commit 9715071

12 files changed

+227
-261
lines changed

firefox-ios/Client/Assets/CC_Script/AutofillFormFactory.sys.mjs

+4
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,8 @@ export const AutofillFormFactory = {
3939
}
4040
return lazy.FormLikeFactory.createFromField(aField, { ignoreForm });
4141
},
42+
43+
createFromDocumentRoot(aDocRoot) {
44+
return lazy.FormLikeFactory.createFromDocumentRoot(aDocRoot);
45+
},
4246
};

firefox-ios/Client/Assets/CC_Script/AutofillTelemetry.sys.mjs

-47
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,6 @@ class AutofillTelemetryBase {
1212
EVENT_CATEGORY = null;
1313
EVENT_OBJECT_FORM_INTERACTION = null;
1414

15-
HISTOGRAM_NUM_USES = null;
16-
HISTOGRAM_PROFILE_NUM_USES = null;
17-
HISTOGRAM_PROFILE_NUM_USES_KEY = null;
18-
1915
#initFormEventExtra(value) {
2016
let extra = {};
2117
for (const field of Object.values(this.SUPPORTED_FIELDS)) {
@@ -183,17 +179,6 @@ class AutofillTelemetryBase {
183179
throw new Error("Not implemented.");
184180
}
185181

186-
recordNumberOfUse(records) {
187-
let histogram = Services.telemetry.getKeyedHistogramById(
188-
this.HISTOGRAM_PROFILE_NUM_USES
189-
);
190-
histogram.clear();
191-
192-
for (let record of records) {
193-
histogram.add(this.HISTOGRAM_PROFILE_NUM_USES_KEY, record.timesUsed);
194-
}
195-
}
196-
197182
recordIframeLayoutDetection(flowId, fieldDetails) {
198183
const fieldsInMainFrame = [];
199184
const fieldsInIframe = [];
@@ -238,9 +223,6 @@ export class AddressTelemetry extends AutofillTelemetryBase {
238223
EVENT_OBJECT_FORM_INTERACTION = "AddressForm";
239224
EVENT_OBJECT_FORM_INTERACTION_EXT = "AddressFormExt";
240225

241-
HISTOGRAM_PROFILE_NUM_USES = "AUTOFILL_PROFILE_NUM_USES";
242-
HISTOGRAM_PROFILE_NUM_USES_KEY = "address";
243-
244226
// Fields that are recorded in `address_form` and `address_form_ext` telemetry
245227
SUPPORTED_FIELDS = {
246228
"street-address": "street_address",
@@ -316,10 +298,6 @@ class CreditCardTelemetry extends AutofillTelemetryBase {
316298
EVENT_CATEGORY = "creditcard";
317299
EVENT_OBJECT_FORM_INTERACTION = "CcFormV2";
318300

319-
HISTOGRAM_NUM_USES = "CREDITCARD_NUM_USES";
320-
HISTOGRAM_PROFILE_NUM_USES = "AUTOFILL_PROFILE_NUM_USES";
321-
HISTOGRAM_PROFILE_NUM_USES_KEY = "credit_card";
322-
323301
// Mapping of field name used in formautofill code to the field name
324302
// used in the telemetry.
325303
SUPPORTED_FIELDS = {
@@ -369,23 +347,6 @@ class CreditCardTelemetry extends AutofillTelemetryBase {
369347
}
370348
}
371349

372-
recordNumberOfUse(records) {
373-
super.recordNumberOfUse(records);
374-
375-
if (!this.HISTOGRAM_NUM_USES) {
376-
return;
377-
}
378-
379-
let histogram = Services.telemetry.getHistogramById(
380-
this.HISTOGRAM_NUM_USES
381-
);
382-
histogram.clear();
383-
384-
for (let record of records) {
385-
histogram.add(record.timesUsed);
386-
}
387-
}
388-
389350
recordAutofillProfileCount(count) {
390351
Glean.formautofillCreditcards.autofillProfilesCount.set(count);
391352
}
@@ -463,14 +424,6 @@ export class AutofillTelemetry {
463424
telemetry.recordAutofillProfileCount(count);
464425
}
465426

466-
/**
467-
* Utility functions for address/credit card number of use
468-
*/
469-
static recordNumberOfUse(type, records) {
470-
const telemetry = this.#getTelemetryByType(type);
471-
telemetry.recordNumberOfUse(records);
472-
}
473-
474427
static recordFormSubmissionHeuristicCount(label) {
475428
Glean.formautofill.formSubmissionHeuristic[label].add(1);
476429
}

firefox-ios/Client/Assets/CC_Script/Constants.ios.mjs

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const IOS_DEFAULT_PREFERENCES = {
3232
"extensions.formautofill.heuristics.captureOnPageNavigation": false,
3333
"extensions.formautofill.heuristics.detectDynamicFormChanges": false,
3434
"extensions.formautofill.heuristics.fillOnDynamicFormChanges": false,
35+
"extensions.formautofill.heuristics.refillOnSiteClearingFields": false,
3536
"extensions.formautofill.focusOnAutofill": false,
3637
"extensions.formautofill.test.ignoreVisibilityCheck": false,
3738
"extensions.formautofill.heuristics.autofillSameOriginWithTop": false,

firefox-ios/Client/Assets/CC_Script/FormAutofill.sys.mjs

+20
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ const AUTOFILL_FILL_ON_DYNAMIC_FORM_CHANGES_TIMEOUT_PREF =
4545
"extensions.formautofill.heuristics.fillOnDynamicFormChanges.timeout";
4646
const AUTOFILL_FILL_ON_DYNAMIC_FORM_CHANGES_PREF =
4747
"extensions.formautofill.heuristics.fillOnDynamicFormChanges";
48+
const AUTOFILL_REFILL_ON_SITE_CLEARING_VALUE_PREF =
49+
"extensions.formautofill.heuristics.refillOnSiteClearingFields";
50+
const AUTOFILL_REFILL_ON_SITE_CLEARING_VALUE_TIMEOUT_PREF =
51+
"extensions.formautofill.heuristics.refillOnSiteClearingFields.timeout";
4852

4953
export const FormAutofill = {
5054
ENABLED_AUTOFILL_ADDRESSES_PREF,
@@ -59,6 +63,8 @@ export const FormAutofill = {
5963
AUTOFILL_ADDRESSES_AUTOCOMPLETE_OFF_PREF,
6064
AUTOFILL_FILL_ON_DYNAMIC_FORM_CHANGES_PREF,
6165
AUTOFILL_FILL_ON_DYNAMIC_FORM_CHANGES_TIMEOUT_PREF,
66+
AUTOFILL_REFILL_ON_SITE_CLEARING_VALUE_PREF,
67+
AUTOFILL_REFILL_ON_SITE_CLEARING_VALUE_TIMEOUT_PREF,
6268

6369
_region: null,
6470

@@ -366,6 +372,20 @@ XPCOMUtils.defineLazyPreferenceGetter(
366372
0
367373
);
368374

375+
XPCOMUtils.defineLazyPreferenceGetter(
376+
FormAutofill,
377+
"refillOnSiteClearingFields",
378+
"extensions.formautofill.heuristics.refillOnSiteClearingFields",
379+
false
380+
);
381+
382+
XPCOMUtils.defineLazyPreferenceGetter(
383+
FormAutofill,
384+
"refillOnSiteClearingFieldsTimeout",
385+
"extensions.formautofill.heuristics.refillOnSiteClearingFields.timeout",
386+
0
387+
);
388+
369389
ChromeUtils.defineLazyGetter(FormAutofill, "countries", () =>
370390
AddressMetaDataLoader.getCountries()
371391
);

0 commit comments

Comments
 (0)