Revision 3fee9e181e7c97c517c0b36b6387c04e74a02181 authored by Andy Paicu on 02 October 2018, 04:21:46 UTC, committed by wpt-autoroller on 02 October 2018, 04:21:46 UTC
Modified resource fetching to allow piping back to the ResourceClient a
struct needed for firing the securityviolationevent. This allows us
to specify the targeted element as well in the event.

CSP violation events have overly vague srcElement and path when being
triggered for an element that requires a fetch because the element is not
being passed down to where the csp check takes place and the report is
fired.

Bug: 737647
Change-Id: I944ea2ea69447c612c01b9e6f723f110fa28a1f5
1 parent 67152fd
Raw File
testharness-helpers.js
// Given an array of potentially asynchronous tests, this function will execute
// each in serial, ensuring that one and only one test is executing at a time.
//
// The test array should look like this:
//
//
//     var tests = [
//       [
//         "Test description goes here.",
//         function () {
//           // Test code goes here. `this` is bound to the test object.
//         }
//       ],
//       ...
//     ];
//
// The |setup| and |teardown| arguments are functions which are executed before
// and after each test, respectively.
function executeTestsSerially(testList, setup, teardown) {
  var tests = testList.map(function (t) {
    return {
      test: async_test(t[0]),
      code: t[1]
    };
  });

  var executeNextTest = function () {
    var current = tests.shift();
    if (current === undefined) {
      return;
    }

    // Setup the test fixtures.
    if (setup) {
      setup();
    }

    // Bind a callback to tear down the test fixtures.
    if (teardown) {
      current.test.add_cleanup(teardown);
    }

    // Execute the test.
    current.test.step(current.code);
  };

  add_result_callback(function () { setTimeout(executeNextTest, 0) });
  executeNextTest();
}
back to top