Commit f751aebe authored by Liang-Heng Chen's avatar Liang-Heng Chen Committed by Matthew Finkel
Browse files

Bug 1330467 - part 7. Confirm FPI in permission manager tests; r=Ehsan

Differential Revision: https://phabricator.services.mozilla.com/D19928

--HG--
extra : moz-landing-system : lando
parent 3a80ab01
Loading
Loading
Loading
Loading
+16 −20
Original line number Diff line number Diff line
@@ -156,17 +156,18 @@ add_task(async function do_test() {
    Ci.nsIPermissionManager.ALLOW_ACTION,
    pm.testPermissionFromPrincipal(principal4, TEST_PERMISSION)
  );
  // make sure principals with userContextId or firstPartyDomain use the same permissions
  // make sure principals with userContextId use the same permissions
  Assert.equal(
    Ci.nsIPermissionManager.ALLOW_ACTION,
    pm.testPermissionFromPrincipal(principal6, TEST_PERMISSION)
  );
  // make sure principals with a firstPartyDomain use different permissions
  Assert.equal(
    Ci.nsIPermissionManager.ALLOW_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal7, TEST_PERMISSION)
  );
  Assert.equal(
    Ci.nsIPermissionManager.ALLOW_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal8, TEST_PERMISSION)
  );

@@ -182,14 +183,6 @@ add_task(async function do_test() {
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal6, TEST_PERMISSION)
  );
  Assert.equal(
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal7, TEST_PERMISSION)
  );
  Assert.equal(
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal8, TEST_PERMISSION)
  );
  // and we should have this UNKNOWN_ACTION reflected in the DB
  await checkCapabilityViaDB(Ci.nsIPermissionManager.UNKNOWN_ACTION);
  // but the permission should *not* appear in the enumerator.
@@ -202,17 +195,18 @@ add_task(async function do_test() {
    Ci.nsIPermissionManager.ALLOW_ACTION,
    pm.testPermissionFromPrincipal(principal, TEST_PERMISSION)
  );
  // make sure principals with userContextId or firstPartyDomain use the same permissions
  // make sure principals with userContextId use the same permissions
  Assert.equal(
    Ci.nsIPermissionManager.ALLOW_ACTION,
    pm.testPermissionFromPrincipal(principal6, TEST_PERMISSION)
  );
  // make sure principals with firstPartyDomain use different permissions
  Assert.equal(
    Ci.nsIPermissionManager.ALLOW_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal7, TEST_PERMISSION)
  );
  Assert.equal(
    Ci.nsIPermissionManager.ALLOW_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal8, TEST_PERMISSION)
  );
  // and allow it to again be seen in the enumerator.
@@ -230,17 +224,18 @@ add_task(async function do_test() {
    Ci.nsIPermissionManager.DENY_ACTION,
    pm.testPermissionFromPrincipal(principal, TEST_PERMISSION)
  );
  // make sure principals with userContextId or firstPartyDomain use the same permissions
  // make sure principals with userContextId use the same permissions
  Assert.equal(
    Ci.nsIPermissionManager.DENY_ACTION,
    pm.testPermissionFromPrincipal(principal6, TEST_PERMISSION)
  );
  // make sure principals with firstPartyDomain use different permissions
  Assert.equal(
    Ci.nsIPermissionManager.DENY_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal7, TEST_PERMISSION)
  );
  Assert.equal(
    Ci.nsIPermissionManager.DENY_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal8, TEST_PERMISSION)
  );
  Assert.equal(Ci.nsIPermissionManager.DENY_ACTION, findCapabilityViaEnum());
@@ -259,17 +254,18 @@ add_task(async function do_test() {
    Ci.nsIPermissionManager.PROMPT_ACTION,
    pm.testPermissionFromPrincipal(principal, TEST_PERMISSION)
  );
  // make sure principals with userContextId or firstPartyDomain use the same permissions
  // make sure principals with userContextId use the same permissions
  Assert.equal(
    Ci.nsIPermissionManager.PROMPT_ACTION,
    pm.testPermissionFromPrincipal(principal6, TEST_PERMISSION)
  );
  // make sure principals with firstPartyDomain use different permissions
  Assert.equal(
    Ci.nsIPermissionManager.PROMPT_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal7, TEST_PERMISSION)
  );
  Assert.equal(
    Ci.nsIPermissionManager.PROMPT_ACTION,
    Ci.nsIPermissionManager.UNKNOWN_ACTION,
    pm.testPermissionFromPrincipal(principal8, TEST_PERMISSION)
  );
  Assert.equal(Ci.nsIPermissionManager.PROMPT_ACTION, findCapabilityViaEnum());
+12 −6
Original line number Diff line number Diff line
@@ -98,8 +98,8 @@ function run_test() {
  pm.addFromPrincipal(uri0_cnn, "test/matches", pm.ALLOW_ACTION);
  let perm_cnn = pm.getPermissionObject(uri0_n, "test/matches", true);

  matches_always(perm_n, [uri0_n, uri0_1, uri0_cnn]);
  matches_weak(perm_n, [uri1_n, uri1_1, uri1_cnn]);
  matches_always(perm_n, [uri0_n, uri0_1]);
  matches_weak(perm_n, [uri1_n, uri1_1]);
  matches_never(perm_n, [
    uri2_n,
    uri3_n,
@@ -115,6 +115,8 @@ function run_test() {
    uri3_1,
    uri4_1,
    uri5_1,
    uri0_cnn,
    uri1_cnn,
    uri2_cnn,
    uri3_cnn,
    uri4_cnn,
@@ -148,8 +150,8 @@ function run_test() {
    uri5_cnn,
  ]);

  matches_always(perm_1, [uri0_n, uri0_1, uri0_cnn]);
  matches_weak(perm_1, [uri1_n, uri1_1, uri1_cnn]);
  matches_always(perm_1, [uri0_n, uri0_1]);
  matches_weak(perm_1, [uri1_n, uri1_1]);
  matches_never(perm_1, [
    uri2_n,
    uri3_n,
@@ -165,14 +167,16 @@ function run_test() {
    uri3_1,
    uri4_1,
    uri5_1,
    uri0_cnn,
    uri1_cnn,
    uri2_cnn,
    uri3_cnn,
    uri4_cnn,
    uri5_cnn,
  ]);

  matches_always(perm_cnn, [uri0_n, uri0_1, uri0_cnn]);
  matches_weak(perm_cnn, [uri1_n, uri1_1, uri1_cnn]);
  matches_always(perm_cnn, [uri0_n, uri0_1]);
  matches_weak(perm_cnn, [uri1_n, uri1_1]);
  matches_never(perm_cnn, [
    uri2_n,
    uri3_n,
@@ -188,6 +192,8 @@ function run_test() {
    uri3_1,
    uri4_1,
    uri5_1,
    uri0_cnn,
    uri1_cnn,
    uri2_cnn,
    uri3_cnn,
    uri4_cnn,