summaryrefslogtreecommitdiffstats
path: root/toolkit/modules/tests/xpcshell/test_E10SUtils_getRemoteTypeForURIObject.js
blob: c16786d50b7c85a215baafbaf6caecb62011c763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

const { E10SUtils } = ChromeUtils.importESModule(
  "resource://gre/modules/E10SUtils.sys.mjs"
);

/**
 * Tests for E10SUtils.getRemoteTypeForURIObject method, which is
 * used to compute preferred remote process types for content given
 * certain conditions.
 */

/**
 * Test that getRemoteTypeForURIObject returns the preferred remote type
 * when given a URI with an invalid site origin.
 *
 * This is a regression test for bug 1760417.
 */
add_task(async function test_invalid_site_origin() {
  const INVALID_SITE_ORIGIN_URI = Services.io.newURI(
    "https://.mozilla.org/this/is/a/test.html"
  );
  const EXPECTED_REMOTE_TYPE = `${E10SUtils.FISSION_WEB_REMOTE_TYPE}=https://.mozilla.org`;
  let result = E10SUtils.getRemoteTypeForURIObject(INVALID_SITE_ORIGIN_URI, {
    remoteSubFrames: true,
    multiProcess: true,
    preferredRemoteType: E10SUtils.DEFAULT_REMOTE_TYPE,
  });
  Assert.equal(
    result,
    EXPECTED_REMOTE_TYPE,
    "Got the expected default remote type."
  );
});