Fixed readyStateCompleteListeners never flushing when initialized after DOM ready by KamilDev · Pull Request #15571 · darkreader/darkreader · GitHub
Skip to content

Fixed readyStateCompleteListeners never flushing when initialized after DOM ready#15571

Open
KamilDev wants to merge 1 commit into
darkreader:mainfrom
KamilDev:fix/flush-ready-state-complete-listeners
Open

Fixed readyStateCompleteListeners never flushing when initialized after DOM ready#15571
KamilDev wants to merge 1 commit into
darkreader:mainfrom
KamilDev:fix/flush-ready-state-complete-listeners

Conversation

@KamilDev

Copy link
Copy Markdown

Fixes #15570

The readystatechange listener in dom.ts was only registered when the module initialized before readyState "interactive". When the API is enabled from a deferred page script, initialization happens at "interactive", so readyStateCompleteListeners (deferred SVG fill overrides, image loads) never ran. Register the listener while readyState is not yet "complete" instead. The handler already deals with both flush stages, and nothing changes for the extension, which initializes at document_start.

@alexanderby

Copy link
Copy Markdown
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SVG fill attributes are not overridden when enable() runs from a deferred script

2 participants