@angular/platform-browser 2.0.0-rc.1 → 2.0.0-rc.2

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 (543) hide show
  1. package/bundles/platform-browser.umd.js +4685 -0
  2. package/bundles/platform-browser.umd.min.js +4 -0
  3. package/core_private.d.ts +23 -1
  4. package/core_private.js +14 -0
  5. package/core_private.js.map +1 -1
  6. package/core_private.metadata.json +1 -1
  7. package/esm/core_private.d.ts +23 -1
  8. package/esm/core_private.js +14 -0
  9. package/esm/core_private.js.map +1 -1
  10. package/esm/core_private.metadata.json +1 -1
  11. package/esm/index.d.ts +22 -1
  12. package/esm/index.js +25 -1
  13. package/esm/index.js.map +1 -1
  14. package/esm/index.metadata.json +1 -0
  15. package/esm/private_export.d.ts +21 -21
  16. package/esm/private_export.js +11 -21
  17. package/esm/private_export.js.map +1 -1
  18. package/esm/private_export.metadata.json +1 -0
  19. package/esm/src/browser/browser_adapter.d.ts +6 -0
  20. package/esm/src/browser/browser_adapter.js +146 -76
  21. package/esm/src/browser/browser_adapter.js.map +1 -1
  22. package/esm/src/browser/generic_browser_adapter.js +4 -4
  23. package/esm/src/browser/generic_browser_adapter.js.map +1 -1
  24. package/esm/src/browser/location/browser_platform_location.d.ts +1 -5
  25. package/esm/src/browser/location/browser_platform_location.js +16 -3
  26. package/esm/src/browser/location/browser_platform_location.js.map +1 -1
  27. package/esm/src/browser/location/browser_platform_location.metadata.json +1 -1
  28. package/esm/src/browser/location/history.d.ts +1 -0
  29. package/esm/src/browser/location/history.js +4 -0
  30. package/esm/src/browser/location/history.js.map +1 -0
  31. package/esm/src/browser/location/history.metadata.json +1 -0
  32. package/esm/src/browser/testability.d.ts +1 -1
  33. package/esm/src/browser/testability.js +7 -5
  34. package/esm/src/browser/testability.js.map +1 -1
  35. package/esm/src/browser/title.d.ts +2 -0
  36. package/esm/src/browser/title.js +2 -0
  37. package/esm/src/browser/title.js.map +1 -1
  38. package/esm/src/browser/tools/common_tools.js +2 -2
  39. package/esm/src/browser/tools/common_tools.js.map +1 -1
  40. package/esm/src/browser/tools/tools.d.ts +1 -1
  41. package/esm/src/browser/tools/tools.js +2 -1
  42. package/esm/src/browser/tools/tools.js.map +1 -1
  43. package/esm/src/browser.d.ts +15 -0
  44. package/esm/src/browser.js +76 -0
  45. package/esm/src/browser.js.map +1 -0
  46. package/esm/src/browser.metadata.json +1 -0
  47. package/esm/src/dom/debug/by.d.ts +2 -2
  48. package/esm/src/dom/debug/by.js +1 -1
  49. package/esm/src/dom/debug/by.js.map +1 -1
  50. package/esm/src/dom/debug/ng_probe.js +10 -19
  51. package/esm/src/dom/debug/ng_probe.js.map +1 -1
  52. package/esm/src/dom/debug/ng_probe.metadata.json +1 -1
  53. package/esm/src/dom/dom_adapter.d.ts +7 -5
  54. package/esm/src/dom/dom_adapter.js +1 -1
  55. package/esm/src/dom/dom_adapter.js.map +1 -1
  56. package/esm/src/dom/dom_adapter.metadata.json +1 -0
  57. package/esm/src/dom/dom_animate_player.d.ts +9 -0
  58. package/esm/src/dom/dom_animate_player.js +1 -0
  59. package/esm/src/dom/dom_animate_player.js.map +1 -0
  60. package/esm/src/dom/dom_renderer.d.ts +9 -19
  61. package/esm/src/dom/dom_renderer.js +29 -61
  62. package/esm/src/dom/dom_renderer.js.map +1 -1
  63. package/esm/src/dom/dom_renderer.metadata.json +1 -1
  64. package/esm/src/dom/dom_tokens.js.map +1 -1
  65. package/esm/src/dom/dom_tokens.metadata.json +1 -1
  66. package/esm/src/dom/events/dom_events.js +3 -2
  67. package/esm/src/dom/events/dom_events.js.map +1 -1
  68. package/esm/src/dom/events/dom_events.metadata.json +1 -1
  69. package/esm/src/dom/events/event_manager.d.ts +1 -3
  70. package/esm/src/dom/events/event_manager.js +9 -8
  71. package/esm/src/dom/events/event_manager.js.map +1 -1
  72. package/esm/src/dom/events/event_manager.metadata.json +1 -1
  73. package/esm/src/dom/events/hammer_common.js +1 -1
  74. package/esm/src/dom/events/hammer_common.js.map +1 -1
  75. package/esm/src/dom/events/hammer_gestures.js +10 -6
  76. package/esm/src/dom/events/hammer_gestures.js.map +1 -1
  77. package/esm/src/dom/events/hammer_gestures.metadata.json +1 -1
  78. package/esm/src/dom/events/key_events.d.ts +0 -2
  79. package/esm/src/dom/events/key_events.js +5 -3
  80. package/esm/src/dom/events/key_events.js.map +1 -1
  81. package/esm/src/dom/events/key_events.metadata.json +1 -1
  82. package/esm/src/dom/shared_styles_host.d.ts +0 -6
  83. package/esm/src/dom/shared_styles_host.js +5 -1
  84. package/esm/src/dom/shared_styles_host.js.map +1 -1
  85. package/esm/src/dom/shared_styles_host.metadata.json +1 -1
  86. package/esm/src/dom/util.js +3 -3
  87. package/esm/src/dom/util.js.map +1 -1
  88. package/esm/src/dom/util.metadata.json +1 -0
  89. package/esm/src/dom/web_animations_driver.d.ts +4 -0
  90. package/esm/src/dom/web_animations_driver.js +118 -0
  91. package/esm/src/dom/web_animations_driver.js.map +1 -0
  92. package/esm/src/dom/web_animations_player.d.ts +20 -0
  93. package/esm/src/dom/web_animations_player.js +42 -0
  94. package/esm/src/dom/web_animations_player.js.map +1 -0
  95. package/esm/src/facade/async.d.ts +90 -0
  96. package/esm/src/facade/async.js +137 -0
  97. package/esm/src/facade/async.js.map +1 -0
  98. package/esm/src/facade/base_wrapped_exception.js +4 -4
  99. package/esm/src/facade/base_wrapped_exception.js.map +1 -1
  100. package/esm/src/facade/browser.js +2 -2
  101. package/esm/src/facade/browser.js.map +1 -1
  102. package/esm/src/facade/browser.metadata.json +1 -1
  103. package/esm/src/facade/collection.js +1 -1
  104. package/esm/src/facade/collection.js.map +1 -1
  105. package/esm/src/facade/collection.metadata.json +1 -1
  106. package/esm/src/facade/exception_handler.d.ts +2 -11
  107. package/esm/src/facade/exception_handler.js +8 -7
  108. package/esm/src/facade/exception_handler.js.map +1 -1
  109. package/esm/src/facade/exceptions.d.ts +4 -0
  110. package/esm/src/facade/exceptions.js +6 -2
  111. package/esm/src/facade/exceptions.js.map +1 -1
  112. package/esm/src/facade/exceptions.metadata.json +1 -0
  113. package/esm/src/facade/lang.d.ts +6 -4
  114. package/esm/src/facade/lang.js +12 -11
  115. package/esm/src/facade/lang.js.map +1 -1
  116. package/esm/src/facade/lang.metadata.json +1 -1
  117. package/esm/src/facade/promise.d.ts +17 -0
  118. package/esm/src/facade/promise.js +41 -0
  119. package/esm/src/facade/promise.js.map +1 -0
  120. package/esm/src/security/dom_sanitization_service.d.ts +4 -5
  121. package/esm/src/security/dom_sanitization_service.js +7 -9
  122. package/esm/src/security/dom_sanitization_service.js.map +1 -1
  123. package/esm/src/security/dom_sanitization_service.metadata.json +1 -1
  124. package/esm/src/security/html_sanitizer.d.ts +5 -0
  125. package/esm/src/security/html_sanitizer.js +233 -0
  126. package/esm/src/security/html_sanitizer.js.map +1 -0
  127. package/esm/src/security/style_sanitizer.d.ts +4 -0
  128. package/esm/src/security/style_sanitizer.js +54 -17
  129. package/esm/src/security/style_sanitizer.js.map +1 -1
  130. package/esm/src/security/url_sanitizer.js +33 -26
  131. package/esm/src/security/url_sanitizer.js.map +1 -1
  132. package/esm/src/web_workers/shared/api.d.ts +2 -0
  133. package/esm/src/web_workers/shared/api.js +3 -0
  134. package/esm/src/web_workers/shared/api.js.map +1 -0
  135. package/esm/src/web_workers/shared/api.metadata.json +1 -0
  136. package/esm/src/web_workers/shared/client_message_broker.d.ts +51 -0
  137. package/esm/src/web_workers/shared/client_message_broker.js +156 -0
  138. package/esm/src/web_workers/shared/client_message_broker.js.map +1 -0
  139. package/esm/src/web_workers/shared/client_message_broker.metadata.json +1 -0
  140. package/esm/src/web_workers/shared/message_bus.d.ts +82 -0
  141. package/esm/src/web_workers/shared/message_bus.js +10 -0
  142. package/esm/src/web_workers/shared/message_bus.js.map +1 -0
  143. package/esm/src/web_workers/shared/messaging_api.d.ts +7 -0
  144. package/esm/src/web_workers/shared/messaging_api.js +8 -0
  145. package/esm/src/web_workers/shared/messaging_api.js.map +1 -0
  146. package/esm/src/web_workers/shared/messaging_api.metadata.json +1 -0
  147. package/esm/src/web_workers/shared/post_message_bus.d.ts +41 -0
  148. package/esm/src/web_workers/shared/post_message_bus.js +133 -0
  149. package/esm/src/web_workers/shared/post_message_bus.js.map +1 -0
  150. package/esm/src/web_workers/shared/post_message_bus.metadata.json +1 -0
  151. package/esm/src/web_workers/shared/render_store.d.ts +11 -0
  152. package/esm/src/web_workers/shared/render_store.js +40 -0
  153. package/esm/src/web_workers/shared/render_store.js.map +1 -0
  154. package/esm/src/web_workers/shared/render_store.metadata.json +1 -0
  155. package/esm/src/web_workers/shared/serialized_types.d.ts +12 -0
  156. package/esm/src/web_workers/shared/serialized_types.js +16 -0
  157. package/esm/src/web_workers/shared/serialized_types.js.map +1 -0
  158. package/esm/src/web_workers/shared/serializer.d.ts +18 -0
  159. package/esm/src/web_workers/shared/serializer.js +110 -0
  160. package/esm/src/web_workers/shared/serializer.js.map +1 -0
  161. package/esm/src/web_workers/shared/serializer.metadata.json +1 -0
  162. package/esm/src/web_workers/shared/service_message_broker.d.ts +48 -0
  163. package/esm/src/web_workers/shared/service_message_broker.js +88 -0
  164. package/esm/src/web_workers/shared/service_message_broker.js.map +1 -0
  165. package/esm/src/web_workers/shared/service_message_broker.metadata.json +1 -0
  166. package/esm/src/web_workers/ui/event_dispatcher.d.ts +8 -0
  167. package/esm/src/web_workers/ui/event_dispatcher.js +104 -0
  168. package/esm/src/web_workers/ui/event_dispatcher.js.map +1 -0
  169. package/esm/src/web_workers/ui/event_serializer.d.ts +15 -0
  170. package/esm/src/web_workers/ui/event_serializer.js +53 -0
  171. package/esm/src/web_workers/ui/event_serializer.js.map +1 -0
  172. package/esm/src/web_workers/ui/event_serializer.metadata.json +1 -0
  173. package/esm/src/web_workers/ui/location_providers.d.ts +14 -0
  174. package/esm/src/web_workers/ui/location_providers.js +19 -0
  175. package/esm/src/web_workers/ui/location_providers.js.map +1 -0
  176. package/esm/src/web_workers/ui/location_providers.metadata.json +1 -0
  177. package/esm/src/web_workers/ui/platform_location.d.ts +16 -0
  178. package/esm/src/web_workers/ui/platform_location.js +49 -0
  179. package/esm/src/web_workers/ui/platform_location.js.map +1 -0
  180. package/esm/src/web_workers/ui/platform_location.metadata.json +1 -0
  181. package/esm/src/web_workers/ui/renderer.d.ts +35 -0
  182. package/esm/src/web_workers/ui/renderer.js +122 -0
  183. package/esm/src/web_workers/ui/renderer.js.map +1 -0
  184. package/esm/src/web_workers/ui/renderer.metadata.json +1 -0
  185. package/esm/src/web_workers/worker/event_deserializer.d.ts +5 -0
  186. package/esm/src/web_workers/worker/event_deserializer.js +6 -0
  187. package/esm/src/web_workers/worker/event_deserializer.js.map +1 -0
  188. package/esm/src/web_workers/worker/event_deserializer.metadata.json +1 -0
  189. package/esm/src/web_workers/worker/location_providers.d.ts +17 -0
  190. package/esm/src/web_workers/worker/location_providers.js +20 -0
  191. package/esm/src/web_workers/worker/location_providers.js.map +1 -0
  192. package/esm/src/web_workers/worker/location_providers.metadata.json +1 -0
  193. package/esm/src/web_workers/worker/platform_location.d.ts +23 -0
  194. package/esm/src/web_workers/worker/platform_location.js +111 -0
  195. package/esm/src/web_workers/worker/platform_location.js.map +1 -0
  196. package/esm/src/web_workers/worker/platform_location.metadata.json +1 -0
  197. package/esm/src/web_workers/worker/renderer.d.ts +55 -0
  198. package/esm/src/web_workers/worker/renderer.js +227 -0
  199. package/esm/src/web_workers/worker/renderer.js.map +1 -0
  200. package/esm/src/web_workers/worker/renderer.metadata.json +1 -0
  201. package/esm/src/web_workers/worker/worker_adapter.d.ts +132 -0
  202. package/esm/src/web_workers/worker/worker_adapter.js +192 -0
  203. package/esm/src/web_workers/worker/worker_adapter.js.map +1 -0
  204. package/esm/src/worker_app.d.ts +13 -0
  205. package/esm/src/worker_app.js +68 -0
  206. package/esm/src/worker_app.js.map +1 -0
  207. package/esm/src/worker_app.metadata.json +1 -0
  208. package/esm/src/worker_render.d.ts +35 -0
  209. package/esm/src/worker_render.js +147 -0
  210. package/esm/src/worker_render.js.map +1 -0
  211. package/esm/src/worker_render.metadata.json +1 -0
  212. package/esm/testing/browser.d.ts +8 -0
  213. package/esm/testing/browser.js +38 -0
  214. package/esm/testing/browser.js.map +1 -0
  215. package/esm/testing/browser.metadata.json +1 -0
  216. package/esm/testing/browser_util.d.ts +1 -0
  217. package/esm/testing/browser_util.js +11 -6
  218. package/esm/testing/browser_util.js.map +1 -1
  219. package/esm/testing/browser_util.metadata.json +1 -1
  220. package/esm/testing/e2e_util.d.ts +4 -0
  221. package/esm/testing/e2e_util.js +21 -0
  222. package/esm/testing/e2e_util.js.map +1 -0
  223. package/esm/testing/e2e_util.metadata.json +1 -0
  224. package/esm/testing/matchers.js +24 -22
  225. package/esm/testing/matchers.js.map +1 -1
  226. package/esm/testing/matchers.metadata.json +1 -1
  227. package/esm/testing.d.ts +1 -2
  228. package/esm/testing.js +1 -2
  229. package/esm/testing.js.map +1 -1
  230. package/esm/testing_e2e.d.ts +1 -0
  231. package/esm/testing_e2e.js +2 -0
  232. package/esm/testing_e2e.js.map +1 -0
  233. package/index.d.ts +22 -1
  234. package/index.js +50 -1
  235. package/index.js.map +1 -1
  236. package/index.metadata.json +1 -0
  237. package/package.json +8 -4
  238. package/private_export.d.ts +21 -21
  239. package/private_export.js +11 -21
  240. package/private_export.js.map +1 -1
  241. package/private_export.metadata.json +1 -0
  242. package/src/browser/browser_adapter.d.ts +6 -0
  243. package/src/browser/browser_adapter.js +144 -76
  244. package/src/browser/browser_adapter.js.map +1 -1
  245. package/src/browser/generic_browser_adapter.js +4 -4
  246. package/src/browser/generic_browser_adapter.js.map +1 -1
  247. package/src/browser/location/browser_platform_location.d.ts +1 -5
  248. package/src/browser/location/browser_platform_location.js +16 -3
  249. package/src/browser/location/browser_platform_location.js.map +1 -1
  250. package/src/browser/location/browser_platform_location.metadata.json +1 -1
  251. package/src/browser/location/history.d.ts +1 -0
  252. package/src/browser/location/history.js +6 -0
  253. package/src/browser/location/history.js.map +1 -0
  254. package/src/browser/location/history.metadata.json +1 -0
  255. package/src/browser/testability.d.ts +1 -1
  256. package/src/browser/testability.js +7 -5
  257. package/src/browser/testability.js.map +1 -1
  258. package/src/browser/title.d.ts +2 -0
  259. package/src/browser/title.js +2 -0
  260. package/src/browser/title.js.map +1 -1
  261. package/src/browser/tools/common_tools.js +2 -2
  262. package/src/browser/tools/common_tools.js.map +1 -1
  263. package/src/browser/tools/tools.d.ts +1 -1
  264. package/src/browser/tools/tools.js +2 -1
  265. package/src/browser/tools/tools.js.map +1 -1
  266. package/src/browser.d.ts +15 -0
  267. package/src/browser.js +78 -0
  268. package/src/browser.js.map +1 -0
  269. package/src/browser.metadata.json +1 -0
  270. package/src/dom/debug/by.d.ts +2 -2
  271. package/src/dom/debug/by.js +1 -1
  272. package/src/dom/debug/by.js.map +1 -1
  273. package/src/dom/debug/ng_probe.js +9 -18
  274. package/src/dom/debug/ng_probe.js.map +1 -1
  275. package/src/dom/debug/ng_probe.metadata.json +1 -1
  276. package/src/dom/dom_adapter.d.ts +7 -5
  277. package/src/dom/dom_adapter.js +1 -1
  278. package/src/dom/dom_adapter.js.map +1 -1
  279. package/src/dom/dom_adapter.metadata.json +1 -0
  280. package/src/dom/dom_animate_player.d.ts +9 -0
  281. package/src/dom/dom_animate_player.js +2 -0
  282. package/src/dom/dom_animate_player.js.map +1 -0
  283. package/src/dom/dom_renderer.d.ts +9 -19
  284. package/src/dom/dom_renderer.js +29 -61
  285. package/src/dom/dom_renderer.js.map +1 -1
  286. package/src/dom/dom_renderer.metadata.json +1 -1
  287. package/src/dom/dom_tokens.js.map +1 -1
  288. package/src/dom/dom_tokens.metadata.json +1 -1
  289. package/src/dom/events/dom_events.js +3 -2
  290. package/src/dom/events/dom_events.js.map +1 -1
  291. package/src/dom/events/dom_events.metadata.json +1 -1
  292. package/src/dom/events/event_manager.d.ts +1 -3
  293. package/src/dom/events/event_manager.js +8 -7
  294. package/src/dom/events/event_manager.js.map +1 -1
  295. package/src/dom/events/event_manager.metadata.json +1 -1
  296. package/src/dom/events/hammer_common.js +1 -1
  297. package/src/dom/events/hammer_common.js.map +1 -1
  298. package/src/dom/events/hammer_gestures.js +9 -5
  299. package/src/dom/events/hammer_gestures.js.map +1 -1
  300. package/src/dom/events/hammer_gestures.metadata.json +1 -1
  301. package/src/dom/events/key_events.d.ts +0 -2
  302. package/src/dom/events/key_events.js +5 -3
  303. package/src/dom/events/key_events.js.map +1 -1
  304. package/src/dom/events/key_events.metadata.json +1 -1
  305. package/src/dom/shared_styles_host.d.ts +0 -6
  306. package/src/dom/shared_styles_host.js +5 -1
  307. package/src/dom/shared_styles_host.js.map +1 -1
  308. package/src/dom/shared_styles_host.metadata.json +1 -1
  309. package/src/dom/util.js +3 -3
  310. package/src/dom/util.js.map +1 -1
  311. package/src/dom/util.metadata.json +1 -0
  312. package/src/dom/web_animations_driver.d.ts +4 -0
  313. package/src/dom/web_animations_driver.js +123 -0
  314. package/src/dom/web_animations_driver.js.map +1 -0
  315. package/src/dom/web_animations_player.d.ts +20 -0
  316. package/src/dom/web_animations_player.js +46 -0
  317. package/src/dom/web_animations_player.js.map +1 -0
  318. package/src/facade/async.d.ts +90 -0
  319. package/src/facade/async.js +160 -0
  320. package/src/facade/async.js.map +1 -0
  321. package/src/facade/base_wrapped_exception.js +4 -4
  322. package/src/facade/base_wrapped_exception.js.map +1 -1
  323. package/src/facade/browser.js +2 -2
  324. package/src/facade/browser.js.map +1 -1
  325. package/src/facade/browser.metadata.json +1 -1
  326. package/src/facade/collection.js.map +1 -1
  327. package/src/facade/collection.metadata.json +1 -1
  328. package/src/facade/exception_handler.d.ts +2 -11
  329. package/src/facade/exception_handler.js +8 -7
  330. package/src/facade/exception_handler.js.map +1 -1
  331. package/src/facade/exceptions.d.ts +4 -0
  332. package/src/facade/exceptions.js +6 -2
  333. package/src/facade/exceptions.js.map +1 -1
  334. package/src/facade/exceptions.metadata.json +1 -0
  335. package/src/facade/lang.d.ts +6 -4
  336. package/src/facade/lang.js +12 -11
  337. package/src/facade/lang.js.map +1 -1
  338. package/src/facade/lang.metadata.json +1 -1
  339. package/src/facade/promise.d.ts +17 -0
  340. package/src/facade/promise.js +49 -0
  341. package/src/facade/promise.js.map +1 -0
  342. package/src/security/dom_sanitization_service.d.ts +4 -5
  343. package/src/security/dom_sanitization_service.js +7 -9
  344. package/src/security/dom_sanitization_service.js.map +1 -1
  345. package/src/security/dom_sanitization_service.metadata.json +1 -1
  346. package/src/security/html_sanitizer.d.ts +5 -0
  347. package/src/security/html_sanitizer.js +246 -0
  348. package/src/security/html_sanitizer.js.map +1 -0
  349. package/src/security/style_sanitizer.d.ts +4 -0
  350. package/src/security/style_sanitizer.js +54 -17
  351. package/src/security/style_sanitizer.js.map +1 -1
  352. package/src/security/url_sanitizer.js +33 -26
  353. package/src/security/url_sanitizer.js.map +1 -1
  354. package/src/web_workers/shared/api.d.ts +2 -0
  355. package/src/web_workers/shared/api.js +4 -0
  356. package/src/web_workers/shared/api.js.map +1 -0
  357. package/src/web_workers/shared/api.metadata.json +1 -0
  358. package/src/web_workers/shared/client_message_broker.d.ts +51 -0
  359. package/src/web_workers/shared/client_message_broker.js +184 -0
  360. package/src/web_workers/shared/client_message_broker.js.map +1 -0
  361. package/src/web_workers/shared/client_message_broker.metadata.json +1 -0
  362. package/src/web_workers/shared/message_bus.d.ts +82 -0
  363. package/src/web_workers/shared/message_bus.js +15 -0
  364. package/src/web_workers/shared/message_bus.js.map +1 -0
  365. package/src/web_workers/shared/messaging_api.d.ts +7 -0
  366. package/src/web_workers/shared/messaging_api.js +9 -0
  367. package/src/web_workers/shared/messaging_api.js.map +1 -0
  368. package/src/web_workers/shared/messaging_api.metadata.json +1 -0
  369. package/src/web_workers/shared/post_message_bus.d.ts +41 -0
  370. package/src/web_workers/shared/post_message_bus.js +147 -0
  371. package/src/web_workers/shared/post_message_bus.js.map +1 -0
  372. package/src/web_workers/shared/post_message_bus.metadata.json +1 -0
  373. package/src/web_workers/shared/render_store.d.ts +11 -0
  374. package/src/web_workers/shared/render_store.js +43 -0
  375. package/src/web_workers/shared/render_store.js.map +1 -0
  376. package/src/web_workers/shared/render_store.metadata.json +1 -0
  377. package/src/web_workers/shared/serialized_types.d.ts +12 -0
  378. package/src/web_workers/shared/serialized_types.js +19 -0
  379. package/src/web_workers/shared/serialized_types.js.map +1 -0
  380. package/src/web_workers/shared/serializer.d.ts +18 -0
  381. package/src/web_workers/shared/serializer.js +119 -0
  382. package/src/web_workers/shared/serializer.js.map +1 -0
  383. package/src/web_workers/shared/serializer.metadata.json +1 -0
  384. package/src/web_workers/shared/service_message_broker.d.ts +48 -0
  385. package/src/web_workers/shared/service_message_broker.js +114 -0
  386. package/src/web_workers/shared/service_message_broker.js.map +1 -0
  387. package/src/web_workers/shared/service_message_broker.metadata.json +1 -0
  388. package/src/web_workers/ui/event_dispatcher.d.ts +8 -0
  389. package/src/web_workers/ui/event_dispatcher.js +107 -0
  390. package/src/web_workers/ui/event_dispatcher.js.map +1 -0
  391. package/src/web_workers/ui/event_serializer.d.ts +15 -0
  392. package/src/web_workers/ui/event_serializer.js +59 -0
  393. package/src/web_workers/ui/event_serializer.js.map +1 -0
  394. package/src/web_workers/ui/event_serializer.metadata.json +1 -0
  395. package/src/web_workers/ui/location_providers.d.ts +14 -0
  396. package/src/web_workers/ui/location_providers.js +20 -0
  397. package/src/web_workers/ui/location_providers.js.map +1 -0
  398. package/src/web_workers/ui/location_providers.metadata.json +1 -0
  399. package/src/web_workers/ui/platform_location.d.ts +16 -0
  400. package/src/web_workers/ui/platform_location.js +52 -0
  401. package/src/web_workers/ui/platform_location.js.map +1 -0
  402. package/src/web_workers/ui/platform_location.metadata.json +1 -0
  403. package/src/web_workers/ui/renderer.d.ts +35 -0
  404. package/src/web_workers/ui/renderer.js +131 -0
  405. package/src/web_workers/ui/renderer.js.map +1 -0
  406. package/src/web_workers/ui/renderer.metadata.json +1 -0
  407. package/src/web_workers/worker/event_deserializer.d.ts +5 -0
  408. package/src/web_workers/worker/event_deserializer.js +8 -0
  409. package/src/web_workers/worker/event_deserializer.js.map +1 -0
  410. package/src/web_workers/worker/event_deserializer.metadata.json +1 -0
  411. package/src/web_workers/worker/location_providers.d.ts +17 -0
  412. package/src/web_workers/worker/location_providers.js +21 -0
  413. package/src/web_workers/worker/location_providers.js.map +1 -0
  414. package/src/web_workers/worker/location_providers.metadata.json +1 -0
  415. package/src/web_workers/worker/platform_location.d.ts +23 -0
  416. package/src/web_workers/worker/platform_location.js +134 -0
  417. package/src/web_workers/worker/platform_location.js.map +1 -0
  418. package/src/web_workers/worker/platform_location.metadata.json +1 -0
  419. package/src/web_workers/worker/renderer.d.ts +55 -0
  420. package/src/web_workers/worker/renderer.js +241 -0
  421. package/src/web_workers/worker/renderer.js.map +1 -0
  422. package/src/web_workers/worker/renderer.metadata.json +1 -0
  423. package/src/web_workers/worker/worker_adapter.d.ts +132 -0
  424. package/src/web_workers/worker/worker_adapter.js +208 -0
  425. package/src/web_workers/worker/worker_adapter.js.map +1 -0
  426. package/src/worker_app.d.ts +13 -0
  427. package/src/worker_app.js +71 -0
  428. package/src/worker_app.js.map +1 -0
  429. package/src/worker_app.metadata.json +1 -0
  430. package/src/worker_render.d.ts +35 -0
  431. package/src/worker_render.js +153 -0
  432. package/src/worker_render.js.map +1 -0
  433. package/src/worker_render.metadata.json +1 -0
  434. package/testing/browser.d.ts +8 -0
  435. package/testing/browser.js +39 -0
  436. package/testing/browser.js.map +1 -0
  437. package/testing/browser.metadata.json +1 -0
  438. package/testing/browser_util.d.ts +1 -0
  439. package/testing/browser_util.js +14 -5
  440. package/testing/browser_util.js.map +1 -1
  441. package/testing/browser_util.metadata.json +1 -1
  442. package/testing/e2e_util.d.ts +4 -0
  443. package/testing/e2e_util.js +24 -0
  444. package/testing/e2e_util.js.map +1 -0
  445. package/testing/e2e_util.metadata.json +1 -0
  446. package/testing/matchers.js +24 -22
  447. package/testing/matchers.js.map +1 -1
  448. package/testing/matchers.metadata.json +1 -1
  449. package/testing.d.ts +1 -2
  450. package/testing.js +1 -2
  451. package/testing.js.map +1 -1
  452. package/testing_e2e.d.ts +1 -0
  453. package/testing_e2e.js +6 -0
  454. package/testing_e2e.js.map +1 -0
  455. package/esm/src/animate/animation.d.ts +0 -82
  456. package/esm/src/animate/animation.js +0 -173
  457. package/esm/src/animate/animation.js.map +0 -1
  458. package/esm/src/animate/animation_builder.d.ts +0 -15
  459. package/esm/src/animate/animation_builder.js +0 -24
  460. package/esm/src/animate/animation_builder.js.map +0 -1
  461. package/esm/src/animate/animation_builder.metadata.json +0 -1
  462. package/esm/src/animate/browser_details.d.ts +0 -10
  463. package/esm/src/animate/browser_details.js +0 -60
  464. package/esm/src/animate/browser_details.js.map +0 -1
  465. package/esm/src/animate/browser_details.metadata.json +0 -1
  466. package/esm/src/animate/css_animation_builder.d.ts +0 -66
  467. package/esm/src/animate/css_animation_builder.js +0 -84
  468. package/esm/src/animate/css_animation_builder.js.map +0 -1
  469. package/esm/src/animate/css_animation_options.d.ts +0 -20
  470. package/esm/src/animate/css_animation_options.js +0 -11
  471. package/esm/src/animate/css_animation_options.js.map +0 -1
  472. package/esm/src/browser_common.d.ts +0 -21
  473. package/esm/src/browser_common.js +0 -82
  474. package/esm/src/browser_common.js.map +0 -1
  475. package/esm/src/browser_common.metadata.json +0 -1
  476. package/esm/src/facade/math.d.ts +0 -2
  477. package/esm/src/facade/math.js +0 -4
  478. package/esm/src/facade/math.js.map +0 -1
  479. package/esm/src/facade/math.metadata.json +0 -1
  480. package/esm/src/platform_browser.d.ts +0 -10
  481. package/esm/src/platform_browser.js +0 -18
  482. package/esm/src/platform_browser.js.map +0 -1
  483. package/esm/src/platform_browser_static.d.ts +0 -16
  484. package/esm/src/platform_browser_static.js +0 -32
  485. package/esm/src/platform_browser_static.js.map +0 -1
  486. package/esm/src/platform_browser_static.metadata.json +0 -1
  487. package/esm/testing/animation_builder_mock.d.ts +0 -6
  488. package/esm/testing/animation_builder_mock.js +0 -35
  489. package/esm/testing/animation_builder_mock.js.map +0 -1
  490. package/esm/testing/animation_builder_mock.metadata.json +0 -1
  491. package/esm/testing/browser_static.d.ts +0 -10
  492. package/esm/testing/browser_static.js +0 -53
  493. package/esm/testing/browser_static.js.map +0 -1
  494. package/esm/testing/browser_static.metadata.json +0 -1
  495. package/esm/testing/dom_test_component_renderer.d.ts +0 -9
  496. package/esm/testing/dom_test_component_renderer.js +0 -27
  497. package/esm/testing/dom_test_component_renderer.js.map +0 -1
  498. package/esm/testing/dom_test_component_renderer.metadata.json +0 -1
  499. package/platform-browser.umd.js +0 -2715
  500. package/src/animate/animation.d.ts +0 -82
  501. package/src/animate/animation.js +0 -183
  502. package/src/animate/animation.js.map +0 -1
  503. package/src/animate/animation_builder.d.ts +0 -15
  504. package/src/animate/animation_builder.js +0 -27
  505. package/src/animate/animation_builder.js.map +0 -1
  506. package/src/animate/animation_builder.metadata.json +0 -1
  507. package/src/animate/browser_details.d.ts +0 -10
  508. package/src/animate/browser_details.js +0 -66
  509. package/src/animate/browser_details.js.map +0 -1
  510. package/src/animate/browser_details.metadata.json +0 -1
  511. package/src/animate/css_animation_builder.d.ts +0 -66
  512. package/src/animate/css_animation_builder.js +0 -87
  513. package/src/animate/css_animation_builder.js.map +0 -1
  514. package/src/animate/css_animation_options.d.ts +0 -20
  515. package/src/animate/css_animation_options.js +0 -14
  516. package/src/animate/css_animation_options.js.map +0 -1
  517. package/src/browser_common.d.ts +0 -21
  518. package/src/browser_common.js +0 -91
  519. package/src/browser_common.js.map +0 -1
  520. package/src/browser_common.metadata.json +0 -1
  521. package/src/facade/math.d.ts +0 -2
  522. package/src/facade/math.js +0 -5
  523. package/src/facade/math.js.map +0 -1
  524. package/src/facade/math.metadata.json +0 -1
  525. package/src/platform_browser.d.ts +0 -10
  526. package/src/platform_browser.js +0 -43
  527. package/src/platform_browser.js.map +0 -1
  528. package/src/platform_browser_static.d.ts +0 -16
  529. package/src/platform_browser_static.js +0 -42
  530. package/src/platform_browser_static.js.map +0 -1
  531. package/src/platform_browser_static.metadata.json +0 -1
  532. package/testing/animation_builder_mock.d.ts +0 -6
  533. package/testing/animation_builder_mock.js +0 -53
  534. package/testing/animation_builder_mock.js.map +0 -1
  535. package/testing/animation_builder_mock.metadata.json +0 -1
  536. package/testing/browser_static.d.ts +0 -10
  537. package/testing/browser_static.js +0 -55
  538. package/testing/browser_static.js.map +0 -1
  539. package/testing/browser_static.metadata.json +0 -1
  540. package/testing/dom_test_component_renderer.d.ts +0 -9
  541. package/testing/dom_test_component_renderer.js +0 -36
  542. package/testing/dom_test_component_renderer.js.map +0 -1
  543. package/testing/dom_test_component_renderer.metadata.json +0 -1
