StubAttribution.updateBouncerLinks = function()

in media/js/base/stub-attribution/stub-attribution.js [155:224]


    StubAttribution.updateBouncerLinks = function (data) {
        /**
         * If data is missing or the browser does not meet requirements for
         * stub attribution, then do nothing.
         */
        if (
            !data.attribution_code ||
            !data.attribution_sig ||
            !StubAttribution.meetsRequirements()
        ) {
            return;
        }

        // target download buttons and other-platforms modal links.
        var downloadLinks = document.querySelectorAll('.download-link');

        for (var i = 0; i < downloadLinks.length; i++) {
            var link = downloadLinks[i];
            var version;
            var directLink;
            // Append stub attribution data to direct download links.
            if (
                (link.href &&
                    (link.href.indexOf('https://download.mozilla.org') !== -1 ||
                        link.href.indexOf(
                            'https://bouncer-bouncer.stage.mozaws.net/'
                        ) !== -1)) ||
                link.href.indexOf(
                    'https://dev.bouncer.nonprod.webservices.mozgcp.net'
                ) !== -1
            ) {
                version = link.getAttribute('data-download-version');

                // Append attribution params to Windows links.
                if (version && /win/.test(version)) {
                    link.href = Mozilla.StubAttribution.appendToDownloadURL(
                        link.href,
                        data
                    );
                }
                // Append attribution params to macOS links (excluding ESR for now).
                if (
                    version &&
                    /osx/.test(version) &&
                    !/product=firefox-esr/.test(link.href)
                ) {
                    link.href = Mozilla.StubAttribution.appendToDownloadURL(
                        link.href,
                        data
                    );
                }
            } else if (
                link.href &&
                link.href.indexOf('/firefox/download/thanks/') !== -1
            ) {
                // Append stub data to direct-link data attributes on transitional links for old IE browsers (Issue #9350)
                directLink = link.getAttribute('data-direct-link');

                if (directLink) {
                    link.setAttribute(
                        'data-direct-link',
                        Mozilla.StubAttribution.appendToDownloadURL(
                            directLink,
                            data
                        )
                    );
                }
            }
        }
    };