function process(domain, transitional, useStd3ASCII) {
  if (useStd3ASCII === undefined)
      useStd3ASCII = false;
  var mappedIDNA = mapLabel(domain, useStd3ASCII, transitional);

  // Step 3. Break
  var labels = mappedIDNA.split(".");

  // Step 4. Convert/Validate
  labels = labels.map(function (label) {
    if (label.startsWith("xn--")) {
      label = punycode.decode(label.substring(4));
      validateLabel(label, useStd3ASCII, false);
    } else {
      validateLabel(label, useStd3ASCII, transitional);
    }
    return label;
  });

  return labels.join(".");
}
Sets up an embedded trampoline iframe, sourced from the extension.
@param {function(MessagePort)} callback
@private