// Ensure the introduction info for eval scripts respects principal checks.

function myAPI(f) { return f(); }

var contentGlobal = newGlobal({principal: 0x1});
contentGlobal.chrome = this;
contentGlobal.eval("\n" +
		   "function contentTest() { chrome.myAPI(eval.bind(undefined, 'chrome.stack = Error().stack;')) };\n" +
		   "contentTest();");

// Note that the stack below does not include the current filename or file
// line numbers, and there's no trace of the myAPI call between the two
// evals.
assertEq(stack, "@eval line 2 > eval:1:16\n" +
                "contentTest@eval:2:26\n" +
                "@eval:3:1\n");