ogre.rb 0.1-i686-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (430) hide show
  1. data/README +79 -0
  2. data/Rakefile +288 -0
  3. data/doc_src/ogre.rb +246 -0
  4. data/doc_src/ois.rb +67 -0
  5. data/lib/application.rb +146 -0
  6. data/lib/application_frame_listener.rb +302 -0
  7. data/lib/application_loading_bar.rb +115 -0
  8. data/lib/constants.rb +51 -0
  9. data/lib/method_fixes.rb +42 -0
  10. data/lib/ogre.so +0 -0
  11. data/lib/ruby_ois.so +0 -0
  12. data/ogre.rb +25 -0
  13. data/platform.rb +23 -0
  14. data/samples/Ogre.log +261 -0
  15. data/samples/bsp.rb +76 -0
  16. data/samples/cg.dll +0 -0
  17. data/samples/grass.rb +325 -0
  18. data/samples/js3250.dll +0 -0
  19. data/samples/lighting.rb +138 -0
  20. data/samples/media/materials/programs/Grass.cg +30 -0
  21. data/samples/media/materials/programs/OffsetMapping.cg +97 -0
  22. data/samples/media/materials/programs/OffsetMapping.hlsl +135 -0
  23. data/samples/media/materials/programs/OffsetMappingFp.glsl +69 -0
  24. data/samples/media/materials/programs/OffsetMappingVp.glsl +54 -0
  25. data/samples/media/materials/programs/OffsetMapping_specular.asm +44 -0
  26. data/samples/media/materials/scripts/CloudySky.material +17 -0
  27. data/samples/media/materials/scripts/CubeMapping.material +34 -0
  28. data/samples/media/materials/scripts/Flare.material +17 -0
  29. data/samples/media/materials/scripts/Grass.material +63 -0
  30. data/samples/media/materials/scripts/Knot.material +14 -0
  31. data/samples/media/materials/scripts/MorningSkyBox.material +17 -0
  32. data/samples/media/materials/scripts/Offset.material +124 -0
  33. data/samples/media/materials/scripts/Ogre.material +119 -0
  34. data/samples/media/materials/scripts/RZR-002.material +15 -0
  35. data/samples/media/materials/scripts/Razor.material +14 -0
  36. data/samples/media/materials/scripts/Ribbon.material +19 -0
  37. data/samples/media/materials/scripts/RustySteel.material +14 -0
  38. data/samples/media/materials/scripts/SpaceSkyBox.material +17 -0
  39. data/samples/media/materials/scripts/SpaceSkyPlane.material +17 -0
  40. data/samples/media/materials/scripts/TextureEffects.material +15 -0
  41. data/samples/media/materials/scripts/dragon.material +42 -0
  42. data/samples/media/materials/scripts/smoke.material +18 -0
  43. data/samples/media/materials/textures/GreenSkin.jpg +0 -0
  44. data/samples/media/materials/textures/MtlPlat2.jpg +0 -0
  45. data/samples/media/materials/textures/RZR-002.png +0 -0
  46. data/samples/media/materials/textures/RustedMetal.jpg +0 -0
  47. data/samples/media/materials/textures/RustySteel.jpg +0 -0
  48. data/samples/media/materials/textures/Water02.jpg +0 -0
  49. data/samples/media/materials/textures/WeirdEye.png +0 -0
  50. data/samples/media/materials/textures/clouds.jpg +0 -0
  51. data/samples/media/materials/textures/cursor.png +0 -0
  52. data/samples/media/materials/textures/dirt01.jpg +0 -0
  53. data/samples/media/materials/textures/flare.png +0 -0
  54. data/samples/media/materials/textures/gras_02.png +0 -0
  55. data/samples/media/materials/textures/grass_1024.jpg +0 -0
  56. data/samples/media/materials/textures/ogreborder.png +0 -0
  57. data/samples/media/materials/textures/ogreborderUp.png +0 -0
  58. data/samples/media/materials/textures/ribbonband.png +0 -0
  59. data/samples/media/materials/textures/rockwall.tga +0 -0
  60. data/samples/media/materials/textures/rockwall_NH.tga +0 -0
  61. data/samples/media/materials/textures/smoke.png +0 -0
  62. data/samples/media/materials/textures/smokecolors.png +0 -0
  63. data/samples/media/materials/textures/spacesky.jpg +0 -0
  64. data/samples/media/materials/textures/spheremap.png +0 -0
  65. data/samples/media/materials/textures/texmap2.jpg +0 -0
  66. data/samples/media/models/RZR-002.mesh +0 -0
  67. data/samples/media/models/geosphere4500.mesh +0 -0
  68. data/samples/media/models/geosphere8000.mesh +0 -0
  69. data/samples/media/models/knot.mesh +0 -0
  70. data/samples/media/models/ogrehead.mesh +0 -0
  71. data/samples/media/models/razor.mesh +0 -0
  72. data/samples/media/models/sphere.mesh +0 -0
  73. data/samples/media/overlays/CubeMapping.overlay +139 -0
  74. data/samples/media/packs/OgreCore.zip +0 -0
  75. data/samples/media/packs/chiropteraDM.pk3 +0 -0
  76. data/samples/media/packs/chiropteraDM.txt +99 -0
  77. data/samples/media/packs/cubemap.zip +0 -0
  78. data/samples/media/packs/cubemapsJS.zip +0 -0
  79. data/samples/media/packs/dragon.zip +0 -0
  80. data/samples/media/packs/skybox.zip +0 -0
  81. data/samples/media/particles/smoke.particle +43 -0
  82. data/samples/media.cfg +22 -0
  83. data/samples/navi/Media/NaviDemo.material +60 -0
  84. data/samples/navi/Media/OgreCore.zip +0 -0
  85. data/samples/navi/Media/cerulean.jpg +0 -0
  86. data/samples/navi/Media/clouds.jpg +0 -0
  87. data/samples/navi/Media/controlsNaviMask.png +0 -0
  88. data/samples/navi/Media/grass.jpg +0 -0
  89. data/samples/navi/Media/knot.mesh +0 -0
  90. data/samples/navi/Media/testNaviMask.png +0 -0
  91. data/samples/navi/NaviLocal/Navi.js +136 -0
  92. data/samples/navi/NaviLocal/buttonBg.jpg +0 -0
  93. data/samples/navi/NaviLocal/controls.html +303 -0
  94. data/samples/navi/NaviLocal/knobBg.jpg +0 -0
  95. data/samples/navi/NaviLocal/moo.dropdownmenu.js +87 -0
  96. data/samples/navi/NaviLocal/mootools.v1.1.js +6964 -0
  97. data/samples/navi/NaviLocal/naviLogo.html +32 -0
  98. data/samples/navi/NaviLocal/naviLogo.png +0 -0
  99. data/samples/navi/NaviLocal/pageBg.jpg +0 -0
  100. data/samples/navi/NaviLocal/sliderBg.jpg +0 -0
  101. data/samples/navi/NaviLocal/test.html +5 -0
  102. data/samples/navi/NaviLocal/welcome.html +36 -0
  103. data/samples/navi/NaviLocal/welcome.png +0 -0
  104. data/samples/navi/chrome/chromelist.txt +597 -0
  105. data/samples/navi/chrome/classic.jar +0 -0
  106. data/samples/navi/chrome/classic.manifest +4 -0
  107. data/samples/navi/chrome/comm.jar +0 -0
  108. data/samples/navi/chrome/comm.manifest +2 -0
  109. data/samples/navi/chrome/en-US.jar +0 -0
  110. data/samples/navi/chrome/en-US.manifest +9 -0
  111. data/samples/navi/chrome/toolkit.jar +0 -0
  112. data/samples/navi/chrome/toolkit.manifest +6 -0
  113. data/samples/navi/components/FeedProcessor.js +1825 -0
  114. data/samples/navi/components/alerts.xpt +0 -0
  115. data/samples/navi/components/appshell.xpt +0 -0
  116. data/samples/navi/components/appstartup.xpt +0 -0
  117. data/samples/navi/components/auth.dll +0 -0
  118. data/samples/navi/components/autocomplete.xpt +0 -0
  119. data/samples/navi/components/autoconfig.dll +0 -0
  120. data/samples/navi/components/autoconfig.xpt +0 -0
  121. data/samples/navi/components/caps.xpt +0 -0
  122. data/samples/navi/components/chardet.xpt +0 -0
  123. data/samples/navi/components/chrome.xpt +0 -0
  124. data/samples/navi/components/commandhandler.xpt +0 -0
  125. data/samples/navi/components/commandlines.xpt +0 -0
  126. data/samples/navi/components/composer.xpt +0 -0
  127. data/samples/navi/components/compreg.dat +1474 -0
  128. data/samples/navi/components/content_base.xpt +0 -0
  129. data/samples/navi/components/content_html.xpt +0 -0
  130. data/samples/navi/components/content_htmldoc.xpt +0 -0
  131. data/samples/navi/components/content_xmldoc.xpt +0 -0
  132. data/samples/navi/components/content_xslt.xpt +0 -0
  133. data/samples/navi/components/content_xtf.xpt +0 -0
  134. data/samples/navi/components/directory.xpt +0 -0
  135. data/samples/navi/components/docshell_base.xpt +0 -0
  136. data/samples/navi/components/dom.xpt +0 -0
  137. data/samples/navi/components/dom_base.xpt +0 -0
  138. data/samples/navi/components/dom_canvas.xpt +0 -0
  139. data/samples/navi/components/dom_core.xpt +0 -0
  140. data/samples/navi/components/dom_css.xpt +0 -0
  141. data/samples/navi/components/dom_events.xpt +0 -0
  142. data/samples/navi/components/dom_html.xpt +0 -0
  143. data/samples/navi/components/dom_loadsave.xpt +0 -0
  144. data/samples/navi/components/dom_range.xpt +0 -0
  145. data/samples/navi/components/dom_sidebar.xpt +0 -0
  146. data/samples/navi/components/dom_storage.xpt +0 -0
  147. data/samples/navi/components/dom_stylesheets.xpt +0 -0
  148. data/samples/navi/components/dom_svg.xpt +0 -0
  149. data/samples/navi/components/dom_traversal.xpt +0 -0
  150. data/samples/navi/components/dom_views.xpt +0 -0
  151. data/samples/navi/components/dom_xbl.xpt +0 -0
  152. data/samples/navi/components/dom_xpath.xpt +0 -0
  153. data/samples/navi/components/dom_xul.xpt +0 -0
  154. data/samples/navi/components/downloads.xpt +0 -0
  155. data/samples/navi/components/editor.xpt +0 -0
  156. data/samples/navi/components/embed_base.xpt +0 -0
  157. data/samples/navi/components/extensions.xpt +0 -0
  158. data/samples/navi/components/exthandler.xpt +0 -0
  159. data/samples/navi/components/fastfind.xpt +0 -0
  160. data/samples/navi/components/feeds.xpt +0 -0
  161. data/samples/navi/components/find.xpt +0 -0
  162. data/samples/navi/components/gfx.xpt +0 -0
  163. data/samples/navi/components/gksvgrenderer.xpt +0 -0
  164. data/samples/navi/components/history.xpt +0 -0
  165. data/samples/navi/components/htmlparser.xpt +0 -0
  166. data/samples/navi/components/imglib2.xpt +0 -0
  167. data/samples/navi/components/inspector.xpt +0 -0
  168. data/samples/navi/components/intl.xpt +0 -0
  169. data/samples/navi/components/intlcmpt.xpt +0 -0
  170. data/samples/navi/components/jar.xpt +0 -0
  171. data/samples/navi/components/jsconsole-clhandler.js +170 -0
  172. data/samples/navi/components/jsconsole.xpt +0 -0
  173. data/samples/navi/components/jsdservice.xpt +0 -0
  174. data/samples/navi/components/layout_base.xpt +0 -0
  175. data/samples/navi/components/layout_printing.xpt +0 -0
  176. data/samples/navi/components/layout_xul.xpt +0 -0
  177. data/samples/navi/components/layout_xul_tree.xpt +0 -0
  178. data/samples/navi/components/locale.xpt +0 -0
  179. data/samples/navi/components/lwbrk.xpt +0 -0
  180. data/samples/navi/components/mimetype.xpt +0 -0
  181. data/samples/navi/components/mozbrwsr.xpt +0 -0
  182. data/samples/navi/components/mozfind.xpt +0 -0
  183. data/samples/navi/components/necko.xpt +0 -0
  184. data/samples/navi/components/necko_about.xpt +0 -0
  185. data/samples/navi/components/necko_cache.xpt +0 -0
  186. data/samples/navi/components/necko_cookie.xpt +0 -0
  187. data/samples/navi/components/necko_data.xpt +0 -0
  188. data/samples/navi/components/necko_dns.xpt +0 -0
  189. data/samples/navi/components/necko_file.xpt +0 -0
  190. data/samples/navi/components/necko_ftp.xpt +0 -0
  191. data/samples/navi/components/necko_http.xpt +0 -0
  192. data/samples/navi/components/necko_res.xpt +0 -0
  193. data/samples/navi/components/necko_socket.xpt +0 -0
  194. data/samples/navi/components/necko_strconv.xpt +0 -0
  195. data/samples/navi/components/necko_viewsource.xpt +0 -0
  196. data/samples/navi/components/nsCloseAllWindows.js +143 -0
  197. data/samples/navi/components/nsDefaultCLH.js +231 -0
  198. data/samples/navi/components/nsDictionary.js +148 -0
  199. data/samples/navi/components/nsExtensionManager.js +8497 -0
  200. data/samples/navi/components/nsHelperAppDlg.js +990 -0
  201. data/samples/navi/components/nsInterfaceInfoToIDL.js +590 -0
  202. data/samples/navi/components/nsKillAll.js +200 -0
  203. data/samples/navi/components/nsPostUpdateWin.js +711 -0
  204. data/samples/navi/components/nsProgressDialog.js +949 -0
  205. data/samples/navi/components/nsProxyAutoConfig.js +396 -0
  206. data/samples/navi/components/nsResetPref.js +175 -0
  207. data/samples/navi/components/nsURLFormatter.js +179 -0
  208. data/samples/navi/components/nsUpdateService.js +3074 -0
  209. data/samples/navi/components/nsXULAppInstall.js +301 -0
  210. data/samples/navi/components/nsXmlRpcClient.js +1038 -0
  211. data/samples/navi/components/oji.xpt +0 -0
  212. data/samples/navi/components/passwordmgr.xpt +0 -0
  213. data/samples/navi/components/pipboot.xpt +0 -0
  214. data/samples/navi/components/pipnss.xpt +0 -0
  215. data/samples/navi/components/plugin.xpt +0 -0
  216. data/samples/navi/components/pref.xpt +0 -0
  217. data/samples/navi/components/prefetch.xpt +0 -0
  218. data/samples/navi/components/profile.xpt +0 -0
  219. data/samples/navi/components/progressDlg.xpt +0 -0
  220. data/samples/navi/components/proxyObject.xpt +0 -0
  221. data/samples/navi/components/rdf.xpt +0 -0
  222. data/samples/navi/components/satchel.xpt +0 -0
  223. data/samples/navi/components/saxparser.xpt +0 -0
  224. data/samples/navi/components/shistory.xpt +0 -0
  225. data/samples/navi/components/storage.xpt +0 -0
  226. data/samples/navi/components/toolkitprofile.xpt +0 -0
  227. data/samples/navi/components/transformiix.dll +0 -0
  228. data/samples/navi/components/txmgr.xpt +0 -0
  229. data/samples/navi/components/txtsvc.xpt +0 -0
  230. data/samples/navi/components/uconv.xpt +0 -0
  231. data/samples/navi/components/unicharutil.xpt +0 -0
  232. data/samples/navi/components/universalchardet.dll +0 -0
  233. data/samples/navi/components/update.xpt +0 -0
  234. data/samples/navi/components/uriloader.xpt +0 -0
  235. data/samples/navi/components/urlformatter.xpt +0 -0
  236. data/samples/navi/components/webBrowser_core.xpt +0 -0
  237. data/samples/navi/components/webbrowserpersist.xpt +0 -0
  238. data/samples/navi/components/webshell_idls.xpt +0 -0
  239. data/samples/navi/components/websrvcs.dll +0 -0
  240. data/samples/navi/components/websrvcs.xpt +0 -0
  241. data/samples/navi/components/widget.xpt +0 -0
  242. data/samples/navi/components/windowds.xpt +0 -0
  243. data/samples/navi/components/windowwatcher.xpt +0 -0
  244. data/samples/navi/components/xml-rpc.xpt +0 -0
  245. data/samples/navi/components/xmlextras.dll +0 -0
  246. data/samples/navi/components/xpcom_base.xpt +0 -0
  247. data/samples/navi/components/xpcom_components.xpt +0 -0
  248. data/samples/navi/components/xpcom_ds.xpt +0 -0
  249. data/samples/navi/components/xpcom_io.xpt +0 -0
  250. data/samples/navi/components/xpcom_obsolete.xpt +0 -0
  251. data/samples/navi/components/xpcom_thread.xpt +0 -0
  252. data/samples/navi/components/xpcom_xpti.xpt +0 -0
  253. data/samples/navi/components/xpconnect.xpt +0 -0
  254. data/samples/navi/components/xpinstall.xpt +0 -0
  255. data/samples/navi/components/xpti.dat +1424 -0
  256. data/samples/navi/components/xulapp.xpt +0 -0
  257. data/samples/navi/components/xulapp_setup.xpt +0 -0
  258. data/samples/navi/components/xuldoc.xpt +0 -0
  259. data/samples/navi/components/xulrunner.xpt +0 -0
  260. data/samples/navi/components/xultmpl.xpt +0 -0
  261. data/samples/navi/components/xulutil.dll +0 -0
  262. data/samples/navi/controlsNaviMask.png +0 -0
  263. data/samples/navi/greprefs/all.js +1344 -0
  264. data/samples/navi/greprefs/security-prefs.js +69 -0
  265. data/samples/navi/greprefs/xpinstall.js +2 -0
  266. data/samples/navi/navi_demo.rb +207 -0
  267. data/samples/navi/plugins/NPSWF32.dll +0 -0
  268. data/samples/navi/plugins/flashplayer.xpt +0 -0
  269. data/samples/navi/plugins/npnul32.dll +0 -0
  270. data/samples/navi/plugins.cfg +10 -0
  271. data/samples/navi/res/EditorOverride.css +359 -0
  272. data/samples/navi/res/Thumbs.db +0 -0
  273. data/samples/navi/res/arrow.gif +0 -0
  274. data/samples/navi/res/arrowd.gif +0 -0
  275. data/samples/navi/res/bloatcycle.html +40 -0
  276. data/samples/navi/res/broken-image.gif +0 -0
  277. data/samples/navi/res/charsetData.properties +199 -0
  278. data/samples/navi/res/charsetalias.properties +517 -0
  279. data/samples/navi/res/cmessage.txt +1 -0
  280. data/samples/navi/res/dtd/xhtml11.dtd +300 -0
  281. data/samples/navi/res/entityTables/html40Latin1.properties +146 -0
  282. data/samples/navi/res/entityTables/html40Special.properties +69 -0
  283. data/samples/navi/res/entityTables/html40Symbols.properties +164 -0
  284. data/samples/navi/res/entityTables/htmlEntityVersions.properties +50 -0
  285. data/samples/navi/res/entityTables/transliterate.properties +2367 -0
  286. data/samples/navi/res/fonts/fontEncoding.properties +127 -0
  287. data/samples/navi/res/fonts/fontNameMap.properties +134 -0
  288. data/samples/navi/res/forms.css +531 -0
  289. data/samples/navi/res/grabber.gif +0 -0
  290. data/samples/navi/res/hiddenWindow.html +1 -0
  291. data/samples/navi/res/html/Thumbs.db +0 -0
  292. data/samples/navi/res/html/gopher-audio.gif +0 -0
  293. data/samples/navi/res/html/gopher-binary.gif +0 -0
  294. data/samples/navi/res/html/gopher-find.gif +0 -0
  295. data/samples/navi/res/html/gopher-image.gif +0 -0
  296. data/samples/navi/res/html/gopher-menu.gif +0 -0
  297. data/samples/navi/res/html/gopher-movie.gif +0 -0
  298. data/samples/navi/res/html/gopher-sound.gif +0 -0
  299. data/samples/navi/res/html/gopher-telnet.gif +0 -0
  300. data/samples/navi/res/html/gopher-text.gif +0 -0
  301. data/samples/navi/res/html/gopher-unknown.gif +0 -0
  302. data/samples/navi/res/html.css +478 -0
  303. data/samples/navi/res/langGroups.properties +236 -0
  304. data/samples/navi/res/language.properties +259 -0
  305. data/samples/navi/res/loading-image.gif +0 -0
  306. data/samples/navi/res/quirk.css +282 -0
  307. data/samples/navi/res/samples/Anieyes.gif +0 -0
  308. data/samples/navi/res/samples/Thumbs.db +0 -0
  309. data/samples/navi/res/samples/aform.css +69 -0
  310. data/samples/navi/res/samples/beeptest.html +18 -0
  311. data/samples/navi/res/samples/bform.css +45 -0
  312. data/samples/navi/res/samples/bg.jpg +0 -0
  313. data/samples/navi/res/samples/cform.css +40 -0
  314. data/samples/navi/res/samples/checkboxTest.xul +47 -0
  315. data/samples/navi/res/samples/demoform.css +97 -0
  316. data/samples/navi/res/samples/find.html +97 -0
  317. data/samples/navi/res/samples/gear1.gif +0 -0
  318. data/samples/navi/res/samples/image_props.html +58 -0
  319. data/samples/navi/res/samples/mozform.css +256 -0
  320. data/samples/navi/res/samples/printsetup.html +175 -0
  321. data/samples/navi/res/samples/raptor.jpg +0 -0
  322. data/samples/navi/res/samples/rock_gra.gif +0 -0
  323. data/samples/navi/res/samples/scrollbarTest1.xul +66 -0
  324. data/samples/navi/res/samples/scrollbarTest2.xul +19 -0
  325. data/samples/navi/res/samples/sliderTest1.xul +14 -0
  326. data/samples/navi/res/samples/soundtest.html +20 -0
  327. data/samples/navi/res/samples/test.wav +0 -0
  328. data/samples/navi/res/samples/test0.html +220 -0
  329. data/samples/navi/res/samples/test1.html +84 -0
  330. data/samples/navi/res/samples/test10.html +16 -0
  331. data/samples/navi/res/samples/test11.html +42 -0
  332. data/samples/navi/res/samples/test12.html +79 -0
  333. data/samples/navi/res/samples/test13.html +126 -0
  334. data/samples/navi/res/samples/test14.html +5 -0
  335. data/samples/navi/res/samples/test15.html +5 -0
  336. data/samples/navi/res/samples/test16.html +124 -0
  337. data/samples/navi/res/samples/test2.html +41 -0
  338. data/samples/navi/res/samples/test3.html +126 -0
  339. data/samples/navi/res/samples/test4.html +335 -0
  340. data/samples/navi/res/samples/test5.html +199 -0
  341. data/samples/navi/res/samples/test6.html +335 -0
  342. data/samples/navi/res/samples/test7.html +11 -0
  343. data/samples/navi/res/samples/test8-1.html +66 -0
  344. data/samples/navi/res/samples/test8.html +662 -0
  345. data/samples/navi/res/samples/test8dom.html +64 -0
  346. data/samples/navi/res/samples/test8sca.html +308 -0
  347. data/samples/navi/res/samples/test8siz.html +224 -0
  348. data/samples/navi/res/samples/test8tab.html +9 -0
  349. data/samples/navi/res/samples/test9.html +12 -0
  350. data/samples/navi/res/samples/test9a.html +39 -0
  351. data/samples/navi/res/samples/test9b.html +16 -0
  352. data/samples/navi/res/samples/test_ed.html +5 -0
  353. data/samples/navi/res/samples/test_form.html +34 -0
  354. data/samples/navi/res/samples/test_gfx.html +75 -0
  355. data/samples/navi/res/samples/test_lbox.html +100 -0
  356. data/samples/navi/res/samples/test_pr.html +87 -0
  357. data/samples/navi/res/samples/test_weight.html +45 -0
  358. data/samples/navi/res/samples/toolbarTest1.xul +51 -0
  359. data/samples/navi/res/samples/treeTest1.css +62 -0
  360. data/samples/navi/res/samples/treeTest1.xul +110 -0
  361. data/samples/navi/res/samples/xulTest.css +130 -0
  362. data/samples/navi/res/svg.css +64 -0
  363. data/samples/navi/res/table-add-column-after-active.gif +0 -0
  364. data/samples/navi/res/table-add-column-after-hover.gif +0 -0
  365. data/samples/navi/res/table-add-column-after.gif +0 -0
  366. data/samples/navi/res/table-add-column-before-active.gif +0 -0
  367. data/samples/navi/res/table-add-column-before-hover.gif +0 -0
  368. data/samples/navi/res/table-add-column-before.gif +0 -0
  369. data/samples/navi/res/table-add-row-after-active.gif +0 -0
  370. data/samples/navi/res/table-add-row-after-hover.gif +0 -0
  371. data/samples/navi/res/table-add-row-after.gif +0 -0
  372. data/samples/navi/res/table-add-row-before-active.gif +0 -0
  373. data/samples/navi/res/table-add-row-before-hover.gif +0 -0
  374. data/samples/navi/res/table-add-row-before.gif +0 -0
  375. data/samples/navi/res/table-remove-column-active.gif +0 -0
  376. data/samples/navi/res/table-remove-column-hover.gif +0 -0
  377. data/samples/navi/res/table-remove-column.gif +0 -0
  378. data/samples/navi/res/table-remove-row-active.gif +0 -0
  379. data/samples/navi/res/table-remove-row-hover.gif +0 -0
  380. data/samples/navi/res/table-remove-row.gif +0 -0
  381. data/samples/navi/res/throbber/Thumbs.db +0 -0
  382. data/samples/navi/res/throbber/anim.gif +0 -0
  383. data/samples/navi/res/throbber/anims00.gif +0 -0
  384. data/samples/navi/res/throbber/anims01.gif +0 -0
  385. data/samples/navi/res/throbber/anims02.gif +0 -0
  386. data/samples/navi/res/throbber/anims03.gif +0 -0
  387. data/samples/navi/res/throbber/anims04.gif +0 -0
  388. data/samples/navi/res/throbber/anims05.gif +0 -0
  389. data/samples/navi/res/throbber/anims06.gif +0 -0
  390. data/samples/navi/res/throbber/anims07.gif +0 -0
  391. data/samples/navi/res/throbber/anims08.gif +0 -0
  392. data/samples/navi/res/throbber/anims09.gif +0 -0
  393. data/samples/navi/res/throbber/anims10.gif +0 -0
  394. data/samples/navi/res/throbber/anims11.gif +0 -0
  395. data/samples/navi/res/throbber/anims12.gif +0 -0
  396. data/samples/navi/res/throbber/anims13.gif +0 -0
  397. data/samples/navi/res/throbber/anims14.gif +0 -0
  398. data/samples/navi/res/throbber/anims15.gif +0 -0
  399. data/samples/navi/res/throbber/anims16.gif +0 -0
  400. data/samples/navi/res/throbber/anims17.gif +0 -0
  401. data/samples/navi/res/throbber/anims18.gif +0 -0
  402. data/samples/navi/res/throbber/anims19.gif +0 -0
  403. data/samples/navi/res/throbber/anims20.gif +0 -0
  404. data/samples/navi/res/throbber/anims21.gif +0 -0
  405. data/samples/navi/res/throbber/anims22.gif +0 -0
  406. data/samples/navi/res/throbber/anims23.gif +0 -0
  407. data/samples/navi/res/throbber/anims24.gif +0 -0
  408. data/samples/navi/res/throbber/anims25.gif +0 -0
  409. data/samples/navi/res/throbber/anims26.gif +0 -0
  410. data/samples/navi/res/throbber/anims27.gif +0 -0
  411. data/samples/navi/res/throbber/anims28.gif +0 -0
  412. data/samples/navi/res/throbber/anims29.gif +0 -0
  413. data/samples/navi/res/ua.css +235 -0
  414. data/samples/navi/res/viewer.properties +1 -0
  415. data/samples/navi/res/viewsource.css +118 -0
  416. data/samples/navi/res/wincharset.properties +55 -0
  417. data/samples/navi/resources.cfg +14 -0
  418. data/samples/navi/testNaviMask.png +0 -0
  419. data/samples/ogre.cfg +8 -0
  420. data/samples/plugins.cfg +11 -0
  421. data/samples/quake3settings.cfg +2 -0
  422. data/samples/render_run_log.5796 +891 -0
  423. data/samples/render_to_texture.rb +161 -0
  424. data/samples/resources.cfg +16 -0
  425. data/samples/sky_box.rb +107 -0
  426. data/samples/sky_dome.rb +86 -0
  427. data/samples/sky_plane.rb +27 -0
  428. data/samples/smoke.rb +23 -0
  429. data/samples/work/cube_mapping.rb +686 -0
  430. metadata +500 -0
