@inboxsdk/core 1.1.6 → 1.1.7

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 (483) hide show
  1. package/background.js +1 -0
  2. package/inboxsdk.js +31 -36
  3. package/inboxsdk.js.map +1 -1
  4. package/package.json +1 -1
  5. package/pageWorld.js +1 -1
  6. package/pageWorld.js.map +1 -1
  7. package/src/inboxsdk-js/header.d.ts +19 -0
  8. package/src/inboxsdk-js/header.d.ts.map +1 -0
  9. package/src/inboxsdk-js/header.js +1 -1
  10. package/src/inboxsdk.d.ts +8 -3
  11. package/src/injected-js/gmail/constants.d.ts +1 -1
  12. package/src/injected-js/gmail/constants.d.ts.map +1 -1
  13. package/src/injected-js/gmail/setup-gmail-interceptor.d.ts +3 -4
  14. package/src/injected-js/gmail/setup-gmail-interceptor.d.ts.map +1 -0
  15. package/src/injected-js/gmail/setup-gmail-interceptor.js +896 -896
  16. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts +1 -1
  17. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts.map +1 -1
  18. package/src/injected-js/gmail/sync-compose-processor.d.ts +3 -3
  19. package/src/injected-js/gmail/sync-compose-request-processor.d.ts.map +1 -1
  20. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -1
  21. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.d.ts +2 -0
  22. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.d.ts.map +1 -0
  23. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +66 -78
  24. package/src/injected-js/gmail/thread-identifier/index.d.ts +3 -0
  25. package/src/injected-js/gmail/thread-identifier/index.d.ts.map +1 -0
  26. package/src/injected-js/gmail/thread-identifier/index.js +100 -98
  27. package/src/injected-js/gmail/thread-identifier/thread-row-parser.d.ts +7 -0
  28. package/src/injected-js/gmail/thread-identifier/thread-row-parser.d.ts.map +1 -0
  29. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +51 -61
  30. package/src/injected-js/main.d.ts +2 -0
  31. package/src/injected-js/main.d.ts.map +1 -0
  32. package/src/injected-js/main.js +44 -43
  33. package/src/injected-js/message-metadata-holder.d.ts +7 -0
  34. package/src/injected-js/message-metadata-holder.d.ts.map +1 -0
  35. package/src/injected-js/message-metadata-holder.js +89 -97
  36. package/src/injected-js/setup-data-exposer.d.ts +2 -0
  37. package/src/injected-js/setup-data-exposer.d.ts.map +1 -0
  38. package/src/injected-js/setup-data-exposer.js +126 -118
  39. package/src/injected-js/setup-error-silencer.d.ts +2 -0
  40. package/src/injected-js/setup-error-silencer.d.ts.map +1 -0
  41. package/src/injected-js/setup-error-silencer.js +16 -24
  42. package/src/injected-js/setup-event-reemitter.d.ts +2 -0
  43. package/src/injected-js/setup-event-reemitter.d.ts.map +1 -0
  44. package/src/injected-js/setup-event-reemitter.js +46 -59
  45. package/src/injected-js/setupInboxCustomViewLinkFixer.d.ts +2 -0
  46. package/src/injected-js/setupInboxCustomViewLinkFixer.d.ts.map +1 -0
  47. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -26
  48. package/src/injected-js/setupPushStateListener.d.ts +2 -0
  49. package/src/injected-js/setupPushStateListener.d.ts.map +1 -0
  50. package/src/injected-js/setupPushStateListener.js +14 -23
  51. package/src/injected-js/xhr-helper.d.ts +2 -0
  52. package/src/injected-js/xhr-helper.d.ts.map +1 -0
  53. package/src/injected-js/xhr-helper.js +73 -83
  54. package/src/injected-js/xhr-proxy-factory.d.ts +97 -0
  55. package/src/injected-js/xhr-proxy-factory.d.ts.map +1 -0
  56. package/src/injected-js/xhr-proxy-factory.js +503 -451
  57. package/src/platform-implementation-js/constants/router.d.ts +37 -5
  58. package/src/platform-implementation-js/constants/router.d.ts.map +1 -0
  59. package/src/platform-implementation-js/constants/router.js +57 -60
  60. package/src/platform-implementation-js/constants/toolbars.d.ts +2 -0
  61. package/src/platform-implementation-js/constants/toolbars.d.ts.map +1 -0
  62. package/src/platform-implementation-js/constants/toolbars.js +4 -11
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.d.ts.map +1 -1
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -1
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.d.ts.map +1 -1
  66. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -1
  67. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.d.ts.map +1 -1
  68. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -1
  69. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.d.ts +4 -6
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.d.ts.map +1 -0
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +55 -62
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -1
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -1
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.d.ts.map +1 -1
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -1
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.d.ts.map +1 -1
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +4 -5
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.d.ts.map +1 -1
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +4 -9
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.d.ts.map +1 -1
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +1 -0
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts +2 -1
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts.map +1 -1
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +1 -1
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +4 -3
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  87. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.d.ts.map +1 -1
  88. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -1
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.d.ts +19 -6
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.d.ts.map +1 -0
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +75 -80
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.d.ts +5 -0
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.d.ts.map +1 -0
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +13 -22
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.d.ts +5 -0
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.d.ts.map +1 -0
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +18 -26
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.d.ts +5 -0
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.d.ts.map +1 -0
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +13 -30
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.d.ts +44 -0
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.d.ts.map +1 -0
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +681 -601
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.d.ts +2 -0
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.d.ts.map +1 -0
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +23 -24
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.d.ts +19 -3
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.d.ts.map +1 -0
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +156 -150
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.d.ts +20 -0
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.d.ts.map +1 -0
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +101 -96
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +40 -0
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -0
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +287 -265
  116. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.d.ts +61 -0
  117. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.d.ts.map +1 -0
  118. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +689 -524
  119. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.d.ts +5 -0
  120. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.d.ts.map +1 -0
  121. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +124 -118
  122. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.d.ts +15 -0
  123. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.d.ts.map +1 -0
  124. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +47 -51
  125. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.d.ts +8 -0
  126. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.d.ts.map +1 -0
  127. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +8 -16
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.d.ts +8 -0
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.d.ts.map +1 -0
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +23 -31
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.d.ts +4 -0
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.d.ts.map +1 -0
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +61 -66
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.d.ts +6 -0
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.d.ts.map +1 -0
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +64 -48
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.d.ts +2 -0
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.d.ts.map +1 -0
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +10 -17
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.d.ts +2 -0
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.d.ts.map +1 -0
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +14 -23
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.d.ts +3 -0
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.d.ts.map +1 -0
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +13 -16
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.d.ts +7 -0
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.d.ts.map +1 -0
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +57 -59
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.d.ts +3 -0
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.d.ts.map +1 -0
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +49 -49
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts +4 -0
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts.map +1 -0
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +89 -89
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts +1 -1
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts.map +1 -1
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.d.ts +4 -0
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.d.ts.map +1 -0
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +13 -21
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.d.ts +3 -0
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.d.ts.map +1 -0
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +16 -23
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.d.ts +4 -0
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.d.ts.map +1 -0
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +14 -22
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts +1 -1
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts.map +1 -1
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.d.ts +4 -0
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.d.ts.map +1 -0
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +23 -29
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.d.ts +3 -0
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.d.ts.map +1 -0
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +17 -25
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.d.ts +4 -0
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.d.ts.map +1 -0
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +317 -252
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.d.ts +3 -0
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.d.ts.map +1 -0
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +22 -18
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.d.ts +4 -0
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.d.ts.map +1 -0
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +57 -50
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.d.ts +3 -0
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.d.ts.map +1 -0
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +18 -20
  186. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.d.ts +3 -0
  187. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.d.ts.map +1 -0
  188. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +114 -113
  189. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.d.ts +3 -0
  190. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.d.ts.map +1 -0
  191. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +15 -18
  192. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +189 -118
  193. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts.map +1 -0
  194. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +1480 -1333
  195. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +1 -2
  196. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts.map +1 -1
  197. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +1 -2
  198. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.d.ts +3 -0
  199. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.d.ts.map +1 -0
  200. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +69 -70
  201. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts +67 -6
  202. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts.map +1 -0
  203. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +715 -637
  204. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.d.ts +44 -6
  205. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.d.ts.map +1 -0
  206. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +100 -101
  207. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.d.ts +72 -3
  208. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.d.ts.map +1 -0
  209. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +502 -438
  210. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.d.ts +39 -8
  211. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.d.ts.map +1 -0
  212. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +229 -211
  213. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts +117 -5
  214. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts.map +1 -0
  215. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +938 -821
  216. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.d.ts +5 -0
  217. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.d.ts.map +1 -0
  218. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +66 -61
  219. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.d.ts +18 -0
  220. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.d.ts.map +1 -0
  221. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +520 -457
  222. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.d.ts +7 -0
  223. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.d.ts.map +1 -0
  224. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +24 -27
  225. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts +69 -7
  226. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts.map +1 -0
  227. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +646 -523
  228. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.d.ts +58 -11
  229. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.d.ts.map +1 -0
  230. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +436 -383
  231. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.d.ts +35 -7
  232. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.d.ts.map +1 -0
  233. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +265 -235
  234. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts +2 -0
  235. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +1 -1
  236. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +4 -0
  237. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts +2 -0
  238. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +1 -1
  239. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +4 -0
  240. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.d.ts +7 -0
  241. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.d.ts.map +1 -0
  242. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +22 -30
  243. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts +4 -0
  244. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +1 -1
  245. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +6 -0
  246. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.d.ts +11 -0
  247. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.d.ts.map +1 -0
  248. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +35 -41
  249. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.d.ts +18 -0
  250. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.d.ts.map +1 -0
  251. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +96 -97
  252. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts +18 -15
  253. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts.map +1 -0
  254. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +170 -170
  255. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.d.ts +47 -0
  256. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.d.ts.map +1 -0
  257. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +325 -279
  258. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.d.ts +16 -0
  259. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.d.ts.map +1 -0
  260. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +56 -61
  261. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.d.ts +31 -3
  262. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.d.ts.map +1 -0
  263. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +275 -252
  264. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.d.ts +6 -0
  265. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.d.ts.map +1 -0
  266. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +27 -32
  267. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.d.ts +7 -0
  268. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.d.ts.map +1 -0
  269. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +45 -43
  270. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.d.ts +5 -6
  271. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.d.ts.map +1 -0
  272. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +11 -19
  273. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts +5 -6
  274. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts.map +1 -0
  275. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +39 -48
  276. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.d.ts +5 -0
  277. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.d.ts.map +1 -0
  278. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +12 -20
  279. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.d.ts +5 -0
  280. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.d.ts.map +1 -0
  281. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +11 -19
  282. package/src/platform-implementation-js/driver-common/inboxAjax.d.ts +4 -0
  283. package/src/platform-implementation-js/driver-common/inboxAjax.d.ts.map +1 -0
  284. package/src/platform-implementation-js/driver-common/inboxAjax.js +5 -13
  285. package/src/platform-implementation-js/driver-common/requestGmailThread.d.ts +4 -0
  286. package/src/platform-implementation-js/driver-common/requestGmailThread.d.ts.map +1 -0
  287. package/src/platform-implementation-js/driver-common/requestGmailThread.js +22 -32
  288. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.d.ts +50 -0
  289. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.d.ts.map +1 -0
  290. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +228 -279
  291. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.d.ts +25 -1
  292. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.d.ts.map +1 -0
  293. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +142 -147
  294. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts +106 -133
  295. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts.map +1 -0
  296. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -1
  297. package/src/platform-implementation-js/driver-interfaces/driver.d.ts +31 -139
  298. package/src/platform-implementation-js/driver-interfaces/driver.d.ts.map +1 -0
  299. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -1
  300. package/src/platform-implementation-js/driver-interfaces/message-view-driver.d.ts +44 -0
  301. package/src/platform-implementation-js/driver-interfaces/message-view-driver.d.ts.map +1 -0
  302. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +1 -5
  303. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.d.ts +18 -20
  304. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.d.ts.map +1 -0
  305. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -1
  306. package/src/platform-implementation-js/driver-interfaces/route-view-driver.d.ts +19 -0
  307. package/src/platform-implementation-js/driver-interfaces/route-view-driver.d.ts.map +1 -0
  308. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -1
  309. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.d.ts +11 -0
  310. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.d.ts.map +1 -0
  311. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -1
  312. package/src/platform-implementation-js/lib/css-selector-escape.d.ts +2 -0
  313. package/src/platform-implementation-js/lib/css-selector-escape.d.ts.map +1 -0
  314. package/src/platform-implementation-js/lib/css-selector-escape.js +6 -12
  315. package/src/platform-implementation-js/lib/delay-asap.d.ts +1 -1
  316. package/src/platform-implementation-js/lib/delay-asap.d.ts.map +1 -1
  317. package/src/platform-implementation-js/lib/delay-asap.js +0 -2
  318. package/src/platform-implementation-js/lib/dom/get-selection.d.ts +3 -0
  319. package/src/platform-implementation-js/lib/dom/get-selection.d.ts.map +1 -0
  320. package/src/platform-implementation-js/lib/dom/get-selection.js +22 -24
  321. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.d.ts +3 -0
  322. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.d.ts.map +1 -0
  323. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +78 -75
  324. package/src/platform-implementation-js/lib/dom/is-node-in-range.d.ts +2 -0
  325. package/src/platform-implementation-js/lib/dom/is-node-in-range.d.ts.map +1 -0
  326. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +12 -17
  327. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts.map +1 -1
  328. package/src/platform-implementation-js/lib/dom/set-css.d.ts +2 -0
  329. package/src/platform-implementation-js/lib/dom/set-css.d.ts.map +1 -0
  330. package/src/platform-implementation-js/lib/dom/set-css.js +18 -23
  331. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.d.ts +2 -0
  332. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.d.ts.map +1 -0
  333. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +6 -12
  334. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.d.ts +4 -0
  335. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.d.ts.map +1 -0
  336. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +84 -93
  337. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts +1 -1
  338. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts.map +1 -1
  339. package/src/platform-implementation-js/lib/handle-compose-link-chips.d.ts +4 -0
  340. package/src/platform-implementation-js/lib/handle-compose-link-chips.d.ts.map +1 -0
  341. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +106 -97
  342. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
  343. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +1 -1
  344. package/src/platform-implementation-js/lib/insert-link-chip-into-body.d.ts +4 -0
  345. package/src/platform-implementation-js/lib/insert-link-chip-into-body.d.ts.map +1 -0
  346. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +32 -39
  347. package/src/platform-implementation-js/lib/logger.d.ts +1 -0
  348. package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
  349. package/src/platform-implementation-js/lib/parseParamsFromRouteID.d.ts +2 -0
  350. package/src/platform-implementation-js/lib/parseParamsFromRouteID.d.ts.map +1 -0
  351. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +12 -18
  352. package/src/platform-implementation-js/lib/populateRouteID.d.ts +2 -5
  353. package/src/platform-implementation-js/lib/populateRouteID.d.ts.map +1 -0
  354. package/src/platform-implementation-js/lib/populateRouteID.js +16 -21
  355. package/src/platform-implementation-js/lib/react/ElementContainer.d.ts +15 -0
  356. package/src/platform-implementation-js/lib/react/ElementContainer.d.ts.map +1 -0
  357. package/src/platform-implementation-js/lib/react/ElementContainer.js +24 -36
  358. package/src/platform-implementation-js/lib/routeIDmatchesHash.d.ts +2 -4
  359. package/src/platform-implementation-js/lib/routeIDmatchesHash.d.ts.map +1 -0
  360. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +8 -15
  361. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.d.ts +2 -4
  362. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.d.ts.map +1 -0
  363. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +12 -19
  364. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +1 -1
  365. package/src/platform-implementation-js/main.d.ts.map +1 -1
  366. package/src/platform-implementation-js/main.js +1 -4
  367. package/src/platform-implementation-js/namespaces/compose.d.ts +13 -0
  368. package/src/platform-implementation-js/namespaces/compose.d.ts.map +1 -0
  369. package/src/platform-implementation-js/namespaces/compose.js +56 -61
  370. package/src/platform-implementation-js/namespaces/conversations.d.ts +24 -0
  371. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -0
  372. package/src/platform-implementation-js/namespaces/conversations.js +79 -78
  373. package/src/platform-implementation-js/namespaces/global.d.ts +11 -0
  374. package/src/platform-implementation-js/namespaces/global.d.ts.map +1 -0
  375. package/src/platform-implementation-js/namespaces/global.js +28 -36
  376. package/src/platform-implementation-js/namespaces/keyboard.d.ts +11 -0
  377. package/src/platform-implementation-js/namespaces/keyboard.d.ts.map +1 -0
  378. package/src/platform-implementation-js/namespaces/keyboard.js +27 -40
  379. package/src/platform-implementation-js/namespaces/lists.d.ts +14 -0
  380. package/src/platform-implementation-js/namespaces/lists.d.ts.map +1 -0
  381. package/src/platform-implementation-js/namespaces/lists.js +38 -50
  382. package/src/platform-implementation-js/namespaces/modal.d.ts +10 -0
  383. package/src/platform-implementation-js/namespaces/modal.d.ts.map +1 -0
  384. package/src/platform-implementation-js/namespaces/modal.js +40 -48
  385. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +16 -0
  386. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -0
  387. package/src/platform-implementation-js/namespaces/nav-menu.js +29 -36
  388. package/src/platform-implementation-js/namespaces/router.d.ts +50 -1
  389. package/src/platform-implementation-js/namespaces/router.d.ts.map +1 -0
  390. package/src/platform-implementation-js/namespaces/router.js +126 -137
  391. package/src/platform-implementation-js/namespaces/search.d.ts +7 -0
  392. package/src/platform-implementation-js/namespaces/search.d.ts.map +1 -0
  393. package/src/platform-implementation-js/namespaces/search.js +25 -34
  394. package/src/platform-implementation-js/namespaces/toolbars.d.ts +15 -0
  395. package/src/platform-implementation-js/namespaces/toolbars.d.ts.map +1 -0
  396. package/src/platform-implementation-js/namespaces/toolbars.js +138 -140
  397. package/src/platform-implementation-js/namespaces/user.d.ts +13 -0
  398. package/src/platform-implementation-js/namespaces/user.d.ts.map +1 -0
  399. package/src/platform-implementation-js/namespaces/user.js +53 -62
  400. package/src/platform-implementation-js/namespaces/widgets.d.ts +16 -0
  401. package/src/platform-implementation-js/namespaces/widgets.d.ts.map +1 -0
  402. package/src/platform-implementation-js/namespaces/widgets.js +68 -77
  403. package/src/platform-implementation-js/platform-implementation.d.ts +54 -126
  404. package/src/platform-implementation-js/platform-implementation.d.ts.map +1 -0
  405. package/src/platform-implementation-js/platform-implementation.js +176 -147
  406. package/src/platform-implementation-js/views/app-toolbar-button-view.d.ts +11 -0
  407. package/src/platform-implementation-js/views/app-toolbar-button-view.d.ts.map +1 -0
  408. package/src/platform-implementation-js/views/app-toolbar-button-view.js +42 -51
  409. package/src/platform-implementation-js/views/collapsible-section-view.d.ts +12 -0
  410. package/src/platform-implementation-js/views/collapsible-section-view.d.ts.map +1 -0
  411. package/src/platform-implementation-js/views/collapsible-section-view.js +58 -86
  412. package/src/platform-implementation-js/views/compose-view.d.ts +2 -1
  413. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  414. package/src/platform-implementation-js/views/content-panel-view.d.ts +12 -0
  415. package/src/platform-implementation-js/views/content-panel-view.d.ts.map +1 -0
  416. package/src/platform-implementation-js/views/content-panel-view.js +35 -50
  417. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +18 -0
  418. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -0
  419. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +39 -44
  420. package/src/platform-implementation-js/views/conversations/custom-message-view.d.ts +28 -0
  421. package/src/platform-implementation-js/views/conversations/custom-message-view.d.ts.map +1 -0
  422. package/src/platform-implementation-js/views/conversations/custom-message-view.js +115 -103
  423. package/src/platform-implementation-js/views/conversations/message-view.d.ts +34 -0
  424. package/src/platform-implementation-js/views/conversations/message-view.d.ts.map +1 -0
  425. package/src/platform-implementation-js/views/conversations/message-view.js +197 -209
  426. package/src/platform-implementation-js/views/conversations/thread-view.d.ts +23 -0
  427. package/src/platform-implementation-js/views/conversations/thread-view.d.ts.map +1 -0
  428. package/src/platform-implementation-js/views/conversations/thread-view.js +93 -100
  429. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +11 -0
  430. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -0
  431. package/src/platform-implementation-js/views/native-nav-item-view.js +56 -62
  432. package/src/platform-implementation-js/views/nav-item-view.d.ts +12 -22
  433. package/src/platform-implementation-js/views/nav-item-view.d.ts.map +1 -0
  434. package/src/platform-implementation-js/views/nav-item-view.js +123 -124
  435. package/src/platform-implementation-js/views/route-view/custom-route-view.d.ts +9 -0
  436. package/src/platform-implementation-js/views/route-view/custom-route-view.d.ts.map +1 -0
  437. package/src/platform-implementation-js/views/route-view/custom-route-view.js +24 -36
  438. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.d.ts +14 -0
  439. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.d.ts.map +1 -0
  440. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +27 -38
  441. package/src/platform-implementation-js/views/route-view/list-route-view.d.ts +13 -0
  442. package/src/platform-implementation-js/views/route-view/list-route-view.d.ts.map +1 -0
  443. package/src/platform-implementation-js/views/route-view/list-route-view.js +41 -51
  444. package/src/platform-implementation-js/views/route-view/route-view.d.ts +11 -0
  445. package/src/platform-implementation-js/views/route-view/route-view.d.ts.map +1 -0
  446. package/src/platform-implementation-js/views/route-view/route-view.js +41 -51
  447. package/src/platform-implementation-js/views/section-view.d.ts +11 -0
  448. package/src/platform-implementation-js/views/section-view.d.ts.map +1 -0
  449. package/src/platform-implementation-js/views/section-view.js +56 -81
  450. package/src/platform-implementation-js/views/thread-row-view.d.ts +27 -0
  451. package/src/platform-implementation-js/views/thread-row-view.d.ts.map +1 -0
  452. package/src/platform-implementation-js/views/thread-row-view.js +87 -94
  453. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts +4 -0
  454. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +1 -1
  455. package/src/platform-implementation-js/widgets/drawer-view.d.ts +13 -0
  456. package/src/platform-implementation-js/widgets/drawer-view.d.ts.map +1 -0
  457. package/src/platform-implementation-js/widgets/drawer-view.js +46 -53
  458. package/src/platform-implementation-js/widgets/modal-view.d.ts +18 -0
  459. package/src/platform-implementation-js/widgets/modal-view.d.ts.map +1 -0
  460. package/src/platform-implementation-js/widgets/modal-view.js +95 -91
  461. package/src/platform-implementation-js/widgets/mole-view.d.ts +12 -0
  462. package/src/platform-implementation-js/widgets/mole-view.d.ts.map +1 -0
  463. package/src/platform-implementation-js/widgets/mole-view.js +37 -46
  464. package/src/platform-implementation-js/widgets/top-message-bar-view.d.ts +8 -0
  465. package/src/platform-implementation-js/widgets/top-message-bar-view.d.ts.map +1 -0
  466. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -21
  467. package/src/injected-js/gmail/modify-suggestions.test.js +0 -20
  468. package/src/injected-js/gmail/sync-compose-request-processor.test.js +0 -80
  469. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +0 -41
  470. package/src/injected-js/xhr-proxy-factory.test.js +0 -1052
  471. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +0 -22
  472. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +0 -125
  473. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +0 -141
  474. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +0 -209
  475. package/src/platform-implementation-js/lib/array-to-lifetimes.js +0 -69
  476. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +0 -155
  477. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +0 -13
  478. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +0 -39
  479. package/src/platform-implementation-js/lib/make-revocable-function.js +0 -38
  480. package/src/platform-implementation-js/lib/make-revocable-function.test.js +0 -61
  481. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +0 -19
  482. package/src/platform-implementation-js/lib/populateRouteID.test.js +0 -32
  483. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +0 -17