@@ -0,0 +1,13 @@
1
+ import { PlatformRef } from '@angular/core';
2
+ /**
3
+ * @experimental
4
+ */
5
+ export declare const WORKER_APP_PLATFORM_PROVIDERS: Array<any>;
6
+ /**
7
+ * @experimental
8
+ */
9
+ export declare const WORKER_APP_APPLICATION_PROVIDERS: Array<any>;
10
+ /**
11
+ * @experimental
12
+ */
13
+ export declare function workerAppPlatform(): PlatformRef;
@@ -0,0 +1,68 @@
1
+ import { FORM_PROVIDERS } from '@angular/common';
2
+ import { APPLICATION_COMMON_PROVIDERS, APP_INITIALIZER, ExceptionHandler, NgZone, OpaqueToken, PLATFORM_COMMON_PROVIDERS, ReflectiveInjector, RootRenderer, assertPlatform, createPlatform, getPlatform } from '@angular/core';
3
+ import { BROWSER_SANITIZATION_PROVIDERS } from './browser';
4
+ import { isBlank, print } from './facade/lang';
5
+ import { ON_WEB_WORKER } from './web_workers/shared/api';
6
+ import { ClientMessageBrokerFactory, ClientMessageBrokerFactory_ } from './web_workers/shared/client_message_broker';
7
+ import { MessageBus } from './web_workers/shared/message_bus';
8
+ import { PostMessageBus, PostMessageBusSink, PostMessageBusSource } from './web_workers/shared/post_message_bus';
9
+ import { RenderStore } from './web_workers/shared/render_store';
10
+ import { Serializer } from './web_workers/shared/serializer';
11
+ import { ServiceMessageBrokerFactory, ServiceMessageBrokerFactory_ } from './web_workers/shared/service_message_broker';
12
+ import { WebWorkerRootRenderer } from './web_workers/worker/renderer';
13
+ import { WorkerDomAdapter } from './web_workers/worker/worker_adapter';
14
+ class PrintLogger {
15
+ constructor() {
16
+ this.log = print;
17
+ this.logError = print;
18
+ this.logGroup = print;
19
+ }
20
+ logGroupEnd() { }
21
+ }
22
+ const WORKER_APP_PLATFORM_MARKER = new OpaqueToken('WorkerAppPlatformMarker');
23
+ /**
24
+ * @experimental
25
+ */
26
+ export const WORKER_APP_PLATFORM_PROVIDERS = [PLATFORM_COMMON_PROVIDERS, { provide: WORKER_APP_PLATFORM_MARKER, useValue: true }];
27
+ /**
28
+ * @experimental
29
+ */
30
+ export const WORKER_APP_APPLICATION_PROVIDERS = [
31
+ APPLICATION_COMMON_PROVIDERS, FORM_PROVIDERS, BROWSER_SANITIZATION_PROVIDERS, Serializer,
32
+ { provide: ClientMessageBrokerFactory, useClass: ClientMessageBrokerFactory_ },
33
+ { provide: ServiceMessageBrokerFactory, useClass: ServiceMessageBrokerFactory_ },
34
+ WebWorkerRootRenderer, { provide: RootRenderer, useExisting: WebWorkerRootRenderer },
35
+ { provide: ON_WEB_WORKER, useValue: true }, RenderStore,
36
+ { provide: ExceptionHandler, useFactory: _exceptionHandler, deps: [] },
37
+ { provide: MessageBus, useFactory: createMessageBus, deps: [NgZone] },
38
+ { provide: APP_INITIALIZER, useValue: setupWebWorker, multi: true }
39
+ ];
40
+ /**
41
+ * @experimental
42
+ */
43
+ export function workerAppPlatform() {
44
+ if (isBlank(getPlatform())) {
45
+ createPlatform(ReflectiveInjector.resolveAndCreate(WORKER_APP_PLATFORM_PROVIDERS));
46
+ }
47
+ return assertPlatform(WORKER_APP_PLATFORM_MARKER);
48
+ }
49
+ function _exceptionHandler() {
50
+ return new ExceptionHandler(new PrintLogger());
51
+ }
52
+ // TODO(jteplitz602) remove this and compile with lib.webworker.d.ts (#3492)
53
+ let _postMessage = {
54
+ postMessage: (message, transferrables) => {
55
+ postMessage(message, transferrables);
56
+ }
57
+ };
58
+ function createMessageBus(zone) {
59
+ let sink = new PostMessageBusSink(_postMessage);
60
+ let source = new PostMessageBusSource();
61
+ let bus = new PostMessageBus(sink, source);
62
+ bus.attachToZone(zone);
63
+ return bus;
64
+ }
65
+ function setupWebWorker() {
66
+ WorkerDomAdapter.makeCurrent();
67
+ }
68
+ //# sourceMappingURL=worker_app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker_app.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/worker_app.ts"],"names":[],"mappings":"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","sourcesContent":["import {FORM_PROVIDERS} from '@angular/common';\nimport {APPLICATION_COMMON_PROVIDERS, APP_INITIALIZER, ExceptionHandler, NgZone, OpaqueToken, PLATFORM_COMMON_PROVIDERS, PlatformRef, ReflectiveInjector, RootRenderer, assertPlatform, createPlatform, getPlatform} from '@angular/core';\n\nimport {BROWSER_SANITIZATION_PROVIDERS} from './browser';\nimport {isBlank, print} from './facade/lang';\nimport {ON_WEB_WORKER} from './web_workers/shared/api';\nimport {ClientMessageBrokerFactory, ClientMessageBrokerFactory_} from './web_workers/shared/client_message_broker';\nimport {MessageBus} from './web_workers/shared/message_bus';\nimport {PostMessageBus, PostMessageBusSink, PostMessageBusSource} from './web_workers/shared/post_message_bus';\nimport {RenderStore} from './web_workers/shared/render_store';\nimport {Serializer} from './web_workers/shared/serializer';\nimport {ServiceMessageBrokerFactory, ServiceMessageBrokerFactory_} from './web_workers/shared/service_message_broker';\nimport {WebWorkerRootRenderer} from './web_workers/worker/renderer';\nimport {WorkerDomAdapter} from './web_workers/worker/worker_adapter';\n\nclass PrintLogger {\n log = print;\n logError = print;\n logGroup = print;\n logGroupEnd() {}\n}\n\nconst WORKER_APP_PLATFORM_MARKER = new OpaqueToken('WorkerAppPlatformMarker');\n\n/**\n * @experimental\n */\nexport const WORKER_APP_PLATFORM_PROVIDERS: Array<any /*Type | Provider | any[]*/> =\n [PLATFORM_COMMON_PROVIDERS, {provide: WORKER_APP_PLATFORM_MARKER, useValue: true}];\n\n/**\n * @experimental\n */\nexport const WORKER_APP_APPLICATION_PROVIDERS: Array<any /*Type | Provider | any[]*/> = [\n APPLICATION_COMMON_PROVIDERS, FORM_PROVIDERS, BROWSER_SANITIZATION_PROVIDERS, Serializer,\n {provide: ClientMessageBrokerFactory, useClass: ClientMessageBrokerFactory_},\n {provide: ServiceMessageBrokerFactory, useClass: ServiceMessageBrokerFactory_},\n WebWorkerRootRenderer, {provide: RootRenderer, useExisting: WebWorkerRootRenderer},\n {provide: ON_WEB_WORKER, useValue: true}, RenderStore,\n {provide: ExceptionHandler, useFactory: _exceptionHandler, deps: []},\n {provide: MessageBus, useFactory: createMessageBus, deps: [NgZone]},\n {provide: APP_INITIALIZER, useValue: setupWebWorker, multi: true}\n];\n\n/**\n * @experimental\n */\nexport function workerAppPlatform(): PlatformRef {\n if (isBlank(getPlatform())) {\n createPlatform(ReflectiveInjector.resolveAndCreate(WORKER_APP_PLATFORM_PROVIDERS));\n }\n return assertPlatform(WORKER_APP_PLATFORM_MARKER);\n}\n\nfunction _exceptionHandler(): ExceptionHandler {\n return new ExceptionHandler(new PrintLogger());\n}\n\n// TODO(jteplitz602) remove this and compile with lib.webworker.d.ts (#3492)\nlet _postMessage = {\n postMessage: (message: any, transferrables?: [ArrayBuffer]) => {\n (<any>postMessage)(message, transferrables);\n }\n};\n\nfunction createMessageBus(zone: NgZone): MessageBus {\n let sink = new PostMessageBusSink(_postMessage);\n let source = new PostMessageBusSource();\n let bus = new PostMessageBus(sink, source);\n bus.attachToZone(zone);\n return bus;\n}\n\nfunction setupWebWorker(): void {\n WorkerDomAdapter.makeCurrent();\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"WORKER_APP_PLATFORM_PROVIDERS":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_COMMON_PROVIDERS"},{"provide":{"__symbolic":"reference","name":"WORKER_APP_PLATFORM_MARKER"},"useValue":true}],"WORKER_APP_APPLICATION_PROVIDERS":[{"__symbolic":"reference","module":"@angular/core","name":"APPLICATION_COMMON_PROVIDERS"},{"__symbolic":"reference","module":"@angular/common","name":"FORM_PROVIDERS"},{"__symbolic":"reference","module":"./browser","name":"BROWSER_SANITIZATION_PROVIDERS"},{"__symbolic":"reference","module":"./web_workers/shared/serializer","name":"Serializer"},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/client_message_broker","name":"ClientMessageBrokerFactory"},"useClass":{"__symbolic":"reference","module":"./web_workers/shared/client_message_broker","name":"ClientMessageBrokerFactory_"}},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/service_message_broker","name":"ServiceMessageBrokerFactory"},"useClass":{"__symbolic":"reference","module":"./web_workers/shared/service_message_broker","name":"ServiceMessageBrokerFactory_"}},{"__symbolic":"reference","module":"./web_workers/worker/renderer","name":"WebWorkerRootRenderer"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RootRenderer"},"useExisting":{"__symbolic":"reference","module":"./web_workers/worker/renderer","name":"WebWorkerRootRenderer"}},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/api","name":"ON_WEB_WORKER"},"useValue":true},{"__symbolic":"reference","module":"./web_workers/shared/render_store","name":"RenderStore"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ExceptionHandler"},"useFactory":{"__symbolic":"reference","name":"_exceptionHandler"},"deps":[]},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/message_bus","name":"MessageBus"},"useFactory":{"__symbolic":"reference","name":"createMessageBus"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone"}]},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"useValue":{"__symbolic":"reference","name":"setupWebWorker"},"multi":true}]}}
@@ -0,0 +1,35 @@
1
+ import { OpaqueToken, PlatformRef } from '@angular/core';
2
+ import { MessageBus } from './web_workers/shared/message_bus';
3
+ /**
4
+ * Wrapper class that exposes the Worker
5
+ * and underlying {@link MessageBus} for lower level message passing.
6
+ * @experimental
7
+ */
8
+ export declare class WebWorkerInstance {
9
+ worker: Worker;
10
+ bus: MessageBus;
11
+ }
12
+ /**
13
+ * @experimental
14
+ */
15
+ export declare const WORKER_SCRIPT: OpaqueToken;
16
+ /**
17
+ * A multiple providers used to automatically call the `start()` method after the service is
18
+ * created.
19
+ *
20
+ * TODO(vicb): create an interface for startable services to implement
21
+ * @experimental
22
+ */
23
+ export declare const WORKER_UI_STARTABLE_MESSAGING_SERVICE: OpaqueToken;
24
+ /**
25
+ * * @experimental
26
+ */
27
+ export declare const WORKER_UI_PLATFORM_PROVIDERS: Array<any>;
28
+ /**
29
+ * * @experimental
30
+ */
31
+ export declare const WORKER_UI_APPLICATION_PROVIDERS: Array<any>;
32
+ /**
33
+ * * @experimental
34
+ */
35
+ export declare function workerUiPlatform(): PlatformRef;
@@ -0,0 +1,147 @@
1
+ import { APPLICATION_COMMON_PROVIDERS, APP_INITIALIZER, ExceptionHandler, Injectable, Injector, NgZone, OpaqueToken, PLATFORM_COMMON_PROVIDERS, PLATFORM_INITIALIZER, ReflectiveInjector, RootRenderer, Testability, assertPlatform, createPlatform, getPlatform } from '@angular/core';
2
+ import { AnimationDriver, NoOpAnimationDriver, wtfInit } from '../core_private';
3
+ import { BROWSER_SANITIZATION_PROVIDERS } from './browser';
4
+ import { BrowserDomAdapter } from './browser/browser_adapter';
5
+ import { BrowserGetTestability } from './browser/testability';
6
+ import { getDOM } from './dom/dom_adapter';
7
+ import { DomRootRenderer, DomRootRenderer_ } from './dom/dom_renderer';
8
+ import { DOCUMENT } from './dom/dom_tokens';
9
+ import { DomEventsPlugin } from './dom/events/dom_events';
10
+ import { EVENT_MANAGER_PLUGINS, EventManager } from './dom/events/event_manager';
11
+ import { HAMMER_GESTURE_CONFIG, HammerGestureConfig, HammerGesturesPlugin } from './dom/events/hammer_gestures';
12
+ import { KeyEventsPlugin } from './dom/events/key_events';
13
+ import { DomSharedStylesHost, SharedStylesHost } from './dom/shared_styles_host';
14
+ import { BaseException } from './facade/exceptions';
15
+ import { isBlank } from './facade/lang';
16
+ import { ON_WEB_WORKER } from './web_workers/shared/api';
17
+ import { ClientMessageBrokerFactory, ClientMessageBrokerFactory_ } from './web_workers/shared/client_message_broker';
18
+ import { MessageBus } from './web_workers/shared/message_bus';
19
+ import { PostMessageBus, PostMessageBusSink, PostMessageBusSource } from './web_workers/shared/post_message_bus';
20
+ import { RenderStore } from './web_workers/shared/render_store';
21
+ import { Serializer } from './web_workers/shared/serializer';
22
+ import { ServiceMessageBrokerFactory, ServiceMessageBrokerFactory_ } from './web_workers/shared/service_message_broker';
23
+ import { MessageBasedRenderer } from './web_workers/ui/renderer';
24
+ const WORKER_RENDER_PLATFORM_MARKER = new OpaqueToken('WorkerRenderPlatformMarker');
25
+ export class WebWorkerInstance {
26
+ /** @internal */
27
+ init(worker, bus) {
28
+ this.worker = worker;
29
+ this.bus = bus;
30
+ }
31
+ }
32
+ /** @nocollapse */
33
+ WebWorkerInstance.decorators = [
34
+ { type: Injectable },
35
+ ];
36
+ /**
37
+ * @experimental
38
+ */
39
+ export const WORKER_SCRIPT = new OpaqueToken('WebWorkerScript');
40
+ /**
41
+ * A multiple providers used to automatically call the `start()` method after the service is
42
+ * created.
43
+ *
44
+ * TODO(vicb): create an interface for startable services to implement
45
+ * @experimental
46
+ */
47
+ export const WORKER_UI_STARTABLE_MESSAGING_SERVICE = new OpaqueToken('WorkerRenderStartableMsgService');
48
+ /**
49
+ * * @experimental
50
+ */
51
+ export const WORKER_UI_PLATFORM_PROVIDERS = [
52
+ PLATFORM_COMMON_PROVIDERS, { provide: WORKER_RENDER_PLATFORM_MARKER, useValue: true },
53
+ { provide: PLATFORM_INITIALIZER, useValue: initWebWorkerRenderPlatform, multi: true }
54
+ ];
55
+ /**
56
+ * * @experimental
57
+ */
58
+ export const WORKER_UI_APPLICATION_PROVIDERS = [
59
+ APPLICATION_COMMON_PROVIDERS,
60
+ MessageBasedRenderer,
61
+ { provide: WORKER_UI_STARTABLE_MESSAGING_SERVICE, useExisting: MessageBasedRenderer, multi: true },
62
+ BROWSER_SANITIZATION_PROVIDERS,
63
+ { provide: ExceptionHandler, useFactory: _exceptionHandler, deps: [] },
64
+ { provide: DOCUMENT, useFactory: _document, deps: [] },
65
+ // TODO(jteplitz602): Investigate if we definitely need EVENT_MANAGER on the render thread
66
+ // #5298
67
+ { provide: EVENT_MANAGER_PLUGINS, useClass: DomEventsPlugin, multi: true },
68
+ { provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true },
69
+ { provide: EVENT_MANAGER_PLUGINS, useClass: HammerGesturesPlugin, multi: true },
70
+ { provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig },
71
+ { provide: DomRootRenderer, useClass: DomRootRenderer_ },
72
+ { provide: RootRenderer, useExisting: DomRootRenderer },
73
+ { provide: SharedStylesHost, useExisting: DomSharedStylesHost },
74
+ { provide: ServiceMessageBrokerFactory, useClass: ServiceMessageBrokerFactory_ },
75
+ { provide: ClientMessageBrokerFactory, useClass: ClientMessageBrokerFactory_ },
76
+ { provide: AnimationDriver, useFactory: _resolveDefaultAnimationDriver },
77
+ Serializer,
78
+ { provide: ON_WEB_WORKER, useValue: false },
79
+ RenderStore,
80
+ DomSharedStylesHost,
81
+ Testability,
82
+ EventManager,
83
+ WebWorkerInstance,
84
+ { provide: APP_INITIALIZER, useFactory: initWebWorkerAppFn, multi: true, deps: [Injector] },
85
+ { provide: MessageBus, useFactory: messageBusFactory, deps: [WebWorkerInstance] }
86
+ ];
87
+ function initializeGenericWorkerRenderer(injector) {
88
+ var bus = injector.get(MessageBus);
89
+ let zone = injector.get(NgZone);
90
+ bus.attachToZone(zone);
91
+ // initialize message services after the bus has been created
92
+ let services = injector.get(WORKER_UI_STARTABLE_MESSAGING_SERVICE);
93
+ zone.runGuarded(() => { services.forEach((svc /** TODO #9100 */) => { svc.start(); }); });
94
+ }
95
+ function messageBusFactory(instance) {
96
+ return instance.bus;
97
+ }
98
+ function initWebWorkerRenderPlatform() {
99
+ BrowserDomAdapter.makeCurrent();
100
+ wtfInit();
101
+ BrowserGetTestability.init();
102
+ }
103
+ /**
104
+ * * @experimental
105
+ */
106
+ export function workerUiPlatform() {
107
+ if (isBlank(getPlatform())) {
108
+ createPlatform(ReflectiveInjector.resolveAndCreate(WORKER_UI_PLATFORM_PROVIDERS));
109
+ }
110
+ return assertPlatform(WORKER_RENDER_PLATFORM_MARKER);
111
+ }
112
+ function _exceptionHandler() {
113
+ return new ExceptionHandler(getDOM());
114
+ }
115
+ function _document() {
116
+ return getDOM().defaultDoc();
117
+ }
118
+ function initWebWorkerAppFn(injector) {
119
+ return () => {
120
+ var scriptUri;
121
+ try {
122
+ scriptUri = injector.get(WORKER_SCRIPT);
123
+ }
124
+ catch (e) {
125
+ throw new BaseException('You must provide your WebWorker\'s initialization script with the WORKER_SCRIPT token');
126
+ }
127
+ let instance = injector.get(WebWorkerInstance);
128
+ spawnWebWorker(scriptUri, instance);
129
+ initializeGenericWorkerRenderer(injector);
130
+ };
131
+ }
132
+ /**
133
+ * Spawns a new class and initializes the WebWorkerInstance
134
+ */
135
+ function spawnWebWorker(uri, instance) {
136
+ var webWorker = new Worker(uri);
137
+ var sink = new PostMessageBusSink(webWorker);
138
+ var source = new PostMessageBusSource(webWorker);
139
+ var bus = new PostMessageBus(sink, source);
140
+ instance.init(webWorker, bus);
141
+ }
142
+ function _resolveDefaultAnimationDriver() {
143
+ // web workers have not been tested or configured to
144
+ // work with animations just yet...
145
+ return new NoOpAnimationDriver();
146
+ }
147
+ //# sourceMappingURL=worker_render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker_render.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/worker_render.ts"],"names":[],"mappings":"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","sourcesContent":["import {APPLICATION_COMMON_PROVIDERS, APP_INITIALIZER, ApplicationRef, ExceptionHandler, Injectable, Injector, NgZone, OpaqueToken, PLATFORM_COMMON_PROVIDERS, PLATFORM_INITIALIZER, PlatformRef, ReflectiveInjector, RootRenderer, Testability, assertPlatform, createPlatform, getPlatform} from '@angular/core';\n\nimport {AnimationDriver, NoOpAnimationDriver, wtfInit} from '../core_private';\n\nimport {BROWSER_SANITIZATION_PROVIDERS} from './browser';\nimport {BrowserDomAdapter} from './browser/browser_adapter';\nimport {BrowserGetTestability} from './browser/testability';\nimport {getDOM} from './dom/dom_adapter';\nimport {DomRootRenderer, DomRootRenderer_} from './dom/dom_renderer';\nimport {DOCUMENT} from './dom/dom_tokens';\nimport {DomEventsPlugin} from './dom/events/dom_events';\nimport {EVENT_MANAGER_PLUGINS, EventManager} from './dom/events/event_manager';\nimport {HAMMER_GESTURE_CONFIG, HammerGestureConfig, HammerGesturesPlugin} from './dom/events/hammer_gestures';\nimport {KeyEventsPlugin} from './dom/events/key_events';\nimport {DomSharedStylesHost, SharedStylesHost} from './dom/shared_styles_host';\nimport {BaseException} from './facade/exceptions';\nimport {isBlank} from './facade/lang';\nimport {ON_WEB_WORKER} from './web_workers/shared/api';\nimport {ClientMessageBrokerFactory, ClientMessageBrokerFactory_} from './web_workers/shared/client_message_broker';\nimport {MessageBus} from './web_workers/shared/message_bus';\nimport {PostMessageBus, PostMessageBusSink, PostMessageBusSource} from './web_workers/shared/post_message_bus';\nimport {RenderStore} from './web_workers/shared/render_store';\nimport {Serializer} from './web_workers/shared/serializer';\nimport {ServiceMessageBrokerFactory, ServiceMessageBrokerFactory_} from './web_workers/shared/service_message_broker';\nimport {MessageBasedRenderer} from './web_workers/ui/renderer';\n\nconst WORKER_RENDER_PLATFORM_MARKER = new OpaqueToken('WorkerRenderPlatformMarker');\nexport class WebWorkerInstance {\n public worker: Worker;\n public bus: MessageBus;\n\n /** @internal */\n public init(worker: Worker, bus: MessageBus) {\n this.worker = worker;\n this.bus = bus;\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n}\n\n/**\n * @experimental\n */\nexport const WORKER_SCRIPT: OpaqueToken = new OpaqueToken('WebWorkerScript');\n\n/**\n * A multiple providers used to automatically call the `start()` method after the service is\n * created.\n *\n * TODO(vicb): create an interface for startable services to implement\n * @experimental\n */\nexport const WORKER_UI_STARTABLE_MESSAGING_SERVICE =\n new OpaqueToken('WorkerRenderStartableMsgService');\n\n/**\n * * @experimental\n */\nexport const WORKER_UI_PLATFORM_PROVIDERS: Array<any /*Type | Provider | any[]*/> = [\n PLATFORM_COMMON_PROVIDERS, {provide: WORKER_RENDER_PLATFORM_MARKER, useValue: true},\n {provide: PLATFORM_INITIALIZER, useValue: initWebWorkerRenderPlatform, multi: true}\n];\n\n/**\n * * @experimental\n */\nexport const WORKER_UI_APPLICATION_PROVIDERS: Array<any /*Type | Provider | any[]*/> = [\n APPLICATION_COMMON_PROVIDERS,\n MessageBasedRenderer,\n {provide: WORKER_UI_STARTABLE_MESSAGING_SERVICE, useExisting: MessageBasedRenderer, multi: true},\n BROWSER_SANITIZATION_PROVIDERS,\n {provide: ExceptionHandler, useFactory: _exceptionHandler, deps: []},\n {provide: DOCUMENT, useFactory: _document, deps: []},\n // TODO(jteplitz602): Investigate if we definitely need EVENT_MANAGER on the render thread\n // #5298\n {provide: EVENT_MANAGER_PLUGINS, useClass: DomEventsPlugin, multi: true},\n {provide: EVENT_MANAGER_PLUGINS, useClass: KeyEventsPlugin, multi: true},\n {provide: EVENT_MANAGER_PLUGINS, useClass: HammerGesturesPlugin, multi: true},\n {provide: HAMMER_GESTURE_CONFIG, useClass: HammerGestureConfig},\n {provide: DomRootRenderer, useClass: DomRootRenderer_},\n {provide: RootRenderer, useExisting: DomRootRenderer},\n {provide: SharedStylesHost, useExisting: DomSharedStylesHost},\n {provide: ServiceMessageBrokerFactory, useClass: ServiceMessageBrokerFactory_},\n {provide: ClientMessageBrokerFactory, useClass: ClientMessageBrokerFactory_},\n {provide: AnimationDriver, useFactory: _resolveDefaultAnimationDriver},\n Serializer,\n {provide: ON_WEB_WORKER, useValue: false},\n RenderStore,\n DomSharedStylesHost,\n Testability,\n EventManager,\n WebWorkerInstance,\n {provide: APP_INITIALIZER, useFactory: initWebWorkerAppFn, multi: true, deps: [Injector]},\n {provide: MessageBus, useFactory: messageBusFactory, deps: [WebWorkerInstance]}\n];\n\nfunction initializeGenericWorkerRenderer(injector: Injector) {\n var bus = injector.get(MessageBus);\n let zone = injector.get(NgZone);\n bus.attachToZone(zone);\n\n // initialize message services after the bus has been created\n let services = injector.get(WORKER_UI_STARTABLE_MESSAGING_SERVICE);\n zone.runGuarded(() => { services.forEach((svc: any /** TODO #9100 */) => { svc.start(); }); });\n}\n\nfunction messageBusFactory(instance: WebWorkerInstance): MessageBus {\n return instance.bus;\n}\n\nfunction initWebWorkerRenderPlatform(): void {\n BrowserDomAdapter.makeCurrent();\n wtfInit();\n BrowserGetTestability.init();\n}\n\n/**\n * * @experimental\n */\nexport function workerUiPlatform(): PlatformRef {\n if (isBlank(getPlatform())) {\n createPlatform(ReflectiveInjector.resolveAndCreate(WORKER_UI_PLATFORM_PROVIDERS));\n }\n return assertPlatform(WORKER_RENDER_PLATFORM_MARKER);\n}\n\nfunction _exceptionHandler(): ExceptionHandler {\n return new ExceptionHandler(getDOM());\n}\n\nfunction _document(): any {\n return getDOM().defaultDoc();\n}\n\nfunction initWebWorkerAppFn(injector: Injector): () => void {\n return () => {\n var scriptUri: string;\n try {\n scriptUri = injector.get(WORKER_SCRIPT);\n } catch (e) {\n throw new BaseException(\n 'You must provide your WebWorker\\'s initialization script with the WORKER_SCRIPT token');\n }\n\n let instance = injector.get(WebWorkerInstance);\n spawnWebWorker(scriptUri, instance);\n\n initializeGenericWorkerRenderer(injector);\n };\n}\n\n/**\n * Spawns a new class and initializes the WebWorkerInstance\n */\nfunction spawnWebWorker(uri: string, instance: WebWorkerInstance): void {\n var webWorker: Worker = new Worker(uri);\n var sink = new PostMessageBusSink(webWorker);\n var source = new PostMessageBusSource(webWorker);\n var bus = new PostMessageBus(sink, source);\n\n instance.init(webWorker, bus);\n}\n\nfunction _resolveDefaultAnimationDriver(): AnimationDriver {\n // web workers have not been tested or configured to\n // work with animations just yet...\n return new NoOpAnimationDriver();\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"WebWorkerInstance":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"init":[{"__symbolic":"method"}]}},"WORKER_SCRIPT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["WebWorkerScript"]},"WORKER_UI_STARTABLE_MESSAGING_SERVICE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"OpaqueToken"},"arguments":["WorkerRenderStartableMsgService"]},"WORKER_UI_PLATFORM_PROVIDERS":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_COMMON_PROVIDERS"},{"provide":{"__symbolic":"reference","name":"WORKER_RENDER_PLATFORM_MARKER"},"useValue":true},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_INITIALIZER"},"useValue":{"__symbolic":"reference","name":"initWebWorkerRenderPlatform"},"multi":true}],"WORKER_UI_APPLICATION_PROVIDERS":[{"__symbolic":"reference","module":"@angular/core","name":"APPLICATION_COMMON_PROVIDERS"},{"__symbolic":"reference","module":"./web_workers/ui/renderer","name":"MessageBasedRenderer"},{"provide":{"__symbolic":"reference","name":"WORKER_UI_STARTABLE_MESSAGING_SERVICE"},"useExisting":{"__symbolic":"reference","module":"./web_workers/ui/renderer","name":"MessageBasedRenderer"},"multi":true},{"__symbolic":"reference","module":"./browser","name":"BROWSER_SANITIZATION_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"ExceptionHandler"},"useFactory":{"__symbolic":"reference","name":"_exceptionHandler"},"deps":[]},{"provide":{"__symbolic":"reference","module":"./dom/dom_tokens","name":"DOCUMENT"},"useFactory":{"__symbolic":"reference","name":"_document"},"deps":[]},{"provide":{"__symbolic":"reference","module":"./dom/events/event_manager","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","module":"./dom/events/dom_events","name":"DomEventsPlugin"},"multi":true},{"provide":{"__symbolic":"reference","module":"./dom/events/event_manager","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","module":"./dom/events/key_events","name":"KeyEventsPlugin"},"multi":true},{"provide":{"__symbolic":"reference","module":"./dom/events/event_manager","name":"EVENT_MANAGER_PLUGINS"},"useClass":{"__symbolic":"reference","module":"./dom/events/hammer_gestures","name":"HammerGesturesPlugin"},"multi":true},{"provide":{"__symbolic":"reference","module":"./dom/events/hammer_gestures","name":"HAMMER_GESTURE_CONFIG"},"useClass":{"__symbolic":"reference","module":"./dom/events/hammer_gestures","name":"HammerGestureConfig"}},{"provide":{"__symbolic":"reference","module":"./dom/dom_renderer","name":"DomRootRenderer"},"useClass":{"__symbolic":"reference","module":"./dom/dom_renderer","name":"DomRootRenderer_"}},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"RootRenderer"},"useExisting":{"__symbolic":"reference","module":"./dom/dom_renderer","name":"DomRootRenderer"}},{"provide":{"__symbolic":"reference","module":"./dom/shared_styles_host","name":"SharedStylesHost"},"useExisting":{"__symbolic":"reference","module":"./dom/shared_styles_host","name":"DomSharedStylesHost"}},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/service_message_broker","name":"ServiceMessageBrokerFactory"},"useClass":{"__symbolic":"reference","module":"./web_workers/shared/service_message_broker","name":"ServiceMessageBrokerFactory_"}},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/client_message_broker","name":"ClientMessageBrokerFactory"},"useClass":{"__symbolic":"reference","module":"./web_workers/shared/client_message_broker","name":"ClientMessageBrokerFactory_"}},{"provide":{"__symbolic":"reference","module":"../core_private","name":"AnimationDriver"},"useFactory":{"__symbolic":"reference","name":"_resolveDefaultAnimationDriver"}},{"__symbolic":"reference","module":"./web_workers/shared/serializer","name":"Serializer"},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/api","name":"ON_WEB_WORKER"},"useValue":false},{"__symbolic":"reference","module":"./web_workers/shared/render_store","name":"RenderStore"},{"__symbolic":"reference","module":"./dom/shared_styles_host","name":"DomSharedStylesHost"},{"__symbolic":"reference","module":"@angular/core","name":"Testability"},{"__symbolic":"reference","module":"./dom/events/event_manager","name":"EventManager"},{"__symbolic":"reference","name":"WebWorkerInstance"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"initWebWorkerAppFn"},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]},{"provide":{"__symbolic":"reference","module":"./web_workers/shared/message_bus","name":"MessageBus"},"useFactory":{"__symbolic":"reference","name":"messageBusFactory"},"deps":[{"__symbolic":"reference","name":"WebWorkerInstance"}]}]}}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Default platform providers for testing.
3
+ */
4
+ export declare const TEST_BROWSER_PLATFORM_PROVIDERS: Array<any>;
5
+ /**
6
+ * Default application providers for testing without a compiler.
7
+ */
8
+ export declare const TEST_BROWSER_APPLICATION_PROVIDERS: Array<any>;
@@ -0,0 +1,38 @@
1
+ import { LocationStrategy } from '@angular/common';
2
+ import { MockLocationStrategy } from '@angular/common/testing';
3
+ import { APP_ID, NgZone, PLATFORM_COMMON_PROVIDERS, PLATFORM_INITIALIZER } from '@angular/core';
4
+ import { Log } from '@angular/core/testing';
5
+ import { AnimationDriver, NoOpAnimationDriver } from '../core_private';
6
+ import { BROWSER_APP_PROVIDERS } from '../src/browser';
7
+ import { BrowserDomAdapter } from '../src/browser/browser_adapter';
8
+ import { ELEMENT_PROBE_PROVIDERS } from '../src/dom/debug/ng_probe';
9
+ import { BrowserDetection } from './browser_util';
10
+ /**
11
+ * Default platform providers for testing without a compiler.
12
+ */
13
+ const TEST_BROWSER_STATIC_PLATFORM_PROVIDERS = [
14
+ PLATFORM_COMMON_PROVIDERS,
15
+ { provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true }
16
+ ];
17
+ const ADDITIONAL_TEST_BROWSER_STATIC_PROVIDERS = [
18
+ { provide: APP_ID, useValue: 'a' }, ELEMENT_PROBE_PROVIDERS, Log,
19
+ { provide: NgZone, useFactory: createNgZone },
20
+ { provide: LocationStrategy, useClass: MockLocationStrategy },
21
+ { provide: AnimationDriver, useClass: NoOpAnimationDriver }
22
+ ];
23
+ function initBrowserTests() {
24
+ BrowserDomAdapter.makeCurrent();
25
+ BrowserDetection.setup();
26
+ }
27
+ function createNgZone() {
28
+ return new NgZone({ enableLongStackTrace: true });
29
+ }
30
+ /**
31
+ * Default platform providers for testing.
32
+ */
33
+ export const TEST_BROWSER_PLATFORM_PROVIDERS = TEST_BROWSER_STATIC_PLATFORM_PROVIDERS;
34
+ /**
35
+ * Default application providers for testing without a compiler.
36
+ */
37
+ export const TEST_BROWSER_APPLICATION_PROVIDERS = [BROWSER_APP_PROVIDERS, ADDITIONAL_TEST_BROWSER_STATIC_PROVIDERS];
38
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/testing/browser.ts"],"names":[],"mappings":"OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB;OACzC,EAAC,oBAAoB,EAAC,MAAM,yBAAyB;OACrD,EAAC,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,oBAAoB,EAAC,MAAM,eAAe;OACtF,EAAC,GAAG,EAAC,MAAM,uBAAuB;OAElC,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,iBAAiB;OAC7D,EAAC,qBAAqB,EAAC,MAAM,gBAAgB;OAC7C,EAAC,iBAAiB,EAAC,MAAM,gCAAgC;OACzD,EAAC,uBAAuB,EAAC,MAAM,2BAA2B;OAE1D,EAAC,gBAAgB,EAAC,MAAM,gBAAgB;AAG/C;;GAEG;AACH,MAAM,sCAAsC,GAA2C;IACrF,yBAAyB;IACzB,EAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAC;CACzE,CAAC;AAEF,MAAM,wCAAwC,GAA2C;IACvF,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAC,EAAE,uBAAuB,EAAE,GAAG;IAC9D,EAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAC;IAC3C,EAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAC;IAC3D,EAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAC;CAC1D,CAAC;AAGF;IACE,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAChC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED;IACE,MAAM,CAAC,IAAI,MAAM,CAAC,EAAC,oBAAoB,EAAE,IAAI,EAAC,CAAC,CAAC;AAClD,CAAC;AAGD;;GAEG;AACH,OAAO,MAAM,+BAA+B,GACxC,sCAAsC,CAAC;AAE3C;;GAEG;AACH,OAAO,MAAM,kCAAkC,GAC3C,CAAC,qBAAqB,EAAE,wCAAwC,CAAC,CAAC","sourcesContent":["import {LocationStrategy} from '@angular/common';\nimport {MockLocationStrategy} from '@angular/common/testing';\nimport {APP_ID, NgZone, PLATFORM_COMMON_PROVIDERS, PLATFORM_INITIALIZER} from '@angular/core';\nimport {Log} from '@angular/core/testing';\n\nimport {AnimationDriver, NoOpAnimationDriver} from '../core_private';\nimport {BROWSER_APP_PROVIDERS} from '../src/browser';\nimport {BrowserDomAdapter} from '../src/browser/browser_adapter';\nimport {ELEMENT_PROBE_PROVIDERS} from '../src/dom/debug/ng_probe';\n\nimport {BrowserDetection} from './browser_util';\n\n\n/**\n * Default platform providers for testing without a compiler.\n */\nconst TEST_BROWSER_STATIC_PLATFORM_PROVIDERS: Array<any /*Type | Provider | any[]*/> = [\n PLATFORM_COMMON_PROVIDERS,\n {provide: PLATFORM_INITIALIZER, useValue: initBrowserTests, multi: true}\n];\n\nconst ADDITIONAL_TEST_BROWSER_STATIC_PROVIDERS: Array<any /*Type | Provider | any[]*/> = [\n {provide: APP_ID, useValue: 'a'}, ELEMENT_PROBE_PROVIDERS, Log,\n {provide: NgZone, useFactory: createNgZone},\n {provide: LocationStrategy, useClass: MockLocationStrategy},\n {provide: AnimationDriver, useClass: NoOpAnimationDriver}\n];\n\n\nfunction initBrowserTests() {\n BrowserDomAdapter.makeCurrent();\n BrowserDetection.setup();\n}\n\nfunction createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: true});\n}\n\n\n/**\n * Default platform providers for testing.\n */\nexport const TEST_BROWSER_PLATFORM_PROVIDERS: Array<any /*Type | Provider | any[]*/> =\n TEST_BROWSER_STATIC_PLATFORM_PROVIDERS;\n\n/**\n * Default application providers for testing without a compiler.\n */\nexport const TEST_BROWSER_APPLICATION_PROVIDERS: Array<any /*Type | Provider | any[]*/> =\n [BROWSER_APP_PROVIDERS, ADDITIONAL_TEST_BROWSER_STATIC_PROVIDERS];\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"TEST_BROWSER_PLATFORM_PROVIDERS":{"__symbolic":"reference","name":"TEST_BROWSER_STATIC_PLATFORM_PROVIDERS"},"TEST_BROWSER_APPLICATION_PROVIDERS":[{"__symbolic":"reference","module":"../src/browser","name":"BROWSER_APP_PROVIDERS"},{"__symbolic":"reference","name":"ADDITIONAL_TEST_BROWSER_STATIC_PROVIDERS"}]}}
@@ -11,6 +11,7 @@ export declare class BrowserDetection {
11
11
  readonly isIOS7: boolean;
12
12
  readonly isSlow: boolean;
13
13
  readonly supportsIntlApi: boolean;
14
+ readonly isChromeDesktop: boolean;
14
15
  }
