aboutsummaryrefslogtreecommitdiff
path: root/ext/fg/js/float.js
Commit message (Collapse)AuthorAge
* Refactor some frontend cross-frame communication (#733)toasted-nutbread2020-08-15
| | | | | * Refactor iframe proxy setup * Simplify document title acquisition
* 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
* Add support for history navigation using mouse buttons in the popup window ↵toasted-nutbread2020-08-02
| | | | (#707)
* Standardize hotkey action naming convention (#696)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
* 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
* Extension unload indication fix (#662)toasted-nutbread2020-07-18
| | | | | | | | | | | | | | | | | | | * Remove unused function * Rename field * Change extensionUnloaded trigger function * Update how extension unloaded content is shown * Ignore certain errors caused by extension unload * Add _showExtensionUnloaded function * Wrap internals of updateOptions * Suppress errors caued by extension unload * Make the frontend trigger the popup's extensionUnloaded event
* Popup crossFrame communication (#658)toasted-nutbread2020-07-10
| | | | | | | | | * Add support for dynamic message handlers * Pass messages using crossFrame.invoke instead of contentWindow.postMessage * Set up async handlers * Simplify configure call and response
* Refactor hotkey definitions to be more generic (#655)toasted-nutbread2020-07-08
|
* 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
* 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
* Make PopupFactory.prepare non-async (#625)toasted-nutbread2020-06-25
|
* 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
* API refactor (#532)toasted-nutbread2020-05-24
| | | | | | | | | | | | | * Convert api.js into a class instance * Use new api.* functions * Fix missing binds * Group functions with progress callbacks together * Change style * Fix API override not working
* 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
* Validate document nodes before use (#493)toasted-nutbread2020-05-02
| | | | | | | | | | | | | * Validate document.body before use in loadScripts This also fixes an issue where reject wasn't being passed to loadScriptSentinel. * Validate document nodes before use in _getSiteColor * Validate document.body before use in _getViewport * Validate document.body before use in setContentScale * Validate document.body before use in docImposterCreate
* Frontend refactor (part 1) (#484)toasted-nutbread2020-04-27
| | | | | | | | | | | | | | | | | | | * Remove _getVisualViewportScale * Use super's mouse event listener definitions * Remove redundant override * Remove getTouchEventListeners override * Rename Display.onSearchClear to onEscape * Change onSearchClear to clearSelection and use an event * Update how text is marked for selection and deselection * Replace onError with yomichan.logError * Update setEnabled to refresh all event listeners
* 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
* Update Popup and DisplayFloat optionsContext from Frontend (#464)siikamiika2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | * set optionsContext from Frontend * update Popup+Display options on Frontend change * remove popup setOptions * only update DisplayFloat options from Frontend * fix optionsContext usage * fix preview frame arguments * keep Frontend URL up to date * cache url * fix preview frame * trigger modifyingProfileChange in correct places * remove async from function not using await * refactor optionsContext in Frontend
* Create float-main.jstoasted-nutbread2020-04-19
|
* Merge pull request #437 from toasted-nutbread/backend-api-handler-changestoasted-nutbread2020-04-11
|\ | | | | Backend api handler changes
| * apiBroadcast => apiBroadcastTabtoasted-nutbread2020-04-10
| |
| * Rename apiForward to apiBroadcasttoasted-nutbread2020-04-07
| |
* | Update license author field to broader to explicitly reflect thatAlex Yatskov2020-04-10
|/ | | | | Yomichan is an ongoing community project. It really does take a village, and everyone who contributes code owns a part of it :)
* Add support for getting the document titletoasted-nutbread2020-04-06
|
* apply all options on profile changesiikamiika2020-03-21
|
* Update global declarationstoasted-nutbread2020-03-10
|
* fix hotkeys in popupsiikamiika2020-03-01
|
* Use .bind instead of () => {}toasted-nutbread2020-02-26
|
* Move event handler definitionstoasted-nutbread2020-02-26
|
* Use a token to ensure that messages are coming from Yomichantoasted-nutbread2020-02-17
|
* Prevent multiple prepare callstoasted-nutbread2020-02-16
|
* Simplify process to wait for iframe prepare completiontoasted-nutbread2020-02-16
|
* Add global apiForwardtoasted-nutbread2020-02-14
|
* Merge pull request #357 from siikamiika/simplify-display-preparesiikamiika2020-02-14
|\ | | | | Simplify display prepare
| * use sendMessage to notify about initializationsiikamiika2020-02-14
| |
| * notify popup about initializationsiikamiika2020-02-13
| |
| * rename display initialize methods to preparesiikamiika2020-02-13
| |
* | Define more globalstoasted-nutbread2020-02-11
|/
* Scale popup based on current page zoom factortoasted-nutbread2020-01-22
|
* Only use Display.setContenttoasted-nutbread2020-01-16
|
* Update license info URLtoasted-nutbread2020-01-01
|
* Update copyrighttoasted-nutbread2020-01-01
|
* Replace window.yomichan_display with DisplayFloat.instancetoasted-nutbread2019-12-20
|
* Update how orphan state is observedtoasted-nutbread2019-12-20
|
* Update display float key handlerstoasted-nutbread2019-12-13
|
* Update float message handlerstoasted-nutbread2019-12-13
|
* Replace hasOwnProperty with simplified hasOwn functiontoasted-nutbread2019-11-26
|