forked from mirrors/gecko-dev
Differential Revision: https://phabricator.services.mozilla.com/D37668 --HG-- extra : moz-landing-system : lando
59 lines
1.9 KiB
JavaScript
59 lines
1.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
"use strict";
|
|
|
|
const { AttributionCode } = ChromeUtils.import(
|
|
"resource:///modules/AttributionCode.jsm"
|
|
);
|
|
|
|
let validAttrCodes = [
|
|
{
|
|
code:
|
|
"source%3Dgoogle.com%26medium%3Dorganic%26campaign%3D(not%20set)%26content%3D(not%20set)",
|
|
parsed: {
|
|
source: "google.com",
|
|
medium: "organic",
|
|
campaign: "(not%20set)",
|
|
content: "(not%20set)",
|
|
},
|
|
},
|
|
{
|
|
code: "source%3Dgoogle.com%26medium%3Dorganic%26campaign%3D%26content%3D",
|
|
parsed: { source: "google.com", medium: "organic" },
|
|
},
|
|
{
|
|
code: "source%3Dgoogle.com%26medium%3Dorganic%26campaign%3D(not%20set)",
|
|
parsed: {
|
|
source: "google.com",
|
|
medium: "organic",
|
|
campaign: "(not%20set)",
|
|
},
|
|
},
|
|
{
|
|
code: "source%3Dgoogle.com%26medium%3Dorganic",
|
|
parsed: { source: "google.com", medium: "organic" },
|
|
},
|
|
{ code: "source%3Dgoogle.com", parsed: { source: "google.com" } },
|
|
{ code: "medium%3Dgoogle.com", parsed: { medium: "google.com" } },
|
|
{ code: "campaign%3Dgoogle.com", parsed: { campaign: "google.com" } },
|
|
{ code: "content%3Dgoogle.com", parsed: { content: "google.com" } },
|
|
{
|
|
code: "experiment%3Dexperimental",
|
|
parsed: { experiment: "experimental" },
|
|
},
|
|
{ code: "variation%3Dvaried", parsed: { variation: "varied" } },
|
|
];
|
|
|
|
let invalidAttrCodes = [
|
|
// Empty string
|
|
"",
|
|
// Not escaped
|
|
"source=google.com&medium=organic&campaign=(not set)&content=(not set)",
|
|
// Too long
|
|
"source%3Dreallyreallyreallyreallyreallyreallyreallyreallyreallylongdomain.com%26medium%3Dorganic%26campaign%3D(not%20set)%26content%3Dalmostexactlyenoughcontenttomakethisstringlongerthanthe200characterlimit",
|
|
// Unknown key name
|
|
"source%3Dgoogle.com%26medium%3Dorganic%26large%3Dgeneticallymodified",
|
|
// Empty key name
|
|
"source%3Dgoogle.com%26medium%3Dorganic%26%3Dgeneticallymodified",
|
|
];
|