|
1 <html> |
|
2 <head> |
|
3 <title>NPAPI src="" NPStream Test</title> |
|
4 <script type="text/javascript" |
|
5 src="/tests/SimpleTest/SimpleTest.js"></script> |
|
6 <script type="text/javascript" |
|
7 src="pluginstream.js"></script> |
|
8 <script type="text/javascript" src="utils.js"></script> |
|
9 <script type="text/javascript"> |
|
10 setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED); |
|
11 </script> |
|
12 <link rel="stylesheet" type="text/css" |
|
13 href="/tests/SimpleTest/test.css" /> |
|
14 </head> |
|
15 <body> |
|
16 <p id="display"></p> |
|
17 |
|
18 <iframe id="testframe" name="testframe" onload="frameLoaded()"></iframe> |
|
19 |
|
20 <!-- |
|
21 - A stream is sent to the browser via NPP_NewStream, NP_NORMAL. |
|
22 - The plugin reports that data can only be sent to it in 100-byte |
|
23 - chunks. When NPP_DestroyStream is called, the plugin sends the stream |
|
24 - content back to the browser by passing it as a data: url to |
|
25 - NPN_GetURL, using a frame, so that the stream content should |
|
26 - be displayed in the frame in the browser. |
|
27 - |
|
28 - We create the object element dynamically, which in some cases has caused us to deliver the data="" |
|
29 - stream twice. This verifies that we only deliver the data="" stream once. |
|
30 --> |
|
31 |
|
32 <script type="text/javascript"> |
|
33 var e = document.createElement('object'); |
|
34 e.setAttribute('data', 'loremipsum.xtest'); |
|
35 e.setAttribute('type', 'application/x-test'); |
|
36 e.setAttribute('streammode', 'normal'); |
|
37 e.setAttribute('streamchunksize', '100'); |
|
38 e.setAttribute('frame', 'testframe'); |
|
39 e.setAttribute('style', 'width: 400px; height: 100px;'); |
|
40 document.body.appendChild(e); |
|
41 </script> |
|
42 </body> |
|
43 </html> |