Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test for plugin input event</title>
5 <script type="text/javascript"
6 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
7 <script type="text/javascript"
8 src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
9 <script type="text/javascript"
10 src="chrome://mochikit/content/tests/SimpleTest/NativeKeyCodes.js"></script>
11 <link rel="stylesheet" type="text/css"
12 href="chrome://mochikit/content/tests/SimpleTest/test.css" />
13 </head>
14 <body>
15 <script type="application/javascript">
16 var pluginHost = SpecialPowers.Cc["@mozilla.org/plugin/host;1"]
17 .getService(SpecialPowers.Ci.nsIPluginHost);
18 var pluginTags = pluginHost.getPluginTags();
19 for (var tag of pluginTags) {
20 if (tag.name == "Test Plug-in") {
21 tag.enabledState = SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED;;
22 }
23 }
24 </script>
26 <p id="display">
27 <embed id="plugin" type="application/x-test" wmode="opaque">
28 </p>
29 <div id="content" style="display: none">
31 </div>
32 <pre id="test">
33 </pre>
35 <script type="application/javascript">
36 SimpleTest.waitForExplicitFinish();
38 var gPlugin = document.getElementById("plugin");
40 var gUtils = window.
41 QueryInterface(Components.interfaces.nsIInterfaceRequestor).
42 getInterface(Components.interfaces.nsIDOMWindowUtils);
44 function doTest() {
45 gPlugin.focus();
47 is(gUtils.IMEStatus, gUtils.IME_STATUS_PLUGIN,
48 "Plugin failed to get focus");
50 is(gPlugin.getLastKeyText(), "", "Must be empty before first key test");
52 synthesizeNativeKey(KEYBOARD_LAYOUT_EN_US, WIN_VK_A, {}, "a", "a");
53 is(gPlugin.getLastKeyText(), "a", "Invalid character was inputted");
55 synthesizeNativeKey(KEYBOARD_LAYOUT_GERMAN, WIN_VK_OEM_PLUS, {}, "+", "+");
56 is(gPlugin.getLastKeyText(), "+", "Invalid character was inputted");
58 synthesizeNativeKey(KEYBOARD_LAYOUT_GERMAN, WIN_VK_OEM_PLUS, {altGrKey:1}, "~", "+");
59 is(gPlugin.getLastKeyText(), "~", "Invalid character was inputted");
61 SimpleTest.finish();
62 }
64 SimpleTest.waitForFocus(doTest);
66 </script>
67 </body>
68 </html>