Skip to content

Commit 1fc0fab

Browse files
committed
Hardened MessageType
1 parent 7275ead commit 1fc0fab

File tree

1 file changed

+37
-27
lines changed

1 file changed

+37
-27
lines changed

src/main/util/MessageType.js

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,34 +17,44 @@
1717
*/
1818
"use strict";
1919

20-
const Messages = Object.freeze({
20+
{
21+
const Messages = Object.freeze(Object.assign(Object.create(null), {
2122

22-
// Blocked Counter Actions
23-
BLOCKED_COUNTER_PING: "blockedCounterPing",
24-
BLOCKED_COUNTER_PONG: "blockedCounterPong",
23+
// Blocked Counter Actions
24+
BLOCKED_COUNTER_PING: "blockedCounterPing",
25+
BLOCKED_COUNTER_PONG: "blockedCounterPong",
2526

26-
// Block Page Actions
27-
CONTINUE_TO_SAFETY: "continueToSafety",
28-
CONTINUE_TO_WEBSITE: "continueToWebsite",
29-
REPORT_WEBSITE: "reportWebsite",
30-
ALLOW_WEBSITE: "allowWebsite",
27+
// Block Page Actions
28+
CONTINUE_TO_SAFETY: "continueToSafety",
29+
CONTINUE_TO_WEBSITE: "continueToWebsite",
30+
REPORT_WEBSITE: "reportWebsite",
31+
ALLOW_WEBSITE: "allowWebsite",
3132

32-
// Official Partners
33-
ADGUARD_SECURITY_TOGGLED: "adGuardSecurityToggled",
34-
ADGUARD_FAMILY_TOGGLED: "adGuardFamilyToggled",
35-
ALPHAMOUNTAIN_TOGGLED: "alphaMountainToggled",
36-
PRECISIONSEC_TOGGLED: "precisionSecToggled",
33+
// Official Partners
34+
ADGUARD_SECURITY_TOGGLED: "adGuardSecurityToggled",
35+
ADGUARD_FAMILY_TOGGLED: "adGuardFamilyToggled",
36+
ALPHAMOUNTAIN_TOGGLED: "alphaMountainToggled",
37+
PRECISIONSEC_TOGGLED: "precisionSecToggled",
3738

38-
// Non-Partnered Providers
39-
CERT_EE_TOGGLED: "certEEToggled",
40-
CLEANBROWSING_SECURITY_TOGGLED: "cleanBrowsingSecurityToggled",
41-
CLEANBROWSING_FAMILY_TOGGLED: "cleanBrowsingFamilyToggled",
42-
CLOUDFLARE_SECURITY_TOGGLED: "cloudflareSecurityToggled",
43-
CLOUDFLARE_FAMILY_TOGGLED: "cloudflareFamilyToggled",
44-
CONTROL_D_SECURITY_TOGGLED: "controlDSecurityToggled",
45-
CONTROL_D_FAMILY_TOGGLED: "controlDFamilyToggled",
46-
PHISH_DESTROY_TOGGLED: "phishDestroyToggled",
47-
PHISHING_DATABASE_TOGGLED: "phishingDatabaseToggled",
48-
QUAD9_TOGGLED: "quad9Toggled",
49-
SWITCH_CH_TOGGLED: "switchCHToggled",
50-
});
39+
// Non-Partnered Providers
40+
CERT_EE_TOGGLED: "certEEToggled",
41+
CLEANBROWSING_SECURITY_TOGGLED: "cleanBrowsingSecurityToggled",
42+
CLEANBROWSING_FAMILY_TOGGLED: "cleanBrowsingFamilyToggled",
43+
CLOUDFLARE_SECURITY_TOGGLED: "cloudflareSecurityToggled",
44+
CLOUDFLARE_FAMILY_TOGGLED: "cloudflareFamilyToggled",
45+
CONTROL_D_SECURITY_TOGGLED: "controlDSecurityToggled",
46+
CONTROL_D_FAMILY_TOGGLED: "controlDFamilyToggled",
47+
PHISH_DESTROY_TOGGLED: "phishDestroyToggled",
48+
PHISHING_DATABASE_TOGGLED: "phishingDatabaseToggled",
49+
QUAD9_TOGGLED: "quad9Toggled",
50+
SWITCH_CH_TOGGLED: "switchCHToggled",
51+
}));
52+
53+
const _values = Object.values(Messages);
54+
console.assert(
55+
new Set(_values).size === _values.length,
56+
'Messages: duplicate message type values detected; handler collisions will occur'
57+
);
58+
59+
globalThis.Messages = Messages;
60+
}

0 commit comments

Comments
 (0)