@inboxsdk/core 1.2.4 → 1.2.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 (332) hide show
  1. package/inboxsdk.js +4474 -463
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/common/load-script.d.ts +0 -6
  7. package/src/common/load-script.d.ts.map +1 -1
  8. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +1 -1
  9. package/src/inboxsdk.d.ts +29 -0
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  16. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  17. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  21. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  22. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
  23. package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
  24. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
  25. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
  26. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
  27. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  28. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  30. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  31. package/src/build/exec.js +0 -26
  32. package/src/build/spawn.js +0 -17
  33. package/src/common/ajax.js +0 -90
  34. package/src/common/cachebust-url.js +0 -10
  35. package/src/common/censorHTMLstring.js +0 -37
  36. package/src/common/censorHTMLtree.js +0 -28
  37. package/src/common/censorJSONTree.js +0 -15
  38. package/src/common/connectivity-test.js +0 -21
  39. package/src/common/defer.js +0 -11
  40. package/src/common/find-parent.js +0 -10
  41. package/src/common/get-extension-id.js +0 -7
  42. package/src/common/get-or-fail.js +0 -8
  43. package/src/common/get-session-id.js +0 -14
  44. package/src/common/get-stack-trace.js +0 -6
  45. package/src/common/html-to-text.js +0 -7
  46. package/src/common/isElementVisible.js +0 -6
  47. package/src/common/load-script.js +0 -128
  48. package/src/common/log-error.js +0 -185
  49. package/src/common/quoted-split.js +0 -18
  50. package/src/common/rate-limit-queuer.js +0 -57
  51. package/src/common/rate-limit.js +0 -14
  52. package/src/common/version.js +0 -8
  53. package/src/inboxsdk-js/header.js +0 -19
  54. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  55. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  56. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  57. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  58. package/src/inboxsdk-js/inboxsdk.js +0 -23
  59. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  60. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -31
  61. package/src/injected-js/gmail/constants.js +0 -2
  62. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  63. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  64. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  65. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  66. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  67. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  68. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  69. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  70. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  71. package/src/injected-js/injected-logger.js +0 -50
  72. package/src/injected-js/main.js +0 -49
  73. package/src/injected-js/message-metadata-holder.js +0 -103
  74. package/src/injected-js/setup-data-exposer.js +0 -135
  75. package/src/injected-js/setup-error-silencer.js +0 -15
  76. package/src/injected-js/setup-event-reemitter.js +0 -47
  77. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  78. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  79. package/src/injected-js/setupPushStateListener.js +0 -14
  80. package/src/injected-js/xhr-helper.js +0 -43
  81. package/src/injected-js/xhr-proxy-factory.js +0 -537
  82. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  83. package/src/platform-implementation-js/constants/router.js +0 -60
  84. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  124. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  125. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  126. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  127. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  128. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  129. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  130. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  131. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -328
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  186. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  198. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  199. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  200. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  201. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  202. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  203. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  204. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  205. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  206. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  207. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  208. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  209. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  210. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  211. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  212. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  213. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  214. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  215. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  216. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  217. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  218. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  219. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  220. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  221. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  222. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  223. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  224. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  225. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  226. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  227. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  228. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  229. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  230. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  231. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  232. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  233. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  234. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  235. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  236. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  237. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  238. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  239. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  240. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  241. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  242. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  243. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  244. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  245. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  246. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  247. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  248. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  249. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  250. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  251. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  252. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  253. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  254. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  255. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  256. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  257. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  258. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  259. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  260. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  261. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  262. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  263. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  264. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  265. package/src/platform-implementation-js/lib/idMap.js +0 -40
  266. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  267. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  268. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -8
  269. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  270. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  271. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  272. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  273. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  274. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  275. package/src/platform-implementation-js/lib/logger.js +0 -439
  276. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  277. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  278. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  279. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  280. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  281. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  282. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  283. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  284. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  285. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  286. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  287. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  288. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  289. package/src/platform-implementation-js/main.js +0 -42
  290. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  291. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  292. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  293. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  294. package/src/platform-implementation-js/namespaces/global.js +0 -30
  295. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  296. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  297. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  298. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  299. package/src/platform-implementation-js/namespaces/router.js +0 -139
  300. package/src/platform-implementation-js/namespaces/search.js +0 -29
  301. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  302. package/src/platform-implementation-js/namespaces/user.js +0 -57
  303. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  304. package/src/platform-implementation-js/platform-implementation.js +0 -178
  305. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  306. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  307. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  308. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  309. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  310. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  311. package/src/platform-implementation-js/views/compose-view.js +0 -310
  312. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  313. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  314. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  315. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  316. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  317. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  318. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  319. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  320. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  321. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  322. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  323. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  324. package/src/platform-implementation-js/views/section-view.js +0 -60
  325. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  326. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  327. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  328. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  329. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  330. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  331. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  332. package/src/platform-implementation-js/widgets/top-message-bar-view.js +0 -15
