aboutsummaryrefslogtreecommitdiff
path: root/ext/bg/js
Commit message (Collapse)AuthorAge
* 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
* Pitch accent Anki field templates (#701)toasted-nutbread2020-08-01
| | | | | | | | | | | | | | | | | | | * Template helper updates * Add pitch data to exported field formatting data * Reuse note data * Add no-op * Set up pitch accent templates * Refactor version update functions * Implement upgrade process for new Anki templates * Consistency * Update README and anki.js to have matching markers
* More display refactoring (#697)toasted-nutbread2020-08-01
| | | | | | | | | | | | | | | | | | | * Remove some unnecessary _setQuery calls * Add support for forcing the query parser to be visible or hidden * Move _setEventListenersActive calls * Remove URL for kanji links * Refactor _setContentTermsOrKanji * Move search query text assignment into Display * Move title updates into Display * Move popup close calls * Prevent infinite loop of extension unload events
* 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
* Additional template renderer helpers (#699)toasted-nutbread2020-07-31
| | | | | | | | | * Add spread function * Add generic operator evaluation function * Add variable get/set/scope functions * Add isMoraPitchHigh function
* Query parser fix (#695)toasted-nutbread2020-07-26
| | | | | | | | | | | * Standardize setContent calls * Rename _queryText to _fullQuery * Move query parser into Display and update float.html * Generalize params * Add "full" parameter to maintain the original full query
* Display scroll refactor (#694)toasted-nutbread2020-07-26
| | | | | | | | | * Cache navigation header * Create _focusEntry * Update scroll restoration * Require explicit entry focus index
* Merge redundant toggle handling code (#693)toasted-nutbread2020-07-26
|
* Don't assign mode as a search parameter (#692)toasted-nutbread2020-07-26
|
* Display history refactor (#691)toasted-nutbread2020-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Create DisplayHistory * Change arguments for _setContentTermsOrKanji * Set up history-driven content updates * Use new history only * Load definitions if missing * Refactor definitions getting * Add support for wildcards * Move definitions setup * Add events * Allow state change even if there is no history state * Update search page to use history * Fix history overwriting * Fix search page not seeing state chang events during prepare * Update state if necessary * Don't reassign query text if the same * Remove DisplayContext * Initialize with real history state * Track URL * Update DisplayHistory to support pseudo-history * Configure history settings on search page * Fix state * Use full URL * Change data format of setContent * Rename details to content * Update event arguments * Fix animation * Remove old state changes * Clear content properly * Remove set/clear content overrides * Fix setting up event listeners for content clear * Make clearContent private * Make focus opt-in * Validate source * Add unloaded type * Generalize content params * Update how extension unload content is assigned * Restore query blurring
* Add eachUpTo function (#690)toasted-nutbread2020-07-26
|
* Fix search popup mode (#687)toasted-nutbread2020-07-25
| | | | | * Fix missing mode on search popup * Remove mode update
* Set content refactor (#686)toasted-nutbread2020-07-25
| | | | | | | | | | | | | | | | | | | | | | | * Simplify invoke * Pass isTerms instead of type * Update DisplaySearch.setContent to pass argument array * Simplify argument object structure for setContent * Move focus and disableHistory level * Always include focus and disableHistory options * Change disableHistory to history * Pass source text to setContent * Use consistent argument/object field order * Remove unused previous field * Combine logic for forward/back navigation
* Query parser refactor (#683)toasted-nutbread2020-07-24
| | | | | * Rename files to better match class name * Don't pass setContent to QueryParser; use a generic event instead
* Update DisplaySearch.setContent/clearContent to close popups (#682)toasted-nutbread2020-07-24
|
* 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
* Display refactoring (#674)toasted-nutbread2020-07-18
| | | | | | | | | * Move setupNestedPopups to Display * Move auto-play timer and delay into Display * Move some message handler definitions into Display * Move default optionsContext definition
* 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
* Refactor context-main.js (#671)toasted-nutbread2020-07-18
|
* 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
* Fix Anki CORS requests (#666)toasted-nutbread2020-07-17
|
* Fix incorrect field name (#665)toasted-nutbread2020-07-14
|
* 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
* Refactor DisplayFloat=>Frontend message passing (#652)toasted-nutbread2020-07-08
| | | | | | | | | | | * Change getOrCreatePopup arguments to be an object * Add ownerFrameId to popup and DisplayFloat * Refactor DisplayFloat host action invocation * Use CrossFrameAPI instead of window.postMessage * Update popup closing functionality on the search page
* Display class refactoring (#650)toasted-nutbread2020-07-03
| | | | | | | | | | | | | | | | | | | | | | | * Organize by public/private * Don't access super class's private members * Make _autoPlayAudioTimer private * Refactor constructors * Make functions private * Organize by public/private * Organize window message handlers * Make fields private * Refactor DisplaySearch constructor * Make functions private * Organize by public/private
* Refactor text source map (#649)toasted-nutbread2020-07-03
| | | | | | | | | * Use a null check instead of array check * Convert statisc to non-private * Use public source * Add public function for getting the mapping
* Display refactor (#643)toasted-nutbread2020-07-03
| | | | | | | | | | | | | | | | | | | * Remove statics * Move orphan detection and error handling to Display * Add clearContent function * Add/use public get/set functions for optionsContext * Add public getOptions * Move interactive assignment * Mark fields as private * Mark functions as private * Change stray getter into a function
* Move private function definitions inside of IIFE (#641)toasted-nutbread2020-07-03
|
* Util refactor and fix (#638)toasted-nutbread2020-07-03
| | | | | * Remove unused functions * Fix clone function not being visible on the window object
* Page exit prevention refactor (#637)toasted-nutbread2020-07-03
| | | | | | | * Add page exit prevention functionality to SettingsController * Update dictionary controller to use new page exit prevention system * Remove page-exit-prevention.js
* Make JsonSchemaProxyHandler.unconstrainedSchema public and non-configurable ↵toasted-nutbread2020-07-03
| | | | (#636)
* Fix incorrect handlebars execution context in helpers (#645)toasted-nutbread2020-06-29
|
* Rename GenericDatabase to Database (#634)toasted-nutbread2020-06-28
|
* 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
* Yomichan object separation (#627)toasted-nutbread2020-06-28
| | | | | | | | | | | | | * Move "yomichan" object setup to a separate file * Update script imports * Align message handlers * Rename Yomichan.prepare to Yomichan.ready * Add new prepare function * Improve isExtensionUrl
* Make PopupFactory.prepare non-async (#625)toasted-nutbread2020-06-25
|
* 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
* Secure popup frame url changes (#622)toasted-nutbread2020-06-22
| | | | | | | * Throw error if options is not ready * Remove id * Change unsecurePopupFrameUrl to useSecurePopupFrameUrl
* Frontend initialization refactor (#610)toasted-nutbread2020-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Create member functions for ignoreElements and ignorePoint * Create addFullscreenChangeEventListener utility * Move popup creation management into Frontend * Move getUrl implementation * Remove old setup * Remove try/catch block * Error wrap * Add prepare call to TextScanner * Update depth when popup changes * Refactor how Frontend gets PopupFactory and frameId * Update popup preview to work * Update popup preview frame to use the frontend's popup * Update how nested popups are set up * Error wrap * Update how popups are set up on the search page * Error wrap * Error unwrap * Add missing prepare * Remove use of frontendInitializationData * Catch and log errors