123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <!DOCTYPE HTML>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=246699
- -->
- <head>
- <title>Test for Bug 246699</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=246699">Mozilla Bug 246699</a>
- <p id="display"></p>
- <div id="content" style="display: none">
- <iframe id="load-frame"></iframe>
- </div>
- <pre id="test">
- <script class="testbody" type="text/javascript">
- /**
- ** Test for Bug 246699
- ** (should produce stack information for caps errors)
- **/
- function isError(e)
- {
- return e.constructor.name === "Error" || e.constructor.name === "TypeError";
- }
- function hasStack(e)
- {
- return isError(e) && /inciteCaps/.test(e.stack);
- }
- function inciteCaps(f)
- {
- try {
- f();
- return "operation succeeded";
- } catch (e if hasStack(e)) {
- return "denied-stack";
- } catch (e) {
- return "unexpected: " + e;
- }
- }
- function tryChromeLoad()
- {
- window.frames[0].location = "chrome://global/content/mozilla.xhtml";
- }
- function tryComponentsClasses()
- {
- return SpecialPowers.Components.classes["@mozilla.org/dummy;1"];
- }
- is(inciteCaps(tryChromeLoad), "denied-stack",
- "should get stack for content-loading-chrome rejection");
- is(inciteCaps(tryComponentsClasses), "denied-stack",
- "should get stack for SpecialPowers.Components.classes rejection");
- </script>
- </pre>
- </body>
- </html>
|