test_embed-apps.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!DOCTYPE HTML>
  2. <html>
  3. <!--
  4. https://bugzilla.mozilla.org/show_bug.cgi?id=815105
  5. -->
  6. <head>
  7. <meta charset="utf-8">
  8. <title>Test for Bug 815105 </title>
  9. <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  10. <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  11. </head>
  12. <body>
  13. <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=815105">Mozilla Bug 815105 </a>
  14. <p id="display"></p>
  15. <div id="content" style="display: none"></div>
  16. <pre id="test">
  17. <script type="application/javascript;version=1.8" src="file_framework.js"></script>
  18. <script type="application/javascript;version=1.8">
  19. /*
  20. * embed-apps allows us to create app iframes,
  21. * creator must also have the browser permission
  22. */
  23. function verifier(success, failure) {
  24. var iframe = document.createElement('iframe');
  25. iframe.setAttribute('mozbrowser', '');
  26. iframe.setAttribute('mozapp', 'http://example.org/manifest.webapp');
  27. iframe.src = "http://example.org/";
  28. iframe.addEventListener('load', function() {
  29. var appStatus = SpecialPowers.wrap(iframe)
  30. .contentDocument.nodePrincipal.appStatus;
  31. if (appStatus != SpecialPowers.Ci
  32. .nsIPrincipal.APP_STATUS_NOT_INSTALLED) {
  33. success("Got mozapp");
  34. } else {
  35. failure("Didn't get mozapp") ;
  36. }
  37. });
  38. document.getElementById('content').appendChild(iframe);
  39. }
  40. var gData = [
  41. {
  42. perm: ["embed-apps", "browser"],
  43. /*
  44. * Android doesn't have working apps
  45. * Mobile is for B2G which has a weird testing setup
  46. * the app iframe gets embed in the test-container iframe
  47. * which returns APP_STATUS_NOT_INSTALLED
  48. */
  49. skip: ["Android", "Mobile"],
  50. settings: [["dom.mozBrowserFramesEnabled", true]],
  51. verifier: verifier.toSource(),
  52. }
  53. ]
  54. </script>
  55. </pre>
  56. </body>
  57. </html>