UNPKG

@mtdt.temp/browser-core

Version:
30 lines 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = exports.WARN_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = void 0; exports.isAllowedTrackingOrigins = isAllowedTrackingOrigins; const display_1 = require("../tools/display"); const matchOption_1 = require("../tools/matchOption"); const extensionUtils_1 = require("./extension/extensionUtils"); const telemetry_1 = require("./telemetry"); exports.WARN_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN = 'Running the Browser SDK in a Web extension content script is discouraged and will be forbidden in a future major release unless the `allowedTrackingOrigins` option is provided.'; exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN = 'SDK initialized on a non-allowed domain.'; function isAllowedTrackingOrigins(configuration, windowOrigin = typeof location !== 'undefined' ? location.origin : '', errorStack = new Error().stack) { const allowedTrackingOrigins = configuration.allowedTrackingOrigins; if (!allowedTrackingOrigins) { if ((0, extensionUtils_1.isUnsupportedExtensionEnvironment)(windowOrigin, errorStack)) { display_1.display.warn(exports.WARN_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN); const extensionUrl = (0, extensionUtils_1.extractExtensionUrlFromStack)(errorStack); (0, telemetry_1.addTelemetryDebug)(exports.WARN_DOES_NOT_HAVE_ALLOWED_TRACKING_ORIGIN, { extensionUrl: extensionUrl || 'unknown', }); // TODO(next major): make `allowedTrackingOrigins` required in unsupported extension environments } return true; } const isAllowed = (0, matchOption_1.matchList)(allowedTrackingOrigins, windowOrigin); if (!isAllowed) { display_1.display.error(exports.ERROR_NOT_ALLOWED_TRACKING_ORIGIN); } return isAllowed; } //# sourceMappingURL=allowedTrackingOrigins.js.map