@@ -1,1052 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _assert = _interopRequireDefault(require("assert"));
5
- var _lodash = _interopRequireDefault(require("lodash"));
6
- var _noop = _interopRequireDefault(require("lodash/noop"));
7
- var _sinon = _interopRequireDefault(require("sinon"));
8
- var _pdelay = _interopRequireDefault(require("pdelay"));
9
- var _MockServer = _interopRequireDefault(require("../../test/lib/MockServer"));
10
- var _xhrProxyFactory = _interopRequireDefault(require("./xhr-proxy-factory"));
11
- const testError = new Error('TEST');
12
- let logErrorTestCalls = 0;
13
- function logError(error, label) {
14
- if (error === testError) {
15
- logErrorTestCalls++;
16
- } else {
17
- console.error('logError:', label, error);
18
- throw error || new Error(label);
19
- }
20
- }
21
- function thrower(err) {
22
- return function () {
23
- if (typeof err == 'string') {
24
- throw new Error(err);
25
- } else if (err) {
26
- throw err;
27
- } else {
28
- throw new Error('Should not happen');
29
- }
30
- };
31
- }
32
- const server = new _MockServer.default();
33
- server.respondWith({
34
- method: 'GET',
35
- path: '/foo',
36
- headers: {
37
- 'X-Special': 'Value'
38
- }
39
- }, {
40
- status: 200,
41
- response: 'header value received'
42
- });
43
- server.respondWith({
44
- method: 'GET',
45
- path: '/foo',
46
- responseType: 'testing'
47
- }, {
48
- status: 200,
49
- response: 'testing here!'
50
- });
51
- server.respondWith({
52
- method: 'GET',
53
- path: '/foo'
54
- }, {
55
- status: 200,
56
- response: 'Response here!',
57
- partialResponse: 'Response here',
58
- headers: {
59
- 'X-Test': 'Header Value'
60
- }
61
- });
62
- server.respondWith({
63
- method: 'POST',
64
- path: '/foo',
65
- body: 'somedata'
66
- }, {
67
- status: 200,
68
- response: 'body received'
69
- });
70
- server.respondWith({
71
- method: 'POST',
72
- path: '/foo',
73
- body: 'testab'
74
- }, {
75
- status: 200,
76
- response: 'testab received'
77
- });
78
- server.respondWith({
79
- method: 'POST',
80
- path: '/foo'
81
- }, {
82
- status: 200,
83
- response: 'POST request'
84
- });
85
- server.respondWith({
86
- method: 'GET',
87
- path: '/foo2'
88
- }, {
89
- status: 200,
90
- response: 'foo2 response!',
91
- partialResponse: 'foo2 response'
92
- });
93
- server.respondWith({
94
- method: 'GET',
95
- path: '/fooXml'
96
- }, {
97
- status: 200,
98
- response: 'testing here!',
99
- responseXML: {
100
- fakeXml: true
101
- }
102
- });
103
- server.respondWith({
104
- method: 'GETab',
105
- path: '/fooAB'
106
- }, {
107
- status: 200,
108
- response: 'fooAB requested, data12 received'
109
- });
110
- const XMLHttpRequest = server.XMLHttpRequest;
111
- const constructors = {
112
- XMLHttpRequest: XMLHttpRequest,
113
- XHRProxy: (0, _xhrProxyFactory.default)(XMLHttpRequest, [], {
114
- logError: logError
115
- })
116
- };
117
- constructors['XHRProxy²'] = (0, _xhrProxyFactory.default)(constructors.XHRProxy, [], {
118
- logError: logError
119
- });
120
- constructors['XHRProxy with changers'] = (0, _xhrProxyFactory.default)(XMLHttpRequest, [{
121
- isRelevantTo: () => true,
122
- requestChanger(connection, request) {
123
- return Promise.resolve(request);
124
- },
125
- responseTextChanger(connection, response) {
126
- return Promise.resolve(response);
127
- }
128
- }], {
129
- logError: logError
130
- });
131
- beforeEach(() => {
132
- logErrorTestCalls = 0;
133
- });
134
-
135
- // Test both the mock and the instrumented version
136
- ['XMLHttpRequest', 'XHRProxy', 'XHRProxy²', 'XHRProxy with changers'].forEach(XHRName => {
137
- describe(XHRName, () => {
138
- let XHRConstructor;
139
- let xhr;
140
- beforeEach(() => {
141
- XHRConstructor = constructors[XHRName];
142
- xhr = new XHRConstructor();
143
- });
144
- ['onreadystatechange', 'addEventListener'].forEach(method => {
145
- describe(method, () => {
146
- it('should call all states and work on re-used object', done => {
147
- const calledForState = {
148
- '1': 0,
149
- '2': 0,
150
- '3': 0,
151
- '4': 0
152
- };
153
- let runCount = 0;
154
- const listener = function (event) {
155
- _assert.default.strictEqual(this, xhr, 'check for correct this binding');
156
- _assert.default.strictEqual(event.target, this, 'check for correct event target');
157
- calledForState[this.readyState]++;
158
- if (this.readyState >= 2) {
159
- _assert.default.equal(this.status, 200, 'check http status');
160
- }
161
- if (this.readyState >= 3) {
162
- _assert.default.equal(this.responseText, this.response, 'check responseText');
163
- } else {
164
- let responseText;
165
- try {
166
- responseText = this.responseText;
167
- } catch (e) {
168
- responseText = '';
169
- }
170
- _assert.default.strictEqual(responseText, '');
171
- }
172
- if (this.readyState == 3) {
173
- if (XHRName === 'XHRProxy with changers') {
174
- // No progress text should be given when a responseTextChanger is in use.
175
- _assert.default.strictEqual(this.response, '');
176
- } else {
177
- _assert.default.strictEqual(this.response, 'Response here');
178
- }
179
- }
180
- if (this.readyState == 4) {
181
- runCount++;
182
- _assert.default.equal(this.response, 'Response here!');
183
- _assert.default.deepEqual(calledForState, {
184
- '1': runCount,
185
- '2': runCount,
186
- '3': runCount,
187
- '4': runCount
188
- }, 'check that listener was called for each state');
189
- if (runCount === 1) {
190
- start();
191
- } else {
192
- done();
193
- }
194
- }
195
- };
196
- if (method == 'onreadystatechange') {
197
- xhr.onreadystatechange = listener;
198
- } else if (method == 'addEventListener') {
199
- xhr.addEventListener('readystatechange', listener);
200
- }
201
- function start() {
202
- xhr.open('GET', '/foo');
203
- _assert.default.equal(xhr.readyState, 1, 'readyState check');
204
- xhr.send();
205
- }
206
- _assert.default.equal(xhr.readyState, 0, 'readyState check');
207
- start();
208
- });
209
- });
210
- });
211
- describe('multiple event listeners', () => {
212
- it('should fire both together', done => {
213
- let simpleFired = false,
214
- addedFired = false;
215
- xhr.onreadystatechange = function (event) {
216
- simpleFired = true;
217
- };
218
- xhr.addEventListener('readystatechange', function (event) {
219
- addedFired = true;
220
- });
221
- xhr.addEventListener('readystatechange', function (event) {
222
- if (this.readyState == 4) {
223
- (0, _assert.default)(simpleFired && addedFired, 'check that both listeners fired');
224
- done();
225
- }
226
- });
227
- xhr.open('GET', '/foo');
228
- xhr.send();
229
- });
230
- });
231
- describe('removeEventListener', () => {
232
- it('should work', done => {
233
- const badListener = function (event) {
234
- throw new Error('this listener should have been removed');
235
- };
236
- xhr.addEventListener('readystatechange', badListener);
237
- xhr.addEventListener('readystatechange', function (event) {
238
- if (this.readyState == 4) {
239
- done();
240
- }
241
- });
242
- xhr.removeEventListener('readystatechange', badListener);
243
- xhr.open('GET', '/foo');
244
- xhr.send();
245
- });
246
- });
247
- describe('abort', () => {
248
- it('should work after send', done => {
249
- let finishCount = 0;
250
- xhr.onreadystatechange = function () {
251
- if (this.readyState == 4) {
252
- if (finishCount++ === 0) {
253
- _assert.default.equal(this.responseText, 'Response here', 'response check');
254
- xhr.open('GET', '/foo2');
255
- xhr.send();
256
- } else {
257
- _assert.default.equal(this.responseText, 'foo2 response!', 'response check');
258
- done();
259
- }
260
- }
261
- };
262
- xhr.open('GET', '/foo');
263
- xhr.send();
264
- xhr.abort();
265
- });
266
- });
267
- describe('open', () => {
268
- it('should cancel active request but without abort event', done => {
269
- xhr.onreadystatechange = _sinon.default.spy();
270
- xhr.onabort = xhr.onerror = xhr.onload = xhr.onloadend = thrower();
271
- xhr.open('GET', '/foo');
272
- _assert.default.strictEqual(xhr.readyState, 1);
273
- (0, _assert.default)(xhr.onreadystatechange.calledOnce);
274
- xhr.onreadystatechange = thrower('readyStateChange should not happen here');
275
- xhr.send();
276
- xhr.open('GET', '/foo2');
277
- xhr.send();
278
- const stateCounts = {
279
- '1': 0,
280
- '2': 0,
281
- '3': 0,
282
- '4': 0
283
- };
284
- xhr.onreadystatechange = function () {
285
- stateCounts[xhr.readyState]++;
286
- };
287
- xhr.onload = function () {
288
- _assert.default.deepEqual(stateCounts, {
289
- '1': 0,
290
- '2': 1,
291
- '3': 1,
292
- '4': 1
293
- });
294
- _assert.default.strictEqual(xhr.responseText, 'foo2 response!');
295
- done();
296
- };
297
- xhr.onloadend = _noop.default;
298
- });
299
- });
300
- describe('sync', () => {
301
- it('can do synchronous requests', () => {
302
- const onloadSpy = _sinon.default.spy();
303
- xhr.onload = function () {
304
- _assert.default.strictEqual(this, xhr, 'this check');
305
- onloadSpy();
306
- };
307
- xhr.open('GET', '/foo', false);
308
- xhr.send();
309
- _assert.default.equal(xhr.readyState, 4, 'readyState check');
310
- _assert.default.equal(xhr.responseText, 'Response here!', 'response check');
311
- (0, _assert.default)(onloadSpy.calledOnce, 'check onload was ran');
312
- });
313
- it('async arg as undefined counts as false', () => {
314
- const onloadSpy = _sinon.default.spy();
315
- xhr.onload = function () {
316
- _assert.default.strictEqual(this, xhr, 'this check');
317
- onloadSpy();
318
- };
319
- xhr.open('GET', '/foo', undefined);
320
- xhr.send();
321
- _assert.default.equal(xhr.readyState, 4, 'readyState check');
322
- _assert.default.equal(xhr.responseText, 'Response here!', 'response check');
323
- (0, _assert.default)(onloadSpy.calledOnce, 'check onload was ran');
324
- });
325
- });
326
- describe('events', () => {
327
- it('readystatechange', done => {
328
- const step = _lodash.default.after(2, done);
329
- function checkEvent(event) {
330
- _assert.default.strictEqual(event.target, xhr);
331
- step();
332
- }
333
- xhr.onreadystatechange = function (event) {
334
- if (this.readyState == 4) {
335
- step();
336
- }
337
- };
338
- xhr.addEventListener('readystatechange', function (event) {
339
- if (this.readyState == 4) {
340
- step();
341
- }
342
- });
343
- xhr.open('GET', '/foo');
344
- xhr.send();
345
- });
346
- it('load', done => {
347
- const step = _lodash.default.after(2, done);
348
- function checkEvent(event) {
349
- _assert.default.strictEqual(event.target, xhr);
350
- _assert.default.strictEqual(typeof event.lengthComputable, 'boolean');
351
- _assert.default.strictEqual(typeof event.loaded, 'number');
352
- _assert.default.strictEqual(typeof event.total, 'number');
353
- step();
354
- }
355
- xhr.onload = checkEvent;
356
- xhr.addEventListener('load', checkEvent);
357
- xhr.onerror = thrower();
358
- xhr.open('GET', '/foo');
359
- xhr.send();
360
- });
361
- it('loadstart', done => {
362
- const step = _lodash.default.after(2, done);
363
- function checkEvent(event) {
364
- _assert.default.strictEqual(event.target, xhr);
365
- _assert.default.strictEqual(event.lengthComputable, false);
366
- _assert.default.strictEqual(typeof event.loaded, 'number');
367
- _assert.default.strictEqual(typeof event.total, 'number');
368
- step();
369
- }
370
- xhr.onloadstart = checkEvent;
371
- xhr.addEventListener('loadstart', checkEvent);
372
- xhr.open('GET', '/foo');
373
- xhr.send();
374
- xhr.abort();
375
- });
376
- it('loadend', done => {
377
- const step = _lodash.default.after(4, done);
378
- function checkEvent(event) {
379
- _assert.default.strictEqual(event.target, xhr);
380
- _assert.default.strictEqual(typeof event.lengthComputable, 'boolean');
381
- _assert.default.strictEqual(typeof event.loaded, 'number');
382
- _assert.default.strictEqual(typeof event.total, 'number');
383
- step();
384
- }
385
- xhr.onload = checkEvent;
386
- xhr.addEventListener('load', checkEvent);
387
- xhr.onloadend = checkEvent;
388
- xhr.addEventListener('loadend', checkEvent);
389
- xhr.open('GET', '/foo');
390
- xhr.send();
391
- });
392
- it('error', done => {
393
- const step = _lodash.default.after(4, done);
394
- function checkEvent(event) {
395
- _assert.default.strictEqual(event.target, xhr);
396
- _assert.default.strictEqual(typeof event.lengthComputable, 'boolean');
397
- _assert.default.strictEqual(typeof event.loaded, 'number');
398
- _assert.default.strictEqual(typeof event.total, 'number');
399
- step();
400
- }
401
- xhr.onload = thrower();
402
- xhr.onloadend = step.bind(null, null);
403
- xhr.addEventListener('loadend', step.bind(null, null));
404
- xhr.onerror = checkEvent;
405
- xhr.addEventListener('error', checkEvent);
406
- xhr.open('GET', '/non-existent-page');
407
- xhr.send();
408
- });
409
- it('abort', done => {
410
- const step = _lodash.default.after(2, done);
411
- function checkEvent(event) {
412
- _assert.default.strictEqual(event.target, xhr);
413
- _assert.default.strictEqual(typeof event.lengthComputable, 'boolean');
414
- _assert.default.strictEqual(typeof event.loaded, 'number');
415
- _assert.default.strictEqual(typeof event.total, 'number');
416
- step();
417
- }
418
- xhr.onabort = checkEvent;
419
- xhr.addEventListener('abort', checkEvent);
420
- xhr.open('GET', '/foo');
421
- xhr.send();
422
- xhr.abort();
423
- });
424
- });
425
- describe('post', () => {
426
- it('works', done => {
427
- xhr.open('POST', '/foo');
428
- xhr.onload = function () {
429
- _assert.default.strictEqual(xhr.responseText, 'body received');
430
- done();
431
- };
432
- xhr.send('somedata');
433
- });
434
- it('works without body', done => {
435
- xhr.open('POST', '/foo');
436
- xhr.onload = function () {
437
- _assert.default.strictEqual(xhr.responseText, 'POST request');
438
- done();
439
- };
440
- xhr.send();
441
- });
442
- });
443
- describe('properties', () => {
444
- it('has the necessary constants', () => {
445
- _assert.default.strictEqual(XHRConstructor.UNSENT, 0);
446
- _assert.default.strictEqual(XHRConstructor.OPENED, 1);
447
- _assert.default.strictEqual(XHRConstructor.HEADERS_RECEIVED, 2);
448
- _assert.default.strictEqual(XHRConstructor.LOADING, 3);
449
- _assert.default.strictEqual(XHRConstructor.DONE, 4);
450
- _assert.default.strictEqual(xhr.UNSENT, 0);
451
- _assert.default.strictEqual(xhr.OPENED, 1);
452
- _assert.default.strictEqual(xhr.HEADERS_RECEIVED, 2);
453
- _assert.default.strictEqual(xhr.LOADING, 3);
454
- _assert.default.strictEqual(xhr.DONE, 4);
455
- });
456
- });
457
- describe('responseType', () => {
458
- it('supports non-text values', done => {
459
- xhr.responseType = 'testing';
460
- xhr.onreadystatechange = function () {
461
- if (this.readyState == 4) {
462
- _assert.default.equal(xhr.response, 'testing here!');
463
- let rt = '';
464
- try {
465
- rt = xhr.responseText;
466
- } catch (e) {
467
- // ignore
468
- }
469
- _assert.default.strictEqual(rt, '', 'responseText check');
470
- done();
471
- }
472
- };
473
- xhr.open('GET', '/foo');
474
- xhr.send();
475
- });
476
- it('supports responseXml', done => {
477
- xhr.onload = function () {
478
- _assert.default.equal(xhr.responseText, 'testing here!');
479
- _assert.default.deepEqual(xhr.responseXML, {
480
- fakeXml: true
481
- });
482
- done();
483
- };
484
- xhr.open('GET', '/fooXml');
485
- xhr.send();
486
- });
487
- });
488
- describe('getResponseHeader', () => {
489
- it('should work', done => {
490
- xhr.onreadystatechange = function () {
491
- if (this.readyState < 2) {
492
- _assert.default.strictEqual(xhr.getResponseHeader('X-Test'), null);
493
- } else {
494
- _assert.default.equal(this.getResponseHeader('X-Test'), 'Header Value');
495
- }
496
- if (this.readyState == 4) {
497
- done();
498
- }
499
- };
500
- _assert.default.strictEqual(xhr.getResponseHeader('X-Test'), null);
501
- xhr.open('GET', '/foo');
502
- _assert.default.strictEqual(xhr.getResponseHeader('X-Test'), null);
503
- xhr.send();
504
- _assert.default.strictEqual(xhr.getResponseHeader('X-Test'), null);
505
- });
506
- });
507
- describe('getAllResponseHeaders', () => {
508
- it('should work', done => {
509
- xhr.onreadystatechange = function () {
510
- if (this.readyState < 2) {
511
- _assert.default.strictEqual(xhr.getAllResponseHeaders(), null);
512
- } else {
513
- _assert.default.equal(this.getAllResponseHeaders().trim().toLowerCase(), 'x-test: header value');
514
- }
515
- if (this.readyState == 4) {
516
- done();
517
- }
518
- };
519
- _assert.default.strictEqual(xhr.getAllResponseHeaders(), null);
520
- xhr.open('GET', '/foo');
521
- _assert.default.strictEqual(xhr.getAllResponseHeaders(), null);
522
- xhr.send();
523
- _assert.default.strictEqual(xhr.getAllResponseHeaders(), null);
524
- });
525
- });
526
- describe('setRequestHeader', () => {
527
- it('should work', done => {
528
- xhr.onreadystatechange = function () {
529
- if (this.readyState == 4) {
530
- _assert.default.equal(this.response, 'header value received');
531
- done();
532
- }
533
- };
534
- xhr.open('GET', '/foo');
535
- xhr.setRequestHeader('X-Special', 'Value');
536
- xhr.send();
537
- });
538
- });
539
- describe('prototype', () => {
540
- it('should be present', () => {
541
- (0, _assert.default)('prototype' in XHRConstructor);
542
- (0, _assert.default)(typeof XHRConstructor.prototype.open === 'function');
543
- (0, _assert.default)(typeof XHRConstructor.prototype.send === 'function');
544
- });
545
- });
546
- describe('MailTrack compatibility', () => {
547
- // MailTrack redefines js_frame's XMLHttpRequest.prototype.open to do
548
- // some stuff, and then looks up the main frame's
549
- // XMLHttpRequest.prototype.open and calls it.
550
- // This can result in XHRProxy.prototype.open being called with `this`
551
- // set to a real XMLHttpRequest object.
552
-
553
- it('works with MailTrack', done => {
554
- const realXhr = new XMLHttpRequest();
555
- realXhr.onload = () => done();
556
- XHRConstructor.prototype.open.call(realXhr, 'GET', '/foo');
557
- realXhr.send();
558
- });
559
- });
560
- });
561
- });
562
- describe('XHRProxyFactory', () => {
563
- describe('wrappers', () => {
564
- it('should be used with responseTextChanger present and work on re-used object', done => {
565
- let origResponse;
566
- let originalSendBodyLoggerRan = 0;
567
- let originalResponseTextLoggerRan = 0;
568
- let responseTextChangerRan = 0;
569
- let finalResponseTextLoggerRan = 0;
570
- let firstAfterListenersRan = 0;
571
- let rsc4Ran = 0;
572
- let runCount = 0;
573
- function checkConnectionParam(connection, expectStatus, expectOriginalSendBody) {
574
- _assert.default.equal(connection._flag, true, 'connection object check');
575
- if (expectStatus) {
576
- _assert.default.equal(connection.status, 200, 'status check');
577
- _assert.default.equal(connection.responseType, 'text', 'responseType check');
578
- }
579
- _assert.default.equal(connection.originalSendBody, expectOriginalSendBody ? 'body test' : undefined, 'body check');
580
- _assert.default.equal(connection.method, 'GET', 'method check');
581
- _assert.default.equal(connection.url, '/foo', 'url check');
582
- _assert.default.deepEqual(connection.params, {}, 'params check');
583
- }
584
- const wrappers = [{
585
- isRelevantTo(connection) {
586
- _assert.default.strictEqual(this, wrappers[0], 'this check');
587
- (0, _assert.default)(!connection._flag, 'check that connection object is fresh');
588
- connection._flag = true;
589
- checkConnectionParam(connection, false, false);
590
- return connection.url == '/foo';
591
- },
592
- originalSendBodyLogger(connection, body) {
593
- _assert.default.strictEqual(this, wrappers[0], 'this check');
594
- checkConnectionParam(connection, false, true);
595
- _assert.default.equal(body, 'body test', 'body check');
596
- originalSendBodyLoggerRan++;
597
- },
598
- originalResponseTextLogger(connection, response) {
599
- _assert.default.strictEqual(this, wrappers[0], 'this check');
600
- checkConnectionParam(connection, true, true);
601
- originalResponseTextLoggerRan++;
602
- origResponse = response;
603
- },
604
- responseTextChanger(connection, response) {
605
- _assert.default.strictEqual(this, wrappers[0], 'this check');
606
- checkConnectionParam(connection, true, true);
607
- responseTextChangerRan++;
608
- _assert.default.equal(response, origResponse);
609
- return response + '-modified' + runCount;
610
- },
611
- finalResponseTextLogger(connection, response) {
612
- _assert.default.strictEqual(this, wrappers[0], 'this check');
613
- checkConnectionParam(connection, true, true);
614
- finalResponseTextLoggerRan++;
615
- _assert.default.equal(response, origResponse + '-modified' + runCount);
616
- },
617
- afterListeners(connection) {
618
- firstAfterListenersRan++;
619
- }
620
- }, {
621
- isRelevantTo(connection) {
622
- return true;
623
- },
624
- originalSendBodyLogger(connection, body) {
625
- originalSendBodyLoggerRan++;
626
- },
627
- originalResponseTextLogger(connection, response) {
628
- originalResponseTextLoggerRan++;
629
- _assert.default.equal(response, origResponse);
630
- },
631
- finalResponseTextLogger(connection, response) {
632
- finalResponseTextLoggerRan++;
633
- _assert.default.equal(response, origResponse + '-modified' + runCount);
634
- },
635
- afterListeners(connection) {
636
- _assert.default.equal(firstAfterListenersRan, 1 * runCount, 'check that afterListeners ran correct number of times');
637
- _assert.default.equal(rsc4Ran, 1 * runCount, 'check that readystatechange listener ran correct number of times');
638
- if (runCount === 1) {
639
- start();
640
- } else {
641
- done();
642
- }
643
- }
644
- }, {
645
- isRelevantTo(connection) {
646
- return false;
647
- },
648
- originalSendBodyLogger(connection, body) {
649
- throw new Error('should not run');
650
- },
651
- originalResponseTextLogger(connection, response) {
652
- throw new Error('should not run');
653
- },
654
- responseTextChanger(connection, response) {
655
- throw new Error('should not run');
656
- },
657
- finalResponseTextLogger(connection, response) {
658
- throw new Error('should not run');
659
- },
660
- afterListeners(connection) {
661
- throw new Error('should not run');
662
- }
663
- }];
664
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
665
- logError: logError
666
- });
667
- const xhr = new XHRProxy();
668
- xhr.onreadystatechange = function () {
669
- if (this.readyState == 3) {
670
- _assert.default.equal(this.response, '', 'check response is empty until end when responseTextChanger is used');
671
- _assert.default.equal(this.responseText, this.response, 'check responseText');
672
- }
673
- if (this.readyState == 4) {
674
- runCount++;
675
- _assert.default.equal(originalSendBodyLoggerRan, 2 * runCount, 'check that originalSendBodyLogger ran correct number of times');
676
- _assert.default.equal(originalResponseTextLoggerRan, 2 * runCount, 'check that originalResponseTextLogger ran correct number of times');
677
- _assert.default.equal(responseTextChangerRan, 1 * runCount, 'check that responseTextChanger ran correct number of times');
678
- _assert.default.equal(finalResponseTextLoggerRan, 2 * runCount, 'check that finalResponseTextLogger ran correct number of times');
679
- _assert.default.equal(firstAfterListenersRan, 1 * (runCount - 1), 'check that afterListeners ran correct number of times');
680
- _assert.default.equal(this.response, origResponse + '-modified' + (runCount - 1), 'check that response was modified');
681
- _assert.default.equal(this.responseText, this.response, 'check responseText');
682
- rsc4Ran++;
683
- // done is in afterListener wrapper
684
- }
685
- };
686
-
687
- function start() {
688
- xhr.open('GET', '/foo');
689
- xhr.send('body test');
690
- }
691
- start();
692
- });
693
- it('should be used without responseTextChanger present', done => {
694
- let origResponse;
695
- let originalResponseTextLoggerRan = 0;
696
- let finalResponseTextLoggerRan = 0;
697
- const wrappers = [{
698
- isRelevantTo(connection) {
699
- return true;
700
- },
701
- originalResponseTextLogger(connection, response) {
702
- _assert.default.strictEqual(this, wrappers[0], 'this check');
703
- originalResponseTextLoggerRan++;
704
- origResponse = response;
705
- },
706
- finalResponseTextLogger(connection, response) {
707
- _assert.default.strictEqual(this, wrappers[0], 'this check');
708
- finalResponseTextLoggerRan++;
709
- _assert.default.equal(response, origResponse);
710
- }
711
- }, {
712
- isRelevantTo(connection) {
713
- return false;
714
- },
715
- responseTextChanger(connection, response) {
716
- throw new Error('should not run');
717
- }
718
- }];
719
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
720
- logError: logError
721
- });
722
- const xhr = new XHRProxy();
723
- xhr.onreadystatechange = function () {
724
- _assert.default.equal(this.responseText, this.response, 'check responseText');
725
- if (this.readyState == 3) {
726
- _assert.default.equal(this.response, 'Response here', 'check response');
727
- }
728
- if (this.readyState == 4) {
729
- _assert.default.equal(this.response, 'Response here!', 'check response');
730
- _assert.default.equal(originalResponseTextLoggerRan, 1, 'check that originalResponseTextLogger ran correct number of times');
731
- _assert.default.equal(finalResponseTextLoggerRan, 1, 'check that finalResponseTextLogger ran correct number of times');
732
- done();
733
- }
734
- };
735
- xhr.open('GET', '/foo');
736
- xhr.send();
737
- });
738
- it('should not have errors prevent event listeners', done => {
739
- let loggerRan = 0;
740
- const wrappers = [{
741
- isRelevantTo(connection) {
742
- throw testError;
743
- },
744
- originalResponseTextLogger(connection, response) {
745
- throw new Error('should not run');
746
- }
747
- }, {
748
- isRelevantTo(connection) {
749
- return true;
750
- },
751
- originalSendBodyLogger(connection, body) {
752
- throw testError;
753
- },
754
- requestChanger(connection, body) {
755
- throw testError;
756
- },
757
- originalResponseTextLogger(connection, response) {
758
- loggerRan++;
759
- throw testError;
760
- },
761
- responseTextChanger(connection, response) {
762
- throw testError;
763
- },
764
- finalResponseTextLogger(connection, response) {
765
- throw testError;
766
- }
767
- }, {
768
- isRelevantTo(connection) {
769
- return true;
770
- },
771
- originalSendBodyLogger(connection, body) {
772
- throw testError;
773
- },
774
- originalResponseTextLogger(connection, response) {
775
- throw testError;
776
- },
777
- finalResponseTextLogger(connection, response) {
778
- throw testError;
779
- }
780
- }];
781
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
782
- logError: logError
783
- });
784
- const xhr = new XHRProxy();
785
- xhr.onreadystatechange = function () {
786
- if (this.readyState == 4) {
787
- _assert.default.equal(logErrorTestCalls, 9, 'check that logError was called correct number of times');
788
- _assert.default.equal(loggerRan, 1, 'check that originalResponseTextLogger was attempted');
789
- _assert.default.equal(this.response, 'Response here!', 'check response');
790
- done();
791
- }
792
- };
793
- xhr.open('GET', '/foo');
794
- xhr.send();
795
- });
796
- it('can have wrappers changed after construction', done => {
797
- const wrappers = [{
798
- isRelevantTo(connection) {
799
- throw new Error('should not run');
800
- },
801
- originalResponseTextLogger(connection, response) {
802
- throw new Error('should not run');
803
- }
804
- }];
805
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
806
- logError: logError
807
- });
808
- let loggerRan = 0;
809
- wrappers.length = 0;
810
- wrappers.push({
811
- isRelevantTo(connection) {
812
- return true;
813
- },
814
- originalResponseTextLogger(connection, response) {
815
- loggerRan++;
816
- }
817
- });
818
- const xhr = new XHRProxy();
819
- xhr.onreadystatechange = function () {
820
- if (this.readyState == 4) {
821
- _assert.default.equal(loggerRan, 1, 'check that originalResponseTextLogger has run');
822
- done();
823
- }
824
- };
825
- xhr.open('GET', '/foo');
826
- xhr.send();
827
- });
828
- it('should support promises for responseTextChanger', done => {
829
- let origResponse;
830
- let responseTextChangerRan = 0;
831
- let finalResponseTextLoggerRan = 0;
832
- function checkConnectionParam(connection) {
833
- _assert.default.equal(connection._flag, true, 'connection object check');
834
- }
835
- const wrappers = [{
836
- isRelevantTo(connection) {
837
- _assert.default.strictEqual(this, wrappers[0], 'this check');
838
- connection._flag = true;
839
- checkConnectionParam(connection);
840
- return connection.url == '/foo';
841
- },
842
- originalResponseTextLogger(connection, response) {
843
- _assert.default.strictEqual(this, wrappers[0], 'this check');
844
- checkConnectionParam(connection);
845
- origResponse = response;
846
- },
847
- async responseTextChanger(connection, response) {
848
- _assert.default.strictEqual(this, wrappers[0], 'this check');
849
- await (0, _pdelay.default)(1);
850
- checkConnectionParam(connection);
851
- responseTextChangerRan++;
852
- _assert.default.equal(response, origResponse);
853
- _assert.default.equal(xhr.readyState, 3, 'check that readyState is still LOADING');
854
- return response + '-modified';
855
- },
856
- finalResponseTextLogger(connection, response) {
857
- _assert.default.strictEqual(this, wrappers[0], 'this check');
858
- checkConnectionParam(connection);
859
- finalResponseTextLoggerRan++;
860
- _assert.default.equal(response, origResponse + '-modified');
861
- }
862
- }, {
863
- isRelevantTo(connection) {
864
- return true;
865
- },
866
- finalResponseTextLogger(connection, response) {
867
- finalResponseTextLoggerRan++;
868
- _assert.default.equal(response, origResponse + '-modified');
869
- }
870
- }, {
871
- isRelevantTo(connection) {
872
- return false;
873
- },
874
- requestChanger() {
875
- throw new Error('should not run');
876
- },
877
- responseTextChanger(connection, response) {
878
- throw new Error('should not run');
879
- },
880
- finalResponseTextLogger(connection, response) {
881
- throw new Error('should not run');
882
- }
883
- }];
884
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
885
- logError: logError
886
- });
887
- const xhr = new XHRProxy();
888
- let methodCalled = false,
889
- addedListenerCalled = false;
890
- const finishRsc = _lodash.default.after(2, () => {
891
- (0, _assert.default)(methodCalled, 'check that onreadystatechange method was called');
892
- (0, _assert.default)(addedListenerCalled, 'check that added listener was called');
893
- _assert.default.equal(responseTextChangerRan, 1, 'check that responseTextChanger ran correct number of times');
894
- _assert.default.equal(finalResponseTextLoggerRan, 2, 'check that finalResponseTextLogger ran correct number of times');
895
- done();
896
- });
897
- xhr.onreadystatechange = function () {
898
- _assert.default.equal(this.responseText, this.response, 'check responseText');
899
- if (this.readyState == 4) {
900
- _assert.default.equal(this.response, origResponse + '-modified', 'check that response was modified');
901
- methodCalled = true;
902
- finishRsc();
903
- }
904
- };
905
- xhr.addEventListener('readystatechange', function () {
906
- if (this.readyState == 4) {
907
- _assert.default.equal(this.response, origResponse + '-modified', 'check that response was modified');
908
- addedListenerCalled = true;
909
- finishRsc();
910
- }
911
- });
912
- xhr.open('GET', '/foo');
913
- xhr.send();
914
- });
915
- it('should have responseTextChanger promises respect abort', done => {
916
- const wrappers = [{
917
- isRelevantTo(connection) {
918
- return connection.url == '/foo';
919
- },
920
- async responseTextChanger(connection, response) {
921
- // start a new request, aborting the current one, so that the result
922
- // of this responseTextChanger never gets seen.
923
- xhr.open('GET', '/foo2');
924
- xhr.send();
925
- await (0, _pdelay.default)(1);
926
- return response + '-modified';
927
- },
928
- finalResponseTextLogger(connection, response) {
929
- throw new Error('should not run');
930
- }
931
- }];
932
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
933
- logError: logError
934
- });
935
- const xhr = new XHRProxy();
936
- xhr.addEventListener('readystatechange', function () {
937
- if (this.readyState == 4) {
938
- _assert.default.equal(this.responseText, 'foo2 response!');
939
- done();
940
- }
941
- });
942
- xhr.open('GET', '/foo');
943
- xhr.send();
944
- });
945
- it('supports multiple responseTextChanger wrappers', done => {
946
- const wrappers = [{
947
- isRelevantTo: () => true,
948
- responseTextChanger(connection, response) {
949
- _assert.default.strictEqual(connection.originalResponseText, 'foo2 response!');
950
- _assert.default.strictEqual(connection.modifiedResponseText, 'foo2 response!');
951
- _assert.default.strictEqual(connection.modifiedResponseText, response);
952
- return response + 'a';
953
- }
954
- }, {
955
- isRelevantTo: () => true,
956
- responseTextChanger(connection, response) {
957
- _assert.default.strictEqual(connection.originalResponseText, 'foo2 response!');
958
- _assert.default.strictEqual(connection.modifiedResponseText, 'foo2 response!a');
959
- _assert.default.strictEqual(connection.modifiedResponseText, response);
960
- return response + 'b';
961
- }
962
- }];
963
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
964
- logError: logError
965
- });
966
- const xhr = new XHRProxy();
967
- xhr.onload = function () {
968
- _assert.default.strictEqual(this.responseText, 'foo2 response!ab');
969
- done();
970
- };
971
- xhr.open('GET', '/foo2');
972
- xhr.send();
973
- });
974
- it('should ignore invalid responseTextChanger return value', done => {
975
- const logErrorSpy = _sinon.default.spy();
976
- const wrappers = [{
977
- isRelevantTo: () => true,
978
- responseTextChanger(connection, response) {
979
- return null;
980
- }
981
- }];
982
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
983
- logError: logErrorSpy
984
- });
985
- const xhr = new XHRProxy();
986
- xhr.onload = function () {
987
- _assert.default.strictEqual(this.responseText, 'foo2 response!');
988
- (0, _assert.default)(logErrorSpy.calledOnce);
989
- done();
990
- };
991
- xhr.open('GET', '/foo2');
992
- xhr.send();
993
- });
994
- it('requestChanger should work', done => {
995
- const wrappers = [{
996
- isRelevantTo: () => true,
997
- requestChanger(connection, request) {
998
- return Promise.resolve({
999
- method: request.method + 'a',
1000
- url: request.url + 'A',
1001
- body: request.body + '1'
1002
- });
1003
- }
1004
- }, {
1005
- isRelevantTo: () => true,
1006
- requestChanger(connection, request) {
1007
- return {
1008
- method: request.method + 'b',
1009
- url: request.url + 'B',
1010
- body: request.body + '2'
1011
- };
1012
- }
1013
- }];
1014
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
1015
- logError: logError
1016
- });
1017
- const xhr = new XHRProxy();
1018
- xhr.onload = function () {
1019
- _assert.default.strictEqual(this.responseText, 'fooAB requested, data12 received');
1020
- done();
1021
- };
1022
- xhr.onerror = done;
1023
- xhr.open('GET', '/foo');
1024
- xhr.send('data');
1025
- });
1026
- it('requestChanger should check returned value for sanity', done => {
1027
- const logErrorSpy = _sinon.default.spy();
1028
- const wrappers = [{
1029
- isRelevantTo: () => true,
1030
- requestChanger(connection, request) {
1031
- return Promise.resolve({
1032
- method: request.method + 'a',
1033
- url: request.url + 'A',
1034
- _MISSPELL_body: request.body + '1'
1035
- });
1036
- }
1037
- }];
1038
- const XHRProxy = (0, _xhrProxyFactory.default)(XMLHttpRequest, wrappers, {
1039
- logError: logErrorSpy
1040
- });
1041
- const xhr = new XHRProxy();
1042
- xhr.onload = function () {
1043
- _assert.default.strictEqual(this.responseText, 'body received');
1044
- (0, _assert.default)(logErrorSpy.calledOnce);
1045
- done();
1046
- };
1047
- xhr.onerror = thrower('xhr error');
1048
- xhr.open('POST', '/foo');
1049
- xhr.send('somedata');
1050
- });
1051
- });
1052
- });