webosbrew / youtube-webos

YouTube app for webOS without ads
GNU General Public License v3.0
593 stars 42 forks source link

Add observeAttributes parameter to waitForChildAdd() #145

Closed throwaway96 closed 8 months ago

throwaway96 commented 8 months ago

You must now specify whether waitForChildAdd() should check the predicate on attribute changes. Its only caller did not depend on this behavior, so the callback and predicate were running hundreds of times unnecessarily.

A new parameter, observeAttributes, has been added (before abortSignal). When it is true, you will get the old behavior. When it is false, the predicate will not be called on attribute changes—meaning you will only see each node once as it is initially added.

I don't expect this to have much effect right now, as waitForChildAdd() is only used once. (It was also used in a now-canceled change.) However, this function is useful enough that it it is likely to be used in the future, including in more performance-sensitive areas.