@@ -1,133 +0,0 @@
1
- import find from 'lodash/find';
2
- import * as GmailResponseProcessor from '../../../platform-implementation-js/dom-driver/gmail/gmail-response-processor';
3
- import { parse } from 'querystring';
4
- import * as logger from '../../injected-logger';
5
- import * as threadRowParser from './thread-row-parser';
6
- import clickAndGetPopupUrl from './click-and-get-popup-url';
7
- import findParent from '../../../common/find-parent';
8
- import { CustomDomEvent } from '../../../platform-implementation-js/lib/dom/custom-events';
9
- export function setup() {
10
- try {
11
- processPreloadedThreads();
12
- }
13
- catch (err) {
14
- logger.error(err, 'Failed to process preloaded thread identifiers');
15
- }
16
- document.addEventListener(CustomDomEvent.tellMeThisThreadIdByDatabase, function (event) {
17
- try {
18
- if (!(event.target instanceof HTMLElement)) {
19
- throw new Error('event.target is not an HTMLElement');
20
- }
21
- const threadId = getGmailThreadIdForThreadRowByDatabase(event.target);
22
- if (threadId) {
23
- event.target.setAttribute('data-inboxsdk-threadid', threadId);
24
- }
25
- }
26
- catch (err) {
27
- logger.error(err, 'Error in inboxSDKtellMeThisThreadIdByDatabase');
28
- }
29
- });
30
- document.addEventListener(CustomDomEvent.tellMeThisThreadIdByClick, function (event) {
31
- try {
32
- if (!(event.target instanceof HTMLElement)) {
33
- throw new Error('event.target is not an HTMLElement');
34
- }
35
- const threadId = getGmailThreadIdForThreadRowByClick(event.target);
36
- if (threadId) {
37
- event.target.setAttribute('data-inboxsdk-threadid', threadId);
38
- }
39
- }
40
- catch (err) {
41
- logger.error(err, 'Error in inboxSDKtellMeThisThreadIdByClick');
42
- }
43
- });
44
- }
45
- export function processThreadListResponse(threadListResponse) {
46
- processThreads(GmailResponseProcessor.extractThreads(threadListResponse));
47
- }
48
- function processThreads(threads) {
49
- threads.forEach(storeThreadMetadata);
50
- }
51
- const AMBIGUOUS = {
52
- name: 'AMBIGUOUS',
53
- };
54
- const threadIdsByKey = new Map();
55
- function storeThreadMetadata(threadMetadata) {
56
- var key = threadMetadataKey(threadMetadata);
57
- if (threadIdsByKey.has(key)) {
58
- if (threadIdsByKey.get(key) !== threadMetadata.gmailThreadId) {
59
- threadIdsByKey.set(key, AMBIGUOUS);
60
- }
61
- }
62
- else {
63
- threadIdsByKey.set(key, threadMetadata.gmailThreadId);
64
- }
65
- }
66
- function threadMetadataKey(threadRowMetadata) {
67
- return (threadRowMetadata.subject.trim() +
68
- ':' +
69
- threadRowMetadata.timeString.trim() +
70
- ':' +
71
- threadRowMetadata.peopleHtml.trim());
72
- }
73
- function processPreloadedThreads() {
74
- const preloadScript = find(document.querySelectorAll('script:not([src])'), (script) => script.text && script.text.slice(0, 500).indexOf('var VIEW_DATA=[[') > -1);
75
- if (!preloadScript) {
76
- // preloadScript is not available in gmail v2, so let's stop logging an error
77
- return;
78
- }
79
- else {
80
- const firstBracket = preloadScript.text.indexOf('[');
81
- const lastBracket = preloadScript.text.lastIndexOf(']');
82
- const viewDataString = preloadScript.text.slice(firstBracket, lastBracket + 1);
83
- processThreads(GmailResponseProcessor.extractThreadsFromDeserialized([
84
- GmailResponseProcessor.deserializeArray(viewDataString),
85
- ]));
86
- }
87
- }
88
- function getThreadIdFromUrl(url) {
89
- var tid = parse(url).th;
90
- if (!tid) {
91
- // drafts in sync world can have weird urls that kind of
92
- // look like old style urls, and get handled properly here
93
- var urlHashMatch = url.match(/#(.*)/);
94
- if (urlHashMatch) {
95
- // drafts have the hash in them without the th=
96
- url = decodeURIComponent(decodeURIComponent(urlHashMatch[1]));
97
- tid = parse(url).th;
98
- }
99
- }
100
- // if we're in sync world and it's a
101
- // draft then a hash can come through in the beginning
102
- return tid.replace('#', '');
103
- }
104
- function getGmailThreadIdForThreadRowByDatabase(threadRow) {
105
- const domRowMetadata = threadRowParser.extractMetadataFromThreadRow(threadRow);
106
- if (domRowMetadata === threadRowParser.ThreadRowAd) {
107
- // TODO do we want to do anything here?
108
- return;
109
- }
110
- const key = threadMetadataKey(domRowMetadata);
111
- const value = threadIdsByKey.get(key);
112
- if (typeof value === 'string') {
113
- return value;
114
- }
115
- }
116
- function getGmailThreadIdForThreadRowByClick(threadRow) {
117
- // Simulate a ctrl-click on the thread row to get the thread id, then
118
- // simulate a ctrl-click on the previously selected thread row (or the
119
- // first thread row) to put the cursor back where it was.
120
- threadRowParser.extractMetadataFromThreadRow(threadRow);
121
- const parent = findParent(threadRow, (el) => el.nodeName === 'DIV' && el.getAttribute('role') === 'main');
122
- if (!parent) {
123
- throw new Error("Can't operate on disconnected thread row");
124
- }
125
- const currentRowSelection = parent.querySelector('td.PE') ||
126
- parent.querySelector('tr');
127
- const url = clickAndGetPopupUrl(threadRow);
128
- const threadId = url && getThreadIdFromUrl(url);
129
- if (currentRowSelection) {
130
- clickAndGetPopupUrl(currentRowSelection);
131
- }
132
- return threadId;
133
- }
@@ -1,61 +0,0 @@
1
- import intersection from 'lodash/intersection';
2
- import assert from 'assert';
3
- import * as logger from '../../injected-logger';
4
- import { cleanupPeopleLine } from '../../../platform-implementation-js/dom-driver/gmail/gmail-response-processor';
5
- /**
6
- * Ads in the Promotions tab aren't included with other thread row data.
7
- */
8
- export const ThreadRowAd = Symbol(`ThreadRowAd`);
9
- export function extractMetadataFromThreadRow(threadRow) {
10
- var timeSpan, subjectSpan, peopleDiv;
11
- assert(threadRow.hasAttribute('id'), 'check element is main thread row');
12
- var errors = [];
13
- var threadRowIsVertical = intersection(Array.from(threadRow.classList), ['zA', 'apv']).length === 2;
14
- const isThreadRowAd = threadRow.querySelector('.am0');
15
- if (isThreadRowAd) {
16
- return ThreadRowAd;
17
- }
18
- else if (threadRowIsVertical) {
19
- var threadRow2 = threadRow.nextElementSibling;
20
- if (!threadRow2) {
21
- errors.push('failed to find threadRow2');
22
- }
23
- else {
24
- var threadRow3 = threadRow2.nextElementSibling;
25
- if (!threadRow3 || !threadRow3.classList.contains('apw')) {
26
- threadRow3 = null;
27
- }
28
- timeSpan = threadRow.querySelector('td.apt > div.apm > span[title]');
29
- subjectSpan = threadRow2.querySelector('td div.xS div.xT div.y6 > span');
30
- peopleDiv = threadRow.querySelector('td.apy > div.yW, td.apx > div.yW');
31
- }
32
- }
33
- else {
34
- timeSpan = threadRow.querySelector('td.xW > span[title]');
35
- var subjectAreaDiv = threadRow.querySelector('td.a4W div[role=link] div.y6');
36
- if (subjectAreaDiv && subjectAreaDiv.children.length >= 1) {
37
- subjectSpan = subjectAreaDiv.children[0]; // body snippet is not always present.
38
- //var bodySnippetSpan = subjectAreaDiv.children[1];
39
- }
40
- peopleDiv = threadRow.querySelector('td.yX > div.yW');
41
- }
42
- if (!timeSpan) {
43
- errors.push('failed to find timeSpan');
44
- }
45
- if (!subjectSpan) {
46
- errors.push('failed to find subjectSpan');
47
- }
48
- if (!peopleDiv) {
49
- errors.push('failed to find peopleDiv');
50
- }
51
- if (errors.length) {
52
- logger.error(new Error('Errors in thread row parsing'), {
53
- errors,
54
- });
55
- }
56
- return {
57
- timeString: timeSpan ? timeSpan.getAttribute('title') || '' : '',
58
- subject: subjectSpan ? subjectSpan.textContent : '',
59
- peopleHtml: peopleDiv ? cleanupPeopleLine(peopleDiv.innerHTML) : '',
60
- };
61
- }
@@ -1,50 +0,0 @@
1
- export function error(err, details) {
2
- if (!err) {
3
- err = new Error('No error given');
4
- }
5
- console.error('Error in injected script', err, details);
6
- try {
7
- JSON.stringify(details);
8
- }
9
- catch (e) {
10
- details = '<failed to jsonify>';
11
- }
12
- const errorProperties = {};
13
- for (const name in err) {
14
- if (Object.prototype.hasOwnProperty.call(err, name)) {
15
- try {
16
- const value = err[name];
17
- JSON.stringify(value);
18
- errorProperties[name] = value;
19
- }
20
- catch (err) {
21
- // ignore
22
- }
23
- }
24
- }
25
- if (Object.keys(errorProperties).length > 0) {
26
- details = { errorProperties, details };
27
- }
28
- document.dispatchEvent(new CustomEvent('inboxSDKinjectedError', {
29
- bubbles: false,
30
- cancelable: false,
31
- detail: {
32
- message: err && err.message,
33
- stack: err && err.stack,
34
- details,
35
- },
36
- }));
37
- }
38
- export function eventSdkPassive(name, details, sensitive) {
39
- try {
40
- JSON.stringify(details);
41
- }
42
- catch (e) {
43
- details = '<failed to jsonify>';
44
- }
45
- document.dispatchEvent(new CustomEvent('inboxSDKinjectedEventSdkPassive', {
46
- bubbles: false,
47
- cancelable: false,
48
- detail: { name, details, sensitive },
49
- }));
50
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- if (!global.__InboxSDKInjected) {
3
- global.__InboxSDKInjected = true;
4
- const logger = require('./injected-logger');
5
- let oldDefine;
6
- try {
7
- if (typeof define !== 'undefined' && define && define.amd) {
8
- // work around amd compatibility issue
9
- // https://groups.google.com/forum/#!msg/inboxsdk/U_bq82Exmwc/I3iIinxxCAAJ
10
- oldDefine = define;
11
- define = null;
12
- }
13
- const extCorbWorkaroundPageWorld = require('ext-corb-workaround/dist/src/pageWorld');
14
- const xhrHelper = require('./xhr-helper').default;
15
- const setupDataExposer = require('./setup-data-exposer').default;
16
- const setupEventReemitter = require('./setup-event-reemitter').default;
17
- const setupErrorSilencer = require('./setup-error-silencer').default;
18
- const setupCustomViewEventAssassin = require('./setupCustomViewEventAssassin').default;
19
- const setupPushStateListener = require('./setupPushStateListener').default;
20
- const setupInboxCustomViewLinkFixer = require('./setupInboxCustomViewLinkFixer').default;
21
- const gmailInterceptor = require('./gmail/setup-gmail-interceptor').default;
22
- const setupGmonkeyHandler = require('./gmail/setup-gmonkey-handler').default;
23
- const pageOrigin = (process.env.NODE_ENV === 'test' && global.__test_origin) ||
24
- document.location.origin;
25
- if (pageOrigin === 'https://mail.google.com') {
26
- gmailInterceptor();
27
- setupGmonkeyHandler();
28
- }
29
- else {
30
- throw new Error('Should not happen');
31
- }
32
- extCorbWorkaroundPageWorld.init();
33
- xhrHelper();
34
- setupDataExposer();
35
- setupEventReemitter();
36
- setupErrorSilencer();
37
- setupCustomViewEventAssassin();
38
- setupPushStateListener();
39
- setupInboxCustomViewLinkFixer();
40
- }
41
- catch (err) {
42
- logger.error(err);
43
- }
44
- finally {
45
- if (oldDefine) {
46
- define = oldDefine;
47
- }
48
- }
49
- }
@@ -1,103 +0,0 @@
1
- import startsWith from 'lodash/startsWith';
2
- import { extractMessages } from '../platform-implementation-js/dom-driver/gmail/gmail-response-processor';
3
- import { getThreadFromSyncThreadIdUsingHeaders } from '../platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId';
4
- import * as logger from './injected-logger';
5
- import requestGmailThread from '../platform-implementation-js/driver-common/requestGmailThread';
6
- const threadIdToMessages = new Map();
7
- export function setup() {
8
- document.addEventListener('inboxSDKtellMeThisMessageDate', function (event) {
9
- exposeMetadata(event, 'data-inboxsdk-sortdate', (m) => m.date);
10
- });
11
- document.addEventListener('inboxSDKtellMeThisMessageRecipients', function (event) {
12
- exposeMetadata(event, 'data-inboxsdk-recipients', (m) => {
13
- if (m.recipients)
14
- return m.recipients;
15
- else
16
- return null;
17
- });
18
- });
19
- }
20
- function exposeMetadata(event, attribute, processor) {
21
- const { target, detail: { threadId, ikValue, btaiHeader, xsrfToken }, } = event;
22
- (async () => {
23
- const messageIndex = Array.from(target.parentElement.children)
24
- .filter((el) => !el.classList.contains('inboxsdk__custom_message_view'))
25
- .indexOf(target);
26
- if (messageIndex < 0) {
27
- throw new Error('Should not happen');
28
- }
29
- let message = getMessage(threadId, messageIndex);
30
- if (message == null || !message.recipients) {
31
- try {
32
- await addDataForThread(threadId, ikValue, btaiHeader, xsrfToken);
33
- }
34
- catch (err) {
35
- logger.error(err);
36
- }
37
- message = getMessage(threadId, messageIndex);
38
- if (message == null) {
39
- throw new Error('Failed to find message date after re-requesting thread');
40
- }
41
- }
42
- target.setAttribute(attribute, JSON.stringify(processor(message)));
43
- })().catch((err) => {
44
- target.setAttribute(attribute, 'error');
45
- logger.error(err);
46
- });
47
- }
48
- function getMessage(threadId, messageIndex) {
49
- const messages = threadIdToMessages.get(threadId);
50
- if (messages) {
51
- const message = messages[messageIndex];
52
- if (message) {
53
- return message;
54
- }
55
- }
56
- }
57
- export function add(groupedMessages) {
58
- groupedMessages.forEach((group) => {
59
- threadIdToMessages.set(group.threadID, group.messages);
60
- });
61
- }
62
- const activeThreadRequestPromises = new Map();
63
- function addDataForThread(threadId, ikValue, btaiHeader, xsrfToken) {
64
- const existingRequestPromise = activeThreadRequestPromises.get(threadId);
65
- if (existingRequestPromise) {
66
- return existingRequestPromise;
67
- }
68
- const newPromise = (async () => {
69
- try {
70
- if (startsWith(threadId, 'thread')) {
71
- // new data layer
72
- if (!btaiHeader || !xsrfToken) {
73
- throw new Error('Need btaiHeader and xsrfToken when in new data layer');
74
- }
75
- const syncThread = await getThreadFromSyncThreadIdUsingHeaders(threadId, btaiHeader, xsrfToken);
76
- if (syncThread) {
77
- add([
78
- {
79
- threadID: syncThread.syncThreadID,
80
- messages: syncThread.extraMetaData.syncMessageData.map((syncMessage) => ({
81
- date: syncMessage.date,
82
- recipients: syncMessage.recipients,
83
- })),
84
- },
85
- ]);
86
- }
87
- }
88
- else {
89
- // legacy gmail
90
- const text = await requestGmailThread(ikValue, threadId);
91
- add(extractMessages(text));
92
- }
93
- }
94
- catch (err) {
95
- logger.error(err);
96
- }
97
- finally {
98
- activeThreadRequestPromises.delete(threadId);
99
- }
100
- })();
101
- activeThreadRequestPromises.set(threadId, newPromise);
102
- return newPromise;
103
- }
@@ -1,135 +0,0 @@
1
- import find from 'lodash/find';
2
- import * as logger from './injected-logger';
3
- import waitFor from '../platform-implementation-js/lib/wait-for';
4
- function stupidToBool(stupid) {
5
- switch ('' + stupid) {
6
- case '1':
7
- case 't':
8
- case 'true':
9
- return true;
10
- default:
11
- return false;
12
- }
13
- }
14
- function getSettingValue(settings, name) {
15
- var entry = find(settings, (setting) => setting[0] === name);
16
- return entry ? stupidToBool(entry[1]) : false;
17
- }
18
- function getContext() {
19
- let context = global;
20
- try {
21
- // our current tab has globals defined
22
- if (context.GLOBALS)
23
- return context;
24
- // we don't, let's see if we have access to opener (i.e. we are a new compose/thread view)
25
- if (global.opener && global.opener.top) {
26
- // try to get href
27
- // if the opener is not gmail (i.e. you clicked on a mailto link on craigslist) then this will throw an error
28
- global.opener.top.location.href;
29
- context = global.opener.top;
30
- }
31
- }
32
- catch (err) {
33
- context = global; //we got an error from requesting global.opener.top.location.href;
34
- }
35
- return context;
36
- }
37
- export default function setupDataExposer() {
38
- let context;
39
- waitFor(() => {
40
- context = getContext();
41
- return context && (context.GLOBALS || context.gbar);
42
- })
43
- .then(() => {
44
- if (!context)
45
- return;
46
- var userEmail = context.GLOBALS
47
- ? context.GLOBALS[10]
48
- : context.gbar._CONFIG[0][10][5];
49
- document.head.setAttribute('data-inboxsdk-user-email-address', userEmail);
50
- var userLanguage = context.GLOBALS
51
- ? context.GLOBALS[4].split('.')[1]
52
- : context.gbar._CONFIG[0][0][4];
53
- document.head.setAttribute('data-inboxsdk-user-language', userLanguage);
54
- document.head.setAttribute('data-inboxsdk-using-sync-api', context.GM_SPT_ENABLED);
55
- if (context.GLOBALS) {
56
- // Gmail
57
- document.head.setAttribute('data-inboxsdk-ik-value', context.GLOBALS[9]);
58
- document.head.setAttribute('data-inboxsdk-action-token-value', context.GM_ACTION_TOKEN);
59
- var globalSettingsHolder = find(context.GLOBALS[17], (item) => item[0] === 'p');
60
- if (!globalSettingsHolder) {
61
- // global settings doesn't exist on gmail v2, so we don't need to log this anymore
62
- return;
63
- }
64
- else {
65
- var globalSettings = globalSettingsHolder[1];
66
- {
67
- var previewPaneLabEnabled = getSettingValue(globalSettings, 'bx_lab_1252');
68
- var previewPaneEnabled = getSettingValue(globalSettings, 'bx_spa');
69
- var previewPaneVertical = getSettingValue(globalSettings, 'bx_spo');
70
- var previewPaneMode = previewPaneLabEnabled && previewPaneEnabled
71
- ? previewPaneVertical
72
- ? 'vertical'
73
- : 'horizontal'
74
- : 'none';
75
- document.head.setAttribute('data-inboxsdk-user-preview-pane-mode', previewPaneMode);
76
- }
77
- }
78
- }
79
- else {
80
- // Inbox
81
- const preloadDataSearchString = 'window.BT_EmbeddedAppData=[';
82
- const preloadScript = find(document.querySelectorAll('script:not([src])'), (script) => script.text &&
83
- script.text.slice(0, 500).indexOf(preloadDataSearchString) > -1);
84
- if (!preloadScript) {
85
- logger.error(new Error('Could not read preloaded BT_EmbeddedAppData'));
86
- }
87
- else {
88
- const { text } = preloadScript;
89
- const firstBracket = text.indexOf('window.BT_EmbeddedAppData=[');
90
- let lastBracket = text.indexOf(']\n;', firstBracket);
91
- if (lastBracket === -1) {
92
- // I have only seen the case where there is a new line between the
93
- // closing bracket and the semicolon, but want to be defensive in
94
- // case that changes.
95
- lastBracket = text.indexOf('];', firstBracket);
96
- }
97
- const preloadData = JSON.parse(text.slice(firstBracket + preloadDataSearchString.length - 1, lastBracket + 1));
98
- const ikValue = preloadData[11];
99
- if (typeof ikValue !== 'string') {
100
- logger.error(new Error('Could not find valid ikValue'));
101
- }
102
- else {
103
- document.head.setAttribute('data-inboxsdk-ik-value', ikValue);
104
- }
105
- const xsrfToken = preloadData[12];
106
- if (typeof xsrfToken !== 'string') {
107
- logger.error(new Error('Could not find valid xsrfToken'));
108
- }
109
- else {
110
- document.head.setAttribute('data-inboxsdk-xsrf-token', xsrfToken);
111
- }
112
- }
113
- }
114
- })
115
- .catch((err) => {
116
- function getStatus() {
117
- return {
118
- hasGLOBALS: !!context.GLOBALS,
119
- hasGbar: !!context.gbar,
120
- };
121
- }
122
- var startStatus = getStatus();
123
- var waitTime = 180 * 1000;
124
- setTimeout(() => {
125
- var laterStatus = getStatus();
126
- logger.eventSdkPassive('waitfor global data', {
127
- startStatus,
128
- waitTime,
129
- laterStatus,
130
- });
131
- }, waitTime);
132
- throw err;
133
- })
134
- .catch(logger.error);
135
- }
@@ -1,15 +0,0 @@
1
- export default function setupErrorSilencer() {
2
- var oldErrorHandlers = [];
3
- document.addEventListener('inboxSDKsilencePageErrors', function () {
4
- oldErrorHandlers.push(window.onerror);
5
- window.onerror = function (...args) {
6
- if (process.env.NODE_ENV !== 'production') {
7
- console.error('(Silenced in production) Page error:', ...args);
8
- }
9
- return true;
10
- };
11
- });
12
- document.addEventListener('inboxSDKunsilencePageErrors', function () {
13
- window.onerror = oldErrorHandlers.pop();
14
- });
15
- }
@@ -1,47 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-empty-function */
2
- export default function setupEventReemitter() {
3
- // Webkit has bugs that stop certain types of events from being created. We
4
- // can manually fake creation of those events, but we have to do it from
5
- // inside the page's script if we want the page's script to see the modified
6
- // properties.
7
- // https://bugs.webkit.org/show_bug.cgi?id=16735
8
- // https://code.google.com/p/chromium/issues/detail?id=327853
9
- document.addEventListener('inboxsdk_event_relay', function (event) {
10
- const newEvent = document.createEvent('Events');
11
- newEvent.initEvent(event.detail.type, event.detail.bubbles, event.detail.cancelable);
12
- Object.assign(newEvent, event.detail.props);
13
- if (event.detail.dataTransfer) {
14
- const { files, fileNames } = event.detail.dataTransfer;
15
- if (fileNames) {
16
- fileNames.forEach((fileName, i) => {
17
- const file = files[i];
18
- if (typeof file.name !== 'string') {
19
- file.name = fileName;
20
- }
21
- });
22
- }
23
- newEvent.dataTransfer = {
24
- dropEffect: 'none',
25
- effectAllowed: 'all',
26
- files,
27
- items: files.map(({ type }, i) => ({
28
- kind: 'file',
29
- type,
30
- getAsFile() {
31
- return files[i];
32
- },
33
- getAsString() {
34
- throw new Error('getAsString not supported');
35
- },
36
- })),
37
- types: ['Files'],
38
- getData() {
39
- return '';
40
- },
41
- setData() { },
42
- setDragImage() { },
43
- };
44
- }
45
- event.target.dispatchEvent(newEvent);
46
- });
47
- }