@@ -0,0 +1,396 @@
1
+ /* -*- Mode: Java; tab-width: 4; c-basic-offset: 4; -*- */
2
+ /* vim:set ts=4 sw=4 sts=4 et: */
3
+ /* ***** BEGIN LICENSE BLOCK *****
4
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5
+ *
6
+ * The contents of this file are subject to the Mozilla Public License Version
7
+ * 1.1 (the "License"); you may not use this file except in compliance with
8
+ * the License. You may obtain a copy of the License at
9
+ * http://www.mozilla.org/MPL/
10
+ *
11
+ * Software distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13
+ * for the specific language governing rights and limitations under the
14
+ * License.
15
+ *
16
+ * The Original Code is mozilla.org code.
17
+ *
18
+ * The Initial Developer of the Original Code is
19
+ * Netscape Communications Corporation.
20
+ * Portions created by the Initial Developer are Copyright (C) 1998
21
+ * the Initial Developer. All Rights Reserved.
22
+ *
23
+ * Contributor(s):
24
+ * Akhil Arora <akhil.arora@sun.com>
25
+ * Tomi Leppikangas <Tomi.Leppikangas@oulu.fi>
26
+ * Darin Fisher <darin@meer.net>
27
+ *
28
+ * Alternatively, the contents of this file may be used under the terms of
29
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
30
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
31
+ * in which case the provisions of the GPL or the LGPL are applicable instead
32
+ * of those above. If you wish to allow use of your version of this file only
33
+ * under the terms of either the GPL or the LGPL, and not to allow others to
34
+ * use your version of this file under the terms of the MPL, indicate your
35
+ * decision by deleting the provisions above and replace them with the notice
36
+ * and other provisions required by the GPL or the LGPL. If you do not delete
37
+ * the provisions above, a recipient may use your version of this file under
38
+ * the terms of any one of the MPL, the GPL or the LGPL.
39
+ *
40
+ * ***** END LICENSE BLOCK ***** */
41
+
42
+ /*
43
+ Script for Proxy Auto Config in the new world order.
44
+ - Gagan Saksena 04/24/00
45
+ */
46
+
47
+ const kDNS_CONTRACTID = "@mozilla.org/network/dns-service;1";
48
+ const kPAC_CONTRACTID = "@mozilla.org/network/proxy-auto-config;1";
49
+ const kPAC_CID = Components.ID("{63ac8c66-1dd2-11b2-b070-84d00d3eaece}");
50
+
51
+ const nsISupports = Components.interfaces.nsISupports;
52
+ const nsIProxyAutoConfig = Components.interfaces.nsIProxyAutoConfig;
53
+ const nsIDNSService = Components.interfaces.nsIDNSService;
54
+
55
+ // implementor of nsIProxyAutoConfig
56
+ function nsProxyAutoConfig() {};
57
+
58
+ nsProxyAutoConfig.prototype = {
59
+ // sandbox in which we eval loaded autoconfig js file
60
+ _sandBox: null,
61
+
62
+ // ptr to eval'ed FindProxyForURL function
63
+ _findProxyForURL: null,
64
+
65
+ QueryInterface: function(iid) {
66
+ if (iid.Equals(nsIProxyAutoConfig) ||
67
+ iid.Equals(nsISupports))
68
+ return this;
69
+ throw Components.results.NS_ERROR_NO_INTERFACE;
70
+ },
71
+
72
+ init: function(pacURI, pacText) {
73
+ // remove PAC configuration if requested
74
+ if (pacURI == "" || pacText == "") {
75
+ this._findProxyForURL = null;
76
+ this._sandBox = null;
77
+ return;
78
+ }
79
+
80
+ // allocate a fresh Sandbox to clear global scope for new PAC script
81
+ this._sandBox = new Components.utils.Sandbox(pacURI);
82
+ Components.utils.evalInSandbox(pacUtils, this._sandBox);
83
+
84
+ // add predefined functions to pac
85
+ this._sandBox.importFunction(myIpAddress);
86
+ this._sandBox.importFunction(dnsResolve);
87
+ this._sandBox.importFunction(proxyAlert, "alert");
88
+
89
+ // evaluate loaded js file
90
+ Components.utils.evalInSandbox(pacText, this._sandBox);
91
+ this._findProxyForURL = this._sandBox.FindProxyForURL;
92
+ },
93
+
94
+ getProxyForURI: function(testURI, testHost) {
95
+ if (!this._findProxyForURL)
96
+ return null;
97
+
98
+ // Call the original function
99
+ return this._findProxyForURL.call(this._sandBox, testURI, testHost);
100
+ }
101
+ }
102
+
103
+ function proxyAlert(msg) {
104
+ try {
105
+ // It would appear that the console service is threadsafe.
106
+ var cns = Components.classes["@mozilla.org/consoleservice;1"]
107
+ .getService(Components.interfaces.nsIConsoleService);
108
+ cns.logStringMessage("PAC-alert: "+msg);
109
+ } catch (e) {
110
+ dump("PAC: proxyAlert ERROR: "+e+"\n");
111
+ }
112
+ }
113
+
114
+ // wrapper for getting local IP address called by PAC file
115
+ function myIpAddress() {
116
+ try {
117
+ return dns.resolve(dns.myHostName, 0).getNextAddrAsString();
118
+ } catch (e) {
119
+ return '127.0.0.1';
120
+ }
121
+ }
122
+
123
+ // wrapper for resolving hostnames called by PAC file
124
+ function dnsResolve(host) {
125
+ try {
126
+ return dns.resolve(host, 0).getNextAddrAsString();
127
+ } catch (e) {
128
+ return null;
129
+ }
130
+ }
131
+
132
+ var pacModule = new Object();
133
+
134
+ pacModule.registerSelf =
135
+ function (compMgr, fileSpec, location, type) {
136
+ compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
137
+ compMgr.registerFactoryLocation(kPAC_CID,
138
+ "nsProxyAutoConfig",
139
+ kPAC_CONTRACTID,
140
+ fileSpec,
141
+ location,
142
+ type);
143
+ }
144
+
145
+ pacModule.getClassObject =
146
+ function (compMgr, cid, iid) {
147
+ if (!cid.equals(kPAC_CID))
148
+ throw Components.results.NS_ERROR_NO_INTERFACE;
149
+
150
+ if (!iid.equals(Components.interfaces.nsIFactory))
151
+ throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
152
+
153
+ return pacFactory;
154
+ }
155
+
156
+ pacModule.canUnload =
157
+ function (compMgr) {
158
+ return true;
159
+ }
160
+
161
+ var pacFactory = new Object();
162
+ pacFactory.createInstance =
163
+ function (outer, iid) {
164
+ if (outer != null)
165
+ throw Components.results.NS_ERROR_NO_AGGREGATION;
166
+
167
+ if (!iid.equals(nsIProxyAutoConfig) &&
168
+ !iid.equals(Components.interfaces.nsISupports)) {
169
+ throw Components.results.NS_ERROR_NO_INTERFACE;
170
+ }
171
+ return pac;
172
+ }
173
+
174
+ function NSGetModule(compMgr, fileSpec) {
175
+ return pacModule;
176
+ }
177
+
178
+ var pac = new nsProxyAutoConfig() ;
179
+ var dns = Components.classes[kDNS_CONTRACTID].getService(nsIDNSService);
180
+
181
+ var pacUtils =
182
+ "function dnsDomainIs(host, domain) {\n" +
183
+ " return (host.length >= domain.length &&\n" +
184
+ " host.substring(host.length - domain.length) == domain);\n" +
185
+ "}\n" +
186
+
187
+ "function dnsDomainLevels(host) {\n" +
188
+ " return host.split('.').length-1;\n" +
189
+ "}\n" +
190
+
191
+ "function convert_addr(ipchars) {\n"+
192
+ " var bytes = ipchars.split('.');\n"+
193
+ " var result = ((bytes[0] & 0xff) << 24) |\n"+
194
+ " ((bytes[1] & 0xff) << 16) |\n"+
195
+ " ((bytes[2] & 0xff) << 8) |\n"+
196
+ " (bytes[3] & 0xff);\n"+
197
+ " return result;\n"+
198
+ "}\n"+
199
+
200
+ "function isInNet(ipaddr, pattern, maskstr) {\n"+
201
+ " var test = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/(ipaddr);\n"+
202
+ " if (test == null) {\n"+
203
+ " ipaddr = dnsResolve(ipaddr);\n"+
204
+ " if (ipaddr == null)\n"+
205
+ " return false;\n"+
206
+ " } else if (test[1] > 255 || test[2] > 255 || \n"+
207
+ " test[3] > 255 || test[4] > 255) {\n"+
208
+ " return false; // not an IP address\n"+
209
+ " }\n"+
210
+ " var host = convert_addr(ipaddr);\n"+
211
+ " var pat = convert_addr(pattern);\n"+
212
+ " var mask = convert_addr(maskstr);\n"+
213
+ " return ((host & mask) == (pat & mask));\n"+
214
+ " \n"+
215
+ "}\n"+
216
+
217
+ "function isPlainHostName(host) {\n" +
218
+ " return (host.search('\\\\.') == -1);\n" +
219
+ "}\n" +
220
+
221
+ "function isResolvable(host) {\n" +
222
+ " var ip = dnsResolve(host);\n" +
223
+ " return (ip != null);\n" +
224
+ "}\n" +
225
+
226
+ "function localHostOrDomainIs(host, hostdom) {\n" +
227
+ " return (host == hostdom) ||\n" +
228
+ " (hostdom.lastIndexOf(host + '.', 0) == 0);\n" +
229
+ "}\n" +
230
+
231
+ "function shExpMatch(url, pattern) {\n" +
232
+ " pattern = pattern.replace(/\\./g, '\\\\.');\n" +
233
+ " pattern = pattern.replace(/\\*/g, '.*');\n" +
234
+ " pattern = pattern.replace(/\\?/g, '.');\n" +
235
+ " var newRe = new RegExp('^'+pattern+'$');\n" +
236
+ " return newRe.test(url);\n" +
237
+ "}\n" +
238
+
239
+ "var wdays = new Array('SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT');\n" +
240
+
241
+ "var monthes = new Array('JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC');\n"+
242
+
243
+ "function weekdayRange() {\n" +
244
+ " function getDay(weekday) {\n" +
245
+ " for (var i = 0; i < 6; i++) {\n" +
246
+ " if (weekday == wdays[i]) \n" +
247
+ " return i;\n" +
248
+ " }\n" +
249
+ " return -1;\n" +
250
+ " }\n" +
251
+ " var date = new Date();\n" +
252
+ " var argc = arguments.length;\n" +
253
+ " var wday;\n" +
254
+ " if (argc < 1)\n" +
255
+ " return false;\n" +
256
+ " if (arguments[argc - 1] == 'GMT') {\n" +
257
+ " argc--;\n" +
258
+ " wday = date.getUTCDay();\n" +
259
+ " } else {\n" +
260
+ " wday = date.getDay();\n" +
261
+ " }\n" +
262
+ " var wd1 = getDay(arguments[0]);\n" +
263
+ " var wd2 = (argc == 2) ? getDay(arguments[1]) : wd1;\n" +
264
+ " return (wd1 == -1 || wd2 == -1) ? false\n" +
265
+ " : (wd1 <= wday && wday <= wd2);\n" +
266
+ "}\n" +
267
+
268
+ "function dateRange() {\n" +
269
+ " function getMonth(name) {\n" +
270
+ " for (var i = 0; i < 6; i++) {\n" +
271
+ " if (name == monthes[i])\n" +
272
+ " return i;\n" +
273
+ " }\n" +
274
+ " return -1;\n" +
275
+ " }\n" +
276
+ " var date = new Date();\n" +
277
+ " var argc = arguments.length;\n" +
278
+ " if (argc < 1) {\n" +
279
+ " return false;\n" +
280
+ " }\n" +
281
+ " var isGMT = (arguments[argc - 1] == 'GMT');\n" +
282
+ "\n" +
283
+ " if (isGMT) {\n" +
284
+ " argc--;\n" +
285
+ " }\n" +
286
+ " // function will work even without explict handling of this case\n" +
287
+ " if (argc == 1) {\n" +
288
+ " var tmp = parseInt(arguments[0]);\n" +
289
+ " if (isNaN(tmp)) {\n" +
290
+ " return ((isGMT ? date.getUTCMonth() : date.getMonth()) ==\n" +
291
+ "getMonth(arguments[0]));\n" +
292
+ " } else if (tmp < 32) {\n" +
293
+ " return ((isGMT ? date.getUTCDate() : date.getDate()) == tmp);\n" +
294
+ " } else { \n" +
295
+ " return ((isGMT ? date.getUTCFullYear() : date.getFullYear()) ==\n" +
296
+ "tmp);\n" +
297
+ " }\n" +
298
+ " }\n" +
299
+ " var year = date.getFullYear();\n" +
300
+ " var date1, date2;\n" +
301
+ " date1 = new Date(year, 0, 1, 0, 0, 0);\n" +
302
+ " date2 = new Date(year, 11, 31, 23, 59, 59);\n" +
303
+ " var adjustMonth = false;\n" +
304
+ " for (var i = 0; i < (argc >> 1); i++) {\n" +
305
+ " var tmp = parseInt(arguments[i]);\n" +
306
+ " if (isNaN(tmp)) {\n" +
307
+ " var mon = getMonth(arguments[i]);\n" +
308
+ " date1.setMonth(mon);\n" +
309
+ " } else if (tmp < 32) {\n" +
310
+ " adjustMonth = (argc <= 2);\n" +
311
+ " date1.setDate(tmp);\n" +
312
+ " } else {\n" +
313
+ " date1.setFullYear(tmp);\n" +
314
+ " }\n" +
315
+ " }\n" +
316
+ " for (var i = (argc >> 1); i < argc; i++) {\n" +
317
+ " var tmp = parseInt(arguments[i]);\n" +
318
+ " if (isNaN(tmp)) {\n" +
319
+ " var mon = getMonth(arguments[i]);\n" +
320
+ " date2.setMonth(mon);\n" +
321
+ " } else if (tmp < 32) {\n" +
322
+ " date2.setDate(tmp);\n" +
323
+ " } else {\n" +
324
+ " date2.setFullYear(tmp);\n" +
325
+ " }\n" +
326
+ " }\n" +
327
+ " if (adjustMonth) {\n" +
328
+ " date1.setMonth(date.getMonth());\n" +
329
+ " date2.setMonth(date.getMonth());\n" +
330
+ " }\n" +
331
+ " if (isGMT) {\n" +
332
+ " var tmp = date;\n" +
333
+ " tmp.setFullYear(date.getUTCFullYear());\n" +
334
+ " tmp.setMonth(date.getUTCMonth());\n" +
335
+ " tmp.setDate(date.getUTCDate());\n" +
336
+ " tmp.setHours(date.getUTCHours());\n" +
337
+ " tmp.setMinutes(date.getUTCMinutes());\n" +
338
+ " tmp.setSeconds(date.getUTCSeconds());\n" +
339
+ " date = tmp;\n" +
340
+ " }\n" +
341
+ " return ((date1 <= date) && (date <= date2));\n" +
342
+ "}\n" +
343
+
344
+ "function timeRange() {\n" +
345
+ " var argc = arguments.length;\n" +
346
+ " var date = new Date();\n" +
347
+ " var isGMT= false;\n"+
348
+ "\n" +
349
+ " if (argc < 1) {\n" +
350
+ " return false;\n" +
351
+ " }\n" +
352
+ " if (arguments[argc - 1] == 'GMT') {\n" +
353
+ " isGMT = true;\n" +
354
+ " argc--;\n" +
355
+ " }\n" +
356
+ "\n" +
357
+ " var hour = isGMT ? date.getUTCHours() : date.getHours();\n" +
358
+ " var date1, date2;\n" +
359
+ " date1 = new Date();\n" +
360
+ " date2 = new Date();\n" +
361
+ "\n" +
362
+ " if (argc == 1) {\n" +
363
+ " return (hour == arguments[0]);\n" +
364
+ " } else if (argc == 2) {\n" +
365
+ " return ((arguments[0] <= hour) && (hour <= arguments[1]));\n" +
366
+ " } else {\n" +
367
+ " switch (argc) {\n" +
368
+ " case 6:\n" +
369
+ " date1.setSeconds(arguments[2]);\n" +
370
+ " date2.setSeconds(arguments[5]);\n" +
371
+ " case 4:\n" +
372
+ " var middle = argc >> 1;\n" +
373
+ " date1.setHours(arguments[0]);\n" +
374
+ " date1.setMinutes(arguments[1]);\n" +
375
+ " date2.setHours(arguments[middle]);\n" +
376
+ " date2.setMinutes(arguments[middle + 1]);\n" +
377
+ " if (middle == 2) {\n" +
378
+ " date2.setSeconds(59);\n" +
379
+ " }\n" +
380
+ " break;\n" +
381
+ " default:\n" +
382
+ " throw 'timeRange: bad number of arguments'\n" +
383
+ " }\n" +
384
+ " }\n" +
385
+ "\n" +
386
+ " if (isGMT) {\n" +
387
+ " date.setFullYear(date.getUTCFullYear());\n" +
388
+ " date.setMonth(date.getUTCMonth());\n" +
389
+ " date.setDate(date.getUTCDate());\n" +
390
+ " date.setHours(date.getUTCHours());\n" +
391
+ " date.setMinutes(date.getUTCMinutes());\n" +
392
+ " date.setSeconds(date.getUTCSeconds());\n" +
393
+ " }\n" +
394
+ " return ((date1 <= date) && (date <= date2));\n" +
395
+ "}\n"
396
+
@@ -0,0 +1,175 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3
+ *
4
+ * The contents of this file are subject to the Mozilla Public License Version
5
+ * 1.1 (the "License"); you may not use this file except in compliance with
6
+ * the License. You may obtain a copy of the License at
7
+ * http://www.mozilla.org/MPL/
8
+ *
9
+ * Software distributed under the License is distributed on an "AS IS" basis,
10
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
+ * for the specific language governing rights and limitations under the
12
+ * License.
13
+ *
14
+ * The Original Code is Mozilla Pref Resetter.
15
+ *
16
+ * The Initial Developer of the Original Code is
17
+ * Netscape Communications Corp.
18
+ * Portions created by the Initial Developer are Copyright (C) 2002
19
+ * the Initial Developer. All Rights Reserved.
20
+ *
21
+ * Contributor(s):
22
+ * Bill Law <law@netscape.com>
23
+ *
24
+ * Alternatively, the contents of this file may be used under the terms of
25
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
26
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
+ * in which case the provisions of the GPL or the LGPL are applicable instead
28
+ * of those above. If you wish to allow use of your version of this file only
29
+ * under the terms of either the GPL or the LGPL, and not to allow others to
30
+ * use your version of this file under the terms of the MPL, indicate your
31
+ * decision by deleting the provisions above and replace them with the notice
32
+ * and other provisions required by the GPL or the LGPL. If you do not delete
33
+ * the provisions above, a recipient may use your version of this file under
34
+ * the terms of any one of the MPL, the GPL or the LGPL.
35
+ *
36
+ * ***** END LICENSE BLOCK ***** */
37
+
38
+ /* This file implements the nsICmdLineHandler interface. See nsICmdLineHandler.idl
39
+ * at http://lxr.mozilla.org/seamonkey/source/xpfe/appshell/public/nsICmdLineHandler.idl.
40
+ *
41
+ * This component handles the startup command line argument of the form:
42
+ * -resetPref pref1,pref2,pref3
43
+ * by resetting the user prefs pref1, pref2, and pref3 (an arbitrary list of pref names
44
+ * separated by commas).
45
+ *
46
+ * The module is registered under the contractid
47
+ * "@mozilla.org/commandlinehandler/general-startup;1?type=resetPref"
48
+ *
49
+ * The implementation consists of a JavaScript "class" named nsResetPref,
50
+ * comprised of:
51
+ * - a JS constructor function
52
+ * - a prototype providing all the interface methods and implementation stuff
53
+ *
54
+ * In addition, this file implements an nsIModule object that registers the
55
+ * nsResetPref component.
56
+ */
57
+
58
+ /* ctor
59
+ */
60
+ function nsResetPref() {
61
+ }
62
+
63
+ nsResetPref.prototype = {
64
+ // Turn this on to get debugging messages.
65
+ debug: false,
66
+
67
+ // nsICmdLineHandler interface
68
+ get commandLineArgument() { throw Components.results.NS_ERROR_NOT_IMPLEMENTED; },
69
+ get prefNameForStartup() { throw Components.results.NS_ERROR_NOT_IMPLEMENTED; },
70
+ get chromeUrlForTask() {
71
+ try {
72
+ // We trust that this has been called during command-line handling during
73
+ // startup from nsAppRunner.cpp.
74
+
75
+ // We get the command line service and from that the -resetPref argument.
76
+ var cmdLine = Components.classes[ "@mozilla.org/app-startup/commandLineService;1" ]
77
+ .getService( Components.interfaces.nsICmdLineService );
78
+ var prefList = cmdLine.getCmdLineValue( "-resetPref" ).split( "," );
79
+
80
+ // Get pref service.
81
+ var prefs = Components.classes[ "@mozilla.org/preferences-service;1" ]
82
+ .getService( Components.interfaces.nsIPrefService );
83
+
84
+ // For each pref specified on the cmd line, reset the user pref value.
85
+ for ( i in prefList ) {
86
+ var pref = prefs.getBranch( prefList[ i ] );
87
+ try {
88
+ pref.clearUserPref( "" );
89
+ } catch( e ) {
90
+ }
91
+ }
92
+ } catch( e ) {
93
+ this.dump( "exception: " + e );
94
+ }
95
+
96
+ // Return an error (so nsAppRunner doesn't think we've opened a window).
97
+ throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
98
+ },
99
+ get helpText() { throw Components.results.NS_ERROR_NOT_IMPLEMENTED; },
100
+ get handlesArgs() { throw Components.results.NS_ERROR_NOT_IMPLEMENTED; },
101
+ get defaultArgs() { throw Components.results.NS_ERROR_NOT_IMPLEMENTED; },
102
+ get openWindowWithArgs() { throw Components.results.NS_ERROR_NOT_IMPLEMENTED; },
103
+
104
+ // nsISupports interface
105
+
106
+ // This "class" supports nsICmdLineHandler and nsISupports.
107
+ QueryInterface: function (iid) {
108
+ if (iid.equals(Components.interfaces.nsICmdLineHandler) ||
109
+ iid.equals(Components.interfaces.nsISupports))
110
+ return this;
111
+
112
+ Components.returnCode = Components.results.NS_ERROR_NO_INTERFACE;
113
+ return null;
114
+ },
115
+
116
+ // Dump text (if debug is on).
117
+ dump: function( text ) {
118
+ if ( this.debug ) {
119
+ dump( "nsResetPref: " + text + "\n" );
120
+ }
121
+ },
122
+
123
+ // This Component's module implementation. All the code below is used to get this
124
+ // component registered and accessible via XPCOM.
125
+ module: {
126
+ // registerSelf: Register this component.
127
+ registerSelf: function (compMgr, fileSpec, location, type) {
128
+ var compReg = compMgr.QueryInterface( Components.interfaces.nsIComponentRegistrar );
129
+ compReg.registerFactoryLocation( this.cid,
130
+ "Pref Reset Component",
131
+ this.contractId,
132
+ fileSpec,
133
+ location,
134
+ type );
135
+ },
136
+
137
+ // getClassObject: Return this component's factory object.
138
+ getClassObject: function (compMgr, cid, iid) {
139
+ if (!cid.equals(this.cid))
140
+ throw Components.results.NS_ERROR_NO_INTERFACE;
141
+
142
+ if (!iid.equals(Components.interfaces.nsIFactory))
143
+ throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
144
+
145
+ return this.factory;
146
+ },
147
+
148
+ /* CID for this class */
149
+ cid: Components.ID("{15ABFAF7-AD4F-4450-899B-0373EE9FAD95}"),
150
+
151
+ /* Contract ID for this class */
152
+ contractId: "@mozilla.org/commandlinehandler/general-startup;1?type=resetPref",
153
+
154
+ /* factory object */
155
+ factory: {
156
+ // createInstance: Return a new nsResetPref object.
157
+ createInstance: function (outer, iid) {
158
+ if (outer != null)
159
+ throw Components.results.NS_ERROR_NO_AGGREGATION;
160
+
161
+ return (new nsResetPref()).QueryInterface(iid);
162
+ }
163
+ },
164
+
165
+ // canUnload: n/a (returns true)
166
+ canUnload: function(compMgr) {
167
+ return true;
168
+ }
169
+ }
170
+ }
171
+
172
+ // NSGetModule: Return the nsIModule object.
173
+ function NSGetModule(compMgr, fileSpec) {
174
+ return nsResetPref.prototype.module;
175
+ }