| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* Update how extension unload is detected
* Remove event handlers and use yomichan.isExtensionUnloaded instead
* Update terminology
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
|
|
| |
* Use deferPromise
* Move definition
* Implement promiseTimeout using deferPromise
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
| |
* Throw error if options is not ready
* Remove id
* Change unsecurePopupFrameUrl to useSecurePopupFrameUrl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use DOMTextScanner instead of TextSourceRange.seek*
* Move getNodesInRange to dom.js
* Move anyNodeMatchesSelector to dom.js
* Remove unused functions
* Update tests
* Add layoutAwareScan option
* Use layoutAwareScan for source and sentence scanning
* Remove unused IGNORE_TEXT_PATTERN
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove setDisabled member; replace with an event
* Pass frameOffsetForwarder directly to PopupProxy
* Replace .start with .prepare
* Make onMessage private
* Make message safer and handle unexpected inputs
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* Add createPopupFactory
* Ensure only a single PopupFactory is generated
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove newlines for term-definition-item-template
* Update how action button icons are styled
* Fix spacing
* Group text colors together
* Correct image styles
* Fix missing </span>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
* Remove unnecessary load of /fg/css/client.css
* Replace dynamicLoader.loadStyles with dynamicLoader.loadStyle
* Replace Popup._injectStylesheet with dynamicLoader.loadStyle
* Remove unused global
|
| |
|
|
|
|
| |
attribute (#529)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Update formatting
* Merge default tag color with category-less tags
* Use CSS variables for colors
* Add dark theme colors
* Move color variables into display.css
* Remove old stylesheets
* Update headings
* Bump minimum Firefox version to support CSS var()
* Revert popular kanji text color
|
|
|
|
|
|
|
|
|
| |
* Update TextSourceElement API to have parity with TextSourceRange
* Make fields private
* Update equality check
* Fix "this.element" being used instead of just "element"
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Use direct message handler functions
* Remove unused targetPopupId
* Make target a member of FrontendApiSender
* Rename frameId to parentFrameId for clarity
* Remove _parentFrameId
* Rename _parentId to _parentPopupId for clarity
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add default
* Convert function to non-static
* Remove static for private functions
* Replace .call
* Move functions with side effects into a synchronous prepare function
* Rename variables with "container" to "frame" in _initializeFrame
* Rename variables with "container" to "frame"
* Rename getContainer to getFrame
* Rename getContainerRect to getFrameRect
* Organize and simplify
* Fix incorrect change of "popup" => "this"
* Move initial _updateVisibility into prepare()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix return type
* Pass search function as a constructor argument
* Pass constructor as a details object
For consistency with other complex constructors and improved semantics.
* Convert _ignorePoints to a single optional function
* Organize functions
* Rename ignorePoints to ignorePoint
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Rename PopupProxyHost to PopupFactory
* Update FrontendApiReceiver to support non-async handlers
* Make some functions non-async
* Make setCustomCss non-async
* Make setContentScale non-async
* Remove static
* Rename variables
* Pass frameId into PopupFactory's constructor
* Change FrontendApiReceiver source from popup-proxy-host to popup-factor
* Rename _invokeHostApi to _invoke
* Rename PopupProxy.getHostUrl to getUrl
|
| |
|
|
|
|
|
|
|
|
|
| |
* Use this.popup instead of this.frontend.popup
* Rename Frontend.popup to _popup
* Make Frontend functions private
* Clean up Frontend constructor
|
|
|
|
|
| |
* Fix unity test missing a parameter
* Update docSentenceExtract to not rescan content
|
|
|
|
|
|
|
|
|
| |
* Fix test case
* Add test-dom-text-scanner
* Ensure that DOMTextScanner._node never becomes null
* Add remainder
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* select matched text in Frontend.findKanji
* blur search query input when setting content
|
|
|
|
|
| |
* extract text inside TextScanner
* clone textSource before text extraction
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* update Frontend options on modifier change
* add modifier key profile condition
* use select element for modifier condition value
* support "is" and "is not" modifier key conditions
* use plural
* remove dead null check
it's never null in that function
* pass element on rather than assigning to this
* rename event
* remove Firefox OS key to Meta detection
* hide Meta from dropdown on Firefox
* move input type
|
|
|
|
|
|
|
| |
* Create new class for scanning text in a document
* Update test styles
* Add tests
|
|
|
|
|
|
|
| |
* Place multi-line expression parentheses on the correct line
* Add function-paren-newline eslint rule
* Add some additional eslint rules
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* Catch WrongDocumentError thrown by compareBoundaryPoints
* Filter error based on name
|
|
|
|
|
|
|
|
|
| |
* Remove and unload the popup frame if an unexpected load occurs
* Remove unused fields
* Only update _injectPromiseComplete if the promise is the most recent one
* Remove redundant this._injectPromise !== null check
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Mark functions as private
* Remove constructor side effects
* Use safer handler invocation
* Mark functions as private
* Mark fields as private
* Update BackendApiForwarder public API
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make Frontend use composition instead of inheritance for TextScanner
* Use push instead of concat
* Update setOptions and setEnabled APIs
* Update how onWindowMessage event listener is added/removed
* Rename options to _options
* Use bind instead of arrow function
* Fix selection being cleared due to settings changes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* Update style of search-main and float-main to have better parity
* Use dynamicLoader to inject scripts and CSS
|