closure 1.2.701 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1566) hide show
  1. data/README.md +9 -8
  2. data/closure-compiler/README +1 -1
  3. data/closure-compiler/compiler.jar +0 -0
  4. data/docs/SCRIPT.md +142 -0
  5. data/docs/closure/Closure/BeanShell.html +335 -0
  6. data/docs/closure/Closure/Compiler/Compilation.html +636 -0
  7. data/docs/closure/Closure/Compiler/Error.html +116 -0
  8. data/docs/closure/Closure/Compiler.html +387 -0
  9. data/docs/closure/Closure/FileResponse.html +622 -0
  10. data/docs/closure/Closure/Goog.html +1251 -0
  11. data/docs/closure/Closure/Middleware.html +304 -0
  12. data/docs/closure/Closure/Script/NotFound.html +116 -0
  13. data/docs/closure/Closure/Script/RenderStackOverflow.html +116 -0
  14. data/docs/closure/Closure/Script.html +1083 -0
  15. data/docs/closure/Closure/Server.html +439 -0
  16. data/docs/closure/Closure/ShowExceptions.html +266 -0
  17. data/docs/closure/Closure/Sources.html +1272 -0
  18. data/docs/closure/Closure/Templates/Error.html +116 -0
  19. data/docs/closure/Closure/Templates.html +361 -0
  20. data/docs/closure/Closure.html +715 -0
  21. data/docs/closure/_index.html +289 -0
  22. data/docs/closure/class_list.html +47 -0
  23. data/docs/closure/css/common.css +1 -0
  24. data/docs/closure/css/full_list.css +53 -0
  25. data/docs/closure/css/style.css +320 -0
  26. data/{closure-library/LICENSE → docs/closure/file.LICENSE.html} +106 -16
  27. data/docs/closure/file.README.html +79 -0
  28. data/docs/closure/file_list.html +52 -0
  29. data/docs/closure/frames.html +13 -0
  30. data/docs/closure/index.html +79 -0
  31. data/docs/closure/js/app.js +205 -0
  32. data/docs/closure/js/full_list.js +150 -0
  33. data/docs/closure/js/jquery.js +16 -0
  34. data/docs/closure/method_list.html +486 -0
  35. data/docs/closure/top-level-namespace.html +103 -0
  36. data/docs/index.erb +26 -0
  37. data/externs/chrome_extensions.externs +968 -0
  38. data/{scripts/externs/jquery_1_4_2.externs → externs/jquery-1.3.2.externs} +39 -170
  39. data/externs/jquery-1.4.3.externs +1289 -0
  40. data/externs/jquery-1.4.4.externs +1302 -0
  41. data/externs/jquery-1.5.externs +1697 -0
  42. data/externs/jquery.externs +4 -0
  43. data/lib/closure/beanshell.rb +9 -21
  44. data/lib/closure/compiler.rb +247 -102
  45. data/lib/closure/engines.rb +50 -0
  46. data/lib/closure/goog.rb +122 -68
  47. data/lib/closure/script.rb +68 -54
  48. data/lib/closure/server.rb +10 -1
  49. data/lib/closure/show_exceptions.rb +30 -3
  50. data/lib/closure/sources.rb +26 -25
  51. data/lib/closure/templates.rb +79 -124
  52. data/lib/closure/version.rb +1 -1
  53. data/lib/closure.rb +64 -43
  54. data/lib/shim.jar +0 -0
  55. data/scripts/config.ru +25 -0
  56. data/scripts/hello/compiler.js.erb +48 -0
  57. data/scripts/hello/compiler_build.js +5 -0
  58. data/scripts/hello/compiler_build.map +752 -0
  59. data/scripts/hello/compiler_debug.js +125 -0
  60. data/scripts/hello/hello.js +11 -0
  61. data/scripts/hello/index.erb +11 -0
  62. data/scripts/hello/legume.js +20 -0
  63. data/scripts/hello/legume.soy +9 -0
  64. data/scripts/index.erb +45 -5
  65. data/scripts/jquery/compiler.js.erb +7 -0
  66. data/scripts/jquery/compiler_out.js +1 -0
  67. data/scripts/jquery/index.erb +25 -0
  68. data/scripts/jquery/jquery_test.js +8 -0
  69. data/scripts/modules/api.js +11 -0
  70. data/scripts/modules/api_init.js +8 -0
  71. data/scripts/modules/app.js +102 -0
  72. data/scripts/modules/app_init.js +33 -0
  73. data/scripts/modules/compiler.js.erb +34 -0
  74. data/scripts/modules/compiler_build.js +6 -0
  75. data/scripts/modules/compiler_build.map +12077 -0
  76. data/scripts/modules/compiler_build_api.js +1 -0
  77. data/scripts/modules/compiler_build_app.js +74 -0
  78. data/scripts/modules/compiler_build_settings.js +2 -0
  79. data/scripts/modules/compiler_debug.js +6 -0
  80. data/scripts/modules/compiler_debug_api.js +11 -0
  81. data/scripts/modules/compiler_debug_app.js +2870 -0
  82. data/scripts/modules/compiler_debug_settings.js +42 -0
  83. data/scripts/modules/index.erb +18 -0
  84. data/scripts/modules/settings.js +19 -0
  85. data/scripts/modules/settings_init.js +14 -0
  86. data/scripts/{demos/rails_ujs.erb → rails/index.erb} +14 -6
  87. data/scripts/{demos → rails}/rails_ujs.js +0 -40
  88. data/scripts/svn.erb +228 -0
  89. data/scripts/welcome.erb +78 -0
  90. metadata +101 -1507
  91. data/.gitignore +0 -6
  92. data/.yardopts +0 -3
  93. data/closure-library/AUTHORS +0 -12
  94. data/closure-library/README +0 -6
  95. data/closure-library/all_tests.html +0 -113
  96. data/closure-library/alltests.js +0 -16
  97. data/closure-library/closure/bin/build/closurebuilder.py +0 -257
  98. data/closure-library/closure/bin/build/depstree.py +0 -186
  99. data/closure-library/closure/bin/build/depstree_test.py +0 -127
  100. data/closure-library/closure/bin/build/depswriter.py +0 -197
  101. data/closure-library/closure/bin/build/jscompiler.py +0 -69
  102. data/closure-library/closure/bin/build/source.py +0 -86
  103. data/closure-library/closure/bin/build/source_test.py +0 -57
  104. data/closure-library/closure/bin/build/treescan.py +0 -78
  105. data/closure-library/closure/bin/calcdeps.py +0 -570
  106. data/closure-library/closure/bin/scopify.py +0 -211
  107. data/closure-library/closure/css/inlay/g-base.css +0 -82
  108. data/closure-library/closure/css/inlay/g-fixed.css +0 -158
  109. data/closure-library/closure/css/inlay/g-ratio.css +0 -253
  110. data/closure-library/closure/goog/array/array.js +0 -1300
  111. data/closure-library/closure/goog/array/array_test.html +0 -1524
  112. data/closure-library/closure/goog/asserts/asserts.js +0 -277
  113. data/closure-library/closure/goog/asserts/asserts_test.html +0 -163
  114. data/closure-library/closure/goog/async/conditionaldelay.js +0 -238
  115. data/closure-library/closure/goog/async/conditionaldelay_test.html +0 -227
  116. data/closure-library/closure/goog/async/delay.js +0 -174
  117. data/closure-library/closure/goog/async/delay_test.html +0 -148
  118. data/closure-library/closure/goog/async/throttle.js +0 -189
  119. data/closure-library/closure/goog/async/throttle_test.html +0 -102
  120. data/closure-library/closure/goog/base.js +0 -1471
  121. data/closure-library/closure/goog/base_test.html +0 -1166
  122. data/closure-library/closure/goog/bootstrap/webworkers.js +0 -37
  123. data/closure-library/closure/goog/color/alpha.js +0 -436
  124. data/closure-library/closure/goog/color/alpha_test.html +0 -234
  125. data/closure-library/closure/goog/color/color.js +0 -757
  126. data/closure-library/closure/goog/color/color_test.html +0 -645
  127. data/closure-library/closure/goog/color/names.js +0 -176
  128. data/closure-library/closure/goog/crypt/arc4.js +0 -141
  129. data/closure-library/closure/goog/crypt/arc4_test.html +0 -42
  130. data/closure-library/closure/goog/crypt/base64.js +0 -267
  131. data/closure-library/closure/goog/crypt/base64_test.html +0 -106
  132. data/closure-library/closure/goog/crypt/basen.js +0 -242
  133. data/closure-library/closure/goog/crypt/basen_test.html +0 -167
  134. data/closure-library/closure/goog/crypt/crypt.js +0 -103
  135. data/closure-library/closure/goog/crypt/crypt_test.html +0 -68
  136. data/closure-library/closure/goog/crypt/hash32.js +0 -184
  137. data/closure-library/closure/goog/crypt/hash32_test.html +0 -287
  138. data/closure-library/closure/goog/crypt/sha1.js +0 -238
  139. data/closure-library/closure/goog/crypt/sha1_test.html +0 -47
  140. data/closure-library/closure/goog/css/autocomplete.css +0 -43
  141. data/closure-library/closure/goog/css/bubble.css +0 -84
  142. data/closure-library/closure/goog/css/button.css +0 -38
  143. data/closure-library/closure/goog/css/charpicker.css +0 -201
  144. data/closure-library/closure/goog/css/checkbox.css +0 -38
  145. data/closure-library/closure/goog/css/colormenubutton.css +0 -25
  146. data/closure-library/closure/goog/css/colorpalette.css +0 -54
  147. data/closure-library/closure/goog/css/colorpicker-simplegrid.css +0 -50
  148. data/closure-library/closure/goog/css/combobox.css +0 -57
  149. data/closure-library/closure/goog/css/common.css +0 -41
  150. data/closure-library/closure/goog/css/css3button.css +0 -77
  151. data/closure-library/closure/goog/css/css3menubutton.css +0 -23
  152. data/closure-library/closure/goog/css/custombutton.css +0 -164
  153. data/closure-library/closure/goog/css/datepicker.css +0 -148
  154. data/closure-library/closure/goog/css/dialog.css +0 -72
  155. data/closure-library/closure/goog/css/dimensionpicker.css +0 -47
  156. data/closure-library/closure/goog/css/dragdropdetector.css +0 -48
  157. data/closure-library/closure/goog/css/editor/bubble.css +0 -73
  158. data/closure-library/closure/goog/css/editor/dialog.css +0 -66
  159. data/closure-library/closure/goog/css/editor/linkdialog.css +0 -36
  160. data/closure-library/closure/goog/css/editortoolbar.css +0 -225
  161. data/closure-library/closure/goog/css/filteredmenu.css +0 -30
  162. data/closure-library/closure/goog/css/filterobservingmenuitem.css +0 -25
  163. data/closure-library/closure/goog/css/flatbutton.css +0 -65
  164. data/closure-library/closure/goog/css/flatmenubutton.css +0 -63
  165. data/closure-library/closure/goog/css/hovercard.css +0 -51
  166. data/closure-library/closure/goog/css/hsvapalette.css +0 -231
  167. data/closure-library/closure/goog/css/hsvpalette.css +0 -179
  168. data/closure-library/closure/goog/css/imagelessbutton.css +0 -160
  169. data/closure-library/closure/goog/css/imagelessmenubutton.css +0 -23
  170. data/closure-library/closure/goog/css/inputdatepicker.css +0 -12
  171. data/closure-library/closure/goog/css/linkbutton.css +0 -26
  172. data/closure-library/closure/goog/css/menu.css +0 -27
  173. data/closure-library/closure/goog/css/menubutton.css +0 -169
  174. data/closure-library/closure/goog/css/menuitem.css +0 -96
  175. data/closure-library/closure/goog/css/menuseparator.css +0 -19
  176. data/closure-library/closure/goog/css/multitestrunner.css +0 -121
  177. data/closure-library/closure/goog/css/offline.css +0 -147
  178. data/closure-library/closure/goog/css/palette.css +0 -36
  179. data/closure-library/closure/goog/css/popupdatepicker.css +0 -17
  180. data/closure-library/closure/goog/css/roundedpanel.css +0 -29
  181. data/closure-library/closure/goog/css/roundedtab.css +0 -158
  182. data/closure-library/closure/goog/css/submenu.css +0 -28
  183. data/closure-library/closure/goog/css/tab.css +0 -91
  184. data/closure-library/closure/goog/css/tabbar.css +0 -52
  185. data/closure-library/closure/goog/css/tablesorter.css +0 -14
  186. data/closure-library/closure/goog/css/toolbar.css +0 -400
  187. data/closure-library/closure/goog/css/tooltip.css +0 -14
  188. data/closure-library/closure/goog/css/tree.css +0 -147
  189. data/closure-library/closure/goog/css/tristatemenuitem.css +0 -43
  190. data/closure-library/closure/goog/cssom/cssom.js +0 -447
  191. data/closure-library/closure/goog/cssom/cssom_test.html +0 -343
  192. data/closure-library/closure/goog/cssom/cssom_test_import_1.css +0 -11
  193. data/closure-library/closure/goog/cssom/cssom_test_import_2.css +0 -10
  194. data/closure-library/closure/goog/cssom/cssom_test_link_1.css +0 -10
  195. data/closure-library/closure/goog/cssom/iframe/style.js +0 -1020
  196. data/closure-library/closure/goog/cssom/iframe/style_test.html +0 -391
  197. data/closure-library/closure/goog/cssom/iframe/style_test_import.css +0 -10
  198. data/closure-library/closure/goog/datasource/datamanager.js +0 -566
  199. data/closure-library/closure/goog/datasource/datasource.js +0 -646
  200. data/closure-library/closure/goog/datasource/datasource_test.html +0 -265
  201. data/closure-library/closure/goog/datasource/expr.js +0 -544
  202. data/closure-library/closure/goog/datasource/expr_test.html +0 -97
  203. data/closure-library/closure/goog/datasource/fastdatanode.js +0 -792
  204. data/closure-library/closure/goog/datasource/fastdatanode_test.html +0 -254
  205. data/closure-library/closure/goog/datasource/jsdatasource.js +0 -460
  206. data/closure-library/closure/goog/datasource/jsondatasource.js +0 -146
  207. data/closure-library/closure/goog/datasource/jsxmlhttpdatasource.js +0 -191
  208. data/closure-library/closure/goog/datasource/jsxmlhttpdatasource_test.html +0 -94
  209. data/closure-library/closure/goog/datasource/xmldatasource.js +0 -407
  210. data/closure-library/closure/goog/date/date.js +0 -1642
  211. data/closure-library/closure/goog/date/date_test.html +0 -1293
  212. data/closure-library/closure/goog/date/datelike.js +0 -27
  213. data/closure-library/closure/goog/date/daterange.js +0 -398
  214. data/closure-library/closure/goog/date/daterange_test.html +0 -213
  215. data/closure-library/closure/goog/date/relative.js +0 -425
  216. data/closure-library/closure/goog/date/relative_test.html +0 -124
  217. data/closure-library/closure/goog/date/utcdatetime.js +0 -178
  218. data/closure-library/closure/goog/date/utcdatetime_test.html +0 -119
  219. data/closure-library/closure/goog/debug/console.js +0 -138
  220. data/closure-library/closure/goog/debug/debug.js +0 -452
  221. data/closure-library/closure/goog/debug/debug_test.html +0 -32
  222. data/closure-library/closure/goog/debug/debugwindow.js +0 -582
  223. data/closure-library/closure/goog/debug/devcss/devcss.js +0 -435
  224. data/closure-library/closure/goog/debug/devcss/devcss_test.html +0 -365
  225. data/closure-library/closure/goog/debug/devcss/devcssrunner.js +0 -26
  226. data/closure-library/closure/goog/debug/divconsole.js +0 -141
  227. data/closure-library/closure/goog/debug/enhanceerror_test.html +0 -138
  228. data/closure-library/closure/goog/debug/entrypointregistry.js +0 -111
  229. data/closure-library/closure/goog/debug/entrypointregistry_test.html +0 -63
  230. data/closure-library/closure/goog/debug/error.js +0 -47
  231. data/closure-library/closure/goog/debug/error_test.html +0 -85
  232. data/closure-library/closure/goog/debug/errorhandler.js +0 -234
  233. data/closure-library/closure/goog/debug/errorhandler_async_test.html +0 -112
  234. data/closure-library/closure/goog/debug/errorhandler_test.html +0 -186
  235. data/closure-library/closure/goog/debug/errorhandlerweakdep.js +0 -38
  236. data/closure-library/closure/goog/debug/errorreporter.js +0 -324
  237. data/closure-library/closure/goog/debug/errorreporter_test.html +0 -289
  238. data/closure-library/closure/goog/debug/fancywindow.js +0 -265
  239. data/closure-library/closure/goog/debug/formatter.js +0 -314
  240. data/closure-library/closure/goog/debug/gcdiagnostics.js +0 -143
  241. data/closure-library/closure/goog/debug/logbuffer.js +0 -147
  242. data/closure-library/closure/goog/debug/logbuffer_test.html +0 -105
  243. data/closure-library/closure/goog/debug/logger.js +0 -809
  244. data/closure-library/closure/goog/debug/logger_test.html +0 -208
  245. data/closure-library/closure/goog/debug/logrecord.js +0 -271
  246. data/closure-library/closure/goog/debug/reflect.js +0 -163
  247. data/closure-library/closure/goog/debug/reflect_test.html +0 -81
  248. data/closure-library/closure/goog/debug/relativetimeprovider.js +0 -83
  249. data/closure-library/closure/goog/debug/tracer.js +0 -750
  250. data/closure-library/closure/goog/debug/tracer_test.html +0 -57
  251. data/closure-library/closure/goog/demos/advancedtooltip.html +0 -78
  252. data/closure-library/closure/goog/demos/animationqueue.html +0 -149
  253. data/closure-library/closure/goog/demos/autocomplete-basic.html +0 -56
  254. data/closure-library/closure/goog/demos/autocompleteremote.html +0 -40
  255. data/closure-library/closure/goog/demos/autocompleteremotedata.js +0 -18
  256. data/closure-library/closure/goog/demos/autocompleterichremote.html +0 -137
  257. data/closure-library/closure/goog/demos/autocompleterichremotedata.js +0 -33
  258. data/closure-library/closure/goog/demos/bidiinput.html +0 -72
  259. data/closure-library/closure/goog/demos/bubble.html +0 -250
  260. data/closure-library/closure/goog/demos/button.html +0 -395
  261. data/closure-library/closure/goog/demos/charcounter.html +0 -57
  262. data/closure-library/closure/goog/demos/charpicker.html +0 -64
  263. data/closure-library/closure/goog/demos/checkbox.html +0 -122
  264. data/closure-library/closure/goog/demos/color-contrast.html +0 -60
  265. data/closure-library/closure/goog/demos/colormenubutton.html +0 -213
  266. data/closure-library/closure/goog/demos/colorpicker.html +0 -43
  267. data/closure-library/closure/goog/demos/combobox.html +0 -125
  268. data/closure-library/closure/goog/demos/container.html +0 -670
  269. data/closure-library/closure/goog/demos/control.html +0 -477
  270. data/closure-library/closure/goog/demos/css/demo.css +0 -75
  271. data/closure-library/closure/goog/demos/css/emojipicker.css +0 -36
  272. data/closure-library/closure/goog/demos/css/emojisprite.css +0 -92
  273. data/closure-library/closure/goog/demos/css3button.html +0 -166
  274. data/closure-library/closure/goog/demos/css3menubutton.html +0 -285
  275. data/closure-library/closure/goog/demos/cssspriteanimation.html +0 -80
  276. data/closure-library/closure/goog/demos/datepicker.html +0 -183
  277. data/closure-library/closure/goog/demos/debug.html +0 -119
  278. data/closure-library/closure/goog/demos/depsgraph.html +0 -221
  279. data/closure-library/closure/goog/demos/dialog.html +0 -156
  280. data/closure-library/closure/goog/demos/dimensionpicker.html +0 -108
  281. data/closure-library/closure/goog/demos/dimensionpicker_rtl.html +0 -123
  282. data/closure-library/closure/goog/demos/dom_selection.html +0 -88
  283. data/closure-library/closure/goog/demos/drag.html +0 -191
  284. data/closure-library/closure/goog/demos/dragdrop.html +0 -263
  285. data/closure-library/closure/goog/demos/dragdropdetector.html +0 -46
  286. data/closure-library/closure/goog/demos/dragdropdetector_target.html +0 -17
  287. data/closure-library/closure/goog/demos/dragger.html +0 -83
  288. data/closure-library/closure/goog/demos/draglistgroup.html +0 -261
  289. data/closure-library/closure/goog/demos/drilldownrow.html +0 -78
  290. data/closure-library/closure/goog/demos/editor/deps.js +0 -20
  291. data/closure-library/closure/goog/demos/editor/editor.html +0 -139
  292. data/closure-library/closure/goog/demos/editor/field_basic.html +0 -74
  293. data/closure-library/closure/goog/demos/editor/helloworld.html +0 -91
  294. data/closure-library/closure/goog/demos/editor/helloworld.js +0 -81
  295. data/closure-library/closure/goog/demos/editor/helloworld_test.html +0 -75
  296. data/closure-library/closure/goog/demos/editor/helloworlddialog.js +0 -163
  297. data/closure-library/closure/goog/demos/editor/helloworlddialog_test.html +0 -100
  298. data/closure-library/closure/goog/demos/editor/helloworlddialogplugin.js +0 -110
  299. data/closure-library/closure/goog/demos/editor/helloworlddialogplugin_test.html +0 -198
  300. data/closure-library/closure/goog/demos/editor/seamlessfield.html +0 -106
  301. data/closure-library/closure/goog/demos/effects.html +0 -142
  302. data/closure-library/closure/goog/demos/emoji/200.gif +0 -0
  303. data/closure-library/closure/goog/demos/emoji/201.gif +0 -0
  304. data/closure-library/closure/goog/demos/emoji/202.gif +0 -0
  305. data/closure-library/closure/goog/demos/emoji/203.gif +0 -0
  306. data/closure-library/closure/goog/demos/emoji/204.gif +0 -0
  307. data/closure-library/closure/goog/demos/emoji/205.gif +0 -0
  308. data/closure-library/closure/goog/demos/emoji/206.gif +0 -0
  309. data/closure-library/closure/goog/demos/emoji/2BC.gif +0 -0
  310. data/closure-library/closure/goog/demos/emoji/2BD.gif +0 -0
  311. data/closure-library/closure/goog/demos/emoji/2BE.gif +0 -0
  312. data/closure-library/closure/goog/demos/emoji/2BF.gif +0 -0
  313. data/closure-library/closure/goog/demos/emoji/2C0.gif +0 -0
  314. data/closure-library/closure/goog/demos/emoji/2C1.gif +0 -0
  315. data/closure-library/closure/goog/demos/emoji/2C2.gif +0 -0
  316. data/closure-library/closure/goog/demos/emoji/2C3.gif +0 -0
  317. data/closure-library/closure/goog/demos/emoji/2C4.gif +0 -0
  318. data/closure-library/closure/goog/demos/emoji/2C5.gif +0 -0
  319. data/closure-library/closure/goog/demos/emoji/2C6.gif +0 -0
  320. data/closure-library/closure/goog/demos/emoji/2C7.gif +0 -0
  321. data/closure-library/closure/goog/demos/emoji/2C8.gif +0 -0
  322. data/closure-library/closure/goog/demos/emoji/2C9.gif +0 -0
  323. data/closure-library/closure/goog/demos/emoji/2CA.gif +0 -0
  324. data/closure-library/closure/goog/demos/emoji/2CB.gif +0 -0
  325. data/closure-library/closure/goog/demos/emoji/2CC.gif +0 -0
  326. data/closure-library/closure/goog/demos/emoji/2CD.gif +0 -0
  327. data/closure-library/closure/goog/demos/emoji/2CE.gif +0 -0
  328. data/closure-library/closure/goog/demos/emoji/2CF.gif +0 -0
  329. data/closure-library/closure/goog/demos/emoji/2D0.gif +0 -0
  330. data/closure-library/closure/goog/demos/emoji/2D1.gif +0 -0
  331. data/closure-library/closure/goog/demos/emoji/2D2.gif +0 -0
  332. data/closure-library/closure/goog/demos/emoji/2D3.gif +0 -0
  333. data/closure-library/closure/goog/demos/emoji/2D4.gif +0 -0
  334. data/closure-library/closure/goog/demos/emoji/2D5.gif +0 -0
  335. data/closure-library/closure/goog/demos/emoji/2D6.gif +0 -0
  336. data/closure-library/closure/goog/demos/emoji/2D7.gif +0 -0
  337. data/closure-library/closure/goog/demos/emoji/2D8.gif +0 -0
  338. data/closure-library/closure/goog/demos/emoji/2D9.gif +0 -0
  339. data/closure-library/closure/goog/demos/emoji/2DA.gif +0 -0
  340. data/closure-library/closure/goog/demos/emoji/2DB.gif +0 -0
  341. data/closure-library/closure/goog/demos/emoji/2DC.gif +0 -0
  342. data/closure-library/closure/goog/demos/emoji/2DD.gif +0 -0
  343. data/closure-library/closure/goog/demos/emoji/2DE.gif +0 -0
  344. data/closure-library/closure/goog/demos/emoji/2DF.gif +0 -0
  345. data/closure-library/closure/goog/demos/emoji/2E0.gif +0 -0
  346. data/closure-library/closure/goog/demos/emoji/2E1.gif +0 -0
  347. data/closure-library/closure/goog/demos/emoji/2E2.gif +0 -0
  348. data/closure-library/closure/goog/demos/emoji/2E3.gif +0 -0
  349. data/closure-library/closure/goog/demos/emoji/2E4.gif +0 -0
  350. data/closure-library/closure/goog/demos/emoji/2E5.gif +0 -0
  351. data/closure-library/closure/goog/demos/emoji/2E6.gif +0 -0
  352. data/closure-library/closure/goog/demos/emoji/2E7.gif +0 -0
  353. data/closure-library/closure/goog/demos/emoji/2E8.gif +0 -0
  354. data/closure-library/closure/goog/demos/emoji/2E9.gif +0 -0
  355. data/closure-library/closure/goog/demos/emoji/2EA.gif +0 -0
  356. data/closure-library/closure/goog/demos/emoji/2EB.gif +0 -0
  357. data/closure-library/closure/goog/demos/emoji/2EC.gif +0 -0
  358. data/closure-library/closure/goog/demos/emoji/2ED.gif +0 -0
  359. data/closure-library/closure/goog/demos/emoji/2EE.gif +0 -0
  360. data/closure-library/closure/goog/demos/emoji/2EF.gif +0 -0
  361. data/closure-library/closure/goog/demos/emoji/2F0.gif +0 -0
  362. data/closure-library/closure/goog/demos/emoji/2F1.gif +0 -0
  363. data/closure-library/closure/goog/demos/emoji/2F2.gif +0 -0
  364. data/closure-library/closure/goog/demos/emoji/2F3.gif +0 -0
  365. data/closure-library/closure/goog/demos/emoji/2F4.gif +0 -0
  366. data/closure-library/closure/goog/demos/emoji/2F5.gif +0 -0
  367. data/closure-library/closure/goog/demos/emoji/2F6.gif +0 -0
  368. data/closure-library/closure/goog/demos/emoji/2F7.gif +0 -0
  369. data/closure-library/closure/goog/demos/emoji/2F8.gif +0 -0
  370. data/closure-library/closure/goog/demos/emoji/2F9.gif +0 -0
  371. data/closure-library/closure/goog/demos/emoji/2FA.gif +0 -0
  372. data/closure-library/closure/goog/demos/emoji/2FB.gif +0 -0
  373. data/closure-library/closure/goog/demos/emoji/2FC.gif +0 -0
  374. data/closure-library/closure/goog/demos/emoji/2FD.gif +0 -0
  375. data/closure-library/closure/goog/demos/emoji/2FE.gif +0 -0
  376. data/closure-library/closure/goog/demos/emoji/2FF.gif +0 -0
  377. data/closure-library/closure/goog/demos/emoji/none.gif +0 -0
  378. data/closure-library/closure/goog/demos/emoji/sprite.png +0 -0
  379. data/closure-library/closure/goog/demos/emoji/sprite2.png +0 -0
  380. data/closure-library/closure/goog/demos/emoji/unknown.gif +0 -0
  381. data/closure-library/closure/goog/demos/event-propagation.html +0 -192
  382. data/closure-library/closure/goog/demos/events.html +0 -99
  383. data/closure-library/closure/goog/demos/eventtarget.html +0 -70
  384. data/closure-library/closure/goog/demos/filedrophandler.html +0 -63
  385. data/closure-library/closure/goog/demos/filteredmenu.html +0 -118
  386. data/closure-library/closure/goog/demos/focushandler.html +0 -58
  387. data/closure-library/closure/goog/demos/gauge.html +0 -158
  388. data/closure-library/closure/goog/demos/graphics/advancedcoordinates.html +0 -141
  389. data/closure-library/closure/goog/demos/graphics/advancedcoordinates2.html +0 -130
  390. data/closure-library/closure/goog/demos/graphics/basicelements.html +0 -264
  391. data/closure-library/closure/goog/demos/graphics/events.html +0 -113
  392. data/closure-library/closure/goog/demos/graphics/modifyelements.html +0 -195
  393. data/closure-library/closure/goog/demos/graphics/subpixel.html +0 -80
  394. data/closure-library/closure/goog/demos/graphics/tiger.html +0 -105
  395. data/closure-library/closure/goog/demos/graphics/tigerdata.js +0 -2840
  396. data/closure-library/closure/goog/demos/history1.html +0 -132
  397. data/closure-library/closure/goog/demos/history2.html +0 -100
  398. data/closure-library/closure/goog/demos/history3.html +0 -106
  399. data/closure-library/closure/goog/demos/history3js.html +0 -36
  400. data/closure-library/closure/goog/demos/history_blank.html +0 -25
  401. data/closure-library/closure/goog/demos/hovercard.html +0 -177
  402. data/closure-library/closure/goog/demos/hsvapalette.html +0 -55
  403. data/closure-library/closure/goog/demos/hsvpalette.html +0 -56
  404. data/closure-library/closure/goog/demos/html5history.html +0 -87
  405. data/closure-library/closure/goog/demos/imagelessbutton.html +0 -221
  406. data/closure-library/closure/goog/demos/imagelessmenubutton.html +0 -285
  407. data/closure-library/closure/goog/demos/imagelessroundedcorner.html +0 -231
  408. data/closure-library/closure/goog/demos/index.html +0 -19
  409. data/closure-library/closure/goog/demos/index_nav.html +0 -253
  410. data/closure-library/closure/goog/demos/index_splash.html +0 -22
  411. data/closure-library/closure/goog/demos/inline_block_quirks.html +0 -125
  412. data/closure-library/closure/goog/demos/inline_block_standards.html +0 -126
  413. data/closure-library/closure/goog/demos/inputdatepicker.html +0 -60
  414. data/closure-library/closure/goog/demos/inputhandler.html +0 -72
  415. data/closure-library/closure/goog/demos/jsonprettyprinter.html +0 -80
  416. data/closure-library/closure/goog/demos/keyboardshortcuts.html +0 -112
  417. data/closure-library/closure/goog/demos/keyhandler.html +0 -127
  418. data/closure-library/closure/goog/demos/labelinput.html +0 -42
  419. data/closure-library/closure/goog/demos/menu.html +0 -220
  420. data/closure-library/closure/goog/demos/menubutton.html +0 -318
  421. data/closure-library/closure/goog/demos/mousewheelhandler.html +0 -109
  422. data/closure-library/closure/goog/demos/offline.html +0 -268
  423. data/closure-library/closure/goog/demos/onlinehandler.html +0 -77
  424. data/closure-library/closure/goog/demos/palette.html +0 -302
  425. data/closure-library/closure/goog/demos/pastehandler.html +0 -54
  426. data/closure-library/closure/goog/demos/plaintextspellchecker.html +0 -106
  427. data/closure-library/closure/goog/demos/popup.html +0 -200
  428. data/closure-library/closure/goog/demos/popupcolorpicker.html +0 -49
  429. data/closure-library/closure/goog/demos/popupdatepicker.html +0 -53
  430. data/closure-library/closure/goog/demos/popupemojipicker.html +0 -407
  431. data/closure-library/closure/goog/demos/popupmenu.html +0 -89
  432. data/closure-library/closure/goog/demos/progressbar.html +0 -97
  433. data/closure-library/closure/goog/demos/prompt.html +0 -92
  434. data/closure-library/closure/goog/demos/quadtree.html +0 -107
  435. data/closure-library/closure/goog/demos/ratings.html +0 -120
  436. data/closure-library/closure/goog/demos/richtextspellchecker.html +0 -92
  437. data/closure-library/closure/goog/demos/roundedpanel.html +0 -139
  438. data/closure-library/closure/goog/demos/samplecomponent.html +0 -75
  439. data/closure-library/closure/goog/demos/samplecomponent.js +0 -206
  440. data/closure-library/closure/goog/demos/scrollfloater.html +0 -117
  441. data/closure-library/closure/goog/demos/select.html +0 -324
  442. data/closure-library/closure/goog/demos/selectionmenubutton.html +0 -186
  443. data/closure-library/closure/goog/demos/serverchart.html +0 -122
  444. data/closure-library/closure/goog/demos/silverlightclipboardbutton.html +0 -71
  445. data/closure-library/closure/goog/demos/slider.html +0 -110
  446. data/closure-library/closure/goog/demos/splitbehavior.html +0 -164
  447. data/closure-library/closure/goog/demos/splitpane.html +0 -243
  448. data/closure-library/closure/goog/demos/stopevent.html +0 -171
  449. data/closure-library/closure/goog/demos/submenus.html +0 -130
  450. data/closure-library/closure/goog/demos/submenus2.html +0 -150
  451. data/closure-library/closure/goog/demos/tabbar.html +0 -289
  452. data/closure-library/closure/goog/demos/tablesorter.html +0 -116
  453. data/closure-library/closure/goog/demos/tabpane.html +0 -302
  454. data/closure-library/closure/goog/demos/textarea.html +0 -128
  455. data/closure-library/closure/goog/demos/timers.html +0 -291
  456. data/closure-library/closure/goog/demos/toolbar.html +0 -703
  457. data/closure-library/closure/goog/demos/tooltip.html +0 -91
  458. data/closure-library/closure/goog/demos/tracer.html +0 -92
  459. data/closure-library/closure/goog/demos/tree/demo.html +0 -126
  460. data/closure-library/closure/goog/demos/tree/testdata.js +0 -260
  461. data/closure-library/closure/goog/demos/tweakui.html +0 -121
  462. data/closure-library/closure/goog/demos/twothumbslider.html +0 -121
  463. data/closure-library/closure/goog/demos/useragent.html +0 -173
  464. data/closure-library/closure/goog/demos/viewportsizemonitor.html +0 -71
  465. data/closure-library/closure/goog/demos/xpc/blank.html +0 -7
  466. data/closure-library/closure/goog/demos/xpc/index.html +0 -89
  467. data/closure-library/closure/goog/demos/xpc/inner.html +0 -58
  468. data/closure-library/closure/goog/demos/xpc/minimal/blank.html +0 -7
  469. data/closure-library/closure/goog/demos/xpc/minimal/index.html +0 -105
  470. data/closure-library/closure/goog/demos/xpc/minimal/inner.html +0 -75
  471. data/closure-library/closure/goog/demos/xpc/minimal/relay.html +0 -7
  472. data/closure-library/closure/goog/demos/xpc/relay.html +0 -7
  473. data/closure-library/closure/goog/demos/xpc/xpcdemo.js +0 -304
  474. data/closure-library/closure/goog/demos/zippy.html +0 -127
  475. data/closure-library/closure/goog/deps.js +0 -679
  476. data/closure-library/closure/goog/disposable/disposable.js +0 -167
  477. data/closure-library/closure/goog/disposable/disposable_test.html +0 -202
  478. data/closure-library/closure/goog/dom/a11y.js +0 -438
  479. data/closure-library/closure/goog/dom/a11y_test.html +0 -86
  480. data/closure-library/closure/goog/dom/abstractmultirange.js +0 -77
  481. data/closure-library/closure/goog/dom/abstractrange.js +0 -514
  482. data/closure-library/closure/goog/dom/abstractrange_test.html +0 -73
  483. data/closure-library/closure/goog/dom/annotate.js +0 -352
  484. data/closure-library/closure/goog/dom/annotate_test.html +0 -187
  485. data/closure-library/closure/goog/dom/browserfeature.js +0 -50
  486. data/closure-library/closure/goog/dom/browserrange/abstractrange.js +0 -316
  487. data/closure-library/closure/goog/dom/browserrange/browserrange.js +0 -149
  488. data/closure-library/closure/goog/dom/browserrange/browserrange_test.html +0 -562
  489. data/closure-library/closure/goog/dom/browserrange/geckorange.js +0 -82
  490. data/closure-library/closure/goog/dom/browserrange/ierange.js +0 -970
  491. data/closure-library/closure/goog/dom/browserrange/operarange.js +0 -83
  492. data/closure-library/closure/goog/dom/browserrange/w3crange.js +0 -364
  493. data/closure-library/closure/goog/dom/browserrange/webkitrange.js +0 -112
  494. data/closure-library/closure/goog/dom/classes.js +0 -233
  495. data/closure-library/closure/goog/dom/classes_test.html +0 -228
  496. data/closure-library/closure/goog/dom/controlrange.js +0 -511
  497. data/closure-library/closure/goog/dom/controlrange_test.html +0 -246
  498. data/closure-library/closure/goog/dom/dataset.js +0 -90
  499. data/closure-library/closure/goog/dom/dataset_test.html +0 -104
  500. data/closure-library/closure/goog/dom/dom.js +0 -2424
  501. data/closure-library/closure/goog/dom/dom_quirks_test.html +0 -104
  502. data/closure-library/closure/goog/dom/dom_test.html +0 -103
  503. data/closure-library/closure/goog/dom/dom_test.js +0 -1129
  504. data/closure-library/closure/goog/dom/fontsizemonitor.js +0 -159
  505. data/closure-library/closure/goog/dom/fontsizemonitor_test.html +0 -283
  506. data/closure-library/closure/goog/dom/forms.js +0 -403
  507. data/closure-library/closure/goog/dom/forms_test.html +0 -483
  508. data/closure-library/closure/goog/dom/iframe.js +0 -128
  509. data/closure-library/closure/goog/dom/iframe_test.html +0 -87
  510. data/closure-library/closure/goog/dom/iter.js +0 -127
  511. data/closure-library/closure/goog/dom/iter_test.html +0 -97
  512. data/closure-library/closure/goog/dom/multirange.js +0 -519
  513. data/closure-library/closure/goog/dom/multirange_test.html +0 -67
  514. data/closure-library/closure/goog/dom/nodeiterator.js +0 -85
  515. data/closure-library/closure/goog/dom/nodeiterator_test.html +0 -49
  516. data/closure-library/closure/goog/dom/nodeoffset.js +0 -111
  517. data/closure-library/closure/goog/dom/nodeoffset_test.html +0 -88
  518. data/closure-library/closure/goog/dom/pattern/abstractpattern.js +0 -60
  519. data/closure-library/closure/goog/dom/pattern/allchildren.js +0 -73
  520. data/closure-library/closure/goog/dom/pattern/callback/callback.js +0 -82
  521. data/closure-library/closure/goog/dom/pattern/callback/counter.js +0 -72
  522. data/closure-library/closure/goog/dom/pattern/callback/test.js +0 -77
  523. data/closure-library/closure/goog/dom/pattern/childmatches.js +0 -152
  524. data/closure-library/closure/goog/dom/pattern/endtag.js +0 -53
  525. data/closure-library/closure/goog/dom/pattern/fulltag.js +0 -92
  526. data/closure-library/closure/goog/dom/pattern/matcher.js +0 -150
  527. data/closure-library/closure/goog/dom/pattern/matcher_test.html +0 -204
  528. data/closure-library/closure/goog/dom/pattern/nodetype.js +0 -57
  529. data/closure-library/closure/goog/dom/pattern/pattern.js +0 -93
  530. data/closure-library/closure/goog/dom/pattern/pattern_test.html +0 -614
  531. data/closure-library/closure/goog/dom/pattern/repeat.js +0 -188
  532. data/closure-library/closure/goog/dom/pattern/sequence.js +0 -139
  533. data/closure-library/closure/goog/dom/pattern/starttag.js +0 -53
  534. data/closure-library/closure/goog/dom/pattern/tag.js +0 -149
  535. data/closure-library/closure/goog/dom/pattern/text.js +0 -69
  536. data/closure-library/closure/goog/dom/range.js +0 -220
  537. data/closure-library/closure/goog/dom/range_test.html +0 -702
  538. data/closure-library/closure/goog/dom/rangeendpoint.js +0 -32
  539. data/closure-library/closure/goog/dom/savedcaretrange.js +0 -203
  540. data/closure-library/closure/goog/dom/savedcaretrange_test.html +0 -235
  541. data/closure-library/closure/goog/dom/savedrange.js +0 -74
  542. data/closure-library/closure/goog/dom/savedrange_test.html +0 -61
  543. data/closure-library/closure/goog/dom/selection.js +0 -470
  544. data/closure-library/closure/goog/dom/selection_test.html +0 -329
  545. data/closure-library/closure/goog/dom/tagiterator.js +0 -365
  546. data/closure-library/closure/goog/dom/tagiterator_test.html +0 -589
  547. data/closure-library/closure/goog/dom/tagname.js +0 -121
  548. data/closure-library/closure/goog/dom/tagname_test.html +0 -37
  549. data/closure-library/closure/goog/dom/textrange.js +0 -611
  550. data/closure-library/closure/goog/dom/textrange_test.html +0 -127
  551. data/closure-library/closure/goog/dom/textrangeiterator.js +0 -246
  552. data/closure-library/closure/goog/dom/textrangeiterator_test.html +0 -142
  553. data/closure-library/closure/goog/dom/viewportsizemonitor.js +0 -220
  554. data/closure-library/closure/goog/dom/viewportsizemonitor_test.html +0 -166
  555. data/closure-library/closure/goog/dom/xml.js +0 -187
  556. data/closure-library/closure/goog/dom/xml_test.html +0 -77
  557. data/closure-library/closure/goog/editor/browserfeature.js +0 -251
  558. data/closure-library/closure/goog/editor/browserfeature_test.html +0 -124
  559. data/closure-library/closure/goog/editor/clicktoeditwrapper.js +0 -438
  560. data/closure-library/closure/goog/editor/clicktoeditwrapper_test.html +0 -137
  561. data/closure-library/closure/goog/editor/command.js +0 -74
  562. data/closure-library/closure/goog/editor/defines.js +0 -34
  563. data/closure-library/closure/goog/editor/field.js +0 -2594
  564. data/closure-library/closure/goog/editor/field_test.html +0 -1000
  565. data/closure-library/closure/goog/editor/focus.js +0 -32
  566. data/closure-library/closure/goog/editor/focus_test.html +0 -66
  567. data/closure-library/closure/goog/editor/icontent.js +0 -296
  568. data/closure-library/closure/goog/editor/icontent_test.html +0 -209
  569. data/closure-library/closure/goog/editor/link.js +0 -279
  570. data/closure-library/closure/goog/editor/link_test.html +0 -234
  571. data/closure-library/closure/goog/editor/node.js +0 -435
  572. data/closure-library/closure/goog/editor/node_test.html +0 -590
  573. data/closure-library/closure/goog/editor/plugin.js +0 -444
  574. data/closure-library/closure/goog/editor/plugin_test.html +0 -187
  575. data/closure-library/closure/goog/editor/plugins/abstractbubbleplugin.js +0 -535
  576. data/closure-library/closure/goog/editor/plugins/abstractbubbleplugin_test.html +0 -227
  577. data/closure-library/closure/goog/editor/plugins/abstractdialogplugin.js +0 -336
  578. data/closure-library/closure/goog/editor/plugins/abstractdialogplugin_test.html +0 -399
  579. data/closure-library/closure/goog/editor/plugins/abstracttabhandler.js +0 -78
  580. data/closure-library/closure/goog/editor/plugins/abstracttabhandler_test.html +0 -91
  581. data/closure-library/closure/goog/editor/plugins/basictextformatter.js +0 -1740
  582. data/closure-library/closure/goog/editor/plugins/basictextformatter_test.html +0 -1171
  583. data/closure-library/closure/goog/editor/plugins/blockquote.js +0 -422
  584. data/closure-library/closure/goog/editor/plugins/blockquote_test.html +0 -149
  585. data/closure-library/closure/goog/editor/plugins/emoticons.js +0 -83
  586. data/closure-library/closure/goog/editor/plugins/emoticons_test.html +0 -67
  587. data/closure-library/closure/goog/editor/plugins/enterhandler.js +0 -730
  588. data/closure-library/closure/goog/editor/plugins/enterhandler_test.html +0 -739
  589. data/closure-library/closure/goog/editor/plugins/headerformatter.js +0 -95
  590. data/closure-library/closure/goog/editor/plugins/headerformatter_test.html +0 -100
  591. data/closure-library/closure/goog/editor/plugins/linkbubble.js +0 -458
  592. data/closure-library/closure/goog/editor/plugins/linkbubble_test.html +0 -309
  593. data/closure-library/closure/goog/editor/plugins/linkdialogplugin.js +0 -222
  594. data/closure-library/closure/goog/editor/plugins/linkdialogplugin_test.html +0 -370
  595. data/closure-library/closure/goog/editor/plugins/listtabhandler.js +0 -66
  596. data/closure-library/closure/goog/editor/plugins/listtabhandler_test.html +0 -177
  597. data/closure-library/closure/goog/editor/plugins/loremipsum.js +0 -186
  598. data/closure-library/closure/goog/editor/plugins/loremipsum_test.html +0 -169
  599. data/closure-library/closure/goog/editor/plugins/removeformatting.js +0 -772
  600. data/closure-library/closure/goog/editor/plugins/removeformatting_test.html +0 -920
  601. data/closure-library/closure/goog/editor/plugins/spacestabhandler.js +0 -93
  602. data/closure-library/closure/goog/editor/plugins/spacestabhandler_test.html +0 -186
  603. data/closure-library/closure/goog/editor/plugins/tableeditor.js +0 -496
  604. data/closure-library/closure/goog/editor/plugins/tableeditor_test.html +0 -299
  605. data/closure-library/closure/goog/editor/plugins/tagonenterhandler.js +0 -741
  606. data/closure-library/closure/goog/editor/plugins/tagonenterhandler_test.html +0 -481
  607. data/closure-library/closure/goog/editor/plugins/undoredo.js +0 -1014
  608. data/closure-library/closure/goog/editor/plugins/undoredo_test.html +0 -525
  609. data/closure-library/closure/goog/editor/plugins/undoredomanager.js +0 -337
  610. data/closure-library/closure/goog/editor/plugins/undoredomanager_test.html +0 -394
  611. data/closure-library/closure/goog/editor/plugins/undoredostate.js +0 -84
  612. data/closure-library/closure/goog/editor/plugins/undoredostate_test.html +0 -44
  613. data/closure-library/closure/goog/editor/range.js +0 -602
  614. data/closure-library/closure/goog/editor/range_test.html +0 -880
  615. data/closure-library/closure/goog/editor/seamlessfield.js +0 -720
  616. data/closure-library/closure/goog/editor/seamlessfield_quirks_test.html +0 -30
  617. data/closure-library/closure/goog/editor/seamlessfield_test.html +0 -33
  618. data/closure-library/closure/goog/editor/seamlessfield_test.js +0 -392
  619. data/closure-library/closure/goog/editor/style.js +0 -222
  620. data/closure-library/closure/goog/editor/style_test.html +0 -177
  621. data/closure-library/closure/goog/editor/table.js +0 -566
  622. data/closure-library/closure/goog/editor/table_test.html +0 -522
  623. data/closure-library/closure/goog/events/actioneventwrapper.js +0 -131
  624. data/closure-library/closure/goog/events/actioneventwrapper_test.html +0 -176
  625. data/closure-library/closure/goog/events/actionhandler.js +0 -189
  626. data/closure-library/closure/goog/events/actionhandler_test.html +0 -82
  627. data/closure-library/closure/goog/events/browserevent.js +0 -412
  628. data/closure-library/closure/goog/events/browserevent_test.html +0 -145
  629. data/closure-library/closure/goog/events/browserfeature.js +0 -43
  630. data/closure-library/closure/goog/events/event.js +0 -123
  631. data/closure-library/closure/goog/events/event_test.html +0 -70
  632. data/closure-library/closure/goog/events/eventhandler.js +0 -348
  633. data/closure-library/closure/goog/events/eventhandler_test.html +0 -230
  634. data/closure-library/closure/goog/events/events.js +0 -1101
  635. data/closure-library/closure/goog/events/events_test.html +0 -362
  636. data/closure-library/closure/goog/events/eventtarget.js +0 -197
  637. data/closure-library/closure/goog/events/eventtarget_test.html +0 -423
  638. data/closure-library/closure/goog/events/eventtype.js +0 -107
  639. data/closure-library/closure/goog/events/eventwrapper.js +0 -67
  640. data/closure-library/closure/goog/events/filedrophandler.js +0 -224
  641. data/closure-library/closure/goog/events/filedrophandler_test.html +0 -258
  642. data/closure-library/closure/goog/events/focushandler.js +0 -111
  643. data/closure-library/closure/goog/events/imehandler.js +0 -365
  644. data/closure-library/closure/goog/events/imehandler_test.html +0 -271
  645. data/closure-library/closure/goog/events/inputhandler.js +0 -218
  646. data/closure-library/closure/goog/events/keycodes.js +0 -314
  647. data/closure-library/closure/goog/events/keycodes_test.html +0 -72
  648. data/closure-library/closure/goog/events/keyhandler.js +0 -522
  649. data/closure-library/closure/goog/events/keyhandler_test.html +0 -621
  650. data/closure-library/closure/goog/events/keynames.js +0 -124
  651. data/closure-library/closure/goog/events/listener.js +0 -160
  652. data/closure-library/closure/goog/events/mousewheelhandler.js +0 -280
  653. data/closure-library/closure/goog/events/mousewheelhandler_test.html +0 -331
  654. data/closure-library/closure/goog/events/onlinehandler.js +0 -176
  655. data/closure-library/closure/goog/events/onlinelistener_test.html +0 -214
  656. data/closure-library/closure/goog/events/pastehandler.js +0 -444
  657. data/closure-library/closure/goog/events/pastehandler_test.html +0 -354
  658. data/closure-library/closure/goog/events/pools.js +0 -342
  659. data/closure-library/closure/goog/format/emailaddress.js +0 -329
  660. data/closure-library/closure/goog/format/emailaddress_test.html +0 -179
  661. data/closure-library/closure/goog/format/format.js +0 -451
  662. data/closure-library/closure/goog/format/format_test.html +0 -257
  663. data/closure-library/closure/goog/format/htmlprettyprinter.js +0 -406
  664. data/closure-library/closure/goog/format/htmlprettyprinter_test.html +0 -205
  665. data/closure-library/closure/goog/format/jsonprettyprinter.js +0 -405
  666. data/closure-library/closure/goog/format/jsonprettyprinter_test.html +0 -111
  667. data/closure-library/closure/goog/fs/entry.js +0 -406
  668. data/closure-library/closure/goog/fs/error.js +0 -103
  669. data/closure-library/closure/goog/fs/filesaver.js +0 -214
  670. data/closure-library/closure/goog/fs/filesystem.js +0 -59
  671. data/closure-library/closure/goog/fs/filewriter.js +0 -106
  672. data/closure-library/closure/goog/fs/fs.js +0 -183
  673. data/closure-library/closure/goog/fs/fs_test.html +0 -270
  674. data/closure-library/closure/goog/functions/functions.js +0 -219
  675. data/closure-library/closure/goog/functions/functions_test.html +0 -198
  676. data/closure-library/closure/goog/fx/abstractdragdrop.js +0 -1451
  677. data/closure-library/closure/goog/fx/abstractdragdrop_test.html +0 -430
  678. data/closure-library/closure/goog/fx/animation.js +0 -621
  679. data/closure-library/closure/goog/fx/animationqueue.js +0 -348
  680. data/closure-library/closure/goog/fx/cssspriteanimation.js +0 -112
  681. data/closure-library/closure/goog/fx/cssspriteanimation_test.html +0 -125
  682. data/closure-library/closure/goog/fx/dom.js +0 -610
  683. data/closure-library/closure/goog/fx/dragdrop.js +0 -49
  684. data/closure-library/closure/goog/fx/dragdropgroup.js +0 -107
  685. data/closure-library/closure/goog/fx/dragdropgroup_test.html +0 -234
  686. data/closure-library/closure/goog/fx/dragger.js +0 -731
  687. data/closure-library/closure/goog/fx/dragger_test.html +0 -415
  688. data/closure-library/closure/goog/fx/draglistgroup.js +0 -1159
  689. data/closure-library/closure/goog/fx/draglistgroup_test.html +0 -231
  690. data/closure-library/closure/goog/fx/dragscrollsupport.js +0 -274
  691. data/closure-library/closure/goog/fx/dragscrollsupport_test.html +0 -253
  692. data/closure-library/closure/goog/fx/easing.js +0 -50
  693. data/closure-library/closure/goog/fx/fx.js +0 -30
  694. data/closure-library/closure/goog/fx/fx_test.html +0 -157
  695. data/closure-library/closure/goog/gears/basestore.js +0 -523
  696. data/closure-library/closure/goog/gears/basestore_test.html +0 -247
  697. data/closure-library/closure/goog/gears/database.js +0 -935
  698. data/closure-library/closure/goog/gears/database_test.html +0 -699
  699. data/closure-library/closure/goog/gears/fakeworkerpool.js +0 -252
  700. data/closure-library/closure/goog/gears/fakeworkerpool_test.html +0 -188
  701. data/closure-library/closure/goog/gears/gears.js +0 -228
  702. data/closure-library/closure/goog/gears/gears_test.html +0 -78
  703. data/closure-library/closure/goog/gears/httprequest.js +0 -77
  704. data/closure-library/closure/goog/gears/loggerclient.js +0 -131
  705. data/closure-library/closure/goog/gears/loggerclient_test.html +0 -171
  706. data/closure-library/closure/goog/gears/loggerserver.js +0 -158
  707. data/closure-library/closure/goog/gears/loggerserver_test.html +0 -118
  708. data/closure-library/closure/goog/gears/logstore.js +0 -479
  709. data/closure-library/closure/goog/gears/logstore_test.html +0 -600
  710. data/closure-library/closure/goog/gears/managedresourcestore.js +0 -553
  711. data/closure-library/closure/goog/gears/managedresourcestore_test.html +0 -453
  712. data/closure-library/closure/goog/gears/multipartformdata.js +0 -203
  713. data/closure-library/closure/goog/gears/multipartformdata_test.html +0 -220
  714. data/closure-library/closure/goog/gears/statustype.js +0 -37
  715. data/closure-library/closure/goog/gears/urlcapture.js +0 -370
  716. data/closure-library/closure/goog/gears/urlcapture_test.html +0 -392
  717. data/closure-library/closure/goog/gears/worker.js +0 -201
  718. data/closure-library/closure/goog/gears/workerchannel.js +0 -205
  719. data/closure-library/closure/goog/gears/workerchannel_test.html +0 -207
  720. data/closure-library/closure/goog/gears/workerpool.js +0 -241
  721. data/closure-library/closure/goog/gears/workerpool_test.html +0 -203
  722. data/closure-library/closure/goog/graphics/abstractgraphics.js +0 -439
  723. data/closure-library/closure/goog/graphics/affinetransform.js +0 -497
  724. data/closure-library/closure/goog/graphics/affinetransform_test.html +0 -316
  725. data/closure-library/closure/goog/graphics/canvaselement.js +0 -776
  726. data/closure-library/closure/goog/graphics/canvasgraphics.js +0 -632
  727. data/closure-library/closure/goog/graphics/element.js +0 -145
  728. data/closure-library/closure/goog/graphics/ellipseelement.js +0 -59
  729. data/closure-library/closure/goog/graphics/ext/coordinates.js +0 -158
  730. data/closure-library/closure/goog/graphics/ext/coordinates_test.html +0 -74
  731. data/closure-library/closure/goog/graphics/ext/element.js +0 -970
  732. data/closure-library/closure/goog/graphics/ext/element_test.html +0 -144
  733. data/closure-library/closure/goog/graphics/ext/ellipse.js +0 -58
  734. data/closure-library/closure/goog/graphics/ext/ext.js +0 -29
  735. data/closure-library/closure/goog/graphics/ext/graphics.js +0 -209
  736. data/closure-library/closure/goog/graphics/ext/group.js +0 -213
  737. data/closure-library/closure/goog/graphics/ext/image.js +0 -62
  738. data/closure-library/closure/goog/graphics/ext/path.js +0 -140
  739. data/closure-library/closure/goog/graphics/ext/path_test.html +0 -46
  740. data/closure-library/closure/goog/graphics/ext/rectangle.js +0 -53
  741. data/closure-library/closure/goog/graphics/ext/shape.js +0 -144
  742. data/closure-library/closure/goog/graphics/ext/strokeandfillelement.js +0 -69
  743. data/closure-library/closure/goog/graphics/fill.js +0 -29
  744. data/closure-library/closure/goog/graphics/font.js +0 -59
  745. data/closure-library/closure/goog/graphics/graphics.js +0 -124
  746. data/closure-library/closure/goog/graphics/groupelement.js +0 -54
  747. data/closure-library/closure/goog/graphics/imageelement.js +0 -67
  748. data/closure-library/closure/goog/graphics/lineargradient.js +0 -131
  749. data/closure-library/closure/goog/graphics/path.js +0 -508
  750. data/closure-library/closure/goog/graphics/path_test.html +0 -359
  751. data/closure-library/closure/goog/graphics/pathelement.js +0 -50
  752. data/closure-library/closure/goog/graphics/paths.js +0 -86
  753. data/closure-library/closure/goog/graphics/paths_test.html +0 -97
  754. data/closure-library/closure/goog/graphics/rectelement.js +0 -59
  755. data/closure-library/closure/goog/graphics/solidfill.js +0 -70
  756. data/closure-library/closure/goog/graphics/stroke.js +0 -63
  757. data/closure-library/closure/goog/graphics/strokeandfillelement.js +0 -110
  758. data/closure-library/closure/goog/graphics/svgelement.js +0 -262
  759. data/closure-library/closure/goog/graphics/svggraphics.js +0 -813
  760. data/closure-library/closure/goog/graphics/textelement.js +0 -51
  761. data/closure-library/closure/goog/graphics/vmlelement.js +0 -380
  762. data/closure-library/closure/goog/graphics/vmlgraphics.js +0 -863
  763. data/closure-library/closure/goog/history/event.js +0 -54
  764. data/closure-library/closure/goog/history/eventtype.js +0 -30
  765. data/closure-library/closure/goog/history/history.js +0 -979
  766. data/closure-library/closure/goog/history/html5history.js +0 -303
  767. data/closure-library/closure/goog/history/html5history_test.html +0 -163
  768. data/closure-library/closure/goog/i18n/bidi.js +0 -772
  769. data/closure-library/closure/goog/i18n/bidi_test.html +0 -414
  770. data/closure-library/closure/goog/i18n/bidiformatter.js +0 -488
  771. data/closure-library/closure/goog/i18n/bidiformatter_test.html +0 -343
  772. data/closure-library/closure/goog/i18n/charlistdecompressor.js +0 -157
  773. data/closure-library/closure/goog/i18n/charlistdecompressor_test.html +0 -65
  774. data/closure-library/closure/goog/i18n/charpickerdata.js +0 -3185
  775. data/closure-library/closure/goog/i18n/currency.js +0 -385
  776. data/closure-library/closure/goog/i18n/currency_test.html +0 -202
  777. data/closure-library/closure/goog/i18n/currencycodemap.js +0 -210
  778. data/closure-library/closure/goog/i18n/datetimeformat.js +0 -636
  779. data/closure-library/closure/goog/i18n/datetimeformat_test.html +0 -436
  780. data/closure-library/closure/goog/i18n/datetimeparse.js +0 -1111
  781. data/closure-library/closure/goog/i18n/datetimeparse_test.html +0 -796
  782. data/closure-library/closure/goog/i18n/datetimepatterns.js +0 -1586
  783. data/closure-library/closure/goog/i18n/datetimepatternsext.js +0 -7386
  784. data/closure-library/closure/goog/i18n/datetimesymbols.js +0 -3350
  785. data/closure-library/closure/goog/i18n/datetimesymbolsext.js +0 -12938
  786. data/closure-library/closure/goog/i18n/graphemebreak.js +0 -181
  787. data/closure-library/closure/goog/i18n/graphemebreak_test.html +0 -72
  788. data/closure-library/closure/goog/i18n/messageformat.js +0 -556
  789. data/closure-library/closure/goog/i18n/messageformat_test.html +0 -334
  790. data/closure-library/closure/goog/i18n/mime.js +0 -100
  791. data/closure-library/closure/goog/i18n/mime_test.html +0 -51
  792. data/closure-library/closure/goog/i18n/numberformat.js +0 -763
  793. data/closure-library/closure/goog/i18n/numberformat_test.html +0 -605
  794. data/closure-library/closure/goog/i18n/numberformatsymbols.js +0 -10358
  795. data/closure-library/closure/goog/i18n/pluralrules.js +0 -695
  796. data/closure-library/closure/goog/i18n/timezone.js +0 -341
  797. data/closure-library/closure/goog/i18n/timezone_test.html +0 -163
  798. data/closure-library/closure/goog/i18n/uchar.js +0 -1160
  799. data/closure-library/closure/goog/i18n/uchar_test.html +0 -72
  800. data/closure-library/closure/goog/images/blank.gif +0 -0
  801. data/closure-library/closure/goog/images/bubble_close.jpg +0 -0
  802. data/closure-library/closure/goog/images/bubble_left.gif +0 -0
  803. data/closure-library/closure/goog/images/bubble_right.gif +0 -0
  804. data/closure-library/closure/goog/images/button-bg.gif +0 -0
  805. data/closure-library/closure/goog/images/check-outline.gif +0 -0
  806. data/closure-library/closure/goog/images/check-sprite.gif +0 -0
  807. data/closure-library/closure/goog/images/check.gif +0 -0
  808. data/closure-library/closure/goog/images/close_box.gif +0 -0
  809. data/closure-library/closure/goog/images/color-swatch-tick.gif +0 -0
  810. data/closure-library/closure/goog/images/dialog_close_box.gif +0 -0
  811. data/closure-library/closure/goog/images/dimension-highlighted.png +0 -0
  812. data/closure-library/closure/goog/images/dimension-unhighlighted.png +0 -0
  813. data/closure-library/closure/goog/images/dropdn.gif +0 -0
  814. data/closure-library/closure/goog/images/dropdn_disabled.gif +0 -0
  815. data/closure-library/closure/goog/images/dropdown.gif +0 -0
  816. data/closure-library/closure/goog/images/gears_bluedot.gif +0 -0
  817. data/closure-library/closure/goog/images/gears_offline.gif +0 -0
  818. data/closure-library/closure/goog/images/gears_online.gif +0 -0
  819. data/closure-library/closure/goog/images/gears_paused.gif +0 -0
  820. data/closure-library/closure/goog/images/gears_syncing.gif +0 -0
  821. data/closure-library/closure/goog/images/hsv-sprite-sm.gif +0 -0
  822. data/closure-library/closure/goog/images/hsv-sprite-sm.png +0 -0
  823. data/closure-library/closure/goog/images/hsv-sprite.gif +0 -0
  824. data/closure-library/closure/goog/images/hsv-sprite.png +0 -0
  825. data/closure-library/closure/goog/images/hsva-sprite-sm.gif +0 -0
  826. data/closure-library/closure/goog/images/hsva-sprite-sm.png +0 -0
  827. data/closure-library/closure/goog/images/hsva-sprite.gif +0 -0
  828. data/closure-library/closure/goog/images/hsva-sprite.png +0 -0
  829. data/closure-library/closure/goog/images/left_anchor_bubble_bot.gif +0 -0
  830. data/closure-library/closure/goog/images/left_anchor_bubble_top.gif +0 -0
  831. data/closure-library/closure/goog/images/menu-arrows.gif +0 -0
  832. data/closure-library/closure/goog/images/minus.png +0 -0
  833. data/closure-library/closure/goog/images/no_anchor_bubble_bot.gif +0 -0
  834. data/closure-library/closure/goog/images/no_anchor_bubble_top.gif +0 -0
  835. data/closure-library/closure/goog/images/offlineicons.png +0 -0
  836. data/closure-library/closure/goog/images/plus.png +0 -0
  837. data/closure-library/closure/goog/images/ratingstars.gif +0 -0
  838. data/closure-library/closure/goog/images/right_anchor_bubble_bot.gif +0 -0
  839. data/closure-library/closure/goog/images/right_anchor_bubble_top.gif +0 -0
  840. data/closure-library/closure/goog/images/toolbar-bg.png +0 -0
  841. data/closure-library/closure/goog/images/toolbar-separator.gif +0 -0
  842. data/closure-library/closure/goog/images/toolbar_icons.gif +0 -0
  843. data/closure-library/closure/goog/images/tree/I.png +0 -0
  844. data/closure-library/closure/goog/images/tree/cleardot.gif +0 -0
  845. data/closure-library/closure/goog/images/tree/tree.gif +0 -0
  846. data/closure-library/closure/goog/images/tree/tree.png +0 -0
  847. data/closure-library/closure/goog/images/ui_controls.jpg +0 -0
  848. data/closure-library/closure/goog/iter/iter.js +0 -627
  849. data/closure-library/closure/goog/iter/iter_test.html +0 -443
  850. data/closure-library/closure/goog/json/json.js +0 -302
  851. data/closure-library/closure/goog/json/json_test.html +0 -501
  852. data/closure-library/closure/goog/locale/countries.js +0 -288
  853. data/closure-library/closure/goog/locale/countrylanguagenames_test.html +0 -233
  854. data/closure-library/closure/goog/locale/defaultlocalenameconstants.js +0 -847
  855. data/closure-library/closure/goog/locale/genericfontnames.js +0 -73
  856. data/closure-library/closure/goog/locale/genericfontnames_test.html +0 -97
  857. data/closure-library/closure/goog/locale/genericfontnamesdata.js +0 -328
  858. data/closure-library/closure/goog/locale/locale.js +0 -397
  859. data/closure-library/closure/goog/locale/nativenameconstants.js +0 -1354
  860. data/closure-library/closure/goog/locale/scriptToLanguages.js +0 -482
  861. data/closure-library/closure/goog/locale/timezonedetection.js +0 -117
  862. data/closure-library/closure/goog/locale/timezonedetection_test.html +0 -130
  863. data/closure-library/closure/goog/locale/timezonefingerprint.js +0 -250
  864. data/closure-library/closure/goog/locale/timezonelist.js +0 -129
  865. data/closure-library/closure/goog/locale/timezonelist_test.html +0 -165
  866. data/closure-library/closure/goog/math/bezier.js +0 -244
  867. data/closure-library/closure/goog/math/bezier_test.html +0 -70
  868. data/closure-library/closure/goog/math/box.js +0 -236
  869. data/closure-library/closure/goog/math/box_test.html +0 -139
  870. data/closure-library/closure/goog/math/coordinate.js +0 -136
  871. data/closure-library/closure/goog/math/coordinate3.js +0 -168
  872. data/closure-library/closure/goog/math/coordinate3_test.html +0 -208
  873. data/closure-library/closure/goog/math/coordinate_test.html +0 -92
  874. data/closure-library/closure/goog/math/integer.js +0 -736
  875. data/closure-library/closure/goog/math/integer_test.html +0 -1653
  876. data/closure-library/closure/goog/math/line.js +0 -177
  877. data/closure-library/closure/goog/math/line_test.html +0 -62
  878. data/closure-library/closure/goog/math/long.js +0 -801
  879. data/closure-library/closure/goog/math/long_test.html +0 -1571
  880. data/closure-library/closure/goog/math/math.js +0 -355
  881. data/closure-library/closure/goog/math/math_test.html +0 -254
  882. data/closure-library/closure/goog/math/matrix.js +0 -669
  883. data/closure-library/closure/goog/math/matrix_test.html +0 -427
  884. data/closure-library/closure/goog/math/range.js +0 -146
  885. data/closure-library/closure/goog/math/range_test.html +0 -103
  886. data/closure-library/closure/goog/math/rangeset.js +0 -368
  887. data/closure-library/closure/goog/math/rangeset_test.html +0 -619
  888. data/closure-library/closure/goog/math/rect.js +0 -340
  889. data/closure-library/closure/goog/math/rect_test.html +0 -315
  890. data/closure-library/closure/goog/math/size.js +0 -201
  891. data/closure-library/closure/goog/math/size_test.html +0 -174
  892. data/closure-library/closure/goog/math/vec2.js +0 -255
  893. data/closure-library/closure/goog/math/vec2_test.html +0 -203
  894. data/closure-library/closure/goog/math/vec3.js +0 -308
  895. data/closure-library/closure/goog/math/vec3_test.html +0 -231
  896. data/closure-library/closure/goog/memoize/memoize.js +0 -98
  897. data/closure-library/closure/goog/memoize/memoize_test.html +0 -157
  898. data/closure-library/closure/goog/messaging/abstractchannel.js +0 -209
  899. data/closure-library/closure/goog/messaging/abstractchannel_test.html +0 -90
  900. data/closure-library/closure/goog/messaging/bufferedchannel.js +0 -277
  901. data/closure-library/closure/goog/messaging/bufferedchannel_test.html +0 -205
  902. data/closure-library/closure/goog/messaging/deferredchannel.js +0 -79
  903. data/closure-library/closure/goog/messaging/deferredchannel_test.html +0 -107
  904. data/closure-library/closure/goog/messaging/loggerclient.js +0 -131
  905. data/closure-library/closure/goog/messaging/loggerclient_test.html +0 -102
  906. data/closure-library/closure/goog/messaging/loggerserver.js +0 -94
  907. data/closure-library/closure/goog/messaging/loggerserver_test.html +0 -101
  908. data/closure-library/closure/goog/messaging/messagechannel.js +0 -115
  909. data/closure-library/closure/goog/messaging/messaging.js +0 -34
  910. data/closure-library/closure/goog/messaging/messaging_test.html +0 -42
  911. data/closure-library/closure/goog/messaging/multichannel.js +0 -303
  912. data/closure-library/closure/goog/messaging/multichannel_test.html +0 -122
  913. data/closure-library/closure/goog/messaging/portcaller.js +0 -150
  914. data/closure-library/closure/goog/messaging/portcaller_test.html +0 -66
  915. data/closure-library/closure/goog/messaging/portchannel.js +0 -341
  916. data/closure-library/closure/goog/messaging/portchannel_test.html +0 -359
  917. data/closure-library/closure/goog/messaging/portnetwork.js +0 -78
  918. data/closure-library/closure/goog/messaging/portnetwork_test.html +0 -64
  919. data/closure-library/closure/goog/messaging/portoperator.js +0 -196
  920. data/closure-library/closure/goog/messaging/portoperator_test.html +0 -112
  921. data/closure-library/closure/goog/messaging/testdata/portchannel_inner.html +0 -28
  922. data/closure-library/closure/goog/messaging/testdata/portchannel_worker.js +0 -37
  923. data/closure-library/closure/goog/messaging/testdata/portnetwork_inner.html +0 -35
  924. data/closure-library/closure/goog/messaging/testdata/portnetwork_worker1.js +0 -33
  925. data/closure-library/closure/goog/messaging/testdata/portnetwork_worker2.js +0 -33
  926. data/closure-library/closure/goog/module/abstractmoduleloader.js +0 -46
  927. data/closure-library/closure/goog/module/basemodule.js +0 -45
  928. data/closure-library/closure/goog/module/basemoduleloader.js +0 -210
  929. data/closure-library/closure/goog/module/loader.js +0 -269
  930. data/closure-library/closure/goog/module/module.js +0 -166
  931. data/closure-library/closure/goog/module/moduleinfo.js +0 -336
  932. data/closure-library/closure/goog/module/moduleinfo_test.html +0 -109
  933. data/closure-library/closure/goog/module/moduleloadcallback.js +0 -84
  934. data/closure-library/closure/goog/module/moduleloadcallback_test.html +0 -57
  935. data/closure-library/closure/goog/module/moduleloader.js +0 -250
  936. data/closure-library/closure/goog/module/moduleloader_test.html +0 -244
  937. data/closure-library/closure/goog/module/modulemanager.js +0 -1008
  938. data/closure-library/closure/goog/module/modulemanager_test.html +0 -1240
  939. data/closure-library/closure/goog/module/testdata/modA_1.js +0 -22
  940. data/closure-library/closure/goog/module/testdata/modA_2.js +0 -24
  941. data/closure-library/closure/goog/module/testdata/modB_1.js +0 -24
  942. data/closure-library/closure/goog/net/browserchannel.js +0 -2441
  943. data/closure-library/closure/goog/net/browserchannel_test.html +0 -1176
  944. data/closure-library/closure/goog/net/browsertestchannel.js +0 -552
  945. data/closure-library/closure/goog/net/bulkloader.js +0 -174
  946. data/closure-library/closure/goog/net/bulkloader_test.html +0 -232
  947. data/closure-library/closure/goog/net/bulkloaderhelper.js +0 -129
  948. data/closure-library/closure/goog/net/channeldebug.js +0 -288
  949. data/closure-library/closure/goog/net/channelrequest.js +0 -1125
  950. data/closure-library/closure/goog/net/channelrequest_test.html +0 -158
  951. data/closure-library/closure/goog/net/cookies.js +0 -401
  952. data/closure-library/closure/goog/net/cookies_test.html +0 -255
  953. data/closure-library/closure/goog/net/crossdomainrpc.js +0 -848
  954. data/closure-library/closure/goog/net/crossdomainrpc_test.gif +0 -0
  955. data/closure-library/closure/goog/net/crossdomainrpc_test.html +0 -120
  956. data/closure-library/closure/goog/net/crossdomainrpc_test_response.html +0 -59
  957. data/closure-library/closure/goog/net/errorcode.js +0 -130
  958. data/closure-library/closure/goog/net/eventtype.js +0 -37
  959. data/closure-library/closure/goog/net/iframe_xhr_test.html +0 -142
  960. data/closure-library/closure/goog/net/iframe_xhr_test_response.html +0 -17
  961. data/closure-library/closure/goog/net/iframeio.js +0 -1342
  962. data/closure-library/closure/goog/net/iframeio_different_base_test.data +0 -2
  963. data/closure-library/closure/goog/net/iframeio_different_base_test.html +0 -42
  964. data/closure-library/closure/goog/net/iframeio_test.html +0 -368
  965. data/closure-library/closure/goog/net/iframeloadmonitor.js +0 -199
  966. data/closure-library/closure/goog/net/iframeloadmonitor_test.html +0 -113
  967. data/closure-library/closure/goog/net/iframeloadmonitor_test_frame.html +0 -12
  968. data/closure-library/closure/goog/net/iframeloadmonitor_test_frame2.html +0 -12
  969. data/closure-library/closure/goog/net/iframeloadmonitor_test_frame3.html +0 -12
  970. data/closure-library/closure/goog/net/imageloader.js +0 -237
  971. data/closure-library/closure/goog/net/imageloader_test.html +0 -200
  972. data/closure-library/closure/goog/net/imageloader_testimg1.gif +0 -0
  973. data/closure-library/closure/goog/net/imageloader_testimg2.gif +0 -0
  974. data/closure-library/closure/goog/net/imageloader_testimg3.gif +0 -0
  975. data/closure-library/closure/goog/net/jsonp.js +0 -379
  976. data/closure-library/closure/goog/net/jsonp_test.html +0 -328
  977. data/closure-library/closure/goog/net/mockiframeio.js +0 -318
  978. data/closure-library/closure/goog/net/mockxhrlite.js +0 -34
  979. data/closure-library/closure/goog/net/mockxhrlite_test.html +0 -109
  980. data/closure-library/closure/goog/net/multiiframeloadmonitor.js +0 -116
  981. data/closure-library/closure/goog/net/multiiframeloadmonitor_test.html +0 -172
  982. data/closure-library/closure/goog/net/networktester.js +0 -383
  983. data/closure-library/closure/goog/net/networktester_test.html +0 -227
  984. data/closure-library/closure/goog/net/tmpnetwork.js +0 -168
  985. data/closure-library/closure/goog/net/wrapperxmlhttpfactory.js +0 -68
  986. data/closure-library/closure/goog/net/xhrio.js +0 -1093
  987. data/closure-library/closure/goog/net/xhrio_test.html +0 -603
  988. data/closure-library/closure/goog/net/xhriopool.js +0 -87
  989. data/closure-library/closure/goog/net/xhrlite.js +0 -119
  990. data/closure-library/closure/goog/net/xhrlite_test.html +0 -156
  991. data/closure-library/closure/goog/net/xhrlitepool.js +0 -37
  992. data/closure-library/closure/goog/net/xhrmanager.js +0 -763
  993. data/closure-library/closure/goog/net/xhrmonitor.js +0 -254
  994. data/closure-library/closure/goog/net/xhrmonitor_test.html +0 -199
  995. data/closure-library/closure/goog/net/xmlhttp.js +0 -215
  996. data/closure-library/closure/goog/net/xmlhttpfactory.js +0 -64
  997. data/closure-library/closure/goog/net/xpc/crosspagechannel.js +0 -624
  998. data/closure-library/closure/goog/net/xpc/crosspagechannel_test.html +0 -422
  999. data/closure-library/closure/goog/net/xpc/frameelementmethodtransport.js +0 -251
  1000. data/closure-library/closure/goog/net/xpc/iframepollingtransport.js +0 -822
  1001. data/closure-library/closure/goog/net/xpc/iframerelaytransport.js +0 -288
  1002. data/closure-library/closure/goog/net/xpc/nativemessagingtransport.js +0 -280
  1003. data/closure-library/closure/goog/net/xpc/nativemessagingtransport_test.html +0 -164
  1004. data/closure-library/closure/goog/net/xpc/nixtransport.js +0 -454
  1005. data/closure-library/closure/goog/net/xpc/relay.js +0 -72
  1006. data/closure-library/closure/goog/net/xpc/testdata/inner_peer.html +0 -106
  1007. data/closure-library/closure/goog/net/xpc/transport.js +0 -104
  1008. data/closure-library/closure/goog/net/xpc/xpc.js +0 -238
  1009. data/closure-library/closure/goog/object/object.js +0 -553
  1010. data/closure-library/closure/goog/object/object_test.html +0 -376
  1011. data/closure-library/closure/goog/positioning/absoluteposition.js +0 -73
  1012. data/closure-library/closure/goog/positioning/abstractposition.js +0 -47
  1013. data/closure-library/closure/goog/positioning/anchoredposition.js +0 -78
  1014. data/closure-library/closure/goog/positioning/anchoredviewportposition.js +0 -126
  1015. data/closure-library/closure/goog/positioning/anchoredviewportposition_test.html +0 -117
  1016. data/closure-library/closure/goog/positioning/anchoredviewportposition_test_iframe.html +0 -35
  1017. data/closure-library/closure/goog/positioning/clientposition.js +0 -75
  1018. data/closure-library/closure/goog/positioning/menuanchoredposition.js +0 -97
  1019. data/closure-library/closure/goog/positioning/positioning.js +0 -476
  1020. data/closure-library/closure/goog/positioning/positioning_test.html +0 -877
  1021. data/closure-library/closure/goog/positioning/positioning_test_iframe1.html +0 -16
  1022. data/closure-library/closure/goog/positioning/positioning_test_iframe2.html +0 -13
  1023. data/closure-library/closure/goog/positioning/positioning_test_quirk.html +0 -9
  1024. data/closure-library/closure/goog/positioning/positioning_test_standard.html +0 -13
  1025. data/closure-library/closure/goog/positioning/viewportclientposition.js +0 -102
  1026. data/closure-library/closure/goog/positioning/viewportclientposition_test.html +0 -172
  1027. data/closure-library/closure/goog/positioning/viewportposition.js +0 -63
  1028. data/closure-library/closure/goog/proto/proto.js +0 -43
  1029. data/closure-library/closure/goog/proto/serializer.js +0 -68
  1030. data/closure-library/closure/goog/proto/serializer_test.html +0 -43
  1031. data/closure-library/closure/goog/proto2/descriptor.js +0 -198
  1032. data/closure-library/closure/goog/proto2/descriptor_test.html +0 -60
  1033. data/closure-library/closure/goog/proto2/fielddescriptor.js +0 -288
  1034. data/closure-library/closure/goog/proto2/fielddescriptor_test.html +0 -124
  1035. data/closure-library/closure/goog/proto2/lazydeserializer.js +0 -69
  1036. data/closure-library/closure/goog/proto2/message.js +0 -726
  1037. data/closure-library/closure/goog/proto2/message_test.html +0 -356
  1038. data/closure-library/closure/goog/proto2/objectserializer.js +0 -159
  1039. data/closure-library/closure/goog/proto2/objectserializer_test.html +0 -423
  1040. data/closure-library/closure/goog/proto2/package_test.pb.js +0 -164
  1041. data/closure-library/closure/goog/proto2/pbliteserializer.js +0 -150
  1042. data/closure-library/closure/goog/proto2/pbliteserializer_test.html +0 -267
  1043. data/closure-library/closure/goog/proto2/proto_test.html +0 -693
  1044. data/closure-library/closure/goog/proto2/serializer.js +0 -148
  1045. data/closure-library/closure/goog/proto2/test.pb.js +0 -2820
  1046. data/closure-library/closure/goog/proto2/util.js +0 -54
  1047. data/closure-library/closure/goog/pubsub/pubsub.js +0 -326
  1048. data/closure-library/closure/goog/pubsub/pubsub_test.html +0 -635
  1049. data/closure-library/closure/goog/reflect/reflect.js +0 -50
  1050. data/closure-library/closure/goog/spell/spellcheck.js +0 -474
  1051. data/closure-library/closure/goog/spell/spellcheck_test.html +0 -112
  1052. data/closure-library/closure/goog/string/path.js +0 -100
  1053. data/closure-library/closure/goog/string/path_test.html +0 -59
  1054. data/closure-library/closure/goog/string/string.js +0 -1207
  1055. data/closure-library/closure/goog/string/string_test.html +0 -877
  1056. data/closure-library/closure/goog/string/stringbuffer.js +0 -167
  1057. data/closure-library/closure/goog/string/stringbuffer_test.html +0 -101
  1058. data/closure-library/closure/goog/string/stringformat.js +0 -247
  1059. data/closure-library/closure/goog/string/stringformat_test.html +0 -211
  1060. data/closure-library/closure/goog/structs/avltree.js +0 -769
  1061. data/closure-library/closure/goog/structs/avltree_test.html +0 -241
  1062. data/closure-library/closure/goog/structs/circularbuffer.js +0 -219
  1063. data/closure-library/closure/goog/structs/circularbuffer_test.html +0 -105
  1064. data/closure-library/closure/goog/structs/heap.js +0 -332
  1065. data/closure-library/closure/goog/structs/heap_test.html +0 -220
  1066. data/closure-library/closure/goog/structs/inversionmap.js +0 -159
  1067. data/closure-library/closure/goog/structs/inversionmap_test.html +0 -157
  1068. data/closure-library/closure/goog/structs/linkedmap.js +0 -472
  1069. data/closure-library/closure/goog/structs/linkedmap_test.html +0 -300
  1070. data/closure-library/closure/goog/structs/map.js +0 -446
  1071. data/closure-library/closure/goog/structs/map_test.html +0 -430
  1072. data/closure-library/closure/goog/structs/node.js +0 -74
  1073. data/closure-library/closure/goog/structs/pool.js +0 -344
  1074. data/closure-library/closure/goog/structs/pool_test.html +0 -265
  1075. data/closure-library/closure/goog/structs/prioritypool.js +0 -147
  1076. data/closure-library/closure/goog/structs/prioritypool_test.html +0 -478
  1077. data/closure-library/closure/goog/structs/priorityqueue.js +0 -64
  1078. data/closure-library/closure/goog/structs/priorityqueue_test.html +0 -179
  1079. data/closure-library/closure/goog/structs/quadtree.js +0 -571
  1080. data/closure-library/closure/goog/structs/quadtree_test.html +0 -179
  1081. data/closure-library/closure/goog/structs/queue.js +0 -157
  1082. data/closure-library/closure/goog/structs/queue_test.html +0 -140
  1083. data/closure-library/closure/goog/structs/set.js +0 -251
  1084. data/closure-library/closure/goog/structs/set_test.html +0 -551
  1085. data/closure-library/closure/goog/structs/simplepool.js +0 -203
  1086. data/closure-library/closure/goog/structs/stringset.js +0 -404
  1087. data/closure-library/closure/goog/structs/stringset_test.html +0 -251
  1088. data/closure-library/closure/goog/structs/structs.js +0 -341
  1089. data/closure-library/closure/goog/structs/structs_test.html +0 -1050
  1090. data/closure-library/closure/goog/structs/treenode.js +0 -312
  1091. data/closure-library/closure/goog/structs/treenode_test.html +0 -285
  1092. data/closure-library/closure/goog/structs/trie.js +0 -368
  1093. data/closure-library/closure/goog/structs/trie_test.html +0 -378
  1094. data/closure-library/closure/goog/style/cursor.js +0 -125
  1095. data/closure-library/closure/goog/style/cursor_test.html +0 -131
  1096. data/closure-library/closure/goog/style/style.js +0 -1804
  1097. data/closure-library/closure/goog/style/style_quirks_test.html +0 -1928
  1098. data/closure-library/closure/goog/style/style_test.html +0 -2073
  1099. data/closure-library/closure/goog/style/style_test_iframe_quirk.html +0 -29
  1100. data/closure-library/closure/goog/style/style_test_iframe_standard.html +0 -30
  1101. data/closure-library/closure/goog/style/style_test_quirk.html +0 -9
  1102. data/closure-library/closure/goog/style/style_test_standard.html +0 -11
  1103. data/closure-library/closure/goog/testing/asserts.js +0 -970
  1104. data/closure-library/closure/goog/testing/asserts_test.html +0 -966
  1105. data/closure-library/closure/goog/testing/async/mockcontrol.js +0 -174
  1106. data/closure-library/closure/goog/testing/async/mockcontrol_test.html +0 -224
  1107. data/closure-library/closure/goog/testing/asynctestcase.js +0 -812
  1108. data/closure-library/closure/goog/testing/asynctestcase_async_test.html +0 -102
  1109. data/closure-library/closure/goog/testing/asynctestcase_noasync_test.html +0 -98
  1110. data/closure-library/closure/goog/testing/benchmark.js +0 -87
  1111. data/closure-library/closure/goog/testing/benchmarks/jsbinarysizebutton.js +0 -64
  1112. data/closure-library/closure/goog/testing/benchmarks/jsbinarysizebutton_test.html +0 -58
  1113. data/closure-library/closure/goog/testing/benchmarks/jsbinarysizetoolbar.js +0 -66
  1114. data/closure-library/closure/goog/testing/benchmarks/jsbinarysizetoolbar_test.html +0 -49
  1115. data/closure-library/closure/goog/testing/continuationtestcase.js +0 -682
  1116. data/closure-library/closure/goog/testing/continuationtestcase_test.html +0 -349
  1117. data/closure-library/closure/goog/testing/deferredtestcase.js +0 -157
  1118. data/closure-library/closure/goog/testing/deferredtestcase_test.html +0 -152
  1119. data/closure-library/closure/goog/testing/dom.js +0 -596
  1120. data/closure-library/closure/goog/testing/dom_test.html +0 -438
  1121. data/closure-library/closure/goog/testing/editor/dom.js +0 -293
  1122. data/closure-library/closure/goog/testing/editor/dom_test.html +0 -295
  1123. data/closure-library/closure/goog/testing/editor/fieldmock.js +0 -90
  1124. data/closure-library/closure/goog/testing/editor/testhelper.js +0 -168
  1125. data/closure-library/closure/goog/testing/editor/testhelper_test.html +0 -176
  1126. data/closure-library/closure/goog/testing/events/eventobserver.js +0 -85
  1127. data/closure-library/closure/goog/testing/events/eventobserver_test.html +0 -70
  1128. data/closure-library/closure/goog/testing/events/events.js +0 -540
  1129. data/closure-library/closure/goog/testing/events/events_test.html +0 -434
  1130. data/closure-library/closure/goog/testing/events/matchers.js +0 -41
  1131. data/closure-library/closure/goog/testing/events/matchers_test.html +0 -40
  1132. data/closure-library/closure/goog/testing/expectedfailures.js +0 -236
  1133. data/closure-library/closure/goog/testing/expectedfailures_test.html +0 -122
  1134. data/closure-library/closure/goog/testing/fs/blob.js +0 -74
  1135. data/closure-library/closure/goog/testing/fs/blob_test.html +0 -53
  1136. data/closure-library/closure/goog/testing/fs/directoryentry_test.html +0 -185
  1137. data/closure-library/closure/goog/testing/fs/entry.js +0 -511
  1138. data/closure-library/closure/goog/testing/fs/entry_test.html +0 -153
  1139. data/closure-library/closure/goog/testing/fs/file.js +0 -51
  1140. data/closure-library/closure/goog/testing/fs/fileentry_test.html +0 -54
  1141. data/closure-library/closure/goog/testing/fs/filesystem.js +0 -64
  1142. data/closure-library/closure/goog/testing/fs/filewriter.js +0 -314
  1143. data/closure-library/closure/goog/testing/fs/filewriter_test.html +0 -248
  1144. data/closure-library/closure/goog/testing/fs/fs.js +0 -146
  1145. data/closure-library/closure/goog/testing/fs/fs_test.html +0 -54
  1146. data/closure-library/closure/goog/testing/fs/integration_test.html +0 -219
  1147. data/closure-library/closure/goog/testing/functionmock.js +0 -157
  1148. data/closure-library/closure/goog/testing/functionmock_test.html +0 -357
  1149. data/closure-library/closure/goog/testing/graphics.js +0 -64
  1150. data/closure-library/closure/goog/testing/jsunit.js +0 -144
  1151. data/closure-library/closure/goog/testing/loosemock.js +0 -240
  1152. data/closure-library/closure/goog/testing/loosemock_test.html +0 -343
  1153. data/closure-library/closure/goog/testing/messaging/mockmessagechannel.js +0 -77
  1154. data/closure-library/closure/goog/testing/messaging/mockmessageevent.js +0 -100
  1155. data/closure-library/closure/goog/testing/messaging/mockmessageport.js +0 -85
  1156. data/closure-library/closure/goog/testing/messaging/mockportnetwork.js +0 -64
  1157. data/closure-library/closure/goog/testing/mock.js +0 -556
  1158. data/closure-library/closure/goog/testing/mock_test.html +0 -208
  1159. data/closure-library/closure/goog/testing/mockclassfactory.js +0 -580
  1160. data/closure-library/closure/goog/testing/mockclassfactory_test.html +0 -241
  1161. data/closure-library/closure/goog/testing/mockclock.js +0 -395
  1162. data/closure-library/closure/goog/testing/mockclock_test.html +0 -413
  1163. data/closure-library/closure/goog/testing/mockcontrol.js +0 -210
  1164. data/closure-library/closure/goog/testing/mockcontrol_test.html +0 -127
  1165. data/closure-library/closure/goog/testing/mockinterface.js +0 -45
  1166. data/closure-library/closure/goog/testing/mockmatchers.js +0 -395
  1167. data/closure-library/closure/goog/testing/mockmatchers_test.html +0 -388
  1168. data/closure-library/closure/goog/testing/mockrandom.js +0 -128
  1169. data/closure-library/closure/goog/testing/mockrandom_test.html +0 -56
  1170. data/closure-library/closure/goog/testing/mockrange.js +0 -65
  1171. data/closure-library/closure/goog/testing/mockrange_test.html +0 -41
  1172. data/closure-library/closure/goog/testing/mockuseragent.js +0 -143
  1173. data/closure-library/closure/goog/testing/mockuseragent_test.html +0 -59
  1174. data/closure-library/closure/goog/testing/multitestrunner.js +0 -1442
  1175. data/closure-library/closure/goog/testing/net/xhrio.js +0 -595
  1176. data/closure-library/closure/goog/testing/net/xhrio_test.html +0 -321
  1177. data/closure-library/closure/goog/testing/objectpropertystring.js +0 -67
  1178. data/closure-library/closure/goog/testing/performancetable.css +0 -46
  1179. data/closure-library/closure/goog/testing/performancetable.js +0 -162
  1180. data/closure-library/closure/goog/testing/performancetimer.js +0 -166
  1181. data/closure-library/closure/goog/testing/performancetimer_test.html +0 -107
  1182. data/closure-library/closure/goog/testing/propertyreplacer.js +0 -243
  1183. data/closure-library/closure/goog/testing/propertyreplacer_test.html +0 -368
  1184. data/closure-library/closure/goog/testing/pseudorandom.js +0 -162
  1185. data/closure-library/closure/goog/testing/pseudorandom_test.html +0 -98
  1186. data/closure-library/closure/goog/testing/recordfunction.js +0 -194
  1187. data/closure-library/closure/goog/testing/recordfunction_test.html +0 -147
  1188. data/closure-library/closure/goog/testing/singleton.js +0 -82
  1189. data/closure-library/closure/goog/testing/singleton_test.html +0 -39
  1190. data/closure-library/closure/goog/testing/stacktrace.js +0 -470
  1191. data/closure-library/closure/goog/testing/stacktrace_test.html +0 -229
  1192. data/closure-library/closure/goog/testing/strictmock.js +0 -124
  1193. data/closure-library/closure/goog/testing/strictmock_test.html +0 -368
  1194. data/closure-library/closure/goog/testing/style/layoutasserts.js +0 -368
  1195. data/closure-library/closure/goog/testing/style/layoutasserts_test.html +0 -269
  1196. data/closure-library/closure/goog/testing/testcase.js +0 -1053
  1197. data/closure-library/closure/goog/testing/testqueue.js +0 -66
  1198. data/closure-library/closure/goog/testing/testrunner.js +0 -391
  1199. data/closure-library/closure/goog/testing/ui/rendererasserts.js +0 -50
  1200. data/closure-library/closure/goog/testing/ui/rendererasserts_test.html +0 -51
  1201. data/closure-library/closure/goog/testing/ui/rendererharness.js +0 -175
  1202. data/closure-library/closure/goog/testing/ui/style.js +0 -137
  1203. data/closure-library/closure/goog/testing/ui/style_reference.html +0 -27
  1204. data/closure-library/closure/goog/testing/ui/style_test.html +0 -130
  1205. data/closure-library/closure/goog/timer/timer.js +0 -285
  1206. data/closure-library/closure/goog/timer/timer_test.html +0 -118
  1207. data/closure-library/closure/goog/tweak/entries.js +0 -990
  1208. data/closure-library/closure/goog/tweak/entries_test.html +0 -94
  1209. data/closure-library/closure/goog/tweak/registry.js +0 -310
  1210. data/closure-library/closure/goog/tweak/registry_test.html +0 -144
  1211. data/closure-library/closure/goog/tweak/testhelpers.js +0 -111
  1212. data/closure-library/closure/goog/tweak/tweak.js +0 -318
  1213. data/closure-library/closure/goog/tweak/tweakui.js +0 -817
  1214. data/closure-library/closure/goog/tweak/tweakui_test.html +0 -280
  1215. data/closure-library/closure/goog/ui/abstractspellchecker.js +0 -1069
  1216. data/closure-library/closure/goog/ui/activitymonitor.js +0 -286
  1217. data/closure-library/closure/goog/ui/activitymonitor_test.html +0 -44
  1218. data/closure-library/closure/goog/ui/advancedtooltip.js +0 -368
  1219. data/closure-library/closure/goog/ui/advancedtooltip_test.html +0 -274
  1220. data/closure-library/closure/goog/ui/animatedzippy.js +0 -190
  1221. data/closure-library/closure/goog/ui/attachablemenu.js +0 -464
  1222. data/closure-library/closure/goog/ui/autocomplete/arraymatcher.js +0 -156
  1223. data/closure-library/closure/goog/ui/autocomplete/arraymatcher_test.html +0 -130
  1224. data/closure-library/closure/goog/ui/autocomplete/autocomplete.js +0 -627
  1225. data/closure-library/closure/goog/ui/autocomplete/autocomplete_test.html +0 -537
  1226. data/closure-library/closure/goog/ui/autocomplete/basic.js +0 -53
  1227. data/closure-library/closure/goog/ui/autocomplete/basic_test.html +0 -204
  1228. data/closure-library/closure/goog/ui/autocomplete/inputhandler.js +0 -1209
  1229. data/closure-library/closure/goog/ui/autocomplete/inputhandler_test.html +0 -555
  1230. data/closure-library/closure/goog/ui/autocomplete/remote.js +0 -117
  1231. data/closure-library/closure/goog/ui/autocomplete/remotearraymatcher.js +0 -273
  1232. data/closure-library/closure/goog/ui/autocomplete/remotearraymatcher_test.html +0 -73
  1233. data/closure-library/closure/goog/ui/autocomplete/renderer.js +0 -852
  1234. data/closure-library/closure/goog/ui/autocomplete/renderer_test.html +0 -386
  1235. data/closure-library/closure/goog/ui/autocomplete/richinputhandler.js +0 -59
  1236. data/closure-library/closure/goog/ui/autocomplete/richremote.js +0 -108
  1237. data/closure-library/closure/goog/ui/autocomplete/richremotearraymatcher.js +0 -126
  1238. data/closure-library/closure/goog/ui/basicmenu.js +0 -930
  1239. data/closure-library/closure/goog/ui/bidiinput.js +0 -164
  1240. data/closure-library/closure/goog/ui/bubble.js +0 -475
  1241. data/closure-library/closure/goog/ui/button.js +0 -208
  1242. data/closure-library/closure/goog/ui/button_test.html +0 -257
  1243. data/closure-library/closure/goog/ui/buttonrenderer.js +0 -205
  1244. data/closure-library/closure/goog/ui/buttonrenderer_test.html +0 -190
  1245. data/closure-library/closure/goog/ui/buttonside.js +0 -40
  1246. data/closure-library/closure/goog/ui/cccbutton.js +0 -281
  1247. data/closure-library/closure/goog/ui/charcounter.js +0 -200
  1248. data/closure-library/closure/goog/ui/charpicker.js +0 -807
  1249. data/closure-library/closure/goog/ui/checkbox.js +0 -303
  1250. data/closure-library/closure/goog/ui/checkbox_test.html +0 -224
  1251. data/closure-library/closure/goog/ui/checkboxmenuitem.js +0 -53
  1252. data/closure-library/closure/goog/ui/colorbutton.js +0 -58
  1253. data/closure-library/closure/goog/ui/colorbutton_test.html +0 -70
  1254. data/closure-library/closure/goog/ui/colorbuttonrenderer.js +0 -72
  1255. data/closure-library/closure/goog/ui/colormenubutton.js +0 -213
  1256. data/closure-library/closure/goog/ui/colormenubuttonrenderer.js +0 -144
  1257. data/closure-library/closure/goog/ui/colormenubuttonrenderer_test.html +0 -88
  1258. data/closure-library/closure/goog/ui/colorpalette.js +0 -162
  1259. data/closure-library/closure/goog/ui/colorpalette_test.html +0 -169
  1260. data/closure-library/closure/goog/ui/colorpicker.js +0 -344
  1261. data/closure-library/closure/goog/ui/colorsplitbehavior.js +0 -61
  1262. data/closure-library/closure/goog/ui/combobox.js +0 -894
  1263. data/closure-library/closure/goog/ui/combobox_test.html +0 -208
  1264. data/closure-library/closure/goog/ui/component.js +0 -1187
  1265. data/closure-library/closure/goog/ui/component_test.html +0 -723
  1266. data/closure-library/closure/goog/ui/container.js +0 -1296
  1267. data/closure-library/closure/goog/ui/container_test.html +0 -450
  1268. data/closure-library/closure/goog/ui/containerrenderer.js +0 -370
  1269. data/closure-library/closure/goog/ui/containerrenderer_test.html +0 -227
  1270. data/closure-library/closure/goog/ui/containerscroller.js +0 -221
  1271. data/closure-library/closure/goog/ui/containerscroller_test.html +0 -213
  1272. data/closure-library/closure/goog/ui/control.js +0 -1348
  1273. data/closure-library/closure/goog/ui/control_test.html +0 -2128
  1274. data/closure-library/closure/goog/ui/controlcontent.js +0 -28
  1275. data/closure-library/closure/goog/ui/controlrenderer.js +0 -808
  1276. data/closure-library/closure/goog/ui/controlrenderer_test.html +0 -840
  1277. data/closure-library/closure/goog/ui/cookieeditor.js +0 -182
  1278. data/closure-library/closure/goog/ui/cookieeditor_test.html +0 -102
  1279. data/closure-library/closure/goog/ui/css3buttonrenderer.js +0 -147
  1280. data/closure-library/closure/goog/ui/css3menubuttonrenderer.js +0 -144
  1281. data/closure-library/closure/goog/ui/cssnames.js +0 -28
  1282. data/closure-library/closure/goog/ui/custombutton.js +0 -58
  1283. data/closure-library/closure/goog/ui/custombuttonrenderer.js +0 -254
  1284. data/closure-library/closure/goog/ui/customcolorpalette.js +0 -137
  1285. data/closure-library/closure/goog/ui/customcolorpalette_test.html +0 -60
  1286. data/closure-library/closure/goog/ui/datepicker.js +0 -1339
  1287. data/closure-library/closure/goog/ui/datepicker_test.html +0 -190
  1288. data/closure-library/closure/goog/ui/decorate.js +0 -37
  1289. data/closure-library/closure/goog/ui/decorate_test.html +0 -113
  1290. data/closure-library/closure/goog/ui/deprecatedbutton.js +0 -381
  1291. data/closure-library/closure/goog/ui/dialog.js +0 -1776
  1292. data/closure-library/closure/goog/ui/dialog_test.html +0 -493
  1293. data/closure-library/closure/goog/ui/dimensionpicker.js +0 -289
  1294. data/closure-library/closure/goog/ui/dimensionpicker_test.html +0 -128
  1295. data/closure-library/closure/goog/ui/dimensionpickerrenderer.js +0 -387
  1296. data/closure-library/closure/goog/ui/dragdropdetector.js +0 -642
  1297. data/closure-library/closure/goog/ui/drilldownrow.js +0 -494
  1298. data/closure-library/closure/goog/ui/editor/abstractdialog.js +0 -443
  1299. data/closure-library/closure/goog/ui/editor/abstractdialog_test.html +0 -467
  1300. data/closure-library/closure/goog/ui/editor/bubble.js +0 -520
  1301. data/closure-library/closure/goog/ui/editor/bubble_test.html +0 -264
  1302. data/closure-library/closure/goog/ui/editor/defaulttoolbar.js +0 -1062
  1303. data/closure-library/closure/goog/ui/editor/linkdialog.js +0 -833
  1304. data/closure-library/closure/goog/ui/editor/linkdialog_test.html +0 -449
  1305. data/closure-library/closure/goog/ui/editor/messages.js +0 -115
  1306. data/closure-library/closure/goog/ui/editor/tabpane.js +0 -183
  1307. data/closure-library/closure/goog/ui/editor/toolbarcontroller.js +0 -293
  1308. data/closure-library/closure/goog/ui/editor/toolbarfactory.js +0 -437
  1309. data/closure-library/closure/goog/ui/editor/toolbarfactory_test.html +0 -73
  1310. data/closure-library/closure/goog/ui/emoji/emoji.js +0 -72
  1311. data/closure-library/closure/goog/ui/emoji/emojipalette.js +0 -298
  1312. data/closure-library/closure/goog/ui/emoji/emojipaletterenderer.js +0 -206
  1313. data/closure-library/closure/goog/ui/emoji/emojipicker.js +0 -797
  1314. data/closure-library/closure/goog/ui/emoji/emojipicker_test.html +0 -840
  1315. data/closure-library/closure/goog/ui/emoji/fast_nonprogressive_emojipicker_test.html +0 -256
  1316. data/closure-library/closure/goog/ui/emoji/fast_progressive_emojipicker_test.html +0 -256
  1317. data/closure-library/closure/goog/ui/emoji/popupemojipicker.js +0 -410
  1318. data/closure-library/closure/goog/ui/emoji/popupemojipicker_test.html +0 -80
  1319. data/closure-library/closure/goog/ui/emoji/progressiveemojipaletterenderer.js +0 -97
  1320. data/closure-library/closure/goog/ui/emoji/spriteinfo.js +0 -212
  1321. data/closure-library/closure/goog/ui/emoji/spriteinfo_test.html +0 -51
  1322. data/closure-library/closure/goog/ui/filteredmenu.js +0 -562
  1323. data/closure-library/closure/goog/ui/filteredmenu_test.html +0 -299
  1324. data/closure-library/closure/goog/ui/filterobservingmenuitem.js +0 -97
  1325. data/closure-library/closure/goog/ui/filterobservingmenuitemrenderer.js +0 -60
  1326. data/closure-library/closure/goog/ui/flatbuttonrenderer.js +0 -138
  1327. data/closure-library/closure/goog/ui/flatmenubuttonrenderer.js +0 -199
  1328. data/closure-library/closure/goog/ui/formpost.js +0 -109
  1329. data/closure-library/closure/goog/ui/formpost_test.html +0 -109
  1330. data/closure-library/closure/goog/ui/gauge.js +0 -999
  1331. data/closure-library/closure/goog/ui/gaugetheme.js +0 -169
  1332. data/closure-library/closure/goog/ui/hovercard.js +0 -447
  1333. data/closure-library/closure/goog/ui/hovercard_test.html +0 -343
  1334. data/closure-library/closure/goog/ui/hsvapalette.js +0 -311
  1335. data/closure-library/closure/goog/ui/hsvapalette_test.html +0 -152
  1336. data/closure-library/closure/goog/ui/hsvpalette.js +0 -470
  1337. data/closure-library/closure/goog/ui/hsvpalette_test.html +0 -202
  1338. data/closure-library/closure/goog/ui/idgenerator.js +0 -57
  1339. data/closure-library/closure/goog/ui/idletimer.js +0 -299
  1340. data/closure-library/closure/goog/ui/idletimer_test.html +0 -100
  1341. data/closure-library/closure/goog/ui/iframemask.js +0 -256
  1342. data/closure-library/closure/goog/ui/iframemask_test.html +0 -230
  1343. data/closure-library/closure/goog/ui/imagelessbuttonrenderer.js +0 -204
  1344. data/closure-library/closure/goog/ui/imagelessmenubuttonrenderer.js +0 -202
  1345. data/closure-library/closure/goog/ui/imagelessroundedcorner.js +0 -971
  1346. data/closure-library/closure/goog/ui/inputdatepicker.js +0 -306
  1347. data/closure-library/closure/goog/ui/inputdatepicker_test.html +0 -109
  1348. data/closure-library/closure/goog/ui/itemevent.js +0 -50
  1349. data/closure-library/closure/goog/ui/keyboardshortcuthandler.js +0 -981
  1350. data/closure-library/closure/goog/ui/keyboardshortcuthandler_test.html +0 -671
  1351. data/closure-library/closure/goog/ui/labelinput.js +0 -439
  1352. data/closure-library/closure/goog/ui/linkbuttonrenderer.js +0 -67
  1353. data/closure-library/closure/goog/ui/media/flashobject.js +0 -629
  1354. data/closure-library/closure/goog/ui/media/flashobject_test.html +0 -236
  1355. data/closure-library/closure/goog/ui/media/flickr.js +0 -309
  1356. data/closure-library/closure/goog/ui/media/flickr_test.html +0 -90
  1357. data/closure-library/closure/goog/ui/media/media.js +0 -284
  1358. data/closure-library/closure/goog/ui/media/media_test.html +0 -161
  1359. data/closure-library/closure/goog/ui/media/mediamodel.js +0 -840
  1360. data/closure-library/closure/goog/ui/media/mp3.js +0 -225
  1361. data/closure-library/closure/goog/ui/media/mp3_test.html +0 -78
  1362. data/closure-library/closure/goog/ui/media/photo.js +0 -139
  1363. data/closure-library/closure/goog/ui/media/photo_test.html +0 -62
  1364. data/closure-library/closure/goog/ui/media/picasa.js +0 -317
  1365. data/closure-library/closure/goog/ui/media/picasa_test.html +0 -131
  1366. data/closure-library/closure/goog/ui/media/vimeo.js +0 -264
  1367. data/closure-library/closure/goog/ui/media/vimeo_test.html +0 -79
  1368. data/closure-library/closure/goog/ui/media/youtube.js +0 -328
  1369. data/closure-library/closure/goog/ui/media/youtube_test.html +0 -185
  1370. data/closure-library/closure/goog/ui/menu.js +0 -435
  1371. data/closure-library/closure/goog/ui/menu_test.html +0 -129
  1372. data/closure-library/closure/goog/ui/menubase.js +0 -191
  1373. data/closure-library/closure/goog/ui/menubutton.js +0 -815
  1374. data/closure-library/closure/goog/ui/menubutton_test.html +0 -440
  1375. data/closure-library/closure/goog/ui/menubutton_test_frame.html +0 -41
  1376. data/closure-library/closure/goog/ui/menubuttonrenderer.js +0 -226
  1377. data/closure-library/closure/goog/ui/menubuttonrenderer_test.html +0 -161
  1378. data/closure-library/closure/goog/ui/menuheader.js +0 -62
  1379. data/closure-library/closure/goog/ui/menuheaderrenderer.js +0 -55
  1380. data/closure-library/closure/goog/ui/menuitem.js +0 -154
  1381. data/closure-library/closure/goog/ui/menuitem_test.html +0 -506
  1382. data/closure-library/closure/goog/ui/menuitemrenderer.js +0 -353
  1383. data/closure-library/closure/goog/ui/menuitemrenderer_test.html +0 -190
  1384. data/closure-library/closure/goog/ui/menurenderer.js +0 -118
  1385. data/closure-library/closure/goog/ui/menuseparator.js +0 -51
  1386. data/closure-library/closure/goog/ui/menuseparatorrenderer.js +0 -102
  1387. data/closure-library/closure/goog/ui/mockactivitymonitor.js +0 -54
  1388. data/closure-library/closure/goog/ui/nativebuttonrenderer.js +0 -205
  1389. data/closure-library/closure/goog/ui/nativebuttonrenderer_test.html +0 -213
  1390. data/closure-library/closure/goog/ui/offlineinstalldialog.js +0 -1086
  1391. data/closure-library/closure/goog/ui/offlinestatuscard.js +0 -580
  1392. data/closure-library/closure/goog/ui/offlinestatuscomponent.js +0 -545
  1393. data/closure-library/closure/goog/ui/option.js +0 -67
  1394. data/closure-library/closure/goog/ui/palette.js +0 -528
  1395. data/closure-library/closure/goog/ui/paletterenderer.js +0 -318
  1396. data/closure-library/closure/goog/ui/plaintextspellchecker.js +0 -668
  1397. data/closure-library/closure/goog/ui/plaintextspellchecker_test.html +0 -240
  1398. data/closure-library/closure/goog/ui/popup.js +0 -410
  1399. data/closure-library/closure/goog/ui/popup_test.html +0 -137
  1400. data/closure-library/closure/goog/ui/popupbase.js +0 -721
  1401. data/closure-library/closure/goog/ui/popupbase_test.html +0 -186
  1402. data/closure-library/closure/goog/ui/popupcolorpicker.js +0 -441
  1403. data/closure-library/closure/goog/ui/popupcolorpicker_test.html +0 -71
  1404. data/closure-library/closure/goog/ui/popupdatepicker.js +0 -273
  1405. data/closure-library/closure/goog/ui/popupmenu.js +0 -539
  1406. data/closure-library/closure/goog/ui/popupmenu_test.html +0 -197
  1407. data/closure-library/closure/goog/ui/progressbar.js +0 -390
  1408. data/closure-library/closure/goog/ui/prompt.js +0 -307
  1409. data/closure-library/closure/goog/ui/prompt_test.html +0 -65
  1410. data/closure-library/closure/goog/ui/rangemodel.js +0 -301
  1411. data/closure-library/closure/goog/ui/rangemodel_test.html +0 -270
  1412. data/closure-library/closure/goog/ui/ratings.js +0 -441
  1413. data/closure-library/closure/goog/ui/registry.js +0 -166
  1414. data/closure-library/closure/goog/ui/registry_test.html +0 -236
  1415. data/closure-library/closure/goog/ui/richtextspellchecker.js +0 -600
  1416. data/closure-library/closure/goog/ui/richtextspellchecker_test.html +0 -224
  1417. data/closure-library/closure/goog/ui/roundedcorners.js +0 -694
  1418. data/closure-library/closure/goog/ui/roundedpanel.js +0 -609
  1419. data/closure-library/closure/goog/ui/roundedpanel_test.html +0 -57
  1420. data/closure-library/closure/goog/ui/roundedtabrenderer.js +0 -196
  1421. data/closure-library/closure/goog/ui/scrollfloater.js +0 -394
  1422. data/closure-library/closure/goog/ui/scrollfloater_test.html +0 -46
  1423. data/closure-library/closure/goog/ui/select.js +0 -397
  1424. data/closure-library/closure/goog/ui/select_test.html +0 -152
  1425. data/closure-library/closure/goog/ui/selectionmenubutton.js +0 -277
  1426. data/closure-library/closure/goog/ui/selectionmenubutton_test.html +0 -237
  1427. data/closure-library/closure/goog/ui/selectionmodel.js +0 -291
  1428. data/closure-library/closure/goog/ui/separator.js +0 -74
  1429. data/closure-library/closure/goog/ui/serverchart.js +0 -1791
  1430. data/closure-library/closure/goog/ui/serverchart_test.html +0 -598
  1431. data/closure-library/closure/goog/ui/slider.js +0 -125
  1432. data/closure-library/closure/goog/ui/sliderbase.js +0 -1087
  1433. data/closure-library/closure/goog/ui/sliderbase_test.html +0 -198
  1434. data/closure-library/closure/goog/ui/splitbehavior.js +0 -348
  1435. data/closure-library/closure/goog/ui/splitbehavior_test.html +0 -161
  1436. data/closure-library/closure/goog/ui/splitpane.js +0 -844
  1437. data/closure-library/closure/goog/ui/splitpane_test.html +0 -143
  1438. data/closure-library/closure/goog/ui/style/app/buttonrenderer.js +0 -204
  1439. data/closure-library/closure/goog/ui/style/app/buttonrenderer_test.html +0 -155
  1440. data/closure-library/closure/goog/ui/style/app/menubuttonrenderer.js +0 -227
  1441. data/closure-library/closure/goog/ui/style/app/menubuttonrenderer_test.html +0 -167
  1442. data/closure-library/closure/goog/ui/style/app/primaryactionbuttonrenderer.js +0 -88
  1443. data/closure-library/closure/goog/ui/style/app/primaryactionbuttonrenderer_test.html +0 -76
  1444. data/closure-library/closure/goog/ui/submenu.js +0 -660
  1445. data/closure-library/closure/goog/ui/submenu_test.html +0 -446
  1446. data/closure-library/closure/goog/ui/submenurenderer.js +0 -188
  1447. data/closure-library/closure/goog/ui/tab.js +0 -102
  1448. data/closure-library/closure/goog/ui/tab_test.html +0 -61
  1449. data/closure-library/closure/goog/ui/tabbar.js +0 -393
  1450. data/closure-library/closure/goog/ui/tabbar_test.html +0 -611
  1451. data/closure-library/closure/goog/ui/tabbarrenderer.js +0 -173
  1452. data/closure-library/closure/goog/ui/tabbarrenderer_test.html +0 -137
  1453. data/closure-library/closure/goog/ui/tablesorter.js +0 -304
  1454. data/closure-library/closure/goog/ui/tablesorter_test.html +0 -127
  1455. data/closure-library/closure/goog/ui/tabpane.js +0 -674
  1456. data/closure-library/closure/goog/ui/tabpane_test.html +0 -107
  1457. data/closure-library/closure/goog/ui/tabrenderer.js +0 -152
  1458. data/closure-library/closure/goog/ui/tabrenderer_test.html +0 -132
  1459. data/closure-library/closure/goog/ui/textarea.js +0 -573
  1460. data/closure-library/closure/goog/ui/textarea_test.html +0 -305
  1461. data/closure-library/closure/goog/ui/textarearenderer.js +0 -167
  1462. data/closure-library/closure/goog/ui/togglebutton.js +0 -58
  1463. data/closure-library/closure/goog/ui/toolbar.js +0 -45
  1464. data/closure-library/closure/goog/ui/toolbarbutton.js +0 -54
  1465. data/closure-library/closure/goog/ui/toolbarbuttonrenderer.js +0 -55
  1466. data/closure-library/closure/goog/ui/toolbarcolormenubutton.js +0 -57
  1467. data/closure-library/closure/goog/ui/toolbarcolormenubuttonrenderer.js +0 -95
  1468. data/closure-library/closure/goog/ui/toolbarcolormenubuttonrenderer_test.html +0 -66
  1469. data/closure-library/closure/goog/ui/toolbarmenubutton.js +0 -56
  1470. data/closure-library/closure/goog/ui/toolbarmenubuttonrenderer.js +0 -55
  1471. data/closure-library/closure/goog/ui/toolbarrenderer.js +0 -95
  1472. data/closure-library/closure/goog/ui/toolbarselect.js +0 -55
  1473. data/closure-library/closure/goog/ui/toolbarseparator.js +0 -51
  1474. data/closure-library/closure/goog/ui/toolbarseparatorrenderer.js +0 -87
  1475. data/closure-library/closure/goog/ui/toolbartogglebutton.js +0 -53
  1476. data/closure-library/closure/goog/ui/tooltip.js +0 -975
  1477. data/closure-library/closure/goog/ui/tooltip_test.html +0 -351
  1478. data/closure-library/closure/goog/ui/tree/basenode.js +0 -1457
  1479. data/closure-library/closure/goog/ui/tree/basenode_test.html +0 -218
  1480. data/closure-library/closure/goog/ui/tree/treecontrol.js +0 -656
  1481. data/closure-library/closure/goog/ui/tree/treecontrol_test.html +0 -113
  1482. data/closure-library/closure/goog/ui/tree/treenode.js +0 -102
  1483. data/closure-library/closure/goog/ui/tree/typeahead.js +0 -332
  1484. data/closure-library/closure/goog/ui/tree/typeahead_test.html +0 -133
  1485. data/closure-library/closure/goog/ui/tristatemenuitem.js +0 -185
  1486. data/closure-library/closure/goog/ui/tristatemenuitemrenderer.js +0 -86
  1487. data/closure-library/closure/goog/ui/twothumbslider.js +0 -134
  1488. data/closure-library/closure/goog/ui/zippy.js +0 -277
  1489. data/closure-library/closure/goog/ui/zippy_test.html +0 -223
  1490. data/closure-library/closure/goog/uri/uri.js +0 -1595
  1491. data/closure-library/closure/goog/uri/uri_test.html +0 -837
  1492. data/closure-library/closure/goog/uri/utils.js +0 -972
  1493. data/closure-library/closure/goog/uri/utils_test.html +0 -521
  1494. data/closure-library/closure/goog/useragent/adobereader.js +0 -90
  1495. data/closure-library/closure/goog/useragent/adobereader_test.html +0 -34
  1496. data/closure-library/closure/goog/useragent/flash.js +0 -113
  1497. data/closure-library/closure/goog/useragent/flash_test.html +0 -34
  1498. data/closure-library/closure/goog/useragent/iphoto.js +0 -86
  1499. data/closure-library/closure/goog/useragent/jscript.js +0 -94
  1500. data/closure-library/closure/goog/useragent/jscript_test.html +0 -65
  1501. data/closure-library/closure/goog/useragent/picasa.js +0 -111
  1502. data/closure-library/closure/goog/useragent/platform.js +0 -70
  1503. data/closure-library/closure/goog/useragent/platform_test.html +0 -108
  1504. data/closure-library/closure/goog/useragent/product.js +0 -253
  1505. data/closure-library/closure/goog/useragent/product_isversion.js +0 -99
  1506. data/closure-library/closure/goog/useragent/product_test.html +0 -322
  1507. data/closure-library/closure/goog/useragent/useragent.js +0 -464
  1508. data/closure-library/closure/goog/useragent/useragent_test.html +0 -290
  1509. data/closure-library/closure/goog/window/window.js +0 -206
  1510. data/closure-library/closure/goog/window/window_test.html +0 -185
  1511. data/closure-library/third_party/closure/goog/base.js +0 -2
  1512. data/closure-library/third_party/closure/goog/caja/string/html/htmlparser.js +0 -611
  1513. data/closure-library/third_party/closure/goog/caja/string/html/htmlsanitizer.js +0 -605
  1514. data/closure-library/third_party/closure/goog/deps.js +0 -26
  1515. data/closure-library/third_party/closure/goog/dojo/dom/query.js +0 -1537
  1516. data/closure-library/third_party/closure/goog/dojo/dom/query_test.html +0 -63
  1517. data/closure-library/third_party/closure/goog/dojo/dom/query_test.js +0 -160
  1518. data/closure-library/third_party/closure/goog/jpeg_encoder/jpeg_encoder_basic.js +0 -751
  1519. data/closure-library/third_party/closure/goog/loremipsum/text/loremipsum.js +0 -712
  1520. data/closure-library/third_party/closure/goog/loremipsum/text/loremipsum_test.html +0 -61
  1521. data/closure-library/third_party/closure/goog/mochikit/async/deferred.js +0 -530
  1522. data/closure-library/third_party/closure/goog/mochikit/async/deferred_test.html +0 -627
  1523. data/closure-library/third_party/closure/goog/mochikit/async/deferredlist.js +0 -199
  1524. data/closure-library/third_party/closure/goog/mochikit/async/deferredlist_test.html +0 -426
  1525. data/closure-library/third_party/closure/goog/osapi/osapi.js +0 -91
  1526. data/closure-library/third_party/closure/goog/silverlight/AppManifest.xml +0 -6
  1527. data/closure-library/third_party/closure/goog/silverlight/AssemblyInfo.cs +0 -35
  1528. data/closure-library/third_party/closure/goog/silverlight/ClipboardButton.xaml +0 -9
  1529. data/closure-library/third_party/closure/goog/silverlight/ClipboardButton.xaml.cs +0 -74
  1530. data/closure-library/third_party/closure/goog/silverlight/ClipboardButtonApp.xaml +0 -8
  1531. data/closure-library/third_party/closure/goog/silverlight/ClipboardButtonApp.xaml.cs +0 -75
  1532. data/closure-library/third_party/closure/goog/silverlight/ClosureClipboardButton.csproj +0 -108
  1533. data/closure-library/third_party/closure/goog/silverlight/ClosureClipboardButton.csproj.user +0 -29
  1534. data/closure-library/third_party/closure/goog/silverlight/clipboardbutton.js +0 -279
  1535. data/closure-library/third_party/closure/goog/silverlight/silverlight.js +0 -758
  1536. data/closure-library/third_party/closure/goog/silverlight/supporteduseragent.js +0 -138
  1537. data/closure-library/third_party/closure/goog/silverlight/xap_files +0 -0
  1538. data/closure.gemspec +0 -19
  1539. data/config.ru +0 -40
  1540. data/java_src/ClosureScript.java +0 -89
  1541. data/java_src/make.rb +0 -19
  1542. data/lib/closure/sass.rb +0 -56
  1543. data/lib/closure.jar +0 -0
  1544. data/scripts/demos/compiler.build +0 -1
  1545. data/scripts/demos/compiler.debug +0 -24
  1546. data/scripts/demos/compiler.js.erb +0 -22
  1547. data/scripts/demos/compiler.map +0 -114
  1548. data/scripts/demos/deps.js.erb +0 -1
  1549. data/scripts/demos/googly.erb +0 -19
  1550. data/scripts/demos/googly.js +0 -24
  1551. data/scripts/demos/helloworld.erb +0 -24
  1552. data/scripts/demos/helloworld.js +0 -58
  1553. data/scripts/demos/helloworld.soy +0 -45
  1554. data/scripts/demos/index.erb +0 -29
  1555. data/scripts/externs/jquery.externs +0 -4
  1556. data/scripts/fixtures/_partial.haml +0 -2
  1557. data/scripts/fixtures/erb.html.erb +0 -8
  1558. data/scripts/fixtures/haml.haml +0 -6
  1559. data/scripts/fixtures/html.html +0 -9
  1560. data/scripts/fixtures/route_js.js.erb +0 -1
  1561. data/test/beanshell_test.rb +0 -22
  1562. data/test/server_test.rb +0 -67
  1563. data/test/sources_test.rb +0 -41
  1564. data/test/test_helper.rb +0 -12
  1565. /data/{scripts/externs → externs}/jquery-ui.externs +0 -0
  1566. /data/scripts/{demos/jquery.js → jquery/jquery_1.4.4.js} +0 -0
