@inboxsdk/core 1.2.5 → 1.2.8-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/inboxsdk.js +4462 -456
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +3 -2
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/inboxsdk.d.ts +29 -0
  7. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  8. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  9. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  15. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  16. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  17. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts +15 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts.map +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  21. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts +9 -0
  22. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.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/compose-view.d.ts +8 -2
  28. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  30. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  31. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  32. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  33. package/src/build/exec.js +0 -26
  34. package/src/build/spawn.js +0 -17
  35. package/src/common/ajax.js +0 -90
  36. package/src/common/cachebust-url.js +0 -10
  37. package/src/common/censorHTMLstring.js +0 -37
  38. package/src/common/censorHTMLtree.js +0 -28
  39. package/src/common/censorJSONTree.js +0 -15
  40. package/src/common/connectivity-test.js +0 -21
  41. package/src/common/defer.js +0 -11
  42. package/src/common/find-parent.js +0 -10
  43. package/src/common/get-extension-id.js +0 -7
  44. package/src/common/get-or-fail.js +0 -8
  45. package/src/common/get-session-id.js +0 -14
  46. package/src/common/get-stack-trace.js +0 -6
  47. package/src/common/html-to-text.js +0 -7
  48. package/src/common/isElementVisible.js +0 -6
  49. package/src/common/load-script.js +0 -126
  50. package/src/common/log-error.js +0 -185
  51. package/src/common/quoted-split.js +0 -18
  52. package/src/common/rate-limit-queuer.js +0 -57
  53. package/src/common/rate-limit.js +0 -14
  54. package/src/common/version.js +0 -8
  55. package/src/inboxsdk-js/header.js +0 -19
  56. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  57. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  58. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  59. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  60. package/src/inboxsdk-js/inboxsdk.js +0 -23
  61. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  62. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -28
  63. package/src/injected-js/gmail/constants.js +0 -2
  64. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  65. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  66. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  67. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  68. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  69. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  70. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  71. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  72. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  73. package/src/injected-js/injected-logger.js +0 -50
  74. package/src/injected-js/main.js +0 -49
  75. package/src/injected-js/message-metadata-holder.js +0 -103
  76. package/src/injected-js/setup-data-exposer.js +0 -135
  77. package/src/injected-js/setup-error-silencer.js +0 -15
  78. package/src/injected-js/setup-event-reemitter.js +0 -47
  79. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  80. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  81. package/src/injected-js/setupPushStateListener.js +0 -14
  82. package/src/injected-js/xhr-helper.js +0 -43
  83. package/src/injected-js/xhr-proxy-factory.js +0 -537
  84. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  85. package/src/platform-implementation-js/constants/router.js +0 -60
  86. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  124. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  125. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  126. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  127. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  128. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  129. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  130. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  131. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  132. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  133. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -338
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  186. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  187. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  188. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  198. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  199. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  200. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  201. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  202. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  203. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  204. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  205. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  206. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  207. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  208. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  209. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  210. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  211. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  212. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  213. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  214. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  215. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  216. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  217. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  218. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  219. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  220. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  221. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  222. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  223. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  224. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  225. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  226. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  227. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  228. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  229. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  230. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  231. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  232. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  233. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  234. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  235. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  236. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  237. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  238. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  239. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  240. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  241. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  242. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  243. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  244. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  245. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  246. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  247. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  248. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  249. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  250. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  251. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  252. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  253. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  254. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  255. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  256. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  257. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  258. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  259. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  260. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  261. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  262. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  263. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  264. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  265. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  266. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  267. package/src/platform-implementation-js/lib/idMap.js +0 -40
  268. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  269. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  270. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -13
  271. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  272. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  273. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  274. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  275. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  276. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  277. package/src/platform-implementation-js/lib/logger.js +0 -439
  278. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  279. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  280. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  281. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  282. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  283. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  284. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  285. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  286. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  287. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  288. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  289. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  290. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  291. package/src/platform-implementation-js/main.js +0 -42
  292. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  293. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  294. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  295. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  296. package/src/platform-implementation-js/namespaces/global.js +0 -30
  297. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  298. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  299. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  300. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  301. package/src/platform-implementation-js/namespaces/router.js +0 -139
  302. package/src/platform-implementation-js/namespaces/search.js +0 -29
  303. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  304. package/src/platform-implementation-js/namespaces/user.js +0 -57
  305. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  306. package/src/platform-implementation-js/platform-implementation.js +0 -178
  307. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  308. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  309. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  310. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  311. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  312. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  313. package/src/platform-implementation-js/views/compose-view.js +0 -310
  314. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  315. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  316. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  317. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  318. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  319. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  320. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  321. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  322. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  323. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  324. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  325. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  326. package/src/platform-implementation-js/views/section-view.js +0 -60
  327. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  328. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  329. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  330. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  331. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  332. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  333. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  334. 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
- }