15
16
  export declare function dispatchEvent(element: any, eventType: any): void;
16
17
  export declare function el(html: string): HTMLElement;
@@ -1,6 +1,6 @@
1
- import { ListWrapper } from '../src/facade/collection';
2
1
  import { getDOM } from '../src/dom/dom_adapter';
3
- import { isPresent, isString, StringWrapper } from '../src/facade/lang';
2
+ import { ListWrapper } from '../src/facade/collection';
3
+ import { StringWrapper, isPresent, isString } from '../src/facade/lang';
4
4
  export class BrowserDetection {
5
5
  constructor(ua) {
6
6
  this._overrideUa = ua;
@@ -34,8 +34,13 @@ export class BrowserDetection {
34
34
  get supportsIntlApi() {
35
35
  return this._ua.indexOf('Chrome/4') > -1 && this._ua.indexOf('Edge') == -1;
36
36
  }
37
+ get isChromeDesktop() {
38
+ return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 &&
39
+ this._ua.indexOf('Edge') == -1;
40
+ }
37
41
  }
38
- export function dispatchEvent(element, eventType) {
42
+ BrowserDetection.setup();
43
+ export function dispatchEvent(element /** TODO #9100 */, eventType /** TODO #9100 */) {
39
44
  getDOM().dispatchEvent(element, getDOM().createEvent(eventType));
40
45
  }
41
46
  export function el(html) {
@@ -46,12 +51,12 @@ export function normalizeCSS(css) {
46
51
  css = StringWrapper.replaceAll(css, /:\s/g, ':');
47
52
  css = StringWrapper.replaceAll(css, /'/g, '"');
48
53
  css = StringWrapper.replaceAll(css, / }/g, '}');
49
- css = StringWrapper.replaceAllMapped(css, /url\((\"|\s)(.+)(\"|\s)\)(\s*)/g, (match) => `url("${match[2]}")`);
50
- css = StringWrapper.replaceAllMapped(css, /\[(.+)=([^"\]]+)\]/g, (match) => `[${match[1]}="${match[2]}"]`);
54
+ css = StringWrapper.replaceAllMapped(css, /url\((\"|\s)(.+)(\"|\s)\)(\s*)/g, (match /** TODO #9100 */) => `url("${match[2]}")`);
55
+ css = StringWrapper.replaceAllMapped(css, /\[(.+)=([^"\]]+)\]/g, (match /** TODO #9100 */) => `[${match[1]}="${match[2]}"]`);
51
56
  return css;
52
57
  }
53
58
  var _singleTagWhitelist = ['br', 'hr', 'input'];
54
- export function stringifyElement(el) {
59
+ export function stringifyElement(el /** TODO #9100 */) {
55
60
  var result = '';
56
61
  if (getDOM().isElementNode(el)) {
57
62
  var tagName = getDOM().tagName(el).toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"browser_util.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/testing/browser_util.ts"],"names":[],"mappings":"OAIS,EAAC,WAAW,EAAC,MAAM,0BAA0B;OAC/C,EAAC,MAAM,EAAC,MAAM,wBAAwB;OACtC,EAAC,SAAS,EAAE,QAAQ,EAAiB,aAAa,EAAS,MAAM,oBAAoB;AAE5F;IAYE,YAAY,EAAU;QAAI,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAAC,CAAC;IAVlD,IAAY,GAAG;QACb,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,KAAK,KAAK,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAIjE,IAAI,SAAS,KAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,SAAS;QACX,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,KAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/D,IAAI,IAAI,KAAc,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhE,IAAI,QAAQ;QACV,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,MAAM;QACR,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,MAAM,KAAc,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5E,sEAAsE;IACtE,+EAA+E;IAC/E,sEAAsE;IACtE,IAAI,eAAe;QACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,8BAA8B,OAAO,EAAE,SAAS;IAC9C,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,mBAAmB,IAAY;IAC7B,MAAM,CAAc,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,6BAA6B,GAAW;IACtC,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/C,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,GAAG,GAAG,aAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,iCAAiC,EACtC,CAAC,KAAK,KAAK,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,GAAG,GAAG,aAAa,CAAC,gBAAgB,CAAC,GAAG,EAAE,qBAAqB,EAC1B,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAED,IAAI,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChD,iCAAiC,EAAE;IACjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjD,cAAc;QACd,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAExB,+BAA+B;QAC/B,IAAI,YAAY,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACrC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACtB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,IAAI,IAAI,GAAG,KAAK,QAAQ,GAAG,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,CAAC;QAEd,WAAW;QACX,IAAI,YAAY,GAAG,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QAChF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,cAAc;QACd,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,OAAO,GAAG,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC;IAC/C,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,IAAI,gBAAgB,GAAqB,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {ListWrapper} from '../src/facade/collection';\nimport {getDOM} from '../src/dom/dom_adapter';\nimport {isPresent, isString, RegExpWrapper, StringWrapper, RegExp} from '../src/facade/lang';\n\nexport class BrowserDetection {\n private _overrideUa: string;\n private get _ua(): string {\n if (isPresent(this._overrideUa)) {\n return this._overrideUa;\n } else {\n return isPresent(getDOM()) ? getDOM().getUserAgent() : '';\n }\n }\n\n static setup() { browserDetection = new BrowserDetection(null); }\n\n constructor(ua: string) { this._overrideUa = ua; }\n\n get isFirefox(): boolean { return this._ua.indexOf('Firefox') > -1; }\n\n get isAndroid(): boolean {\n return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 &&\n this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1;\n }\n\n get isEdge(): boolean { return this._ua.indexOf('Edge') > -1; }\n\n get isIE(): boolean { return this._ua.indexOf('Trident') > -1; }\n\n get isWebkit(): boolean {\n return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1;\n }\n\n get isIOS7(): boolean {\n return this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1;\n }\n\n get isSlow(): boolean { return this.isAndroid || this.isIE || this.isIOS7; }\n\n // The Intl API is only properly supported in recent Chrome and Opera.\n // Note: Edge is disguised as Chrome 42, so checking the \"Edge\" part is needed,\n // see https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx\n get supportsIntlApi(): boolean {\n return this._ua.indexOf('Chrome/4') > -1 && this._ua.indexOf('Edge') == -1;\n }\n}\n\nexport function dispatchEvent(element, eventType): void {\n getDOM().dispatchEvent(element, getDOM().createEvent(eventType));\n}\n\nexport function el(html: string): HTMLElement {\n return <HTMLElement>getDOM().firstChild(getDOM().content(getDOM().createTemplate(html)));\n}\n\nexport function normalizeCSS(css: string): string {\n css = StringWrapper.replaceAll(css, /\\s+/g, ' ');\n css = StringWrapper.replaceAll(css, /:\\s/g, ':');\n css = StringWrapper.replaceAll(css, /'/g, '\"');\n css = StringWrapper.replaceAll(css, / }/g, '}');\n css = StringWrapper.replaceAllMapped(css, /url\\((\\\"|\\s)(.+)(\\\"|\\s)\\)(\\s*)/g,\n (match) => `url(\"${match[2]}\")`);\n css = StringWrapper.replaceAllMapped(css, /\\[(.+)=([^\"\\]]+)\\]/g,\n (match) => `[${match[1]}=\"${match[2]}\"]`);\n return css;\n}\n\nvar _singleTagWhitelist = ['br', 'hr', 'input'];\nexport function stringifyElement(el): string {\n var result = '';\n if (getDOM().isElementNode(el)) {\n var tagName = getDOM().tagName(el).toLowerCase();\n\n // Opening tag\n result += `<${tagName}`;\n\n // Attributes in an ordered way\n var attributeMap = getDOM().attributeMap(el);\n var keys = [];\n attributeMap.forEach((v, k) => keys.push(k));\n ListWrapper.sort(keys);\n for (let i = 0; i < keys.length; i++) {\n var key = keys[i];\n var attValue = attributeMap.get(key);\n if (!isString(attValue)) {\n result += ` ${key}`;\n } else {\n result += ` ${key}=\"${attValue}\"`;\n }\n }\n result += '>';\n\n // Children\n var childrenRoot = getDOM().templateAwareRoot(el);\n var children = isPresent(childrenRoot) ? getDOM().childNodes(childrenRoot) : [];\n for (let j = 0; j < children.length; j++) {\n result += stringifyElement(children[j]);\n }\n\n // Closing tag\n if (!ListWrapper.contains(_singleTagWhitelist, tagName)) {\n result += `</${tagName}>`;\n }\n } else if (getDOM().isCommentNode(el)) {\n result += `<!--${getDOM().nodeValue(el)}-->`;\n } else {\n result += getDOM().getText(el);\n }\n\n return result;\n}\n\nexport var browserDetection: BrowserDetection = new BrowserDetection(null);\n"]}
1
+ {"version":3,"file":"browser_util.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/testing/browser_util.ts"],"names":[],"mappings":"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","sourcesContent":["import {getDOM} from '../src/dom/dom_adapter';\nimport {ListWrapper} from '../src/facade/collection';\nimport {RegExp, RegExpWrapper, StringWrapper, isPresent, isString} from '../src/facade/lang';\n\nexport class BrowserDetection {\n private _overrideUa: string;\n private get _ua(): string {\n if (isPresent(this._overrideUa)) {\n return this._overrideUa;\n } else {\n return isPresent(getDOM()) ? getDOM().getUserAgent() : '';\n }\n }\n\n static setup() { browserDetection = new BrowserDetection(null); }\n\n constructor(ua: string) { this._overrideUa = ua; }\n\n get isFirefox(): boolean { return this._ua.indexOf('Firefox') > -1; }\n\n get isAndroid(): boolean {\n return this._ua.indexOf('Mozilla/5.0') > -1 && this._ua.indexOf('Android') > -1 &&\n this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Chrome') == -1;\n }\n\n get isEdge(): boolean { return this._ua.indexOf('Edge') > -1; }\n\n get isIE(): boolean { return this._ua.indexOf('Trident') > -1; }\n\n get isWebkit(): boolean {\n return this._ua.indexOf('AppleWebKit') > -1 && this._ua.indexOf('Edge') == -1;\n }\n\n get isIOS7(): boolean {\n return this._ua.indexOf('iPhone OS 7') > -1 || this._ua.indexOf('iPad OS 7') > -1;\n }\n\n get isSlow(): boolean { return this.isAndroid || this.isIE || this.isIOS7; }\n\n // The Intl API is only properly supported in recent Chrome and Opera.\n // Note: Edge is disguised as Chrome 42, so checking the \"Edge\" part is needed,\n // see https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx\n get supportsIntlApi(): boolean {\n return this._ua.indexOf('Chrome/4') > -1 && this._ua.indexOf('Edge') == -1;\n }\n\n get isChromeDesktop(): boolean {\n return this._ua.indexOf('Chrome') > -1 && this._ua.indexOf('Mobile Safari') == -1 &&\n this._ua.indexOf('Edge') == -1;\n }\n}\n\nBrowserDetection.setup();\n\nexport function dispatchEvent(\n element: any /** TODO #9100 */, eventType: any /** TODO #9100 */): void {\n getDOM().dispatchEvent(element, getDOM().createEvent(eventType));\n}\n\nexport function el(html: string): HTMLElement {\n return <HTMLElement>getDOM().firstChild(getDOM().content(getDOM().createTemplate(html)));\n}\n\nexport function normalizeCSS(css: string): string {\n css = StringWrapper.replaceAll(css, /\\s+/g, ' ');\n css = StringWrapper.replaceAll(css, /:\\s/g, ':');\n css = StringWrapper.replaceAll(css, /'/g, '\"');\n css = StringWrapper.replaceAll(css, / }/g, '}');\n css = StringWrapper.replaceAllMapped(\n css, /url\\((\\\"|\\s)(.+)(\\\"|\\s)\\)(\\s*)/g,\n (match: any /** TODO #9100 */) => `url(\"${match[2]}\")`);\n css = StringWrapper.replaceAllMapped(\n css, /\\[(.+)=([^\"\\]]+)\\]/g, (match: any /** TODO #9100 */) => `[${match[1]}=\"${match[2]}\"]`);\n return css;\n}\n\nvar _singleTagWhitelist = ['br', 'hr', 'input'];\nexport function stringifyElement(el: any /** TODO #9100 */): string {\n var result = '';\n if (getDOM().isElementNode(el)) {\n var tagName = getDOM().tagName(el).toLowerCase();\n\n // Opening tag\n result += `<${tagName}`;\n\n // Attributes in an ordered way\n var attributeMap = getDOM().attributeMap(el);\n var keys: any[] /** TODO #9100 */ = [];\n attributeMap.forEach((v, k) => keys.push(k));\n ListWrapper.sort(keys);\n for (let i = 0; i < keys.length; i++) {\n var key = keys[i];\n var attValue = attributeMap.get(key);\n if (!isString(attValue)) {\n result += ` ${key}`;\n } else {\n result += ` ${key}=\"${attValue}\"`;\n }\n }\n result += '>';\n\n // Children\n var childrenRoot = getDOM().templateAwareRoot(el);\n var children = isPresent(childrenRoot) ? getDOM().childNodes(childrenRoot) : [];\n for (let j = 0; j < children.length; j++) {\n result += stringifyElement(children[j]);\n }\n\n // Closing tag\n if (!ListWrapper.contains(_singleTagWhitelist, tagName)) {\n result += `</${tagName}>`;\n }\n } else if (getDOM().isCommentNode(el)) {\n result += `<!--${getDOM().nodeValue(el)}-->`;\n } else {\n result += getDOM().getText(el);\n }\n\n return result;\n}\n\nexport var browserDetection: BrowserDetection = new BrowserDetection(null);\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"browserDetection":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BrowserDetection"},"arguments":[null]}}}
1
+ {"__symbolic":"module","version":1,"metadata":{"el":{"__symbolic":"function","parameters":["html"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../src/dom/dom_adapter","name":"getDOM"}},"member":"firstChild"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../src/dom/dom_adapter","name":"getDOM"}},"member":"content"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../src/dom/dom_adapter","name":"getDOM"}},"member":"createTemplate"},"arguments":[{"__symbolic":"reference","name":"html"}]}]}]}},"browserDetection":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"BrowserDetection"},"arguments":[null]}}}
@@ -0,0 +1,4 @@
1
+ export declare var browser: protractor.IBrowser;
2
+ export declare var $: cssSelectorHelper;
3
+ export declare function clickAll(buttonSelectors: any): void;
4
+ export declare function verifyNoBrowserErrors(): void;
@@ -0,0 +1,21 @@
1
+ import * as webdriver from 'selenium-webdriver';
2
+ export var browser = global['browser'];
3
+ export var $ = global['$'];
4
+ export function clickAll(buttonSelectors /** TODO #9100 */) {
5
+ buttonSelectors.forEach(function (selector /** TODO #9100 */) { $(selector).click(); });
6
+ }
7
+ export function verifyNoBrowserErrors() {
8
+ // TODO(tbosch): Bug in ChromeDriver: Need to execute at least one command
9
+ // so that the browser logs can be read out!
10
+ browser.executeScript('1+1');
11
+ browser.manage().logs().get('browser').then(function (browserLog) {
12
+ var filteredLog = browserLog.filter(function (logEntry) {
13
+ if (logEntry.level.value >= webdriver.logging.Level.INFO.value) {
14
+ console.log('>> ' + logEntry.message);
15
+ }
16
+ return logEntry.level.value > webdriver.logging.Level.WARNING.value;
17
+ });
18
+ expect(filteredLog).toEqual([]);
19
+ });
20
+ }
21
+ //# sourceMappingURL=e2e_util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"e2e_util.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/testing/e2e_util.ts"],"names":[],"mappings":"OAAO,KAAK,SAAS,MAAM,oBAAoB;AAI/C,OAAO,IAAI,OAAO,GAAwB,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,OAAO,IAAI,CAAC,GAAsB,MAAM,CAAC,GAAG,CAAC,CAAC;AAE9C,yBAAyB,eAAoB,CAAC,iBAAiB;IAC7D,eAAe,CAAC,OAAO,CAAC,UAAS,QAAa,CAAC,iBAAiB,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED;IACE,0EAA0E;IAC1E,4CAA4C;IAC5C,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAS,UAAU;QAC7D,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,UAAS,QAAQ;YACnD,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtE,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import * as webdriver from 'selenium-webdriver';\n\ndeclare var global: any /** TODO #9100 */;\ndeclare var expect: Function;\nexport var browser: protractor.IBrowser = global['browser'];\nexport var $: cssSelectorHelper = global['$'];\n\nexport function clickAll(buttonSelectors: any /** TODO #9100 */) {\n buttonSelectors.forEach(function(selector: any /** TODO #9100 */) { $(selector).click(); });\n}\n\nexport function verifyNoBrowserErrors() {\n // TODO(tbosch): Bug in ChromeDriver: Need to execute at least one command\n // so that the browser logs can be read out!\n browser.executeScript('1+1');\n browser.manage().logs().get('browser').then(function(browserLog) {\n var filteredLog = browserLog.filter(function(logEntry) {\n if (logEntry.level.value >= webdriver.logging.Level.INFO.value) {\n console.log('>> ' + logEntry.message);\n }\n return logEntry.level.value > webdriver.logging.Level.WARNING.value;\n });\n expect(filteredLog).toEqual([]);\n });\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"browser":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"global"},"index":"browser"},"$":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"global"},"index":"$"}}}