js/xpconnect/tests/chrome/test_mozMatchesSelector.xul

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <?xml version="1.0"?>
     2 <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
     3 <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
     4                  type="text/css"?>
     5 <!--
     6 https://bugzilla.mozilla.org/show_bug.cgi?id=533596
     7 -->
     8 <window title="Mozilla Bug 533596"
     9   xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    10   <script type="application/javascript"
    11           src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
    13   <!-- test results are displayed in the html:body -->
    14   <body xmlns="http://www.w3.org/1999/xhtml">
    16   <iframe src="http://example.org/tests/js/xpconnect/tests/mochitest/file_mozMatchesSelector.html"
    17           onload="runTest(this)">
    18   </iframe>
    19   </body>
    21   <!-- test code goes here -->
    22   <script type="application/javascript"><![CDATA[
    23       SimpleTest.waitForExplicitFinish();
    24       function runTest(ifr)
    25       {
    26         var doc = ifr.contentDocument;
    27         var docElem = doc.documentElement;
    29         var res = doc.createElement('div').mozMatchesSelector('div');
    30         is(res, true, "mozMatchesSelector call through xray, regular case");
    32         res = docElem.mozMatchesSelector.call(
    33           doc.createElement('div'), 'div');
    34         is(res, true, "mozMatchesSelector call through xray, with .call");
    36         var sb = new Components.utils.Sandbox(ifr.contentWindow);
    37         sb.doc = doc;
    38         var str = "doc.documentElement.mozMatchesSelector.call(doc.createElement( 'div' ),'div')";
    39         res = Components.utils.evalInSandbox(str, sb);
    40         is(res, true, "mozMatchesSelector call through xray (same origin), with .call");
    42         docElem.mozMatchesSelector = function(){return false};
    43         res = docElem.mozMatchesSelector.call(doc.createElement( 'div' ),'div');
    44         is(res, false, "shadowing mozMatchesSelector with an expando on the xray wrapper");
    46         SimpleTest.finish();
    47       }
    49   ]]></script>
    50 </window>

mercurial