@@ -1,2073 +0,0 @@
1
- <!DOCTYPE html>
2
- <!--
3
-
4
- When changing this, make sure that style_quirks_test.html is kept in sync.
5
-
6
- -->
7
- <html>
8
- <!--
9
- Copyright 2006 The Closure Library Authors. All Rights Reserved.
10
-
11
- Use of this source code is governed by the Apache License, Version 2.0.
12
- See the COPYING file for details.
13
- -->
14
- <head>
15
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
16
- <title>Closure Unit Tests - goog.dom.style</title>
17
- <script src="../base.js"></script>
18
- <script>
19
-
20
- goog.require('goog.color');
21
- goog.require('goog.dom');
22
- goog.require('goog.events.BrowserEvent');
23
- goog.require('goog.math.Coordinate');
24
- goog.require('goog.math.Size');
25
- goog.require('goog.style');
26
- goog.require('goog.testing.jsunit');
27
- goog.require('goog.userAgent');
28
-
29
- </script>
30
- <script>
31
- // IE before version 6 will always be border box
32
- var isBorderBox = goog.userAgent.IE && !goog.userAgent.isVersion('6');
33
- </script>
34
- <style>
35
-
36
- i {
37
- font-family: Times, sans-serif;
38
- font-size: 5em;
39
- }
40
-
41
- #testEl5 {
42
- display: none;
43
- }
44
-
45
- #styleTest1 {
46
- width: 120px;
47
- text-decoration: underline;
48
- }
49
-
50
- #bgcolorTest0 {
51
- background-color: #f00;
52
- }
53
-
54
- #bgcolorTest1 {
55
- background-color: #ff0000;
56
- }
57
-
58
- #bgcolorTest2 {
59
- background-color: rgb(255, 0, 0);
60
- }
61
-
62
- #bgcolorTest3 {
63
- background-color: rgb(100%, 0%, 0%);
64
- }
65
-
66
- #bgcolorTest5 {
67
- background-color: lightblue;
68
- }
69
-
70
- #bgcolorTest6 {
71
- background-color: inherit;
72
- }
73
-
74
- #bgcolorTest7 {
75
- background-color: transparent;
76
- }
77
-
78
- .rtl {
79
- direction: rtl;
80
- }
81
-
82
- .ltr {
83
- direction: ltr;
84
- }
85
-
86
- #pos-scroll-abs {
87
- position: absolute;
88
- top: 200px;
89
- left: 100px;
90
- }
91
-
92
- #pos-scroll-abs-1 {
93
- overflow: scroll;
94
- width: 100px;
95
- height: 100px;
96
- }
97
-
98
- #pos-scroll-abs-2 {
99
- position: absolute;
100
- top: 100px;
101
- left: 100px;
102
- width: 500px;
103
- background-color: pink;
104
- }
105
-
106
- #abs-upper-left {
107
- position: absolute;
108
- top: 0px;
109
- left: 0px;
110
- }
111
-
112
- #no-text-font-styles {
113
- font-family: "Helvetica", Times, serif;
114
- font-size: 30px;
115
- }
116
-
117
- .century {
118
- font-family: "Comic Sans MS", "Century Schoolbook L", serif;
119
- }
120
-
121
- #size-a,
122
- #size-e {
123
- width: 100px;
124
- height: 100px;
125
- background: red;
126
- padding: 0;
127
- border-style: solid;
128
- border-color: black;
129
- border-width: 0;
130
- }
131
-
132
- #size-b {
133
- width: 100px;
134
- height: 100px;
135
- background: red;
136
- border: 10px solid black;
137
- }
138
-
139
- #size-c {
140
- width: 100px;
141
- height: 100px;
142
- background: red;
143
- border: 10px solid black;
144
- padding: 10px;
145
- overflow: auto;
146
- }
147
-
148
- #size-d {
149
- width: 10em;
150
- height: 2cm;
151
- background: red;
152
- border: thick solid black;
153
- padding: 2mm;
154
- }
155
-
156
- #size-f {
157
- border-width: 0;
158
- margin: 0;
159
- padding: 0;
160
- }
161
-
162
- #css-position-absolute {
163
- position: absolute;
164
- }
165
-
166
- #css-overflow-hidden {
167
- overflow: hidden;
168
- }
169
-
170
- #css-z-index-200 {
171
- position:relative;
172
- z-index: 200;
173
- }
174
-
175
- #css-text-align-center {
176
- text-align: center;
177
- }
178
-
179
- #css-cursor-pointer {
180
- cursor: pointer;
181
- }
182
-
183
- #test-opacity {
184
- opacity: 0.5;
185
- -moz-opacity: 0.5;
186
- filter: alpha(opacity=50);
187
- }
188
-
189
- #test-frame-offset {
190
- display: block;
191
- position: absolute;
192
- top: 50px;
193
- left: 50px;
194
- width: 50px;
195
- height: 50px;
196
- }
197
-
198
- #test-visible {
199
- position: absolute;
200
- overflow: hidden;
201
- }
202
-
203
- .scrollable-container {
204
- border: 8px solid blue;
205
- padding: 16px;
206
- margin: 32px;
207
- width: 100px;
208
- height: 100px;
209
- overflow: auto;
210
- position: absolute;
211
- left: 400px;
212
- top: 0;
213
- }
214
-
215
- .scrollable-container-item {
216
- margin: 1px;
217
- border: 2px solid gray;
218
- padding: 4px;
219
- width: auto;
220
- height: 20px;
221
- }
222
-
223
- </style>
224
- </head>
225
- <body>
226
- <div id="testEl">
227
- <span>Test Element</span>
228
- </div>
229
-
230
- <div id="testEl5">
231
- <span>Test Element 5</span>
232
- </div>
233
-
234
- <table id="table1">
235
- <tr>
236
- <td id="td1">td1</td>
237
- </tr>
238
- </table>
239
-
240
- <span id="span0">span0</span>
241
-
242
- <ul>
243
- <li id="li1">li1</li>
244
- </ul>
245
-
246
- <span id="span1" class="test1"></span>
247
- <span id="span2" class="test1"></span>
248
- <span id="span3" class="test2"></span>
249
- <span id="span4" class="test3"></span>
250
- <span id="span5" class="test1"></span>
251
- <span id="span6" class="test1"></span>
252
-
253
- <p id="p1"></p>
254
-
255
- <div id="styleTest1"></div>
256
- <div id="styleTest2" style="width:100px;text-decoration:underline"></div>
257
- <div id="styleTest3"></div>
258
-
259
- <!-- Paragraph to test element child and sibling -->
260
- <p id="p2">
261
- <!-- Comment -->
262
- a
263
- <b id="b1">c</b>
264
- d
265
- <!-- Comment -->
266
- e
267
- <b id="b2">f</b>
268
- g
269
- <!-- Comment -->
270
- </p>
271
-
272
- <p style="background-color: #eee">
273
- <span id="bgcolorTest0">1</span>
274
- <span id="bgcolorTest1">1</span>
275
- <span id="bgcolorTest2">2</span>
276
- <span id="bgcolorTest3">3</span>
277
- <span id="bgcolorTest4" style="background-color:#ff0000">4</span>
278
- <span id="bgcolorTest5">5</span>
279
- <span id="bgcolorTest6">6</span>
280
- <span id="bgcolorTest7">7</span>
281
- <span id="bgcolorDest">Dest</span>
282
- <span id="installTest0">Styled 0</span>
283
- <span id="installTest1">Styled 1</span>
284
- </p>
285
-
286
- <div class='rtl-test' dir='ltr' id='rtl1'>
287
- <div dir='rtl' id='rtl2'>right to left</div>
288
- <div dir='ltr' id='rtl3'>left to right</div>
289
- <div id='rtl4'>left to right (inherited)</div>
290
- <div id='rtl5' style="direction: rtl">right to left (style)</div>
291
- <div id='rtl6' style="direction: ltr">left to right (style)</div>
292
- <div id='rtl7' class=rtl>right to left (css)</div>
293
- <div id='rtl8' class=ltr>left to right (css)</div>
294
- <div class=rtl>
295
- <div id='rtl9'>right to left (css)</div>
296
- </div>
297
- <div class=ltr>
298
- <div id='rtl10'>left to right (css)</div>
299
- </div>
300
- </div>
301
-
302
- <div id="pos-scroll-abs">
303
-
304
- <p>Some text some text some text some text some text some text some text
305
- some text some text some text. Some text some text some text some text some
306
- text some text some text some text some text some text. Some text some text
307
- some text some text some text some text some text some text some text some
308
- text. Some text some text some text some text some text some text some text
309
- some text some text some text.
310
-
311
- <p>Some text some text some text some text some text some text some text
312
- some text some text some text. Some text some text some text some text some
313
- text some text some text some text some text some text. Some text some text
314
- some text some text some text some text some text some text some text some
315
- text. Some text some text some text some text some text some text some text
316
- some text some text some text.
317
-
318
- <div id="pos-scroll-abs-1">
319
- <p>Some text some text some text some text some text some text some text
320
- some text some text some text. Some text some text some text some text
321
- some text some text some text some text some text some text. Some text
322
- some text some text some text some text some text some text some text some
323
- text some text. Some text some text some text some text some text some
324
- text some text some text some text some text.
325
-
326
- <p>Some text some text some text some text some text some text some text
327
- some text some text some text. Some text some text some text some text
328
- some text some text some text some text some text some text. Some text
329
- some text some text some text some text some text some text some text some
330
- text some text. Some text some text some text some text some text some
331
- text some text some text some text some text.
332
-
333
- <div id="pos-scroll-abs-2">
334
-
335
- <p>Some text some text some text some text some text some text some text
336
- some text some text some text. Some text some text some text some text
337
- some text some text some text some text some text some text. Some text
338
- some text some text some text some text some text some text some text
339
- some text some text. Some text some text some text some text some text
340
- some text some text some text some text some text.
341
-
342
- </div>
343
-
344
- </div>
345
-
346
- </div>
347
-
348
- <div id="abs-upper-left">
349
- foo
350
- </div>
351
-
352
- <div id="no-text-font-styles">
353
- <font size="+1" face="Times,serif" id="font-tag">Times</font>
354
- <pre id="pre-font">pre text</pre>
355
- <span style="font:inherit" id="inherit-font">inherited</span>
356
- <span style="font-family:Times,sans-serif; font-size:3in"
357
- id="times-font-family">Times</span>
358
- <b id="bold-font">Bolded</b>
359
- <i id="css-html-tag-redefinition">Times</i>
360
- <span id="small-text" class="century" style="font-size:small">eensy</span>
361
- <span id="x-small-text" style="font-size:x-small">weensy</span>
362
- <span style="font:50% badFont" id="font-style-badfont">
363
- badFont
364
- <span style="font:inherit" id="inherit-50pct-font">
365
- same size as badFont
366
- </span>
367
- </span>
368
- <span id="icon-font" style="font:icon">Icon Font</span>
369
- </div>
370
- <span id="no-font-style">plain</span>
371
- <span style="font-family:Arial" id="nested-font">Arial<span style="font-family:Times">Times nested inside Arial</span></span>
372
- <img id="img-font-test" src=""/>
373
-
374
- <span style="font-size:25px">
375
- <span style="font-size:12.5px" id="font-size-12-point-5-px">12.5PX</span>
376
- <span style="font-size:0.5em" id="font-size-50-pct-of-25-px">12.5PX</span>
377
- </span>
378
-
379
- <div id="size-a"></div>
380
-
381
- <div id="size-b"></div>
382
-
383
- <div id="size-c">xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxxxxxxxxxx
384
- xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
385
- xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
386
- xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
387
- xxxxxxxxxxxxxxxx</div>
388
-
389
- <div id="size-d">xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxxxxxxxxxx
390
- xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
391
- xxxxxxxx x</div>
392
-
393
- <div id="size-e"></div>
394
-
395
- <div id="size-f">hello</div>
396
-
397
- <div style="font-size: 1px">
398
- <div style="font-size: 2em"><span id="em-font-size"></span></div>
399
- </div>
400
-
401
- <div id="no-float"></div>
402
-
403
- <div id="float-none" style="float:none"></div>
404
-
405
- <div id="float-left" style="float:left"></div>
406
-
407
- <div id="float-test"></div>
408
-
409
- <div id="position-unset"></div>
410
- <div id="style-position-relative" style="position:relative"></div>
411
- <div id="style-position-fixed" style="position:fixed"></div>
412
- <div id="css-position-absolute"></div>
413
-
414
- <div id="style-overflow-scroll" style="overflow:scroll"></div>
415
- <div id="css-overflow-hidden"></div>
416
-
417
- <!-- Getting the computed z-index of an unpositioned element is unspecified. -->
418
- <div id="style-z-index-200" style="position:relative;z-index:200"></div>
419
- <div id="css-z-index-200"></div>
420
-
421
- <div id="style-text-align-right" style="text-align:right">
422
- <div id="style-text-align-right-inner">foo</div>
423
- </div>
424
- <div id="css-text-align-center"></div>
425
-
426
- <div id="style-cursor-move" style="cursor:move">
427
- <span id="style-cursor-move-inner">foo</span>
428
- </div>
429
- <div id="css-cursor-pointer"></div>
430
-
431
- <div id="height-test" style="display:inline-block;position:relative">
432
- <div id="height-test-inner" style="display:inline-block">
433
- foo
434
- </div>
435
- </div>
436
-
437
- <div id="test-opacity"></div>
438
-
439
- <iframe id="test-frame-offset"></iframe>
440
-
441
- <iframe id="test-translate-frame-standard" src="style_test_standard.html"
442
- style="overflow:auto;position:absolute;left:100px;top:150px;width:200px;height:200px;border:0px;">
443
- </iframe>
444
- <iframe id="test-translate-frame-quirk" src="style_test_quirk.html"
445
- style="overflow:auto;position:absolute;left:100px;top:350px;width:200px;height:200px;border:0px;margin:0px;">
446
- </iframe>
447
-
448
- <iframe
449
- id="test-visible-frame"
450
- src="style_test_iframe_standard.html"
451
- style="width: 200px; height: 200px; border: 0px;">
452
- </iframe>
453
-
454
- <div id="test-scrollbarwidth" style="background-color: orange; width: 100px; height: 100px; overflow: auto;">
455
- <div style='width: 200px; height: 200px; background-color: red'>Test Scroll bar width with scroll</div>
456
- </div>
457
-
458
- <div id="scrollable-container" class="scrollable-container">
459
- <!--
460
- Workaround for overlapping top padding of the container and top margin of
461
- the first item in Internet Explorer 6 and 7.
462
- See http://www.quirksmode.org/bugreports/archives/2005/01/IE_nested_boxes_padding_topmargin_top.html#c11285
463
- -->
464
- <div style="height: 0"><!-- --></div>
465
- <div id="item1" class="scrollable-container-item">1</div>
466
- <div id="item2" class="scrollable-container-item">2</div>
467
- <div id="item3" class="scrollable-container-item">3</div>
468
- <div id="item4" class="scrollable-container-item">4</div>
469
- <div id="item5" class="scrollable-container-item">5</div>
470
- <div id="item6" class="scrollable-container-item">6</div>
471
- <div id="item7" class="scrollable-container-item">7</div>
472
- <div id="item8" class="scrollable-container-item">8</div>
473
- </div>
474
-
475
- <div id="test-visible" style="background-color:yellow;">
476
- Test-visible
477
- <div id="test-visible-el" style="height:200px;">Test-visible</div>
478
- Test-visible
479
- </div>
480
-
481
- <div id="msFilter" style="-ms-filter:'alpha(opacity=0)'">
482
- A div</div>
483
- <div id="filter" style="filter:alpha(opacity=0)">
484
- Another div</div>
485
- <script>
486
-
487
- var $ = goog.dom.getElement;
488
-
489
- function setUpPage() {
490
- var viewportSize = goog.dom.getViewportSize();
491
- // When the window is too short or not wide enough, some tests, especially
492
- // those for off-screen elements, fail. Oddly, the most reliable
493
- // indicator is a width of zero (which is of course erroneous), since
494
- // height sometimes includes a scroll bar. We can make no assumptions on
495
- // window size on the Selenium farm.
496
- if (goog.userAgent.IE && !viewportSize.width) {
497
- // Move to origin, since IE won't resize outside the screen.
498
- window.moveTo(0, 0);
499
- window.resizeTo(640, 480);
500
- }
501
- }
502
-
503
- function setUp() {
504
- window.scrollTo(0, 0);
505
- }
506
-
507
- function testSetStyle() {
508
- var el = $('span1');
509
- goog.style.setStyle(el, 'textDecoration', 'underline');
510
- assertEquals('Should be underline', 'underline', el.style.textDecoration);
511
- }
512
-
513
- function testSetStyleMap() {
514
- var el = $('span6');
515
-
516
- var styles = {
517
- 'background-color': 'blue',
518
- 'font-size': '100px',
519
- textAlign: 'center'
520
- };
521
-
522
- goog.style.setStyle(el, styles);
523
-
524
- var answers = {
525
- backgroundColor: 'blue',
526
- fontSize: '100px',
527
- textAlign: 'center'
528
- };
529
-
530
- goog.object.forEach(answers, function(value, style) {
531
- assertEquals('Should be ' + value, value, el.style[style]);
532
- });
533
- }
534
-
535
- function testSetStyleWithNonCamelizedString() {
536
- var el = $('span5');
537
- goog.style.setStyle(el, 'text-decoration', 'underline');
538
- assertEquals('Should be underline', 'underline', el.style.textDecoration);
539
- }
540
-
541
- function testGetStyle() {
542
- var el = goog.dom.getElement('styleTest3');
543
- goog.style.setStyle(el, 'width', '80px');
544
- goog.style.setStyle(el, 'textDecoration', 'underline');
545
-
546
- assertEquals('80px', goog.style.getStyle(el, 'width'));
547
- assertEquals('underline', goog.style.getStyle(el, 'textDecoration'));
548
- assertEquals('underline', goog.style.getStyle(el, 'text-decoration'));
549
- // Non set properties are always empty strings.
550
- assertEquals('', goog.style.getStyle(el, 'border'));
551
- }
552
-
553
- function testGetStyleMsFilter() {
554
- // Element with -ms-filter style set.
555
- var e = goog.dom.getElement('msFilter');
556
-
557
- if (goog.userAgent.IE && goog.userAgent.isVersion(8)) {
558
- // Only IE8 supports -ms-filter and returns it as value for the "filter"
559
- // property. When in compatibility mode, -ms-filter is not supported
560
- // and IE8 behaves as IE7 so the other case will apply.
561
- assertEquals('alpha(opacity=0)', goog.style.getStyle(e, 'filter'));
562
- } else {
563
- // Any other browser does not support ms-filter so it returns empty string.
564
- assertEquals('', goog.style.getStyle(e, 'filter'));
565
- }
566
- }
567
-
568
- function testGetStyleFilter() {
569
- // Element with filter style set.
570
- var e = goog.dom.getElement('filter');
571
-
572
- if (goog.userAgent.IE) {
573
- // Filter supported.
574
- assertEquals('alpha(opacity=0)', goog.style.getStyle(e, 'filter'));
575
- } else {
576
- assertEquals('', goog.style.getStyle(e, 'filter'));
577
- }
578
- }
579
-
580
- function testGetComputedStyleMsFilter() {
581
- // Element with -ms-filter style set.
582
- var e = goog.dom.getElement('msFilter');
583
-
584
- if (goog.userAgent.IE) {
585
- // IE always returns empty string for computed styles.
586
- assertEquals('', goog.style.getComputedStyle(e, 'filter'));
587
- } else {
588
- // Non IE returns 'none' for filter as it is a SVG property
589
- assertEquals('none', goog.style.getComputedStyle(e, 'filter'));
590
- }
591
- }
592
-
593
- function testGetComputedStyleFilter() {
594
- // Element with filter style set.
595
- var e = goog.dom.getElement('filter');
596
-
597
- if (goog.userAgent.IE) {
598
- // IE always returns empty string for computed styles.
599
- assertEquals('', goog.style.getComputedStyle(e, 'filter'));
600
- } else {
601
- // Non IE returns 'none' for filter as it is a SVG property
602
- assertEquals('none', goog.style.getComputedStyle(e, 'filter'));
603
- }
604
- }
605
-
606
- function testGetComputedPosition() {
607
- assertEquals('position not set', 'static',
608
- goog.style.getComputedPosition($('position-unset')));
609
- assertEquals('position:relative in style attribute', 'relative',
610
- goog.style.getComputedPosition($('style-position-relative')));
611
- assertEquals('position:fixed in style attribute', 'fixed',
612
- goog.style.getComputedPosition($('style-position-fixed')));
613
- assertEquals('position:absolute in css', 'absolute',
614
- goog.style.getComputedPosition($('css-position-absolute')));
615
- }
616
-
617
- function testGetComputedOverflowXAndY() {
618
- assertEquals('overflow-x:scroll in style attribute', 'scroll',
619
- goog.style.getComputedOverflowX($('style-overflow-scroll')));
620
- assertEquals('overflow-y:scroll in style attribute', 'scroll',
621
- goog.style.getComputedOverflowY($('style-overflow-scroll')));
622
- assertEquals('overflow-x:hidden in css', 'hidden',
623
- goog.style.getComputedOverflowX($('css-overflow-hidden')));
624
- assertEquals('overflow-y:hidden in css', 'hidden',
625
- goog.style.getComputedOverflowY($('css-overflow-hidden')));
626
- }
627
-
628
- function testGetComputedZIndex() {
629
- assertEquals('z-index:200 in style attribute', '200',
630
- '' + goog.style.getComputedZIndex($('style-z-index-200')));
631
- assertEquals('z-index:200 in css', '200',
632
- '' + goog.style.getComputedZIndex($('css-z-index-200')));
633
- }
634
-
635
- function testGetComputedTextAlign() {
636
- assertEquals('text-align:right in style attribute', 'right',
637
- goog.style.getComputedTextAlign($('style-text-align-right')));
638
- assertEquals(
639
- 'text-align:right inherited from parent', 'right',
640
- goog.style.getComputedTextAlign($('style-text-align-right-inner')));
641
- assertEquals('text-align:center in css', 'center',
642
- goog.style.getComputedTextAlign($('css-text-align-center')));
643
- }
644
-
645
- function testGetComputedCursor() {
646
- assertEquals('cursor:move in style attribute', 'move',
647
- goog.style.getComputedCursor($('style-cursor-move')));
648
- assertEquals('cursor:move inherited from parent', 'move',
649
- goog.style.getComputedCursor($('style-cursor-move-inner')));
650
- assertEquals('cursor:poiner in css', 'pointer',
651
- goog.style.getComputedCursor($('css-cursor-pointer')));
652
- }
653
-
654
- function testGetBackgroundColor() {
655
- var dest = $('bgcolorDest');
656
-
657
- for (var i = 0; $('bgcolorTest' + i); i++) {
658
- var src = $('bgcolorTest' + i);
659
- var bgColor = goog.style.getBackgroundColor(src);
660
-
661
- dest.style.backgroundColor = bgColor;
662
- assertEquals('Background colors should be equal',
663
- goog.style.getBackgroundColor(src),
664
- goog.style.getBackgroundColor(dest));
665
-
666
- try {
667
- // goog.color.parse throws a generic exception if handed input it
668
- // doesn't understand.
669
- var c = goog.color.parse(bgColor);
670
- assertEquals('rgb(255,0,0)', goog.color.hexToRgbStyle(c.hex));
671
- } catch (e) {
672
- // Internet Explorer is unable to parse colors correctly after test 4.
673
- // Other browsers may vary, but all should be able to handle straight
674
- // hex input.
675
- assertFalse('Should be able to parse color "' + bgColor + '"', i < 5);
676
- }
677
- }
678
- }
679
-
680
- function testSetPosition() {
681
- var el = $('testEl');
682
-
683
- goog.style.setPosition(el, 100, 100);
684
- assertEquals('100px', el.style.left);
685
- assertEquals('100px', el.style.top);
686
-
687
- goog.style.setPosition(el, '50px', '25px');
688
- assertEquals('50px', el.style.left);
689
- assertEquals('25px', el.style.top);
690
-
691
- goog.style.setPosition(el, '10ex', '25px');
692
- assertEquals('10ex', el.style.left);
693
- assertEquals('25px', el.style.top);
694
-
695
- goog.style.setPosition(el, '10%', '25%');
696
- assertEquals('10%', el.style.left);
697
- assertEquals('25%', el.style.top);
698
-
699
- // ignores stupid units
700
- goog.style.setPosition(el, 0, 0);
701
- // TODO(user): IE errors if you set these values. Should we make setStyle
702
- // catch these? Or leave it up to the app. Fixing the tests for now.
703
- //goog.style.setPosition(el, '10rainbows', '25rainbows');
704
- assertEquals('0px', el.style.left);
705
- assertEquals('0px', el.style.top);
706
-
707
-
708
- goog.style.setPosition(el, new goog.math.Coordinate(20,40));
709
- assertEquals('20px', el.style.left);
710
- assertEquals('40px', el.style.top);
711
- }
712
-
713
- function testGetClientPositionAbsPositionElement() {
714
- var div = goog.dom.createDom('DIV');
715
- div.style.position = 'absolute';
716
- div.style.left = '100px';
717
- div.style.top = '200px';
718
- document.body.appendChild(div);
719
- var pos = goog.style.getClientPosition(div);
720
- assertEquals(100, pos.x);
721
- assertEquals(200, pos.y);
722
- }
723
-
724
- function testGetClientPositionNestedElements() {
725
- var innerDiv = goog.dom.createDom('DIV');
726
- innerDiv.style.position = 'relative';
727
- innerDiv.style.left = '-10px';
728
- innerDiv.style.top = '-10px';
729
- var div = goog.dom.createDom('DIV');
730
- div.style.position = 'absolute';
731
- div.style.left = '150px';
732
- div.style.top = '250px';
733
- div.appendChild(innerDiv);
734
- document.body.appendChild(div);
735
- var pos = goog.style.getClientPosition(innerDiv);
736
- assertEquals(140, pos.x);
737
- assertEquals(240, pos.y);
738
- }
739
-
740
- function testGetClientPositionOfOffscreenElement() {
741
- var div = goog.dom.createDom('DIV');
742
- div.style.position = 'absolute';
743
- div.style.left = '2000px';
744
- div.style.top = '2000px';
745
- div.style.width = '10px';
746
- div.style.height = '10px';
747
- document.body.appendChild(div);
748
-
749
- try {
750
- window.scroll(0, 0);
751
- var pos = goog.style.getClientPosition(div);
752
- assertEquals(2000, pos.x);
753
- assertEquals(2000, pos.y);
754
-
755
- // The following tests do not work in Gecko 1.8 and below, due to an
756
- // obscure off-by-one bug in goog.style.getPageOffset. Same for IE.
757
- if (!goog.userAgent.IE &&
758
- !(goog.userAgent.GECKO && !goog.userAgent.isVersion('1.9'))) {
759
- window.scroll(1, 1);
760
- var pos = goog.style.getClientPosition(div);
761
- assertEquals(1999, pos.x);
762
- assertEquals(1999, pos.y);
763
-
764
- window.scroll(2, 2);
765
- pos = goog.style.getClientPosition(div);
766
- assertEquals(1998, pos.x);
767
- assertEquals(1998, pos.y);
768
-
769
- window.scroll(100, 100);
770
- pos = goog.style.getClientPosition(div);
771
- assertEquals(1900, pos.x);
772
- assertEquals(1900, pos.y);
773
- }
774
- }
775
- finally {
776
- window.scroll(0, 0);
777
- document.body.removeChild(div);
778
- }
779
- }
780
-
781
- function testGetClientPositionEvent() {
782
- var mockEvent = {};
783
- mockEvent.clientX = 100;
784
- mockEvent.clientY = 200;
785
- var pos = goog.style.getClientPosition(mockEvent);
786
- assertEquals(100, pos.x);
787
- assertEquals(200, pos.y);
788
- }
789
-
790
- function testGetClientPositionTouchEvent() {
791
- var mockTouchEvent = {};
792
-
793
- mockTouchEvent.targetTouches = [{}];
794
- mockTouchEvent.targetTouches[0].clientX = 100;
795
- mockTouchEvent.targetTouches[0].clientY = 200;
796
-
797
- mockTouchEvent.touches = [{}];
798
- mockTouchEvent.touches[0].clientX = 100;
799
- mockTouchEvent.touches[0].clientY = 200;
800
-
801
- var pos = goog.style.getClientPosition(mockTouchEvent);
802
- assertEquals(100, pos.x);
803
- assertEquals(200, pos.y);
804
- }
805
-
806
- function testGetClientPositionAbstractedTouchEvent() {
807
- var e = new goog.events.BrowserEvent();
808
- e.event_ = {};
809
- e.event_.touches = [{}];
810
- e.event_.touches[0].clientX = 100;
811
- e.event_.touches[0].clientY = 200;
812
- e.event_.targetTouches = [{}];
813
- e.event_.targetTouches[0].clientX = 100;
814
- e.event_.targetTouches[0].clientY = 200;
815
- var pos = goog.style.getClientPosition(e);
816
- assertEquals(100, pos.x);
817
- assertEquals(200, pos.y);
818
- }
819
-
820
- function testGetPageOffsetAbsPositionedElement() {
821
- var div = goog.dom.createDom('DIV');
822
- div.style.position = 'absolute';
823
- div.style.left = '100px';
824
- div.style.top = '200px';
825
- document.body.appendChild(div);
826
- var pos = goog.style.getPageOffset(div);
827
- assertEquals(100, pos.x);
828
- assertEquals(200, pos.y);
829
- }
830
-
831
- function testGetPageOffsetNestedElements() {
832
- var innerDiv = goog.dom.createDom('DIV');
833
- innerDiv.style.position = 'relative';
834
- innerDiv.style.left = '-10px';
835
- innerDiv.style.top = '-10px';
836
- var div = goog.dom.createDom('DIV');
837
- div.style.position = 'absolute';
838
- div.style.left = '150px';
839
- div.style.top = '250px';
840
- div.appendChild(innerDiv);
841
- document.body.appendChild(div);
842
- var pos = goog.style.getPageOffset(innerDiv);
843
- assertEquals(140, pos.x);
844
- assertEquals(240, pos.y);
845
- }
846
-
847
- function testGetPageOffsetWithBodyPadding() {
848
- document.body.style.margin = '40px'
849
- document.body.style.padding = '60px'
850
- document.body.style.borderWidth = '70px';
851
- try {
852
- var div = goog.dom.createDom('DIV');
853
- div.style.position = 'absolute';
854
- div.style.left = '100px';
855
- div.style.top = '200px';
856
- // Margin will affect position, but padding and borders should not.
857
- div.style.margin = '1px';
858
- div.style.padding = '2px';
859
- div.style.borderWidth = '3px';
860
- document.body.appendChild(div);
861
- var pos = goog.style.getPageOffset(div);
862
- assertEquals(101, pos.x);
863
- assertEquals(201, pos.y);
864
- }
865
- finally {
866
- document.body.removeChild(div);
867
- document.body.style.margin = '';
868
- document.body.style.padding = '';
869
- document.body.style.borderWidth = '';
870
- }
871
- }
872
-
873
- function testGetPageOffsetWithDocumentElementPadding() {
874
- document.documentElement.style.margin = '40px';
875
- document.documentElement.style.padding = '60px';
876
- document.documentElement.style.borderWidth = '70px';
877
- try {
878
- var div = goog.dom.createDom('DIV');
879
- div.style.position = 'absolute';
880
- div.style.left = '100px';
881
- div.style.top = '200px';
882
- // Margin will affect position, but padding and borders should not.
883
- div.style.margin = '1px';
884
- div.style.padding = '2px';
885
- div.style.borderWidth = '3px';
886
- document.body.appendChild(div);
887
- var pos = goog.style.getPageOffset(div);
888
- // FF3 (but not beyond) gets confused by document margins.
889
- if (goog.userAgent.GECKO && goog.userAgent.isVersion('1.9') &&
890
- !goog.userAgent.isVersion('1.9.1')) {
891
- assertEquals(141, pos.x);
892
- assertEquals(241, pos.y);
893
- } else {
894
- assertEquals(101, pos.x);
895
- assertEquals(201, pos.y);
896
- }
897
- }
898
- finally {
899
- document.body.removeChild(div);
900
- document.documentElement.style.margin = '';
901
- document.documentElement.style.padding = '';
902
- document.documentElement.style.borderWidth = '';
903
- }
904
- }
905
-
906
- function testGetPageOffsetElementOffscreen() {
907
- var div = goog.dom.createDom('DIV');
908
- div.style.position = 'absolute';
909
- div.style.left = '10000px';
910
- div.style.top = '20000px';
911
- document.body.appendChild(div);
912
- window.scroll(0, 0);
913
- try {
914
- var pos = goog.style.getPageOffset(div);
915
- assertEquals(10000, pos.x);
916
- assertEquals(20000, pos.y);
917
-
918
- // The following tests do not work in Gecko 1.8 and below, due to an
919
- // obscure off-by-one bug in goog.style.getPageOffset. Same for IE.
920
- if (!(goog.userAgent.IE) &&
921
- !(goog.userAgent.GECKO && !goog.userAgent.isVersion('1.9'))) {
922
- window.scroll(1, 1);
923
- pos = goog.style.getPageOffset(div);
924
- assertEquals(10000, pos.x);
925
- assertEquals(20000, pos.y);
926
-
927
- window.scroll(1000, 2000);
928
- pos = goog.style.getPageOffset(div);
929
- assertEquals(10000, pos.x);
930
- assertEquals(20000, pos.y);
931
-
932
- window.scroll(10000, 20000);
933
- pos = goog.style.getPageOffset(div);
934
- assertEquals(10000, pos.x);
935
- assertEquals(20000, pos.y);
936
- }
937
- }
938
- // Undo changes.
939
- finally {
940
- document.body.removeChild(div);
941
- window.scroll(0, 0);
942
- }
943
- }
944
-
945
- function testGetPageOffsetFixedPositionElements() {
946
- // Skip these tests in certain browsers.
947
- // position:fixed is not supported in IE before version 7
948
- if (!goog.userAgent.IE || !goog.userAgent.isVersion('6')) {
949
- // Test with a position fixed element
950
- var div = goog.dom.createDom('DIV');
951
- div.style.position = 'fixed';
952
- div.style.top = '10px';
953
- div.style.left = '10px';
954
- document.body.appendChild(div);
955
- var pos = goog.style.getPageOffset(div);
956
- assertEquals(10, pos.x);
957
- assertEquals(10, pos.y);
958
-
959
- // Test with a position fixed element as parent
960
- var innerDiv = goog.dom.createDom('DIV');
961
- div = goog.dom.createDom('DIV');
962
- div.style.position = 'fixed';
963
- div.style.top = '10px';
964
- div.style.left = '10px';
965
- div.style.padding = '5px';
966
- div.appendChild(innerDiv);
967
- document.body.appendChild(div);
968
- pos = goog.style.getPageOffset(innerDiv);
969
- assertEquals(15, pos.x);
970
- assertEquals(15, pos.y);
971
- }
972
- }
973
-
974
- function testGetPositionTolerantToNoDocumentElementBorder() {
975
- // In IE, removing the border on the document element undoes the normal
976
- // 2-pixel offset. Ensure that we're correctly compensating for both cases.
977
- try {
978
- document.documentElement.style.borderWidth = '0';
979
- var div = goog.dom.createDom('DIV');
980
- div.style.position = 'absolute';
981
- div.style.left = '100px';
982
- div.style.top = '200px';
983
- document.body.appendChild(div);
984
- // Test all major positioning methods.
985
- var pos = goog.style.getClientPosition(div);
986
- assertEquals(100, pos.x);
987
- assertEquals(200, pos.y);
988
- var offset = goog.style.getPageOffset(div);
989
- assertEquals(100, offset.x);
990
- assertEquals(200, offset.y);
991
- } finally {
992
- document.documentElement.style.borderWidth = '';
993
- }
994
- }
995
-
996
- function testSetSize() {
997
- var el = $('testEl');
998
-
999
- goog.style.setSize(el, 100, 100);
1000
- assertEquals('100px', el.style.width);
1001
- assertEquals('100px', el.style.height);
1002
-
1003
- goog.style.setSize(el, '50px', '25px');
1004
- assertEquals('should be "50px"', '50px', el.style.width);
1005
- assertEquals('should be "25px"', '25px', el.style.height);
1006
-
1007
- goog.style.setSize(el, '10ex', '25px');
1008
- assertEquals('10ex', el.style.width);
1009
- assertEquals('25px', el.style.height);
1010
-
1011
- goog.style.setSize(el, '10%', '25%');
1012
- assertEquals('10%', el.style.width);
1013
- assertEquals('25%', el.style.height);
1014
-
1015
- // ignores stupid units
1016
- goog.style.setSize(el, 0, 0);
1017
- // TODO(user): IE errors if you set these values. Should we make setStyle
1018
- // catch these? Or leave it up to the app. Fixing the tests for now.
1019
- //goog.style.setSize(el, '10rainbows', '25rainbows');
1020
- assertEquals('0px', el.style.width);
1021
- assertEquals('0px', el.style.height);
1022
-
1023
- goog.style.setSize(el, new goog.math.Size(20,40));
1024
- assertEquals('20px', el.style.width);
1025
- assertEquals('40px', el.style.height);
1026
- }
1027
-
1028
- function testSetWidthAndHeight() {
1029
- var el = $('testEl');
1030
-
1031
- // Replicate all of the setSize tests above.
1032
-
1033
- goog.style.setWidth(el, 100);
1034
- goog.style.setHeight(el, 100);
1035
- assertEquals('100px', el.style.width);
1036
- assertEquals('100px', el.style.height);
1037
-
1038
- goog.style.setWidth(el, '50px');
1039
- goog.style.setHeight(el, '25px');
1040
- assertEquals('should be "50px"', '50px', el.style.width);
1041
- assertEquals('should be "25px"', '25px', el.style.height);
1042
-
1043
- goog.style.setWidth(el, '10ex');
1044
- goog.style.setHeight(el, '25px');
1045
- assertEquals('10ex', el.style.width);
1046
- assertEquals('25px', el.style.height);
1047
-
1048
- goog.style.setWidth(el, '10%');
1049
- goog.style.setHeight(el, '25%');
1050
- assertEquals('10%', el.style.width);
1051
- assertEquals('25%', el.style.height);
1052
-
1053
- goog.style.setWidth(el, 0);
1054
- goog.style.setHeight(el, 0);
1055
- assertEquals('0px', el.style.width);
1056
- assertEquals('0px', el.style.height);
1057
-
1058
- goog.style.setWidth(el, 20);
1059
- goog.style.setHeight(el, 40);
1060
- assertEquals('20px', el.style.width);
1061
- assertEquals('40px', el.style.height);
1062
-
1063
- // Additional tests testing each separately.
1064
- goog.style.setWidth(el, '');
1065
- goog.style.setHeight(el, '');
1066
- assertEquals('', el.style.width);
1067
- assertEquals('', el.style.height);
1068
-
1069
- goog.style.setHeight(el, 20);
1070
- assertEquals('', el.style.width);
1071
- assertEquals('20px', el.style.height);
1072
-
1073
- goog.style.setWidth(el, 40);
1074
- assertEquals('40px', el.style.width);
1075
- assertEquals('20px', el.style.height);
1076
- }
1077
-
1078
- function testGetSize() {
1079
- var el = $('testEl');
1080
- goog.style.setSize(el, 100, 100);
1081
-
1082
- var dims = goog.style.getSize(el);
1083
- assertEquals(100, dims.width);
1084
- assertEquals(100, dims.height);
1085
-
1086
- goog.style.setStyle(el, 'display', 'none');
1087
- dims = goog.style.getSize(el);
1088
- assertEquals(100, dims.width);
1089
- assertEquals(100, dims.height);
1090
-
1091
- el = $('testEl5');
1092
- goog.style.setSize(el, 100, 100);
1093
- dims = goog.style.getSize(el);
1094
- assertEquals(100, dims.width);
1095
- assertEquals(100, dims.height);
1096
-
1097
- el = $('span0');
1098
- dims = goog.style.getSize(el);
1099
- assertNotEquals(0, dims.width);
1100
- assertNotEquals(0, dims.height);
1101
-
1102
- el = $('table1');
1103
- dims = goog.style.getSize(el);
1104
- assertNotEquals(0, dims.width);
1105
- assertNotEquals(0, dims.height);
1106
-
1107
- el = $('td1');
1108
- dims = goog.style.getSize(el);
1109
- assertNotEquals(0, dims.width);
1110
- assertNotEquals(0, dims.height);
1111
-
1112
- el = $('li1');
1113
- dims = goog.style.getSize(el);
1114
- assertNotEquals(0, dims.width);
1115
- assertNotEquals(0, dims.height);
1116
-
1117
- el = goog.dom.getElementsByTagNameAndClass('html')[0];
1118
- dims = goog.style.getSize(el);
1119
- assertNotEquals(0, dims.width);
1120
- assertNotEquals(0, dims.height);
1121
-
1122
- el = goog.dom.getElementsByTagNameAndClass('body')[0];
1123
- dims = goog.style.getSize(el);
1124
- assertNotEquals(0, dims.width);
1125
- assertNotEquals(0, dims.height);
1126
- }
1127
-
1128
- function testGetSizeInlineBlock() {
1129
- var el = $('height-test-inner');
1130
- var dims = goog.style.getSize(el);
1131
- assertNotEquals(0, dims.height);
1132
- }
1133
-
1134
- function testGetBounds() {
1135
- var el = $('testEl');
1136
-
1137
- var dims = goog.style.getSize(el);
1138
- var pos = goog.style.getPageOffset(el);
1139
-
1140
- var rect = goog.style.getBounds(el);
1141
-
1142
- // Relies on getSize and getPageOffset being correct.
1143
- assertEquals(dims.width, rect.width);
1144
- assertEquals(dims.height, rect.height);
1145
- assertEquals(pos.x, rect.left);
1146
- assertEquals(pos.y, rect.top);
1147
- }
1148
-
1149
- function testInstallStyles() {
1150
- var el = $('installTest0');
1151
- var originalBackground = goog.style.getBackgroundColor(el);
1152
-
1153
- // Uses background-color because it's easy to get the computed value
1154
- var result = goog.style.installStyles(
1155
- '#installTest0 { background-color: rgb(255, 192, 203); }');
1156
-
1157
- assertColorRgbEquals('rgb(255,192,203)', goog.style.getBackgroundColor(el));
1158
-
1159
- goog.style.uninstallStyles(result);
1160
- assertEquals(originalBackground, goog.style.getBackgroundColor(el));
1161
- }
1162
-
1163
- function testSetStyles() {
1164
- var el = $('installTest1');
1165
-
1166
- // Change to pink
1167
- var ss = goog.style.installStyles(
1168
- '#installTest1 { background-color: rgb(255, 192, 203); }');
1169
- assertColorRgbEquals('rgb(255,192,203)', goog.style.getBackgroundColor(el));
1170
-
1171
- // Now change to orange
1172
- goog.style.setStyles(ss,
1173
- '#installTest1 { background-color: rgb(255, 255, 0); }');
1174
- assertColorRgbEquals('rgb(255,255,0)', goog.style.getBackgroundColor(el));
1175
- }
1176
-
1177
- function assertColorRgbEquals(expected, actual) {
1178
- assertEquals(expected,
1179
- goog.color.hexToRgbStyle(goog.color.parse(actual).hex));
1180
- }
1181
-
1182
- function testIsRightToLeft() {
1183
- assertFalse(goog.style.isRightToLeft($('rtl1')));
1184
- assertTrue(goog.style.isRightToLeft($('rtl2')));
1185
- assertFalse(goog.style.isRightToLeft($('rtl3')));
1186
- assertFalse(goog.style.isRightToLeft($('rtl4')));
1187
- assertTrue(goog.style.isRightToLeft($('rtl5')));
1188
- assertFalse(goog.style.isRightToLeft($('rtl6')));
1189
- assertTrue(goog.style.isRightToLeft($('rtl7')));
1190
- assertFalse(goog.style.isRightToLeft($('rtl8')));
1191
- assertTrue(goog.style.isRightToLeft($('rtl9')));
1192
- assertFalse(goog.style.isRightToLeft($('rtl10')));
1193
- }
1194
-
1195
- function testPosWithAbsoluteAndScroll() {
1196
- var el = $('pos-scroll-abs')
1197
- var el1 = $('pos-scroll-abs-1');
1198
- var el2 = $('pos-scroll-abs-2');
1199
-
1200
- el1.scrollTop = 200;
1201
- var pos = goog.style.getPageOffset(el2);
1202
-
1203
- assertEquals(200, pos.x);
1204
- // Don't bother with IE in quirks mode
1205
- if (!goog.userAgent.IE || document.compatMode == 'CSS1Compat') {
1206
- assertEquals(300, pos.y);
1207
- }
1208
- }
1209
-
1210
- function testPosWithAbsoluteAndWindowScroll() {
1211
- window.scrollBy(0, 200);
1212
- var el = $('abs-upper-left');
1213
- var pos = goog.style.getPageOffset(el);
1214
- assertEquals('Top should be about 0', 0, pos.y);
1215
- }
1216
-
1217
- function testGetBorderBoxSize() {
1218
- // Strict mode
1219
- var getBorderBoxSize = goog.style.getBorderBoxSize;
1220
-
1221
- var el = $('size-a');
1222
- var rect = getBorderBoxSize(el);
1223
- assertEquals('width:100px', 100, rect.width);
1224
- assertEquals('height:100px', 100, rect.height);
1225
-
1226
- // with border: 10px
1227
- el = $('size-b');
1228
- rect = getBorderBoxSize(el);
1229
- assertEquals('width:100px;border:10px', isBorderBox ? 100 : 120, rect.width);
1230
- assertEquals('height:100px;border:10px', isBorderBox ? 100 : 120,
1231
- rect.height);
1232
-
1233
- // with border: 10px; padding: 10px
1234
- el = $('size-c');
1235
- rect = getBorderBoxSize(el);
1236
- assertEquals('width:100px;border:10px;padding:10px',
1237
- isBorderBox ? 100 : 140, rect.width);
1238
- assertEquals('height:100px;border:10px;padding:10px',
1239
- isBorderBox ? 100 : 140, rect.height);
1240
-
1241
- // size, padding and borders are all in non pixel units
1242
- // all we test here is that we get a number out
1243
- el = $('size-d');
1244
- rect = getBorderBoxSize(el);
1245
- assertEquals('number', typeof rect.width);
1246
- assertEquals('number', typeof rect.height);
1247
- assertFalse(isNaN(rect.width));
1248
- assertFalse(isNaN(rect.height));
1249
- }
1250
-
1251
- function testGetContentBoxSize() {
1252
- // Strict mode
1253
- var getContentBoxSize = goog.style.getContentBoxSize;
1254
-
1255
- var el = $('size-a');
1256
- var rect = getContentBoxSize(el);
1257
- assertEquals('width:100px', 100, rect.width);
1258
- assertEquals('height:100px', 100, rect.height);
1259
-
1260
- // with border: 10px
1261
- el = $('size-b');
1262
- rect = getContentBoxSize(el);
1263
- assertEquals('width:100px;border:10px',
1264
- isBorderBox ? 80 : 100, rect.width);
1265
- assertEquals('height:100px;border:10px',
1266
- isBorderBox ? 80 : 100, rect.height);
1267
-
1268
- // with border: 10px; padding: 10px
1269
- el = $('size-c');
1270
- rect = getContentBoxSize(el);
1271
- assertEquals('width:100px;border:10px;padding:10px',
1272
- isBorderBox ? 60 : 100, rect.width);
1273
- assertEquals('height:100px;border:10px;padding:10px',
1274
- isBorderBox ? 60 : 100, rect.height);
1275
-
1276
- // size, padding and borders are all in non pixel units
1277
- // all we test here is that we get a number out
1278
- el = $('size-d');
1279
- rect = getContentBoxSize(el);
1280
- assertEquals('number', typeof rect.width);
1281
- assertEquals('number', typeof rect.height);
1282
- assertFalse(isNaN(rect.width));
1283
- assertFalse(isNaN(rect.height));
1284
-
1285
- // test whether getContentBoxSize works when width and height
1286
- // aren't explicitly set, but the default of 'auto'.
1287
- // 'size-f' has no margin, border, or padding, so offsetWidth/Height
1288
- // should match the content box size
1289
- el = $('size-f');
1290
- rect = getContentBoxSize(el);
1291
- assertEquals(el.offsetWidth, rect.width);
1292
- assertEquals(el.offsetHeight, rect.height);
1293
- }
1294
-
1295
- function testSetBorderBoxSize() {
1296
- // Strict mode
1297
- var el = $('size-e');
1298
- var Size = goog.math.Size;
1299
- var setBorderBoxSize = goog.style.setBorderBoxSize;
1300
-
1301
- // Clean up
1302
- // style element has 100x100, no border and no padding
1303
- el.style.padding = '';
1304
- el.style.margin = '';
1305
- el.style.borderWidth = '';
1306
- el.style.width = '';
1307
- el.style.height = '';
1308
-
1309
- setBorderBoxSize(el, new Size(100, 100));
1310
-
1311
- assertEquals(100, el.offsetWidth);
1312
- assertEquals(100, el.offsetHeight);
1313
-
1314
- el.style.borderWidth = '10px';
1315
- setBorderBoxSize(el, new Size(100, 100));
1316
-
1317
- assertEquals('width:100px;border:10px', 100, el.offsetWidth);
1318
- assertEquals('height:100px;border:10px', 100, el.offsetHeight);
1319
-
1320
- el.style.padding = '10px';
1321
- setBorderBoxSize(el, new Size(100, 100));
1322
- assertEquals(100, el.offsetWidth);
1323
- assertEquals(100, el.offsetHeight);
1324
-
1325
- el.style.borderWidth = '0';
1326
- setBorderBoxSize(el, new Size(100, 100));
1327
- assertEquals(100, el.offsetWidth);
1328
- assertEquals(100, el.offsetHeight);
1329
-
1330
- if (goog.userAgent.GECKO) {
1331
- assertEquals('border-box', el.style.MozBoxSizing);
1332
- } else if (goog.userAgent.WEBKIT) {
1333
- assertEquals('border-box', el.style.WebkitBoxSizing);
1334
- } else if (goog.userAgent.OPERA) {
1335
- // opera doesnt expose this as a DOM property.
1336
- assertEquals('border-box', el.style.getPropertyValue('box-sizing'));
1337
- }
1338
- }
1339
-
1340
- function testSetContentBoxSize() {
1341
- // Strict mode
1342
- var el = $('size-e');
1343
- var Size = goog.math.Size;
1344
- var setContentBoxSize = goog.style.setContentBoxSize;
1345
-
1346
- // Clean up
1347
- // style element has 100x100, no border and no padding
1348
- el.style.padding = '';
1349
- el.style.margin = '';
1350
- el.style.borderWidth = '';
1351
- el.style.width = '';
1352
- el.style.height = '';
1353
-
1354
- setContentBoxSize(el, new Size(100, 100));
1355
-
1356
- assertEquals(100, el.offsetWidth);
1357
- assertEquals(100, el.offsetHeight);
1358
-
1359
- el.style.borderWidth = '10px';
1360
- setContentBoxSize(el, new Size(100, 100));
1361
- assertEquals('width:100px;border-width:10px', 120, el.offsetWidth);
1362
- assertEquals('height:100px;border-width:10px', 120, el.offsetHeight);
1363
-
1364
- el.style.padding = '10px';
1365
- setContentBoxSize(el, new Size(100, 100));
1366
- assertEquals('width:100px;border-width:10px;padding:10px',
1367
- 140, el.offsetWidth);
1368
- assertEquals('height:100px;border-width:10px;padding:10px',
1369
- 140, el.offsetHeight);
1370
-
1371
- el.style.borderWidth = '0';
1372
- setContentBoxSize(el, new Size(100, 100));
1373
- assertEquals('width:100px;padding:10px', 120, el.offsetWidth);
1374
- assertEquals('height:100px;padding:10px', 120, el.offsetHeight);
1375
-
1376
- if (goog.userAgent.GECKO) {
1377
- assertEquals('content-box', el.style.MozBoxSizing);
1378
- } else if (goog.userAgent.WEBKIT) {
1379
- assertEquals('content-box', el.style.WebkitBoxSizing);
1380
- } else if (goog.userAgent.OPERA) {
1381
- // opera doesnt expose this as a DOM property.
1382
- assertEquals('content-box', el.style.getPropertyValue('box-sizing'));
1383
- }
1384
- }
1385
-
1386
- function testGetPaddingBox() {
1387
- // Strict mode
1388
- var el = $('size-e');
1389
- var Size = goog.math.Size;
1390
- var getPaddingBox = goog.style.getPaddingBox;
1391
-
1392
- // Clean up
1393
- // style element has 100x100, no border and no padding
1394
- el.style.padding = '';
1395
- el.style.margin = '';
1396
- el.style.borderWidth = '';
1397
- el.style.width = '';
1398
- el.style.height = '';
1399
-
1400
- el.style.padding = '10px';
1401
- var rect = getPaddingBox(el);
1402
- assertEquals(10, rect.left);
1403
- assertEquals(10, rect.right);
1404
- assertEquals(10, rect.top);
1405
- assertEquals(10, rect.bottom);
1406
-
1407
- el.style.padding = '0';
1408
- rect = getPaddingBox(el);
1409
- assertEquals(0, rect.left);
1410
- assertEquals(0, rect.right);
1411
- assertEquals(0, rect.top);
1412
- assertEquals(0, rect.bottom);
1413
-
1414
- el.style.padding = '1px 2px 3px 4px';
1415
- rect = getPaddingBox(el);
1416
- assertEquals(1, rect.top);
1417
- assertEquals(2, rect.right);
1418
- assertEquals(3, rect.bottom);
1419
- assertEquals(4, rect.left);
1420
-
1421
- el.style.padding = '1mm 2em 3ex 4%';
1422
- rect = getPaddingBox(el);
1423
- assertFalse(isNaN(rect.top));
1424
- assertFalse(isNaN(rect.right));
1425
- assertFalse(isNaN(rect.bottom));
1426
- assertFalse(isNaN(rect.left));
1427
- assertTrue(rect.top >= 0);
1428
- assertTrue(rect.right >= 0);
1429
- assertTrue(rect.bottom >= 0);
1430
- assertTrue(rect.left >= 0);
1431
- }
1432
-
1433
- function testGetMarginBox() {
1434
- // Strict mode
1435
- var el = $('size-e');
1436
- var Size = goog.math.Size;
1437
- var getMarginBox = goog.style.getMarginBox;
1438
-
1439
- // Clean up
1440
- // style element has 100x100, no border and no padding
1441
- el.style.padding = '';
1442
- el.style.margin = '';
1443
- el.style.borderWidth = '';
1444
- el.style.width = '';
1445
- el.style.height = '';
1446
-
1447
- el.style.margin = '10px';
1448
- var rect = getMarginBox(el);
1449
- assertEquals(10, rect.left);
1450
- // In webkit the right margin is the calculated distance from right edge and
1451
- // not the computed right margin so it is not reliable.
1452
- // See https://bugs.webkit.org/show_bug.cgi?id=19828
1453
- if (!goog.userAgent.WEBKIT) {
1454
- assertEquals(10, rect.right);
1455
- }
1456
- assertEquals(10, rect.top);
1457
- assertEquals(10, rect.bottom);
1458
-
1459
- el.style.margin = '0';
1460
- rect = getMarginBox(el);
1461
- assertEquals(0, rect.left);
1462
- // In webkit the right margin is the calculated distance from right edge and
1463
- // not the computed right margin so it is not reliable.
1464
- // See https://bugs.webkit.org/show_bug.cgi?id=19828
1465
- if (!goog.userAgent.WEBKIT) {
1466
- assertEquals(0, rect.right);
1467
- }
1468
- assertEquals(0, rect.top);
1469
- assertEquals(0, rect.bottom);
1470
-
1471
- el.style.margin = '1px 2px 3px 4px';
1472
- rect = getMarginBox(el);
1473
- assertEquals(1, rect.top);
1474
- // In webkit the right margin is the calculated distance from right edge and
1475
- // not the computed right margin so it is not reliable.
1476
- // See https://bugs.webkit.org/show_bug.cgi?id=19828
1477
- if (!goog.userAgent.WEBKIT) {
1478
- assertEquals(2, rect.right);
1479
- }
1480
- assertEquals(3, rect.bottom);
1481
- assertEquals(4, rect.left);
1482
-
1483
- el.style.margin = '1mm 2em 3ex 4%';
1484
- rect = getMarginBox(el);
1485
- assertFalse(isNaN(rect.top));
1486
- assertFalse(isNaN(rect.right));
1487
- assertFalse(isNaN(rect.bottom));
1488
- assertFalse(isNaN(rect.left));
1489
- assertTrue(rect.top >= 0);
1490
- // In webkit the right margin is the calculated distance from right edge and
1491
- // not the computed right margin so it is not reliable.
1492
- // See https://bugs.webkit.org/show_bug.cgi?id=19828
1493
- if (!goog.userAgent.WEBKIT) {
1494
- assertTrue(rect.right >= 0);
1495
- }
1496
- assertTrue(rect.bottom >= 0);
1497
- assertTrue(rect.left >= 0);
1498
- }
1499
-
1500
- function testGetBorderBox() {
1501
- // Strict mode
1502
- var el = $('size-e');
1503
- var Size = goog.math.Size;
1504
- var getBorderBox = goog.style.getBorderBox;
1505
-
1506
- // Clean up
1507
- // style element has 100x100, no border and no padding
1508
- el.style.padding = '';
1509
- el.style.margin = '';
1510
- el.style.borderWidth = '';
1511
- el.style.width = '';
1512
- el.style.height = '';
1513
-
1514
- el.style.borderWidth = '10px';
1515
- var rect = getBorderBox(el);
1516
- assertEquals(10, rect.left);
1517
- assertEquals(10, rect.right);
1518
- assertEquals(10, rect.top);
1519
- assertEquals(10, rect.bottom);
1520
-
1521
- el.style.borderWidth = '0';
1522
- rect = getBorderBox(el);
1523
- assertEquals(0, rect.left);
1524
- assertEquals(0, rect.right);
1525
- assertEquals(0, rect.top);
1526
- assertEquals(0, rect.bottom);
1527
-
1528
- el.style.borderWidth = '1px 2px 3px 4px';
1529
- rect = getBorderBox(el);
1530
- assertEquals(1, rect.top);
1531
- assertEquals(2, rect.right);
1532
- assertEquals(3, rect.bottom);
1533
- assertEquals(4, rect.left);
1534
-
1535
- // % does not work for border widths in IE
1536
- el.style.borderWidth = '1mm 2em 3ex 4pt';
1537
- rect = getBorderBox(el);
1538
- assertFalse(isNaN(rect.top));
1539
- assertFalse(isNaN(rect.right));
1540
- assertFalse(isNaN(rect.bottom));
1541
- assertFalse(isNaN(rect.left));
1542
- assertTrue(rect.top >= 0);
1543
- assertTrue(rect.right >= 0);
1544
- assertTrue(rect.bottom >= 0);
1545
- assertTrue(rect.left >= 0);
1546
-
1547
- el.style.borderWidth = 'thin medium thick 1px';
1548
- rect = getBorderBox(el);
1549
- assertFalse(isNaN(rect.top));
1550
- assertFalse(isNaN(rect.right));
1551
- assertFalse(isNaN(rect.bottom));
1552
- assertFalse(isNaN(rect.left));
1553
- assertTrue(rect.top >= 0);
1554
- assertTrue(rect.right >= 0);
1555
- assertTrue(rect.bottom >= 0);
1556
- assertTrue(rect.left >= 0);
1557
- }
1558
-
1559
- function testGetFontFamily() {
1560
- // I tried to use common fonts for these tests. It's possible the test fails
1561
- // because the testing platform doesn't have one of these fonts installed:
1562
- // Comic Sans MS or Century Schoolbook L
1563
- // Times
1564
- // Helvetica
1565
-
1566
- var tmpFont = goog.style.getFontFamily($('font-tag'));
1567
- assertTrue('FontFamily should be detectable when set via <font face>',
1568
- 'Times' == tmpFont || 'Times New Roman' == tmpFont);
1569
- tmpFont = goog.style.getFontFamily($('small-text'));
1570
- assertTrue('Multiword fonts should be reported with quotes stripped.',
1571
- 'Comic Sans MS' == tmpFont ||
1572
- 'Century Schoolbook L' == tmpFont);
1573
- // Firefox fails this test & retuns a generic 'monospace' instead of the
1574
- // actually displayed font (e.g., "Times New").
1575
- //tmpFont = goog.style.getFontFamily($('pre-font'));
1576
- //assertEquals('<pre> tags should use a fixed-width font',
1577
- // 'Times New',
1578
- // tmpFont);
1579
- tmpFont = goog.style.getFontFamily($('inherit-font'));
1580
- assertEquals('Explicitly inherited fonts should be detectable',
1581
- 'Helvetica',
1582
- tmpFont);
1583
- tmpFont = goog.style.getFontFamily($('times-font-family'));
1584
- assertEquals('Font-family set via style attribute should be detected',
1585
- 'Times',
1586
- tmpFont);
1587
- tmpFont = goog.style.getFontFamily($('bold-font'));
1588
- assertEquals('Implicitly inherited font should be detected',
1589
- 'Helvetica',
1590
- tmpFont);
1591
- tmpFont = goog.style.getFontFamily($('css-html-tag-redefinition'));
1592
- assertEquals('HTML tag CSS rewrites should be detected',
1593
- 'Times',
1594
- tmpFont);
1595
- tmpFont = goog.style.getFontFamily($('no-text-font-styles'));
1596
- assertEquals('Font family should exist even with no text',
1597
- 'Helvetica',
1598
- tmpFont);
1599
- tmpFont = goog.style.getFontFamily($('icon-font'));
1600
- assertNotEquals('icon is a special font-family value',
1601
- 'icon',
1602
- tmpFont.toLowerCase());
1603
- tmpFont = goog.style.getFontFamily($('font-style-badfont'));
1604
- // Firefox fails this test and reports the specified "badFont", which is
1605
- // obviously not displayed.
1606
- //assertEquals('Invalid fonts should not be returned',
1607
- // 'Helvetica',
1608
- // tmpFont);
1609
- tmpFont = goog.style.getFontFamily($('img-font-test'));
1610
- assertTrue('Even img tags should inherit the document body\'s font',
1611
- tmpFont != '');
1612
- tmpFont = goog.style.getFontFamily($('nested-font'));
1613
- assertEquals('An element with nested content should be unaffected.',
1614
- 'Arial',
1615
- tmpFont);
1616
- }
1617
-
1618
- function testGetFontSize() {
1619
- assertEquals('Font size should be determined even without any text',
1620
- 30,
1621
- goog.style.getFontSize($('no-text-font-styles')));
1622
- assertEquals('A 5em font should be 5x larger than its parent.',
1623
- 150,
1624
- goog.style.getFontSize($('css-html-tag-redefinition')));
1625
- assertTrue('Setting font size=-1 should result in a positive font size.',
1626
- goog.style.getFontSize($('font-tag')) > 0);
1627
- assertEquals('Inheriting a 50% font-size should have no additional effect',
1628
- goog.style.getFontSize($('font-style-badfont')),
1629
- goog.style.getFontSize($('inherit-50pct-font')));
1630
- assertTrue('In pretty much any display, 3in should be > 8px',
1631
- goog.style.getFontSize($('times-font-family')) >
1632
- goog.style.getFontSize($('no-text-font-styles')));
1633
- assertTrue('With no applied styles, font-size should still be defined.',
1634
- goog.style.getFontSize($('no-font-style')) > 0);
1635
- assertEquals('50% of 30px is 15',
1636
- 15,
1637
- goog.style.getFontSize($('font-style-badfont')));
1638
- assertTrue('x-small text should be smaller than small text',
1639
- goog.style.getFontSize($('x-small-text')) <
1640
- goog.style.getFontSize($('small-text')));
1641
- // IE fails this test, the decimal portion of px lengths isn't reported
1642
- // by getCascadedStyle. Firefox passes, but only because it ignores the
1643
- // decimals altogether.
1644
- //assertEquals('12.5px should be the same as 0.5em nested in a 25px node.',
1645
- // goog.style.getFontSize($('font-size-12-point-5-px')),
1646
- // goog.style.getFontSize($('font-size-50-pct-of-25-px')));
1647
-
1648
- assertEquals('Font size should not doubly count em values',
1649
- 2, goog.style.getFontSize($('em-font-size')));
1650
- }
1651
-
1652
- function testGetLengthUnits() {
1653
- assertEquals('px', goog.style.getLengthUnits('15px'));
1654
- assertEquals('%', goog.style.getLengthUnits('99%'));
1655
- assertNull(goog.style.getLengthUnits(''));
1656
- }
1657
-
1658
- function testParseStyleAttribute() {
1659
- var css = 'left: 0px; text-align: center';
1660
- var expected = {'left': '0px', 'textAlign': 'center'};
1661
-
1662
- assertObjectEquals(expected, goog.style.parseStyleAttribute(css));
1663
- }
1664
-
1665
- function testToStyleAttribute() {
1666
- var object = {'left': '0px', 'textAlign': 'center'};
1667
- var expected = 'left:0px;text-align:center;';
1668
-
1669
- assertEquals(expected, goog.style.toStyleAttribute(object));
1670
- }
1671
-
1672
- function testStyleAttributePassthrough() {
1673
- var object = {'left': '0px', 'textAlign': 'center'};
1674
-
1675
- assertObjectEquals(object,
1676
- goog.style.parseStyleAttribute(goog.style.toStyleAttribute(object)));
1677
- }
1678
-
1679
- function testGetFloat() {
1680
- assertEquals('', goog.style.getFloat($('no-float')));
1681
- assertEquals('none', goog.style.getFloat($('float-none')));
1682
- assertEquals('left', goog.style.getFloat($('float-left')));
1683
- }
1684
-
1685
- function testSetFloat() {
1686
- var el = $('float-test');
1687
-
1688
- goog.style.setFloat(el, 'left');
1689
- assertEquals('left', goog.style.getFloat(el));
1690
-
1691
- goog.style.setFloat(el, 'right');
1692
- assertEquals('right', goog.style.getFloat(el));
1693
-
1694
- goog.style.setFloat(el, 'none');
1695
- assertEquals('none', goog.style.getFloat(el));
1696
-
1697
- goog.style.setFloat(el, '');
1698
- assertEquals('', goog.style.getFloat(el));
1699
- }
1700
-
1701
- function testIsElementShown() {
1702
- var el = $('testEl');
1703
-
1704
- goog.style.showElement(el, false);
1705
- assertFalse(goog.style.isElementShown(el));
1706
-
1707
- goog.style.showElement(el, true);
1708
- assertTrue(goog.style.isElementShown(el));
1709
- }
1710
-
1711
- function testGetOpacity() {
1712
- var el1 = {
1713
- style: {
1714
- opacity: '0.3'
1715
- }
1716
- };
1717
-
1718
- var el2 = {
1719
- style: {
1720
- MozOpacity: '0.1'
1721
- }
1722
- };
1723
-
1724
- var el3 = {
1725
- style: {
1726
- filter: 'some:other,filter;alpha(opacity=25.5);alpha(more=100);'
1727
- }
1728
- };
1729
-
1730
- assertEquals(0.3, goog.style.getOpacity(el1));
1731
- assertEquals(0.1, goog.style.getOpacity(el2));
1732
- assertEquals(0.255, goog.style.getOpacity(el3));
1733
-
1734
- el1.style.opacity = '0';
1735
- el2.style.MozOpacity = '0';
1736
- el3.style.filter = 'some:other,filter;alpha(opacity=0);alpha(more=100);';
1737
-
1738
- assertEquals(0, goog.style.getOpacity(el1));
1739
- assertEquals(0, goog.style.getOpacity(el2));
1740
- assertEquals(0, goog.style.getOpacity(el3));
1741
-
1742
- el1.style.opacity = '';
1743
- el2.style.MozOpacity = '';
1744
- el3.style.filter = '';
1745
-
1746
- assertEquals('', goog.style.getOpacity(el1));
1747
- assertEquals('', goog.style.getOpacity(el2));
1748
- assertEquals('', goog.style.getOpacity(el3));
1749
-
1750
- var el4 = {
1751
- style: {}
1752
- }
1753
-
1754
- assertEquals('', goog.style.getOpacity(el4));
1755
- assertEquals('', goog.style.getOpacity($('test-opacity')));
1756
- }
1757
-
1758
- function testSetOpacity() {
1759
- var el1 = {
1760
- style: {
1761
- opacity: '0.3'
1762
- }
1763
- };
1764
- goog.style.setOpacity(el1, 0.8);
1765
-
1766
- var el2 = {
1767
- style: {
1768
- MozOpacity: '0.1'
1769
- }
1770
- };
1771
- goog.style.setOpacity(el2, 0.5);
1772
-
1773
- var el3 = {
1774
- style: {
1775
- filter: 'alpha(opacity=25)'
1776
- }
1777
- };
1778
- goog.style.setOpacity(el3, 0.1);
1779
-
1780
- assertEquals(0.8, Number(el1.style.opacity));
1781
- assertEquals(0.5, Number(el2.style.MozOpacity));
1782
- assertEquals('alpha(opacity=10)', el3.style.filter);
1783
-
1784
- goog.style.setOpacity(el1, 0);
1785
- goog.style.setOpacity(el2, 0);
1786
- goog.style.setOpacity(el3, 0);
1787
-
1788
- assertEquals(0, Number(el1.style.opacity));
1789
- assertEquals(0, Number(el2.style.MozOpacity));
1790
- assertEquals('alpha(opacity=0)', el3.style.filter);
1791
-
1792
- goog.style.setOpacity(el1, '');
1793
- goog.style.setOpacity(el2, '');
1794
- goog.style.setOpacity(el3, '');
1795
-
1796
- assertEquals('', el1.style.opacity);
1797
- assertEquals('', el2.style.MozOpacity);
1798
- assertEquals('', el3.style.filter);
1799
- }
1800
-
1801
- function testFramedPageOffset() {
1802
- // Set up a complicated iframe ancestor chain.
1803
- var iframe = goog.dom.getElement('test-frame-offset');
1804
- var iframeDoc = goog.dom.getFrameContentDocument(iframe);
1805
- var iframeWindow = goog.dom.getWindow(iframeDoc);
1806
-
1807
- var iframePos = 'style="display:block;position:absolute;' +
1808
- 'top:50px;left:50px;width:50px;height:50px;"';
1809
- iframeDoc.write('<iframe id="test-frame-offset-2" ' +
1810
- iframePos + '></iframe>' +
1811
- '<div id="test-element-2" ' +
1812
- ' style="position:absolute;left:300px;top:300px">hi mom!</div>');
1813
- iframeDoc.close();
1814
- var iframe2 = iframeDoc.getElementById('test-frame-offset-2');
1815
- var testElement2 = iframeDoc.getElementById('test-element-2');
1816
- var iframeDoc2 = goog.dom.getFrameContentDocument(iframe2);
1817
- var iframeWindow2 = goog.dom.getWindow(iframeDoc2);
1818
-
1819
- iframeDoc2.write(
1820
- '<div id="test-element-3" ' +
1821
- ' style="position:absolute;left:500px;top:500px">hi mom!</div>');
1822
- iframeDoc2.close();
1823
- var testElement3 = iframeDoc2.getElementById('test-element-3');
1824
-
1825
- assertCoordinateApprox(300, 300, 0,
1826
- goog.style.getPageOffset(testElement2));
1827
- assertCoordinateApprox(500, 500, 0,
1828
- goog.style.getPageOffset(testElement3));
1829
-
1830
- assertCoordinateApprox(350, 350, 0,
1831
- goog.style.getFramedPageOffset(testElement2, window));
1832
- assertCoordinateApprox(300, 300, 0,
1833
- goog.style.getFramedPageOffset(testElement2, iframeWindow));
1834
-
1835
- assertCoordinateApprox(600, 600, 0,
1836
- goog.style.getFramedPageOffset(testElement3, window));
1837
- assertCoordinateApprox(550, 550, 0,
1838
- goog.style.getFramedPageOffset(testElement3, iframeWindow));
1839
- assertCoordinateApprox(500, 500, 0,
1840
- goog.style.getFramedPageOffset(testElement3, iframeWindow2));
1841
-
1842
- // Scroll the iframes a bit.
1843
- window.scrollBy(0, 5);
1844
- iframeWindow.scrollBy(0, 11);
1845
- iframeWindow2.scrollBy(0, 18);
1846
-
1847
- // On Firefox 2, scrolling inner iframes causes off by one errors
1848
- // in the page position, because we're using screen coords to compute them.
1849
- assertCoordinateApprox(300, 300, 2,
1850
- goog.style.getPageOffset(testElement2));
1851
- assertCoordinateApprox(500, 500, 2,
1852
- goog.style.getPageOffset(testElement3));
1853
-
1854
- assertCoordinateApprox(350, 350 - 11, 2,
1855
- goog.style.getFramedPageOffset(testElement2, window));
1856
- assertCoordinateApprox(300, 300, 2,
1857
- goog.style.getFramedPageOffset(testElement2, iframeWindow));
1858
-
1859
- assertCoordinateApprox(600, 600 - 18 - 11, 2,
1860
- goog.style.getFramedPageOffset(testElement3, window));
1861
- assertCoordinateApprox(550, 550 - 18, 2,
1862
- goog.style.getFramedPageOffset(testElement3, iframeWindow));
1863
- assertCoordinateApprox(500, 500, 2,
1864
- goog.style.getFramedPageOffset(testElement3, iframeWindow2));
1865
- }
1866
-
1867
- /**
1868
- * Asserts that the coordinate is approximately equal to the given
1869
- * x and y coordinates, give or take delta.
1870
- */
1871
- function assertCoordinateApprox(x, y, delta, coord) {
1872
- assertTrue('Expected x: ' + x + ', actual x: ' + coord.x,
1873
- coord.x >= x - delta && coord.x <= x + delta);
1874
- assertTrue('Expected y: ' + y + ', actual y: ' + coord.y,
1875
- coord.y >= y - delta && coord.y <= y + delta);
1876
- }
1877
-
1878
- function testTranslateRectForAnotherFrame() {
1879
- var rect = new goog.math.Rect(1, 2, 3, 4);
1880
- var thisDom = goog.dom.getDomHelper();
1881
- goog.style.translateRectForAnotherFrame(rect, thisDom, thisDom);
1882
- assertEquals(1, rect.left);
1883
- assertEquals(2, rect.top);
1884
- assertEquals(3, rect.width);
1885
- assertEquals(4, rect.height);
1886
-
1887
- var iframe = $('test-translate-frame-standard');
1888
- var iframeDoc = goog.dom.getFrameContentDocument(iframe);
1889
- var iframeDom = goog.dom.getDomHelper(iframeDoc);
1890
- // Cannot rely on iframe starting at origin.
1891
- iframeDom.getWindow().scrollTo(0, 0);
1892
- // iframe is at (100, 150) and its body is not scrolled.
1893
- rect = new goog.math.Rect(1, 2, 3, 4);
1894
- goog.style.translateRectForAnotherFrame(rect, iframeDom, thisDom);
1895
- assertEquals(1 + 100, rect.left);
1896
- assertEquals(2 + 150, rect.top);
1897
- assertEquals(3, rect.width);
1898
- assertEquals(4, rect.height);
1899
-
1900
- iframeDom.getWindow().scrollTo(11, 13);
1901
- rect = new goog.math.Rect(1, 2, 3, 4);
1902
- goog.style.translateRectForAnotherFrame(rect, iframeDom, thisDom);
1903
- assertEquals(1 + 100 - 11, rect.left);
1904
- assertEquals(2 + 150 - 13, rect.top);
1905
- assertEquals(3, rect.width);
1906
- assertEquals(4, rect.height);
1907
-
1908
- iframe = $('test-translate-frame-quirk');
1909
- iframeDoc = goog.dom.getFrameContentDocument(iframe);
1910
- iframeDom = goog.dom.getDomHelper(iframeDoc);
1911
- // Cannot rely on iframe starting at origin.
1912
- iframeDom.getWindow().scrollTo(0, 0);
1913
- // iframe is at (100, 350) and its body is not scrolled.
1914
- rect = new goog.math.Rect(1, 2, 3, 4);
1915
- goog.style.translateRectForAnotherFrame(rect, iframeDom, thisDom);
1916
- assertEquals(1 + 100, rect.left);
1917
- assertEquals(2 + 350, rect.top);
1918
- assertEquals(3, rect.width);
1919
- assertEquals(4, rect.height);
1920
-
1921
- iframeDom.getWindow().scrollTo(11, 13);
1922
- rect = new goog.math.Rect(1, 2, 3, 4);
1923
- goog.style.translateRectForAnotherFrame(rect, iframeDom, thisDom);
1924
- assertEquals(1 + 100 - 11, rect.left);
1925
- assertEquals(2 + 350 - 13, rect.top);
1926
- assertEquals(3, rect.width);
1927
- assertEquals(4, rect.height);
1928
- };
1929
-
1930
- function testGetVisibleRectForElement() {
1931
- var container = goog.dom.getElement('test-visible');
1932
- var el = goog.dom.getElement('test-visible-el');
1933
- var dom = goog.dom.getDomHelper(el);
1934
- var winScroll = dom.getDocumentScroll();
1935
- var winSize = dom.getViewportSize();
1936
-
1937
- // Skip this test if the window size is small. Firefox3/Linux in Selenium
1938
- // sometimes fails without this check.
1939
- if (winSize.width < 20 || winSize.height < 20) {
1940
- return;
1941
- }
1942
-
1943
- // Move the container element to the window's viewport.
1944
- var h = winSize.height < 100 ? winSize.height / 2 : 100;
1945
- goog.style.setSize(container, winSize.width / 2, h);
1946
- goog.style.setPosition(container, 8, winScroll.y + winSize.height - h);
1947
- var visible = goog.style.getVisibleRectForElement(el);
1948
- var bounds = goog.style.getBounds(container);
1949
- // VisibleRect == Bounds rect of the offsetParent
1950
- assertNotNull(visible);
1951
- assertEquals(bounds.left, visible.left);
1952
- assertEquals(bounds.top, visible.top);
1953
- assertEquals(bounds.left + bounds.width, visible.right);
1954
- assertEquals(bounds.top + bounds.height, visible.bottom);
1955
-
1956
- // Move a part of the container element to outside of the viewpoert.
1957
- goog.style.setPosition(container, 8, winScroll.y + winSize.height - h / 2);
1958
- visible = goog.style.getVisibleRectForElement(el);
1959
- bounds = goog.style.getBounds(container);
1960
- // Confirm VisibleRect == Intersection of the bounds rect of the
1961
- // offsetParent and the viewport.
1962
- assertNotNull(visible);
1963
- assertEquals(bounds.left, visible.left);
1964
- assertEquals(bounds.top, visible.top);
1965
- assertEquals(bounds.left + bounds.width, visible.right);
1966
- assertEquals(winScroll.y + winSize.height, visible.bottom);
1967
-
1968
- // Move the container element to outside of the viewpoert.
1969
- goog.style.setPosition(container, 8, winScroll.y + winSize.height);
1970
- visible = goog.style.getVisibleRectForElement(el);
1971
- assertNull(visible);
1972
-
1973
- // Test the case with body element of height 0
1974
- var iframe = goog.dom.getElement('test-visible-frame');
1975
- var iframeDoc = goog.dom.getFrameContentDocument(iframe);
1976
- el = iframeDoc.getElementById('test-visible');
1977
- visible = goog.style.getVisibleRectForElement(el);
1978
- // Just check whether it is not null, which means non-zero height
1979
- assertNotNull(visible);
1980
- };
1981
-
1982
- function testGeckoMacOrX11RoundPosition() {
1983
- if ((goog.userAgent.MAC || goog.userAgent.X11) && goog.userAgent.GECKO &&
1984
- goog.userAgent.isVersion('1.9')) {
1985
-
1986
- var pos = new goog.math.Coordinate(1.5, 1.4);
1987
- var el = document.createElement('div');
1988
- goog.style.setPosition(el, pos);
1989
- assertEquals('The left position should have been rounded',
1990
- '2px', el.style.left);
1991
- assertEquals('The top position should have been rounded',
1992
- '1px', el.style.top);
1993
- }
1994
- }
1995
-
1996
- function testScrollIntoContainerView() {
1997
- var container = goog.dom.getElement('scrollable-container');
1998
-
1999
- // Scroll the minimum amount to make the elements visible.
2000
- goog.style.scrollIntoContainerView(goog.dom.getElement('item7'), container);
2001
- assertEquals('scroll to item7', 115, container.scrollTop);
2002
- goog.style.scrollIntoContainerView(goog.dom.getElement('item8'), container);
2003
- assertEquals('scroll to item8', 148, container.scrollTop);
2004
- goog.style.scrollIntoContainerView(goog.dom.getElement('item7'), container);
2005
- assertEquals('item7 still visible', 148, container.scrollTop);
2006
- goog.style.scrollIntoContainerView(goog.dom.getElement('item1'), container);
2007
- assertEquals('scroll to item1', 17, container.scrollTop);
2008
-
2009
- // Center the element in the first argument.
2010
- goog.style.scrollIntoContainerView(
2011
- goog.dom.getElement('item1'), container, true);
2012
- assertEquals('center item1', 0, container.scrollTop);
2013
- goog.style.scrollIntoContainerView(
2014
- goog.dom.getElement('item4'), container, true);
2015
- assertEquals('center item4', 66, container.scrollTop);
2016
-
2017
- // The element is higher than the container.
2018
- goog.dom.getElement('item3').style.height = '140px';
2019
- goog.style.scrollIntoContainerView(goog.dom.getElement('item3'), container);
2020
- assertEquals('show item3 with increased height', 83, container.scrollTop);
2021
- goog.style.scrollIntoContainerView(
2022
- goog.dom.getElement('item3'), container, true);
2023
- assertEquals('center item3 with increased height', 93, container.scrollTop);
2024
- goog.dom.getElement('item3').style.height = '';
2025
-
2026
- // Scroll to non-integer position.
2027
- goog.dom.getElement('item4').style.height = '21px';
2028
- goog.style.scrollIntoContainerView(
2029
- goog.dom.getElement('item4'), container, true);
2030
- assertEquals('scroll position is rounded down', 66, container.scrollTop);
2031
- goog.dom.getElement('item4').style.height = '';
2032
- }
2033
-
2034
- function testScrollBarWidth() {
2035
- var width = goog.style.getScrollbarWidth();
2036
- assertTrue(width > 0);
2037
-
2038
- var outer = goog.dom.getElement('test-scrollbarwidth');
2039
- var inner = goog.dom.getElementsByTagNameAndClass('div', null, outer)[0];
2040
- assertTrue('should have a scroll bar', hasVerticalScroll(outer));
2041
- assertTrue('should have a scroll bar', hasHorizontalScroll(outer));
2042
-
2043
- // Get the inner div absolute width
2044
- goog.style.setStyle(outer, 'width', '100%');
2045
- assertTrue('should have a scroll bar', hasVerticalScroll(outer));
2046
- assertFalse('should not have a scroll bar', hasHorizontalScroll(outer));
2047
- var innerAbsoluteWidth = inner.offsetWidth;
2048
-
2049
- // Leave the vertical scroll and remove the horizontal by using the scroll
2050
- // bar width calculation.
2051
- goog.style.setStyle(outer, 'width',
2052
- (innerAbsoluteWidth + width) + 'px');
2053
- assertTrue('should have a scroll bar', hasVerticalScroll(outer));
2054
- assertFalse('should not have a scroll bar', hasHorizontalScroll(outer));
2055
-
2056
- // verify by adding 1 more pixel (brings back the vertical scroll bar).
2057
- goog.style.setStyle(outer, 'width',
2058
- (innerAbsoluteWidth + width - 1) + 'px');
2059
- assertTrue('should have a scroll bar', hasVerticalScroll(outer));
2060
- assertTrue('should have a scroll bar', hasHorizontalScroll(outer));
2061
- }
2062
-
2063
- function hasVerticalScroll(el) {
2064
- return el.clientWidth != 0 && el.offsetWidth - el.clientWidth > 0;
2065
- }
2066
-
2067
- function hasHorizontalScroll(el) {
2068
- return el.clientHeight != 0 && el.offsetHeight - el.clientHeight > 0;
2069
- }
2070
- </script>
2071
-
2072
- </body>
2073
- </html>