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,1776 +0,0 @@
1
- // Copyright 2006 The Closure Library Authors. All Rights Reserved.
2
- //
3
- // Licensed under the Apache License, Version 2.0 (the "License");
4
- // you may not use this file except in compliance with the License.
5
- // You may obtain a copy of the License at
6
- //
7
- // http://www.apache.org/licenses/LICENSE-2.0
8
- //
9
- // Unless required by applicable law or agreed to in writing, software
10
- // distributed under the License is distributed on an "AS-IS" BASIS,
11
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- // See the License for the specific language governing permissions and
13
- // limitations under the License.
14
-
15
- /**
16
- * @fileoverview Class for showing simple modal dialog boxes.
17
- *
18
- * TODO(user):
19
- * * Standardize CSS class names with other components
20
- * * Add functionality to "host" other components in content area
21
- * * Abstract out ButtonSet and make it more general
22
- * @see ../demos/dialog.html
23
- */
24
-
25
- goog.provide('goog.ui.Dialog');
26
- goog.provide('goog.ui.Dialog.ButtonSet');
27
- goog.provide('goog.ui.Dialog.ButtonSet.DefaultButtons');
28
- goog.provide('goog.ui.Dialog.DefaultButtonCaptions');
29
- goog.provide('goog.ui.Dialog.DefaultButtonKeys');
30
- goog.provide('goog.ui.Dialog.Event');
31
- goog.provide('goog.ui.Dialog.EventType');
32
-
33
- goog.require('goog.Timer');
34
- goog.require('goog.dom');
35
- goog.require('goog.dom.NodeType');
36
- goog.require('goog.dom.TagName');
37
- goog.require('goog.dom.a11y');
38
- goog.require('goog.dom.classes');
39
- goog.require('goog.dom.iframe');
40
- goog.require('goog.events');
41
- goog.require('goog.events.EventType');
42
- goog.require('goog.events.FocusHandler');
43
- goog.require('goog.events.KeyCodes');
44
- goog.require('goog.fx.Dragger');
45
- goog.require('goog.math.Rect');
46
- goog.require('goog.structs');
47
- goog.require('goog.structs.Map');
48
- goog.require('goog.style');
49
- goog.require('goog.ui.Component');
50
- goog.require('goog.userAgent');
51
-
52
-
53
-
54
- /**
55
- * Class for showing simple dialog boxes.
56
- * The Html structure of the dialog box is:
57
- * <pre>
58
- * Element Function Class-name, modal-dialog = default
59
- * ----------------------------------------------------------------------------
60
- * - iframe Iframe mask modal-dialog-bg
61
- * - div Background mask modal-dialog-bg
62
- * - div Dialog area modal-dialog
63
- * - div Title bar modal-dialog-title
64
- * - span modal-dialog-title-text
65
- * - text Title text N/A
66
- * - span modal-dialog-title-close
67
- * - ?? Close box N/A
68
- * - div Content area modal-dialog-content
69
- * - ?? User specified content N/A
70
- * - div Button area modal-dialog-buttons
71
- * - button N/A
72
- * - button
73
- * - ...
74
- * </pre>
75
- * @constructor
76
- * @param {string=} opt_class CSS class name for the dialog element, also used
77
- * as a class name prefix for related elements; defaults to modal-dialog.
78
- * @param {boolean=} opt_useIframeMask Work around windowed controls z-index
79
- * issue by using an iframe instead of a div for bg element.
80
- * @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper; see {@link
81
- * goog.ui.Component} for semantics.
82
- * @extends {goog.ui.Component}
83
- */
84
- goog.ui.Dialog = function(opt_class, opt_useIframeMask, opt_domHelper) {
85
- goog.ui.Component.call(this, opt_domHelper);
86
-
87
- /**
88
- * CSS class name for the dialog element, also used as a class name prefix for
89
- * related elements. Defaults to goog.getCssName('modal-dialog').
90
- * @type {string}
91
- * @private
92
- */
93
- this.class_ = opt_class || goog.getCssName('modal-dialog');
94
-
95
- this.useIframeMask_ = !!opt_useIframeMask;
96
-
97
- // Set the default button set to show ok and cancel
98
- this.buttons_ = goog.ui.Dialog.ButtonSet.createOkCancel();
99
- };
100
- goog.inherits(goog.ui.Dialog, goog.ui.Component);
101
-
102
-
103
- /**
104
- * Focus handler. It will be initialized in enterDocument.
105
- * @type {goog.events.FocusHandler}
106
- * @private
107
- */
108
- goog.ui.Dialog.prototype.focusHandler_ = null;
109
-
110
-
111
- /**
112
- * Whether the escape key closes this dialog.
113
- * @type {boolean}
114
- * @private
115
- */
116
- goog.ui.Dialog.prototype.escapeToCancel_ = true;
117
-
118
-
119
- /**
120
- * Whether this dialog should include a title close button.
121
- * @type {boolean}
122
- * @private
123
- */
124
- goog.ui.Dialog.prototype.hasTitleCloseButton_ = true;
125
-
126
-
127
- /**
128
- * Whether the dialog should use an iframe as the background element to work
129
- * around z-order issues. Defaults to false.
130
- * @type {boolean}
131
- * @private
132
- */
133
- goog.ui.Dialog.prototype.useIframeMask_ = false;
134
-
135
-
136
- /**
137
- * Whether the dialog is modal. Defaults to true.
138
- * @type {boolean}
139
- * @private
140
- */
141
- goog.ui.Dialog.prototype.modal_ = true;
142
-
143
-
144
- /**
145
- * Whether the dialog is draggable. Defaults to true.
146
- * @type {boolean}
147
- * @private
148
- */
149
- goog.ui.Dialog.prototype.draggable_ = true;
150
-
151
-
152
- /**
153
- * Opacity for background mask. Defaults to 50%.
154
- * @type {number}
155
- * @private
156
- */
157
- goog.ui.Dialog.prototype.backgroundElementOpacity_ = 0.50;
158
-
159
-
160
- /**
161
- * Dialog's title.
162
- * @type {string}
163
- * @private
164
- */
165
- goog.ui.Dialog.prototype.title_ = '';
166
-
167
-
168
- /**
169
- * Dialog's content (HTML).
170
- * @type {string}
171
- * @private
172
- */
173
- goog.ui.Dialog.prototype.content_ = '';
174
-
175
-
176
- /**
177
- * Button set. Default: Ok/Cancel.
178
- * @type {goog.ui.Dialog.ButtonSet?}
179
- * @private
180
- */
181
- goog.ui.Dialog.prototype.buttons_ = null;
182
-
183
-
184
- /**
185
- * Dragger.
186
- * @type {?goog.fx.Dragger}
187
- * @private
188
- */
189
- goog.ui.Dialog.prototype.dragger_ = null;
190
-
191
-
192
- /**
193
- * Whether dialog is visible.
194
- * @type {boolean}
195
- * @private
196
- */
197
- goog.ui.Dialog.prototype.visible_ = false;
198
-
199
-
200
- /**
201
- * Whether the dialog should be disposed when it is hidden.
202
- * @type {boolean}
203
- * @private
204
- */
205
- goog.ui.Dialog.prototype.disposeOnHide_ = false;
206
-
207
-
208
- /**
209
- * Element for the background which obscures the UI and blocks events.
210
- * @type {Element}
211
- * @private
212
- */
213
- goog.ui.Dialog.prototype.bgEl_ = null;
214
-
215
-
216
- /**
217
- * Iframe element that is only used for IE as a workaround to keep select-type
218
- * elements from burning through background.
219
- * @type {Element}
220
- * @private
221
- */
222
- goog.ui.Dialog.prototype.bgIframeEl_ = null;
223
-
224
-
225
- /**
226
- * Element for the title bar.
227
- * @type {Element}
228
- * @private
229
- */
230
- goog.ui.Dialog.prototype.titleEl_ = null;
231
-
232
-
233
- /**
234
- * Element for the text area of the title bar.
235
- * @type {Element}
236
- * @private
237
- */
238
- goog.ui.Dialog.prototype.titleTextEl_ = null;
239
-
240
-
241
- /**
242
- * Id of element for the text area of the title bar.
243
- * @type {?string}
244
- * @private
245
- */
246
- goog.ui.Dialog.prototype.titleId_ = null;
247
-
248
-
249
- /**
250
- * Element for the close box area of the title bar.
251
- * @type {Element}
252
- * @private
253
- */
254
- goog.ui.Dialog.prototype.titleCloseEl_ = null;
255
-
256
-
257
- /**
258
- * Element for the content area.
259
- * @type {Element}
260
- * @private
261
- */
262
- goog.ui.Dialog.prototype.contentEl_ = null;
263
-
264
-
265
- /**
266
- * Element for the button bar.
267
- * @type {Element}
268
- * @private
269
- */
270
- goog.ui.Dialog.prototype.buttonEl_ = null;
271
-
272
-
273
- /**
274
- * Sets the title.
275
- * @param {string} title The title text.
276
- */
277
- goog.ui.Dialog.prototype.setTitle = function(title) {
278
- this.title_ = title;
279
- if (this.titleTextEl_) {
280
- goog.dom.setTextContent(this.titleTextEl_, title);
281
- }
282
- };
283
-
284
-
285
- /**
286
- * Gets the title.
287
- * @return {string} The title.
288
- */
289
- goog.ui.Dialog.prototype.getTitle = function() {
290
- return this.title_;
291
- };
292
-
293
-
294
- /**
295
- * Allows arbitrary HTML to be set in the content element.
296
- * @param {string} html Content HTML.
297
- */
298
- goog.ui.Dialog.prototype.setContent = function(html) {
299
- this.content_ = html;
300
- if (this.contentEl_) {
301
- this.contentEl_.innerHTML = html;
302
- }
303
- };
304
-
305
-
306
- /**
307
- * Gets the content HTML of the content element.
308
- * @return {string} Content HTML.
309
- */
310
- goog.ui.Dialog.prototype.getContent = function() {
311
- return this.content_;
312
- };
313
-
314
-
315
- /**
316
- * Renders if the DOM is not created.
317
- * @private
318
- */
319
- goog.ui.Dialog.prototype.renderIfNoDom_ = function() {
320
- if (!this.getElement()) {
321
- // TODO(user): Ideally we'd only create the DOM, but many applications
322
- // are requiring this behavior. Eventually, it would be best if the
323
- // element getters could return null if the elements have not been
324
- // created.
325
- this.render();
326
- }
327
- };
328
-
329
-
330
- /**
331
- * Returns the content element so that more complicated things can be done with
332
- * the content area. Renders if the DOM is not yet created. Overrides
333
- * {@link goog.ui.Component#getContentElement}.
334
- * @return {Element} The content element.
335
- */
336
- goog.ui.Dialog.prototype.getContentElement = function() {
337
- this.renderIfNoDom_();
338
- return this.contentEl_;
339
- };
340
-
341
-
342
- /**
343
- * Returns the title element so that more complicated things can be done with
344
- * the title. Renders if the DOM is not yet created.
345
- * @return {Element} The title element.
346
- */
347
- goog.ui.Dialog.prototype.getTitleElement = function() {
348
- this.renderIfNoDom_();
349
- return this.titleEl_;
350
- };
351
-
352
-
353
- /**
354
- * Returns the title text element so that more complicated things can be done
355
- * with the text of the title. Renders if the DOM is not yet created.
356
- * @return {Element} The title text element.
357
- */
358
- goog.ui.Dialog.prototype.getTitleTextElement = function() {
359
- this.renderIfNoDom_();
360
- return this.titleTextEl_;
361
- };
362
-
363
-
364
- /**
365
- * Returns the title close element so that more complicated things can be done
366
- * with the close area of the title. Renders if the DOM is not yet created.
367
- * @return {Element} The close box.
368
- */
369
- goog.ui.Dialog.prototype.getTitleCloseElement = function() {
370
- this.renderIfNoDom_();
371
- return this.titleCloseEl_;
372
- };
373
-
374
-
375
- /**
376
- * Returns the button element so that more complicated things can be done with
377
- * the button area. Renders if the DOM is not yet created.
378
- * @return {Element} The button container element.
379
- */
380
- goog.ui.Dialog.prototype.getButtonElement = function() {
381
- this.renderIfNoDom_();
382
- return this.buttonEl_;
383
- };
384
-
385
-
386
- /**
387
- * Returns the dialog element so that more complicated things can be done with
388
- * the dialog box. Renders if the DOM is not yet created.
389
- * @return {Element} The dialog element.
390
- */
391
- goog.ui.Dialog.prototype.getDialogElement = function() {
392
- this.renderIfNoDom_();
393
- return this.getElement();
394
- };
395
-
396
-
397
- /**
398
- * Returns the background mask element so that more complicated things can be
399
- * done with the background region. Renders if the DOM is not yet created.
400
- * @return {Element} The background mask element.
401
- */
402
- goog.ui.Dialog.prototype.getBackgroundElement = function() {
403
- this.renderIfNoDom_();
404
- return this.bgEl_;
405
- };
406
-
407
-
408
- /**
409
- * Gets the opacity of the background mask.
410
- * @return {number} Background mask opacity.
411
- */
412
- goog.ui.Dialog.prototype.getBackgroundElementOpacity = function() {
413
- return this.backgroundElementOpacity_;
414
- };
415
-
416
-
417
- /**
418
- * Sets the opacity of the background mask.
419
- * @param {number} opacity Background mask opacity.
420
- */
421
- goog.ui.Dialog.prototype.setBackgroundElementOpacity = function(opacity) {
422
- this.backgroundElementOpacity_ = opacity;
423
-
424
- if (this.bgEl_) {
425
- goog.style.setOpacity(this.bgEl_, this.backgroundElementOpacity_);
426
- }
427
- };
428
-
429
-
430
- /**
431
- * Sets the modal property of the dialog. In case the dialog is already
432
- * inDocument, renders the modal background elements according to the specified
433
- * modal parameter.
434
- *
435
- * Note that non-modal dialogs cannot use an iframe mask.
436
- *
437
- * @param {boolean} modal Whether the dialog is modal.
438
- */
439
- goog.ui.Dialog.prototype.setModal = function(modal) {
440
- this.modal_ = modal;
441
- this.manageBackgroundDom_();
442
- var dom = this.getDomHelper();
443
- if (this.isInDocument() && modal && this.isVisible()) {
444
- // Insert the bg elements before the dialog so that they don't block
445
- // the dialog itself.
446
- if (this.bgIframeEl_) {
447
- dom.insertSiblingBefore(this.bgIframeEl_, this.getElement());
448
- }
449
- if (this.bgEl_) {
450
- dom.insertSiblingBefore(this.bgEl_, this.getElement());
451
- }
452
- this.resizeBackground_();
453
- }
454
- };
455
-
456
-
457
- /**
458
- * @return {boolean} modal Whether the dialog is modal.
459
- */
460
- goog.ui.Dialog.prototype.getModal = function() {
461
- return this.modal_;
462
- };
463
-
464
-
465
- /**
466
- * @return {string} The CSS class name for the dialog element.
467
- */
468
- goog.ui.Dialog.prototype.getClass = function() {
469
- return this.class_;
470
- };
471
-
472
-
473
- /**
474
- * Sets whether the dialog can be dragged.
475
- * @param {boolean} draggable Whether the dialog can be dragged.
476
- */
477
- goog.ui.Dialog.prototype.setDraggable = function(draggable) {
478
- this.draggable_ = draggable;
479
-
480
- // this will add the dragger if we've already rendered, and gone through
481
- // the enterDocument routine, but now want to dynamically add draggability
482
- if (this.draggable_ && !this.dragger_ && this.getElement()) {
483
- this.dragger_ = this.createDraggableTitleDom_();
484
-
485
- } else if (!this.draggable_ && this.dragger_) {
486
- // removes draggable classname post-render
487
- if (this.getElement()) {
488
- goog.dom.classes.remove(this.titleEl_,
489
- goog.getCssName(this.class_, 'title-draggable'));
490
- }
491
- this.dragger_.dispose();
492
- this.dragger_ = null;
493
- }
494
- };
495
-
496
-
497
- /**
498
- * Creates a dragger on the title element and adds a classname for
499
- * cursor:move targeting.
500
- * @return {goog.fx.Dragger} The created dragger instance.
501
- * @private
502
- */
503
- goog.ui.Dialog.prototype.createDraggableTitleDom_ = function() {
504
- var dragger = new goog.fx.Dragger(this.getElement(), this.titleEl_);
505
- goog.dom.classes.add(this.titleEl_,
506
- goog.getCssName(this.class_, 'title-draggable'));
507
- return dragger;
508
- };
509
-
510
-
511
- /**
512
- * @return {boolean} Whether the dialog is draggable.
513
- */
514
- goog.ui.Dialog.prototype.getDraggable = function() {
515
- return this.draggable_;
516
- };
517
-
518
-
519
- /**
520
- * Creates the initial DOM representation for the dialog. Overrides {@link
521
- * goog.ui.Component#createDom}.
522
- */
523
- goog.ui.Dialog.prototype.createDom = function() {
524
- // Manages the DOM for background mask elements.
525
- this.manageBackgroundDom_();
526
-
527
- // Create the dialog element, and make sure it's hidden.
528
- var dom = this.getDomHelper();
529
- this.setElementInternal(dom.createDom('div',
530
- {'className': this.class_, 'tabIndex': 0},
531
- this.titleEl_ = dom.createDom('div',
532
- {'className': goog.getCssName(this.class_, 'title'),
533
- 'id': this.getId()},
534
- this.titleTextEl_ = dom.createDom('span',
535
- goog.getCssName(this.class_, 'title-text'), this.title_),
536
- this.titleCloseEl_ = dom.createDom('span',
537
- goog.getCssName(this.class_, 'title-close'))),
538
- this.contentEl_ = dom.createDom('div',
539
- goog.getCssName(this.class_, 'content')),
540
- this.buttonEl_ = dom.createDom('div',
541
- goog.getCssName(this.class_, 'buttons')),
542
- this.tabCatcherEl_ = dom.createDom('span', {'tabIndex': 0})));
543
- this.titleId_ = this.titleEl_.id;
544
- goog.dom.a11y.setRole(this.getElement(), 'dialog');
545
- goog.dom.a11y.setState(this.getElement(), 'labelledby', this.titleId_ || '');
546
- // If setContent() was called before createDom(), make sure the inner HTML of
547
- // the content element is initialized.
548
- if (this.content_) {
549
- this.contentEl_.innerHTML = this.content_;
550
- }
551
- goog.style.showElement(this.titleCloseEl_, this.hasTitleCloseButton_);
552
- goog.style.showElement(this.getElement(), false);
553
-
554
- // Render the buttons.
555
- if (this.buttons_) {
556
- this.buttons_.attachToElement(this.buttonEl_);
557
- }
558
- };
559
-
560
-
561
- /**
562
- * Creates and disposes of the DOM for background mask elements.
563
- * @private
564
- */
565
- goog.ui.Dialog.prototype.manageBackgroundDom_ = function() {
566
- if (this.useIframeMask_ && this.modal_ && !this.bgIframeEl_) {
567
- // IE renders the iframe on top of the select elements while still
568
- // respecting the z-index of the other elements on the page. See
569
- // http://support.microsoft.com/kb/177378 for more information.
570
- // Flash and other controls behave in similar ways for other browsers
571
- this.bgIframeEl_ = goog.dom.iframe.createBlank(this.getDomHelper());
572
- this.bgIframeEl_.className = goog.getCssName(this.class_, 'bg');
573
- goog.style.showElement(this.bgIframeEl_, false);
574
- goog.style.setOpacity(this.bgIframeEl_, 0);
575
-
576
- // Removes the iframe mask if it exists and we don't want it to
577
- } else if ((!this.useIframeMask_ || !this.modal_) && this.bgIframeEl_) {
578
- goog.dom.removeNode(this.bgIframeEl_);
579
- this.bgIframeEl_ = null;
580
- }
581
-
582
- // Create the backgound mask, initialize its opacity, and make sure it's
583
- // hidden.
584
- if (this.modal_ && !this.bgEl_) {
585
- this.bgEl_ = this.getDomHelper().createDom('div',
586
- goog.getCssName(this.class_, 'bg'));
587
- goog.style.setOpacity(this.bgEl_, this.backgroundElementOpacity_);
588
- goog.style.showElement(this.bgEl_, false);
589
-
590
- // Removes the background mask if it exists and we don't want it to
591
- } else if (!this.modal_ && this.bgEl_) {
592
- goog.dom.removeNode(this.bgEl_);
593
- this.bgEl_ = null;
594
- }
595
- };
596
-
597
-
598
- /**
599
- * Renders the component. Overrides {@link goog.ui.Component#render}. Accepts
600
- * an {@code opt_parent} argument for compatibility with the superclass method,
601
- * but rendering a dialog into anything other than a body element will likely
602
- * have unexpected results. The parent element defaults to the current document
603
- * body if unspecified, which is almost always what you want.
604
- *
605
- * @param {Element=} opt_parent Element into which the component is to be
606
- * rendered; defaults to the current document's body element if unspecified.
607
- * @throws {goog.ui.Component.Error.ALREADY_RENDERED} If the component is
608
- * already rendered.
609
- */
610
- goog.ui.Dialog.prototype.render = function(opt_parent) {
611
- // We have to replicate some of the logic from goog.ui.Component#render here,
612
- // since dialogs are made up of three elements (the bacground mask, the dialog
613
- // itself, and the optional iframe mask on IE), and all of them must be
614
- // appended to the parent element before enterDocument is called.
615
- if (this.isInDocument()) {
616
- throw Error(goog.ui.Component.Error.ALREADY_RENDERED);
617
- }
618
-
619
- if (!this.getElement()) {
620
- // This creates both (or, on IE, possibly all three) elements.
621
- this.createDom();
622
- }
623
-
624
- // First, render the background mask...
625
- var parent = opt_parent || this.getDomHelper().getDocument().body;
626
- this.renderBackground_(parent);
627
-
628
- // ...then call the superclass method to attach the dialog element and call
629
- // enterDocument().
630
- goog.ui.Dialog.superClass_.render.call(this, parent);
631
- };
632
-
633
-
634
- /**
635
- * Renders the background mask.
636
- * @param {Element} parent Parent element; typically the document body.
637
- * @private
638
- */
639
- goog.ui.Dialog.prototype.renderBackground_ = function(parent) {
640
- if (this.bgIframeEl_) {
641
- parent.appendChild(this.bgIframeEl_);
642
- }
643
- if (this.bgEl_) {
644
- parent.appendChild(this.bgEl_);
645
- }
646
- };
647
-
648
-
649
- /**
650
- * Overrides {@link goog.ui.Component#renderBefore} to throw a NOT_SUPPORTED
651
- * error, since dialogs don't support being rendered before another DOM element.
652
- * TODO(user): Figure out how to do this cleanly between Component and this.
653
- *
654
- * @param {Element} sibling Element before which the component is to be
655
- * rendered (ignored).
656
- */
657
- goog.ui.Dialog.prototype.renderBefore = function(sibling) {
658
- throw Error(goog.ui.Component.Error.NOT_SUPPORTED);
659
- };
660
-
661
-
662
- /**
663
- * Determines if the given element can be decorated by this dialog component.
664
- * Overrides {@link goog.ui.Component#canDecorate}.
665
- * @param {Element} element Element to decorate.
666
- * @return {*} True-ish if the element can be decorated, false-ish otherwise.
667
- */
668
- goog.ui.Dialog.prototype.canDecorate = function(element) {
669
- // Assume we can decorate any DIV.
670
- return element && element.tagName && element.tagName == 'DIV' &&
671
- goog.ui.Dialog.superClass_.canDecorate.call(this, element);
672
- };
673
-
674
-
675
- /**
676
- * Decorates the given element as a dialog. Overrides {@link
677
- * goog.ui.Component#decorateInternal}. Considered protected.
678
- * @param {Element} element Element to decorate.
679
- * @protected
680
- */
681
- goog.ui.Dialog.prototype.decorateInternal = function(element) {
682
- // Decorate the dialog area element.
683
- goog.ui.Dialog.superClass_.decorateInternal.call(this, element);
684
- goog.dom.classes.add(this.getElement(), this.class_);
685
-
686
- // Decorate or create the content element.
687
- var contentClass = goog.getCssName(this.class_, 'content');
688
- this.contentEl_ = goog.dom.getElementsByTagNameAndClass(
689
- null, contentClass, this.getElement())[0];
690
- if (this.contentEl_) {
691
- this.content_ = this.contentEl_.innerHTML;
692
- } else {
693
- this.contentEl_ = this.getDomHelper().createDom('div', contentClass);
694
- if (this.content_) {
695
- this.contentEl_.innerHTML = this.content_;
696
- }
697
- this.getElement().appendChild(this.contentEl_);
698
- }
699
-
700
- // Decorate or create the title bar element.
701
- var titleClass = goog.getCssName(this.class_, 'title');
702
- var titleTextClass = goog.getCssName(this.class_, 'title-text');
703
- var titleCloseClass = goog.getCssName(this.class_, 'title-close');
704
- this.titleEl_ = goog.dom.getElementsByTagNameAndClass(
705
- null, titleClass, this.getElement())[0];
706
- if (this.titleEl_) {
707
- // Only look for title text & title close elements if a title bar element
708
- // was found. Otherwise assume that the entire title bar has to be
709
- // created from scratch.
710
- this.titleTextEl_ = goog.dom.getElementsByTagNameAndClass(
711
- null, titleTextClass, this.titleEl_)[0];
712
- this.titleCloseEl_ = goog.dom.getElementsByTagNameAndClass(
713
- null, titleCloseClass, this.titleEl_)[0];
714
- } else {
715
- // Create the title bar element and insert it before the content area.
716
- // This is useful if the element to decorate only includes a content area.
717
- this.titleEl_ = this.getDomHelper().createDom('div', titleClass);
718
- this.getElement().insertBefore(this.titleEl_, this.contentEl_);
719
- }
720
-
721
- // Decorate or create the title text element.
722
- if (this.titleTextEl_) {
723
- this.title_ = goog.dom.getTextContent(this.titleTextEl_);
724
- } else {
725
- this.titleTextEl_ = this.getDomHelper().createDom('span', titleTextClass,
726
- this.title_);
727
- this.titleEl_.appendChild(this.titleTextEl_);
728
- }
729
- goog.dom.a11y.setState(this.getElement(), 'labelledby', this.titleId_ || '');
730
- // Decorate or create the title close element.
731
- if (!this.titleCloseEl_) {
732
- this.titleCloseEl_ = this.getDomHelper().createDom('span', titleCloseClass);
733
- this.titleEl_.appendChild(this.titleCloseEl_);
734
- }
735
- goog.style.showElement(this.titleCloseEl_, this.hasTitleCloseButton_);
736
-
737
- // Decorate or create the button container element.
738
- var buttonsClass = goog.getCssName(this.class_, 'buttons');
739
- this.buttonEl_ = goog.dom.getElementsByTagNameAndClass(
740
- null, buttonsClass, this.getElement())[0];
741
- if (this.buttonEl_) {
742
- // Button container element found. Create empty button set and use it to
743
- // decorate the button container.
744
- this.buttons_ = new goog.ui.Dialog.ButtonSet(this.getDomHelper());
745
- this.buttons_.decorate(this.buttonEl_);
746
- } else {
747
- // Create new button container element, and render a button set into it.
748
- this.buttonEl_ = this.getDomHelper().createDom('div', buttonsClass);
749
- this.getElement().appendChild(this.buttonEl_);
750
- if (this.buttons_) {
751
- this.buttons_.attachToElement(this.buttonEl_);
752
- }
753
- }
754
-
755
- // Create the background mask...
756
- this.manageBackgroundDom_();
757
-
758
- // ...and render it.
759
- this.renderBackground_(goog.dom.getOwnerDocument(this.getElement()).body);
760
-
761
- // Make sure the decorated dialog is hidden.
762
- goog.style.showElement(this.getElement(), false);
763
- };
764
-
765
-
766
- /**
767
- * Initializes the component just after its DOM has been rendered into the
768
- * document. Overrides {@link goog.ui.Component#enterDocument}.
769
- */
770
- goog.ui.Dialog.prototype.enterDocument = function() {
771
- goog.ui.Dialog.superClass_.enterDocument.call(this);
772
-
773
- this.focusHandler_ = new goog.events.FocusHandler(
774
- this.getDomHelper().getDocument());
775
-
776
- // Add drag support.
777
- if (this.draggable_ && !this.dragger_) {
778
- this.dragger_ = this.createDraggableTitleDom_();
779
- }
780
-
781
- // Add event listeners to the close box and the button container.
782
- this.getHandler().
783
- listen(this.titleCloseEl_, goog.events.EventType.CLICK,
784
- this.onTitleCloseClick_).
785
-
786
- // We need to watch the entire document so that we can detect when the
787
- // focus is moved out of this dialog.
788
- listen(this.focusHandler_, goog.events.FocusHandler.EventType.FOCUSIN,
789
- this.onFocus_);
790
-
791
- goog.dom.a11y.setRole(this.getElement(), 'dialog');
792
- if (this.titleTextEl_.id !== '') {
793
- goog.dom.a11y.setState(
794
- this.getElement(), 'labelledby', this.titleTextEl_.id);
795
- }
796
- };
797
-
798
-
799
- /**
800
- * Cleans up the dialog component just before it is disposed of. Overrides
801
- * {@link goog.ui.Component#exitDocument}.
802
- */
803
- goog.ui.Dialog.prototype.exitDocument = function() {
804
- if (this.isVisible()) {
805
- this.setVisible(false);
806
- }
807
-
808
- this.focusHandler_.dispose();
809
- this.focusHandler_ = null;
810
-
811
- // Remove drag support.
812
- if (this.dragger_) {
813
- this.dragger_.dispose();
814
- this.dragger_ = null;
815
- }
816
-
817
- goog.ui.Dialog.superClass_.exitDocument.call(this);
818
- };
819
-
820
-
821
- /**
822
- * Sets the visibility of the dialog box and moves focus to the default button.
823
- * Lazily renders the component if needed.
824
- * @param {boolean} visible Whether the dialog should be visible.
825
- */
826
- goog.ui.Dialog.prototype.setVisible = function(visible) {
827
- if (visible == this.visible_) {
828
- return;
829
- }
830
-
831
- // TODO(user): Add utility methods to Component to get window & document?
832
- var doc = this.getDomHelper().getDocument();
833
-
834
- // Older versions of Safari did not know how to get a window for a given
835
- // document, so just fall up to the window we're running in.
836
- var win = goog.dom.getWindow(doc) || window;
837
-
838
- // If the dialog hasn't been rendered yet, render it now.
839
- if (!this.isInDocument()) {
840
- this.render(doc.body);
841
- }
842
-
843
- if (visible) {
844
- this.resizeBackground_();
845
- this.reposition();
846
- // Listen for keyboard and resize events while the dialog is visible.
847
- this.getHandler().
848
- listen(this.getElement(), goog.events.EventType.KEYDOWN, this.onKey_).
849
- listen(this.getElement(), goog.events.EventType.KEYPRESS, this.onKey_).
850
- listen(win, goog.events.EventType.RESIZE, this.onResize_);
851
- } else {
852
- // Stop listening for keyboard and resize events while the dialog is hidden.
853
- this.getHandler().
854
- unlisten(this.getElement(), goog.events.EventType.KEYDOWN, this.onKey_).
855
- unlisten(this.getElement(), goog.events.EventType.KEYPRESS,
856
- this.onKey_).
857
- unlisten(win, goog.events.EventType.RESIZE, this.onResize_);
858
- }
859
-
860
- // Show/hide the iframe mask (on IE), the background mask, and the dialog.
861
- if (this.bgIframeEl_) {
862
- goog.style.showElement(this.bgIframeEl_, visible);
863
- }
864
- if (this.bgEl_) {
865
- goog.style.showElement(this.bgEl_, visible);
866
- }
867
- goog.style.showElement(this.getElement(), visible);
868
-
869
- if (visible) {
870
- this.focus();
871
- }
872
-
873
- this.visible_ = visible;
874
-
875
- if (!visible) {
876
- this.getHandler().unlisten(this.buttonEl_,
877
- goog.events.EventType.CLICK, this.onButtonClick_);
878
- this.dispatchEvent(goog.ui.Dialog.EventType.AFTER_HIDE);
879
- if (this.disposeOnHide_) {
880
- this.dispose();
881
- }
882
- } else {
883
- // NOTE: see bug 1163154 for an example of an edge case where making the
884
- // dialog visible in response to a KEYDOWN will result in a CLICK event
885
- // firing on the default button (immediately closing the dialog) if the key
886
- // that fired the KEYDOWN is also normally used to activate controls
887
- // (i.e. SPACE/ENTER).
888
- //
889
- // This could be worked around by attaching the onButtonClick_ handler in a
890
- // setTimeout, but that was deemed undesirable.
891
- this.getHandler().listen(this.buttonEl_,
892
- goog.events.EventType.CLICK, this.onButtonClick_);
893
- }
894
- };
895
-
896
-
897
- /**
898
- * @return {boolean} Whether the dialog box is visible.
899
- */
900
- goog.ui.Dialog.prototype.isVisible = function() {
901
- return this.visible_;
902
- };
903
-
904
-
905
- /**
906
- * Focuses the dialog contents and the default dialog button if there is one.
907
- */
908
- goog.ui.Dialog.prototype.focus = function() {
909
- // Start with the focus on the dialog itself. In FF, if we focus on a
910
- // sub-element first, then hitting tab moves the focus outside of the
911
- // dialog, which we don't want. In addition, there may not be a default
912
- // button, but we certainly want focus to remain within the dialog.
913
- try {
914
- this.getElement().focus();
915
- } catch (e) {
916
- // Swallow this. IE can throw an error if the element can not be focused.
917
- }
918
- // Move focus to the default button (if any).
919
- if (this.getButtonSet()) {
920
- var defaultButton = this.getButtonSet().getDefault();
921
- if (defaultButton) {
922
- var doc = this.getDomHelper().getDocument();
923
- var buttons = this.buttonEl_.getElementsByTagName('button');
924
- for (var i = 0, button; button = buttons[i]; i++) {
925
- if (button.name == defaultButton) {
926
- try {
927
- // Reopening a dialog can cause focusing the button to fail in
928
- // WebKit and Opera. Shift the focus to a temporary <input>
929
- // element to make refocusing the button possible.
930
- if (goog.userAgent.WEBKIT || goog.userAgent.OPERA) {
931
- var temp = doc.createElement('input');
932
- temp.style.cssText =
933
- 'position:fixed;width:0;height:0;left:0;top:0;';
934
- this.getElement().appendChild(temp);
935
- temp.focus();
936
- this.getElement().removeChild(temp);
937
- }
938
- button.focus();
939
- } catch (e) {
940
- // Swallow this. Could be the button is disabled
941
- // and IE6 wishes to throw an error.
942
- }
943
- break;
944
- }
945
- }
946
- }
947
- }
948
- };
949
-
950
-
951
- /**
952
- * Make the background element the size of the document.
953
- *
954
- * NOTE(user): We must hide the background element before measuring the
955
- * document, otherwise the size of the background will stop the document from
956
- * shrinking to fit a smaller window. This does cause a slight flicker in Linux
957
- * browsers, but should not be a common scenario.
958
- * @private
959
- */
960
- goog.ui.Dialog.prototype.resizeBackground_ = function() {
961
- if (this.bgIframeEl_) {
962
- goog.style.showElement(this.bgIframeEl_, false);
963
- }
964
- if (this.bgEl_) {
965
- goog.style.showElement(this.bgEl_, false);
966
- }
967
-
968
- var doc = this.getDomHelper().getDocument();
969
- var win = goog.dom.getWindow(doc) || window;
970
-
971
- // Take the max of scroll height and view height for cases in which document
972
- // does not fill screen.
973
- var viewSize = goog.dom.getViewportSize(win);
974
- var w = Math.max(doc.body.scrollWidth, viewSize.width);
975
- var h = Math.max(doc.body.scrollHeight, viewSize.height);
976
-
977
- if (this.bgIframeEl_) {
978
- goog.style.showElement(this.bgIframeEl_, true);
979
- goog.style.setSize(this.bgIframeEl_, w, h);
980
- }
981
- if (this.bgEl_) {
982
- goog.style.showElement(this.bgEl_, true);
983
- goog.style.setSize(this.bgEl_, w, h);
984
- }
985
-
986
- if (this.draggable_) {
987
- var dialogSize = goog.style.getSize(this.getElement());
988
- this.dragger_.limits =
989
- new goog.math.Rect(0, 0, w - dialogSize.width, h - dialogSize.height);
990
- }
991
- };
992
-
993
-
994
- /**
995
- * Centers the dialog in the viewport, taking scrolling into account.
996
- */
997
- goog.ui.Dialog.prototype.reposition = function() {
998
- // Get the current viewport to obtain the scroll offset.
999
- var doc = this.getDomHelper().getDocument();
1000
- var win = goog.dom.getWindow(doc) || window;
1001
- if (goog.style.getComputedPosition(this.getElement()) == 'fixed') {
1002
- var x = 0;
1003
- var y = 0;
1004
- } else {
1005
- var scroll = this.getDomHelper().getDocumentScroll();
1006
- var x = scroll.x;
1007
- var y = scroll.y;
1008
- }
1009
-
1010
- var dialogSize = goog.style.getSize(this.getElement());
1011
- var viewSize = goog.dom.getViewportSize(win);
1012
-
1013
- // Make sure left and top are non-negatives.
1014
- var left = Math.max(x + viewSize.width / 2 - dialogSize.width / 2, 0);
1015
- var top = Math.max(y + viewSize.height / 2 - dialogSize.height / 2, 0);
1016
-
1017
- goog.style.setPosition(this.getElement(), left, top);
1018
- };
1019
-
1020
-
1021
- /**
1022
- * Handles a click on the title close area.
1023
- * @param {goog.events.BrowserEvent} e Browser's event object.
1024
- * @private
1025
- */
1026
- goog.ui.Dialog.prototype.onTitleCloseClick_ = function(e) {
1027
- if (!this.hasTitleCloseButton_) {
1028
- return;
1029
- }
1030
-
1031
- var bs = this.getButtonSet();
1032
- var key = bs && bs.getCancel();
1033
- // Only if there is a valid cancel button is an event dispatched.
1034
- if (key) {
1035
- var caption = /** @type {Element|string} */(bs.get(key));
1036
- if (this.dispatchEvent(new goog.ui.Dialog.Event(key, caption))) {
1037
- this.setVisible(false);
1038
- }
1039
- } else {
1040
- this.setVisible(false);
1041
- }
1042
- };
1043
-
1044
-
1045
- /**
1046
- * @return {boolean} Whether this dialog has a title close button.
1047
- */
1048
- goog.ui.Dialog.prototype.getHasTitleCloseButton = function() {
1049
- return this.hasTitleCloseButton_;
1050
- };
1051
-
1052
-
1053
- /**
1054
- * Sets whether the dialog should have a close button in the title bar. There
1055
- * will always be an element for the title close button, but setting this
1056
- * parameter to false will cause it to be hidden and have no active listener.
1057
- * @param {boolean} b Whether this dialog should have a title close button.
1058
- */
1059
- goog.ui.Dialog.prototype.setHasTitleCloseButton = function(b) {
1060
- this.hasTitleCloseButton_ = b;
1061
- if (this.titleCloseEl_) {
1062
- goog.style.showElement(this.titleCloseEl_, this.hasTitleCloseButton_);
1063
- }
1064
- };
1065
-
1066
-
1067
- /**
1068
- * @return {boolean} Whether the escape key should close this dialog.
1069
- */
1070
- goog.ui.Dialog.prototype.isEscapeToCancel = function() {
1071
- return this.escapeToCancel_;
1072
- };
1073
-
1074
-
1075
- /**
1076
- * @param {boolean} b Whether the escape key should close this dialog.
1077
- */
1078
- goog.ui.Dialog.prototype.setEscapeToCancel = function(b) {
1079
- this.escapeToCancel_ = b;
1080
- };
1081
-
1082
-
1083
- /**
1084
- * Sets whether the dialog should be disposed when it is hidden. By default
1085
- * dialogs are not disposed when they are hidden.
1086
- * @param {boolean} b Whether the dialog should get disposed when it gets
1087
- * hidden.
1088
- */
1089
- goog.ui.Dialog.prototype.setDisposeOnHide = function(b) {
1090
- this.disposeOnHide_ = b;
1091
- };
1092
-
1093
-
1094
- /**
1095
- * @return {boolean} Whether the dialog should be disposed when it is hidden.
1096
- */
1097
- goog.ui.Dialog.prototype.getDisposeOnHide = function() {
1098
- return this.disposeOnHide_;
1099
- };
1100
-
1101
-
1102
- /** @inheritDoc */
1103
- goog.ui.Dialog.prototype.disposeInternal = function() {
1104
- // The superclass method calls exitDocument, which in turn calls
1105
- // setVisible(false). Between them they clean up all event handlers.
1106
- goog.ui.Dialog.superClass_.disposeInternal.call(this);
1107
-
1108
- // The superclass method disposes of the element and its children,
1109
- // unless the dialog was decorated. We only have to worry about
1110
- // background mask elements.
1111
- if (this.bgEl_) {
1112
- goog.dom.removeNode(this.bgEl_);
1113
- this.bgEl_ = null;
1114
- }
1115
- if (this.bgIframeEl_) {
1116
- goog.dom.removeNode(this.bgIframeEl_);
1117
- this.bgIframeEl_ = null;
1118
- }
1119
-
1120
- this.titleCloseEl_ = null;
1121
- this.buttonEl_ = null;
1122
- this.tabCatcherEl_ = null;
1123
- };
1124
-
1125
-
1126
- /**
1127
- * Sets the button set to use.
1128
- * Note: Passing in null will cause no button set to be rendered.
1129
- * @param {goog.ui.Dialog.ButtonSet?} buttons The button set to use.
1130
- */
1131
- goog.ui.Dialog.prototype.setButtonSet = function(buttons) {
1132
- this.buttons_ = buttons;
1133
- if (this.buttonEl_) {
1134
- if (this.buttons_) {
1135
- this.buttons_.attachToElement(this.buttonEl_);
1136
- } else {
1137
- this.buttonEl_.innerHTML = '';
1138
- }
1139
- }
1140
- };
1141
-
1142
-
1143
- /**
1144
- * Returns the button set being used.
1145
- * @return {goog.ui.Dialog.ButtonSet?} The button set being used.
1146
- */
1147
- goog.ui.Dialog.prototype.getButtonSet = function() {
1148
- return this.buttons_;
1149
- };
1150
-
1151
-
1152
- /**
1153
- * Handles a click on the button container.
1154
- * @param {goog.events.BrowserEvent} e Browser's event object.
1155
- * @private
1156
- */
1157
- goog.ui.Dialog.prototype.onButtonClick_ = function(e) {
1158
- var button = this.findParentButton_(/** @type {Element} */ (e.target));
1159
- if (button && !button.disabled) {
1160
- var key = button.name;
1161
- var caption = /** @type {Element|string} */(
1162
- this.getButtonSet().get(key));
1163
- if (this.dispatchEvent(new goog.ui.Dialog.Event(key, caption))) {
1164
- this.setVisible(false);
1165
- }
1166
- }
1167
- };
1168
-
1169
-
1170
- /**
1171
- * Finds the parent button of an element (or null if there was no button
1172
- * parent).
1173
- * @param {Element} element The element that was clicked on.
1174
- * @return {Element} Returns the parent button or null if not found.
1175
- * @private
1176
- */
1177
- goog.ui.Dialog.prototype.findParentButton_ = function(element) {
1178
- var el = element;
1179
- while (el != null && el != this.buttonEl_) {
1180
- if (el.tagName == 'BUTTON') {
1181
- return /** @type {Element} */(el);
1182
- }
1183
- el = el.parentNode;
1184
- }
1185
- return null;
1186
- };
1187
-
1188
-
1189
- /**
1190
- * Handles keydown and keypress events, and dismisses the popup if cancel is
1191
- * pressed. If there is a cancel action in the ButtonSet, than that will be
1192
- * fired. Also prevents tabbing out of the dialog.
1193
- * @param {goog.events.BrowserEvent} e Browser's event object.
1194
- * @private
1195
- */
1196
- goog.ui.Dialog.prototype.onKey_ = function(e) {
1197
- var close = false;
1198
- var hasHandler = false;
1199
- var buttonSet = this.getButtonSet();
1200
- var target = e.target;
1201
-
1202
- if (e.type == goog.events.EventType.KEYDOWN) {
1203
- // Escape and tab can only properly be handled in keydown handlers.
1204
- if (this.escapeToCancel_ && e.keyCode == goog.events.KeyCodes.ESC) {
1205
- // Only if there is a valid cancel button is an event dispatched.
1206
- var cancel = buttonSet && buttonSet.getCancel();
1207
-
1208
- // Users may expect to hit escape on a SELECT element.
1209
- var isSpecialFormElement =
1210
- target.tagName == 'SELECT' && !target.disabled;
1211
-
1212
- if (cancel && !isSpecialFormElement) {
1213
- hasHandler = true;
1214
-
1215
- var caption = buttonSet.get(cancel);
1216
- close = this.dispatchEvent(
1217
- new goog.ui.Dialog.Event(cancel,
1218
- /** @type {Element|null|string} */(caption)));
1219
- } else if (!isSpecialFormElement) {
1220
- close = true;
1221
- }
1222
- } else if (e.keyCode == goog.events.KeyCodes.TAB && e.shiftKey &&
1223
- target == this.getElement()) {
1224
- // Prevent the user from shift-tabbing backwards out of the dialog box.
1225
- // TODO(user): Instead, we should move the focus to the last tabbable
1226
- // element inside the dialog.
1227
- hasHandler = true;
1228
- }
1229
- } else if (e.keyCode == goog.events.KeyCodes.ENTER) {
1230
- // Only handle ENTER in keypress events, in case the action opens a
1231
- // popup window.
1232
- var key;
1233
- if (target.tagName == 'BUTTON') {
1234
- // If focus was on a button, it must have been enabled, so we can fire
1235
- // that button's handler.
1236
- key = target.name;
1237
- } else if (buttonSet) {
1238
- // Try to fire the default button's handler (if one exists), but only if
1239
- // the button is enabled.
1240
- var defaultKey = buttonSet.getDefault();
1241
- var defaultButton = defaultKey && buttonSet.getButton(defaultKey);
1242
-
1243
- // Users may expect to hit enter on a TEXTAREA or a SELECT element.
1244
- var isSpecialFormElement =
1245
- (target.tagName == 'TEXTAREA' || target.tagName == 'SELECT') &&
1246
- !target.disabled;
1247
-
1248
- if (defaultButton && !defaultButton.disabled && !isSpecialFormElement) {
1249
- key = defaultKey;
1250
- }
1251
- }
1252
- if (key) {
1253
- hasHandler = true;
1254
- close = this.dispatchEvent(
1255
- new goog.ui.Dialog.Event(key, String(buttonSet.get(key))));
1256
- }
1257
- }
1258
-
1259
- if (close || hasHandler) {
1260
- e.stopPropagation();
1261
- e.preventDefault();
1262
- }
1263
-
1264
- if (close) {
1265
- this.setVisible(false);
1266
- }
1267
- };
1268
-
1269
-
1270
- /**
1271
- * Handles window resize events.
1272
- * @param {goog.events.BrowserEvent} e Browser's event object.
1273
- * @private
1274
- */
1275
- goog.ui.Dialog.prototype.onResize_ = function(e) {
1276
- this.resizeBackground_();
1277
- };
1278
-
1279
-
1280
- /**
1281
- * Handles focus events. Makes sure that if the user tabs past the
1282
- * elements in the dialog, the focus wraps back to the beginning.
1283
- * @param {goog.events.BrowserEvent} e Browser's event object.
1284
- * @private
1285
- */
1286
- goog.ui.Dialog.prototype.onFocus_ = function(e) {
1287
- if (this.tabCatcherEl_ == e.target) {
1288
- goog.Timer.callOnce(this.focusElement_, 0, this);
1289
- }
1290
- };
1291
-
1292
-
1293
- /**
1294
- * Moves the focus to the dialog.
1295
- * @private
1296
- */
1297
- goog.ui.Dialog.prototype.focusElement_ = function() {
1298
- if (goog.userAgent.IE) {
1299
- // In IE, we must first focus on the body or else focussing on a
1300
- // sub-element will not work.
1301
- this.getDomHelper().getDocument().body.focus();
1302
- }
1303
- this.getElement().focus();
1304
- };
1305
-
1306
-
1307
-
1308
- /**
1309
- * Dialog event class.
1310
- * @param {string} key Key identifier for the button.
1311
- * @param {string|Element} caption Caption on the button (might be i18nlized).
1312
- * @constructor
1313
- * @extends {goog.events.Event}
1314
- */
1315
- goog.ui.Dialog.Event = function(key, caption) {
1316
- this.type = goog.ui.Dialog.EventType.SELECT;
1317
- this.key = key;
1318
- this.caption = caption;
1319
- };
1320
- goog.inherits(goog.ui.Dialog.Event, goog.events.Event);
1321
-
1322
-
1323
- /**
1324
- * Event type constant for dialog events.
1325
- * TODO(user): Change this to goog.ui.Dialog.EventType.SELECT.
1326
- * @type {string}
1327
- * @deprecated Use goog.ui.Dialog.EventType.SELECT.
1328
- */
1329
- goog.ui.Dialog.SELECT_EVENT = 'dialogselect';
1330
-
1331
-
1332
- /**
1333
- * Events dispatched by dialogs.
1334
- * @enum {string}
1335
- */
1336
- goog.ui.Dialog.EventType = {
1337
- /**
1338
- * Dispatched when the user closes the dialog.
1339
- * The dispatched event will always be of type {@link goog.ui.Dialog.Event}.
1340
- * Canceling the event will prevent the dialog from closing.
1341
- */
1342
- SELECT: 'dialogselect',
1343
-
1344
- /**
1345
- * Dispatched after the dialog is closed. Not cancelable.
1346
- */
1347
- AFTER_HIDE: 'afterhide'
1348
- };
1349
-
1350
-
1351
-
1352
- /**
1353
- * A button set defines the behaviour of a set of buttons that the dialog can
1354
- * show. Uses the {@link goog.structs.Map} interface.
1355
- * @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper; see {@link
1356
- * goog.ui.Component} for semantics.
1357
- * @constructor
1358
- * @extends {goog.structs.Map}
1359
- */
1360
- goog.ui.Dialog.ButtonSet = function(opt_domHelper) {
1361
- // TODO(user): Refactor ButtonSet to extend goog.ui.Component?
1362
- this.dom_ = opt_domHelper || goog.dom.getDomHelper();
1363
- goog.structs.Map.call(this);
1364
- };
1365
- goog.inherits(goog.ui.Dialog.ButtonSet, goog.structs.Map);
1366
-
1367
-
1368
- /**
1369
- * A CSS className for this component.
1370
- * @type {string}
1371
- * @private
1372
- */
1373
- goog.ui.Dialog.ButtonSet.prototype.class_ = goog.getCssName('goog-buttonset');
1374
-
1375
-
1376
- /**
1377
- * The button that has default focus (references key in buttons_ map).
1378
- * @type {?string}
1379
- * @private
1380
- */
1381
- goog.ui.Dialog.ButtonSet.prototype.defaultButton_ = null;
1382
-
1383
-
1384
- /**
1385
- * Optional container the button set should be rendered into.
1386
- * @type {Element}
1387
- * @private
1388
- */
1389
- goog.ui.Dialog.ButtonSet.prototype.element_ = null;
1390
-
1391
-
1392
- /**
1393
- * The button whose action is associated with the escape key and the X button
1394
- * on the dialog.
1395
- * @type {?string}
1396
- * @private
1397
- */
1398
- goog.ui.Dialog.ButtonSet.prototype.cancelButton_ = null;
1399
-
1400
-
1401
- /**
1402
- * Adds a button to the button set. Buttons will be displayed in the order they
1403
- * are added.
1404
- *
1405
- * @param {string} key Key used to identify the button in events.
1406
- * @param {string|Element} caption A string caption or a DOM node that can be
1407
- * appended to a button element.
1408
- * @param {boolean=} opt_isDefault Whether this button is the default button,
1409
- * Dialog will dispatch for this button if enter is pressed.
1410
- * @param {boolean=} opt_isCancel Whether this button has the same behaviour as
1411
- * cancel. If escape is pressed this button will fire.
1412
- * @return {!goog.ui.Dialog.ButtonSet} The button set, to make it easy to chain
1413
- * "set" calls and build new ButtonSets.
1414
- */
1415
- goog.ui.Dialog.ButtonSet.prototype.set = function(key, caption,
1416
- opt_isDefault, opt_isCancel) {
1417
- goog.structs.Map.prototype.set.call(this, key, caption);
1418
-
1419
- if (opt_isDefault) {
1420
- this.defaultButton_ = key;
1421
- }
1422
- if (opt_isCancel) {
1423
- this.cancelButton_ = key;
1424
- }
1425
-
1426
- return this;
1427
- };
1428
-
1429
-
1430
- /**
1431
- * Adds a button (an object with a key and caption) to this button set. Buttons
1432
- * will be displayed in the order they are added.
1433
- * @see goog.ui.Dialog.DefaultButtons
1434
- * @param {!{key: string, caption: string}} button The button key and caption.
1435
- * @param {boolean=} opt_isDefault Whether this button is the default button.
1436
- * Dialog will dispatch for this button if enter is pressed.
1437
- * @param {boolean=} opt_isCancel Whether this button has the same behavior as
1438
- * cancel. If escape is pressed this button will fire.
1439
- * @return {!goog.ui.Dialog.ButtonSet} The button set, to make it easy to chain
1440
- * "addButton" calls and build new ButtonSets.
1441
- */
1442
- goog.ui.Dialog.ButtonSet.prototype.addButton = function(button, opt_isDefault,
1443
- opt_isCancel) {
1444
- return this.set(button.key, button.caption, opt_isDefault, opt_isCancel);
1445
- };
1446
-
1447
-
1448
- /**
1449
- * Attaches the button set to an element, rendering it inside.
1450
- * @param {Element} el Container.
1451
- */
1452
- goog.ui.Dialog.ButtonSet.prototype.attachToElement = function(el) {
1453
- this.element_ = el;
1454
- this.render();
1455
- };
1456
-
1457
-
1458
- /**
1459
- * Renders the button set inside its container element.
1460
- */
1461
- goog.ui.Dialog.ButtonSet.prototype.render = function() {
1462
- if (this.element_) {
1463
- this.element_.innerHTML = '';
1464
- var domHelper = goog.dom.getDomHelper(this.element_);
1465
- goog.structs.forEach(this, function(caption, key) {
1466
- var button = domHelper.createDom('button', {'name': key}, caption);
1467
- if (key == this.defaultButton_) {
1468
- button.className = goog.getCssName(this.class_, 'default');
1469
- }
1470
- this.element_.appendChild(button);
1471
- }, this);
1472
- }
1473
- };
1474
-
1475
-
1476
- /**
1477
- * Decorates the given element by adding any {@code button} elements found
1478
- * among its descendants to the button set. The first button found is assumed
1479
- * to be the default and will receive focus when the button set is rendered.
1480
- * If a button with a name of {@link goog.ui.Dialog.DefaultButtonKeys.CANCEL}
1481
- * is found, it is assumed to have "Cancel" semantics.
1482
- * TODO(user): ButtonSet should be a goog.ui.Component. Really.
1483
- * @param {Element} element The element to decorate; should contain buttons.
1484
- */
1485
- goog.ui.Dialog.ButtonSet.prototype.decorate = function(element) {
1486
- if (!element || element.nodeType != goog.dom.NodeType.ELEMENT) {
1487
- return;
1488
- }
1489
-
1490
- this.element_ = element;
1491
- var buttons = this.element_.getElementsByTagName('button');
1492
- for (var i = 0, button, key, caption; button = buttons[i]; i++) {
1493
- // Buttons should have a "name" attribute and have their caption defined by
1494
- // their innerHTML, but not everyone knows this, and we should play nice.
1495
- key = button.name || button.id;
1496
- caption = goog.dom.getTextContent(button) || button.value;
1497
- if (key) {
1498
- var isDefault = i == 0;
1499
- var isCancel = button.name == goog.ui.Dialog.DefaultButtonKeys.CANCEL;
1500
- this.set(key, caption, isDefault, isCancel);
1501
- if (isDefault) {
1502
- goog.dom.classes.add(button, goog.getCssName(this.class_,
1503
- 'default'));
1504
- }
1505
- }
1506
- }
1507
- };
1508
-
1509
-
1510
- /**
1511
- * Sets the default button.
1512
- * @param {?string} key The default button.
1513
- */
1514
- goog.ui.Dialog.ButtonSet.prototype.setDefault = function(key) {
1515
- this.defaultButton_ = key;
1516
- };
1517
-
1518
-
1519
- /**
1520
- * Returns the default button.
1521
- * @return {?string} The default button.
1522
- */
1523
- goog.ui.Dialog.ButtonSet.prototype.getDefault = function() {
1524
- return this.defaultButton_;
1525
- };
1526
-
1527
-
1528
- /**
1529
- * Sets the cancel button.
1530
- * @param {?string} key The cancel button.
1531
- */
1532
- goog.ui.Dialog.ButtonSet.prototype.setCancel = function(key) {
1533
- this.cancelButton_ = key;
1534
- };
1535
-
1536
-
1537
- /**
1538
- * Returns the cancel button.
1539
- * @return {?string} The cancel button.
1540
- */
1541
- goog.ui.Dialog.ButtonSet.prototype.getCancel = function() {
1542
- return this.cancelButton_;
1543
- };
1544
-
1545
-
1546
- /**
1547
- * Returns the HTML Button element.
1548
- * @param {string} key The button to return.
1549
- * @return {Element} The button, if found else null.
1550
- */
1551
- goog.ui.Dialog.ButtonSet.prototype.getButton = function(key) {
1552
- var buttons = this.getAllButtons();
1553
- for (var i = 0, nextButton; nextButton = buttons[i]; i++) {
1554
- if (nextButton.name == key || nextButton.id == key) {
1555
- return nextButton;
1556
- }
1557
- }
1558
- return null;
1559
- };
1560
-
1561
-
1562
- /**
1563
- * Returns all the HTML Button elements in the button set container.
1564
- * @return {NodeList} A live NodeList of the buttons.
1565
- */
1566
- goog.ui.Dialog.ButtonSet.prototype.getAllButtons = function() {
1567
- return this.element_.getElementsByTagName(goog.dom.TagName.BUTTON);
1568
- };
1569
-
1570
-
1571
- /**
1572
- * Enables or disables a button in this set by key. If the button is not found,
1573
- * does nothing.
1574
- * @param {string} key The button to enable or disable.
1575
- * @param {boolean} enabled True to enable; false to disable.
1576
- */
1577
- goog.ui.Dialog.ButtonSet.prototype.setButtonEnabled = function(key, enabled) {
1578
- var button = this.getButton(key);
1579
- if (button) {
1580
- button.disabled = !enabled;
1581
- }
1582
- };
1583
-
1584
-
1585
- /**
1586
- * Enables or disables all of the buttons in this set.
1587
- * @param {boolean} enabled True to enable; false to disable.
1588
- */
1589
- goog.ui.Dialog.ButtonSet.prototype.setAllButtonsEnabled = function(enabled) {
1590
- var allButtons = this.getAllButtons();
1591
- for (var i = 0, button; button = allButtons[i]; i++) {
1592
- button.disabled = !enabled;
1593
- }
1594
- };
1595
-
1596
-
1597
- /**
1598
- * The keys used to identify standard buttons in events.
1599
- * @enum {string}
1600
- */
1601
- goog.ui.Dialog.DefaultButtonKeys = {
1602
- OK: 'ok',
1603
- CANCEL: 'cancel',
1604
- YES: 'yes',
1605
- NO: 'no',
1606
- SAVE: 'save',
1607
- CONTINUE: 'continue'
1608
- };
1609
-
1610
-
1611
- /**
1612
- * @desc Standard caption for the dialog 'OK' button.
1613
- * @private
1614
- */
1615
- goog.ui.Dialog.MSG_DIALOG_OK_ = goog.getMsg('OK');
1616
-
1617
-
1618
- /**
1619
- * @desc Standard caption for the dialog 'Cancel' button.
1620
- * @private
1621
- */
1622
- goog.ui.Dialog.MSG_DIALOG_CANCEL_ = goog.getMsg('Cancel');
1623
-
1624
-
1625
- /**
1626
- * @desc Standard caption for the dialog 'Yes' button.
1627
- * @private
1628
- */
1629
- goog.ui.Dialog.MSG_DIALOG_YES_ = goog.getMsg('Yes');
1630
-
1631
-
1632
- /**
1633
- * @desc Standard caption for the dialog 'No' button.
1634
- * @private
1635
- */
1636
- goog.ui.Dialog.MSG_DIALOG_NO_ = goog.getMsg('No');
1637
-
1638
-
1639
- /**
1640
- * @desc Standard caption for the dialog 'Save' button.
1641
- * @private
1642
- */
1643
- goog.ui.Dialog.MSG_DIALOG_SAVE_ = goog.getMsg('Save');
1644
-
1645
-
1646
- /**
1647
- * @desc Standard caption for the dialog 'Continue' button.
1648
- * @private
1649
- */
1650
- goog.ui.Dialog.MSG_DIALOG_CONTINUE_ = goog.getMsg('Continue');
1651
-
1652
-
1653
- /**
1654
- * The default captions for the default buttons.
1655
- * @enum {string}
1656
- */
1657
- goog.ui.Dialog.DefaultButtonCaptions = {
1658
- OK: goog.ui.Dialog.MSG_DIALOG_OK_,
1659
- CANCEL: goog.ui.Dialog.MSG_DIALOG_CANCEL_,
1660
- YES: goog.ui.Dialog.MSG_DIALOG_YES_,
1661
- NO: goog.ui.Dialog.MSG_DIALOG_NO_,
1662
- SAVE: goog.ui.Dialog.MSG_DIALOG_SAVE_,
1663
- CONTINUE: goog.ui.Dialog.MSG_DIALOG_CONTINUE_
1664
- };
1665
-
1666
-
1667
- /**
1668
- * The standard buttons (keys associated with captions).
1669
- * @enum {!{key: string, caption: string}}
1670
- */
1671
- goog.ui.Dialog.ButtonSet.DefaultButtons = {
1672
- OK: {
1673
- key: goog.ui.Dialog.DefaultButtonKeys.OK,
1674
- caption: goog.ui.Dialog.DefaultButtonCaptions.OK
1675
- },
1676
- CANCEL: {
1677
- key: goog.ui.Dialog.DefaultButtonKeys.CANCEL,
1678
- caption: goog.ui.Dialog.DefaultButtonCaptions.CANCEL
1679
- },
1680
- YES: {
1681
- key: goog.ui.Dialog.DefaultButtonKeys.YES,
1682
- caption: goog.ui.Dialog.DefaultButtonCaptions.YES
1683
- },
1684
- NO: {
1685
- key: goog.ui.Dialog.DefaultButtonKeys.NO,
1686
- caption: goog.ui.Dialog.DefaultButtonCaptions.NO
1687
- },
1688
- SAVE: {
1689
- key: goog.ui.Dialog.DefaultButtonKeys.SAVE,
1690
- caption: goog.ui.Dialog.DefaultButtonCaptions.SAVE
1691
- },
1692
- CONTINUE: {
1693
- key: goog.ui.Dialog.DefaultButtonKeys.CONTINUE,
1694
- caption: goog.ui.Dialog.DefaultButtonCaptions.CONTINUE
1695
- }
1696
- };
1697
-
1698
-
1699
- /**
1700
- * Creates a new ButtonSet with a single 'OK' button, which is also set with
1701
- * cancel button semantics so that pressing escape will close the dialog.
1702
- * @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
1703
- */
1704
- goog.ui.Dialog.ButtonSet.createOk = function() {
1705
- return new goog.ui.Dialog.ButtonSet().
1706
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.OK, true, true);
1707
- };
1708
-
1709
-
1710
- /**
1711
- * Creates a new ButtonSet with 'OK' (default) and 'Cancel' buttons.
1712
- * @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
1713
- */
1714
- goog.ui.Dialog.ButtonSet.createOkCancel = function() {
1715
- return new goog.ui.Dialog.ButtonSet().
1716
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.OK, true).
1717
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.CANCEL, false, true);
1718
- };
1719
-
1720
-
1721
- /**
1722
- * Creates a new ButtonSet with 'Yes' (default) and 'No' buttons.
1723
- * @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
1724
- */
1725
- goog.ui.Dialog.ButtonSet.createYesNo = function() {
1726
- return new goog.ui.Dialog.ButtonSet().
1727
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.YES, true).
1728
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.NO, false, true);
1729
- };
1730
-
1731
-
1732
- /**
1733
- * Creates a new ButtonSet with 'Yes', 'No' (default), and 'Cancel' buttons.
1734
- * @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
1735
- */
1736
- goog.ui.Dialog.ButtonSet.createYesNoCancel = function() {
1737
- return new goog.ui.Dialog.ButtonSet().
1738
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.YES).
1739
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.NO, true).
1740
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.CANCEL, false, true);
1741
- };
1742
-
1743
-
1744
- /**
1745
- * Creates a new ButtonSet with 'Continue', 'Save', and 'Cancel' (default)
1746
- * buttons.
1747
- * @return {!goog.ui.Dialog.ButtonSet} The created ButtonSet.
1748
- */
1749
- goog.ui.Dialog.ButtonSet.createContinueSaveCancel = function() {
1750
- return new goog.ui.Dialog.ButtonSet().
1751
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.CONTINUE).
1752
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.SAVE).
1753
- addButton(goog.ui.Dialog.ButtonSet.DefaultButtons.CANCEL, true, true);
1754
- };
1755
-
1756
-
1757
- // TODO(user): These shared instances should be phased out.
1758
- (function() {
1759
- /** @deprecated Use goog.ui.Dialog.ButtonSet#createOk. */
1760
- goog.ui.Dialog.ButtonSet.OK = goog.ui.Dialog.ButtonSet.createOk();
1761
-
1762
- /** @deprecated Use goog.ui.Dialog.ButtonSet#createOkCancel. */
1763
- goog.ui.Dialog.ButtonSet.OK_CANCEL =
1764
- goog.ui.Dialog.ButtonSet.createOkCancel();
1765
-
1766
- /** @deprecated Use goog.ui.Dialog.ButtonSet#createYesNo. */
1767
- goog.ui.Dialog.ButtonSet.YES_NO = goog.ui.Dialog.ButtonSet.createYesNo();
1768
-
1769
- /** @deprecated Use goog.ui.Dialog.ButtonSet#createYesNoCancel. */
1770
- goog.ui.Dialog.ButtonSet.YES_NO_CANCEL =
1771
- goog.ui.Dialog.ButtonSet.createYesNoCancel();
1772
-
1773
- /** @deprecated Use goog.ui.Dialog.ButtonSet#createContinueSaveCancel. */
1774
- goog.ui.Dialog.ButtonSet.CONTINUE_SAVE_CANCEL =
1775
- goog.ui.Dialog.ButtonSet.createContinueSaveCancel();
1776
- })();