summaryrefslogtreecommitdiff
path: root/ext/bg/js/backend.js
Commit message (Collapse)AuthorAge
* JSON schema refactor (#731)toasted-nutbread2020-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | * Remove JsonSchema.clone * Move createProxy function * Group public properties first * Create private version of getPropertySchema * Mark functions as private * Use non-static getValidValueOrDefault * Mark private * Make public validate function not take an info parameter * Remove JsonSchema * Add isValid function * Use isValid for some tests * Fix incorrect type
* Translator refactor (#720)toasted-nutbread2020-08-09
| | | | | | | | | | | | | | | * Move simple find sort into translator.js * Remove unused * Use direct reference to database * Make field private * Remove statics * Convert functions to private * Organize by public/private
* Persistent display mode (#714)toasted-nutbread2020-08-09
| | | | | | | | | | | | | * Simplify calls using chrome.tabs.sendMessage and getMessageResponseResult * Rename message handlers * Move onMessage handler into Display * Assign search popup mode which persists across refreshes * Update clipboard monitor on the search page * Remove mode param
* Strip request origin (#710)toasted-nutbread2020-08-02
| | | | | | | * Add web request permissions * Create fetch wrapper that anonymizes the request * Fix Firefox not supporting 'extraHeaders' option
* Fix fetch requests (#708)toasted-nutbread2020-08-02
| | | | | | | | | | | | | | | | | * Revert audio fetching functionality to use XMLHttpRequest * Replace requestJson * Replace requestJson * Replace requestJson * Replace requestJson and requestText * Fix tests * Include support for vulgar word searches * Remove request.js
* Options util (#700)toasted-nutbread2020-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Move options functions into a class * Rename and privatize * Organize by public/private * Refactor to use async function * Simplify update function signature * Add comment for update * Rename * Copy _applyUpdates into _legacyProfileUpdateUpdateVersion * Organize * Move profile options updates * Refactor update details * Add async support * Formatting
* Don't assign mode as a search parameter (#692)toasted-nutbread2020-07-26
|
* Fix search popup mode (#687)toasted-nutbread2020-07-25
| | | | | * Fix missing mode on search popup * Remove mode update
* Dev dependencies updates (#679)toasted-nutbread2020-07-19
| | | | | | | | | | | * Update eslint to 7.5.0 * Update eslint-plugin-no-unsanitized to 3.1.2 * Update fake-indexeddb to 3.1.1 * Rename DictionaryImporter.import to .importDictionary Conflicts with o-unsanitized/method
* Reusable backend popup window (#673)toasted-nutbread2020-07-18
| | | | | | | | | | | * Update _updateSearchQuery to return the promise * Update how the clipboard search popup is opened * Create an API function to open the search popup * Skip animation on popup creation * Add API function
* Script ready state change (#672)toasted-nutbread2020-07-18
| | | | | | | * Update how backend/frontend ready states are awaited and signaled * Log errors on the search page * Update action name
* Content script ready checks (#670)toasted-nutbread2020-07-18
| | | | | * Move ready checkout of Display * Add function to wait until if a tab's content script is ready
* Fix incorrect URL being used (#669)toasted-nutbread2020-07-18
|
* Port name details (#667)toasted-nutbread2020-07-18
| | | | | | | | | * Use a stringified JSON details object for extension port names * Fix incorrect frame ID check * Add support for connecting to different tabs * Add function for invoking on a different tab
* Remove backend options context (#661)toasted-nutbread2020-07-11
| | | | | * Add support for getting the current profile * Explicitly use current options
* Message handler refactor (#660)toasted-nutbread2020-07-11
| | | | | | | | | | | * Refactor searchQueryUpdate action * Use standard message handler style * Use name "promiseOrResult" for consistency * Use standard message handler convention for Yomichan message handlers * Use common message handler invoker
* Generalized frame connections (#654)toasted-nutbread2020-07-08
| | | | | | | | | * Create FrameClient and FrameEndpoint * Use new Frame* classes for Popup=>frame connection * Update api.sendMessageToFrame and api.broadcastTab to include the sender's frameId * Update FrameClient to store the frame's frameId
* Rename Database to DictionaryDatabase (#633)toasted-nutbread2020-06-28
|
* Merge BackendEventHandler into Backend class (#632)toasted-nutbread2020-06-28
| | | | | * Merge BackendEventHandler into Backend class * Remove unused public functions
* Backend refactor (#631)toasted-nutbread2020-06-28
| | | | | | | | | | | | | | | | | | | | | | | * Mark fields as private * Remove static * Make functions private * Create onCommand handler * Group event handlers * Move functions * Merge _onOptionsUpdated and _applyOptions * Rename event handler * Move event handlers * Remove _getOptionsSchema * Move private functions
* Use deferPromise (#630)toasted-nutbread2020-06-28
| | | | | | | * Use deferPromise * Move definition * Implement promiseTimeout using deferPromise
* Clone function (#624)toasted-nutbread2020-06-28
| | | | | | | | | | | * Add clone function * Replace utilIsolate with clone * Replace JsonSchema.isolate with clone function * Include core.js for tests which use json-schema.js * Update visisted set
* Shadow DOM container for popup iframes (#623)toasted-nutbread2020-06-24
| | | | | | | | | | | | | | | * Add support for injecting stylesheets into a custom parent node * Add api.getStylesheetContent * Add support for injecting a CSS file's content * Add usePopupShadowDom option * Use a per-parentNode cache * Add support for using a shadow DOM wrapper around popup iframes * Ignore the popup container instead of the frame
* Generic database (#600)toasted-nutbread2020-06-21
| | | | | | | | | | | | | | | | | | | * Update test * Rename db to _db * Create GenericDatabase class * Catch prepare error * Allow database to be purged even if it was not open * Remove unused functions * Change static functions to non-static * Delete and count using the media object store * Update tests
* Optimize anki note field generation (#611)toasted-nutbread2020-06-21
|
* Template renderer class (#574)toasted-nutbread2020-06-15
| | | | | | | | | | | | | | | * Convert handlebars.js to a class * Move/rename function * Update helper registration * Rename helper functions * Limit cache size * Make render() async * Rename and move
* Update the badge icon if the backend experiences an error (#602)toasted-nutbread2020-06-13
|
* Immediate backend event handlers (#555)toasted-nutbread2020-06-07
| | | | | * Add function to await until prepare is completed * Create BackendEventHandler to synchronously set up event handling
* Use cross frame API (#553)toasted-nutbread2020-06-07
| | | | | | | | | * Use new CrossFrameAPI for popup proxy communication * Remove use of old cross-frame communication classes * Remove use of old cross-frame communication files * Make the crossFrame object a member of the api object
* Limit action port message size (#587)toasted-nutbread2020-05-31
| | | | | | | | | | | * Add onDisconnect handler * Update how error is posted * Update action ports to send long messages in fragments * Remove ack timer * Move message destructuring into try block
* Backup update (#582)toasted-nutbread2020-05-30
| | | | | | | | | * Add function to assign all settings * Update how settings backups are restored * Remove page reload * Update profile index after importing
* Update background global object usage (#556)toasted-nutbread2020-05-24
| | | | | | | * Omit global window object for scripts used on the background page * Validate document exists before using * Remove dom.js from background.html
* Settings binder (#542)toasted-nutbread2020-05-24
| | | | | | | | | | | | | | | | | | | | | | | * Fix _modifySetting being async * Return values for modifySettings's set and splice actions * Add apiGetSettings * Create a class which can accumulate tasks to run in bulk * Create a class which binds input elements to customizable sources * Create class which binds input elements to settings * Add support for value transforms * Remove redundant ObjectPropertyAccessor.getPathArray * Fix not using correct types for input.min/max/step * Fix wrong condition * Use api object
* Cross frame communication (#531)toasted-nutbread2020-05-23
| | | | | | | * Set up new cross-frame port connector * Create classes for cross-frame API invocation with replies * Remove event listeners on disconnect
* Fix "tags" template (#539)siikamiika2020-05-22
| | | | | | | * fix tag templates for merge and group modes * update version upgrade * adjust upgrade replacement order
* Modifier key platform names (#519)siikamiika2020-05-09
| | | | | | | | | | | | | | | | | | | | | * wip * add environment class * use Environment class * use Environment for scanning modifier options * remove Environment in favor of API * await promise * use modifier symbols on macOS * fix key separator issues * if else to switch * simplify variable names
* Add contentScript parameter to backend message handlers (#512)toasted-nutbread2020-05-07
| | | | | | | * Add contentScript parameter to message handlers * Remove _validatePrivilegedMessageSender calls from handler functions * Reformat handlers
* Add apiModifySettings (#501)toasted-nutbread2020-05-06
| | | | | | | | | | | | | | | | | * Update getProfile/getProfileFromContext to store this.options in a variable * Add useSchema parameter to options getter functions * Add apiModifySettings * Use apiModifySettings instead of apiOptionsSet * Remove apiOptionsSet * Fix incorrect deleteCount check * Require explicit scope for options * Throw on invalid scope
* Move util database modification functions (#499)toasted-nutbread2020-05-06
| | | | | | | | | | | | | | | | | | | * Update onProgress callback to handle multiple arguments * Add apiImportDictionaryArchive * Add apiDeleteDictionary * Make onProgress the last argument for consistency * Remove deprecated util functions * Fix issue with missing progress args * Remove function calls which modify the database from Translator * Update tests * Fix errors not being serialized correctly in _createActionListenerPort
* Popup init update (#497)toasted-nutbread2020-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add API function to send a message to a specific frameId in a tab * Update _windowMessageHandlers to support additional info per handler * Remove message token * Add new authorization check * Set up new initialization handler * Update initialization * Remove message token * Replace 'prepare' with 'configure' * Create new prepare function * Change configure guard * Log errors in onMessage * Improve popup initialize function * Clear secret/token in _resetFrame * Remove backend message token * Clear src and srcdoc attributes before loading * Don't treat about:blank unloads as load events
* Style fixes (#494)toasted-nutbread2020-05-02
| | | | | | | * Place multi-line expression parentheses on the correct line * Add function-paren-newline eslint rule * Add some additional eslint rules
* Api invoke with progress (#483)toasted-nutbread2020-05-02
| | | | | | | * Create an internal API function to open a port * Create system for running actions over a special port * Don't assign in expression
* Refactor frontend API classes (#482)toasted-nutbread2020-05-02
| | | | | | | | | | | | | * Mark functions as private * Remove constructor side effects * Use safer handler invocation * Mark functions as private * Mark fields as private * Update BackendApiForwarder public API
* Anki audio download (#477)toasted-nutbread2020-05-02
| | | | | | | * Update how audio is added to Anki cards * Upgrade Anki templates * Update comments
* Add duplicateScope: 'deck' option (#476)toasted-nutbread2020-04-27
| | | | | | | | | * Add duplicateScope: 'deck' option * Add option to control duplicate scope * Use duplicateScope for findNoteIds * Update location of quotes
* Error logging refactoring (#454)toasted-nutbread2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Create new logging methods on yomichan object * Use new yomichan.logError instead of global logError * Remove old logError * Handle unhandledrejection events * Add addEventListener stub * Update log function * Update error conversion to support more types * Add log event * Add API log function * Log errors to the backend * Make error/warning logs update the badge * Clear log error indicator on extension button click * Log correct URL on the background page * Fix incorrect error conversion * Remove unhandledrejection handling Firefox doesn't support it properly. * Remove unused argument type from log function * Improve function name * Change console.warn to yomichan.logWarning * Move log forwarding initialization into main scripts
* Merge pull request #463 from toasted-nutbread/explicit-entry-pointtoasted-nutbread2020-04-23
|\ | | | | Explicit entry points
| * Create background-main.jstoasted-nutbread2020-04-19
| |
* | fix custom anki templatessiikamiika2020-04-23
|/
* Add API for getting media datatoasted-nutbread2020-04-18
|