Skip to content

Commit

Permalink
Improve performance of node observer
Browse files Browse the repository at this point in the history
  • Loading branch information
kkurczewski committed Mar 26, 2023
1 parent a5da0e8 commit 4dfdee8
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 104 deletions.
19 changes: 19 additions & 0 deletions src/content/mutationObserver.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
async function find(root, selector) {
return new Promise(resolve => {
const observer = new MutationObserver((_, observer) => {
tryResolve(observer)
})

const config = { childList: true }
observer.observe(root, config)
tryResolve(observer)

function tryResolve(observer) {
const node = root.querySelector(selector)
if (node) {
observer.disconnect()
resolve(node)
}
}
})
}
6 changes: 4 additions & 2 deletions src/content/top/top.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ const HIDDEN_CLASS = "x-hidden"

addEventListener("load", async () => {
const cssRoot = document.querySelector(":root")
const container = await queryNode(document, "ytd-watch-flexy");
const chat = await queryNode(container, "#chat");
const root = document.querySelector("#content #page-manager");
const videoContainer = await find(root, "ytd-watch-flexy");
const chatContainer = videoContainer.querySelector("#secondary #secondary-inner");
const chat = await find(chatContainer, "#chat");

options.enabled(enabled => {
document.body.classList.toggle("overlay", enabled)
Expand Down
4 changes: 1 addition & 3 deletions src/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@
"https://www.youtube.com/*"
],
"js": [
"util/fadingPromise.js",
"util/nodeObservers.js",
"util/queryNode.js",
"content/mutationObserver.js",
"content/top/top.js"
],
"css": [
Expand Down
27 changes: 0 additions & 27 deletions src/util/fadingPromise.js

This file was deleted.

41 changes: 0 additions & 41 deletions src/util/nodeObservers.js

This file was deleted.

31 changes: 0 additions & 31 deletions src/util/queryNode.js

This file was deleted.

0 comments on commit 4dfdee8

Please sign in to comment.