improve adaptive update hints

This commit is contained in:
Rene
2022-06-24 12:01:32 +02:00
parent b2d93d07d5
commit 0413be4b4a
6 changed files with 98 additions and 134 deletions
@@ -42,7 +42,7 @@ const startBtn: HTMLButtonElement | null = document.querySelector('#start');
const resizesSlot: HTMLButtonElement | null = document.querySelector('#resizes');
const preInitChildren = targetElm?.children.length;
const sizeObserver = createSizeObserver(
const destroySizeObserver = createSizeObserver(
targetElm as HTMLElement,
({ _directionIsRTLCache, _sizeChanged }) => {
if (_sizeChanged) {
@@ -129,17 +129,19 @@ const iterate = async (select: HTMLSelectElement | null, afterEach?: () => any)
if (dirChanged) {
await waitForOrFailTest(() => {
const expectedCacheValue = newDir === 'rtl';
// const expectedCacheValue = newDir === 'rtl';
should.equal(
directionIterations,
currDirectionIterations + 1,
'Direction change was detected correctly.'
);
/*
should.equal(
sizeObserver._getCurrentCacheValues()._directionIsRTL[0],
expectedCacheValue,
'Direction cache value is correct.'
);
*/
});
}
@@ -261,7 +263,7 @@ const start = async () => {
});
await cleanBoxSizingChange();
sizeObserver._destroy();
destroySizeObserver();
should.equal(
targetElm?.children.length,
preInitChildren,
@@ -24,18 +24,21 @@ const startBtn: HTMLButtonElement | null = document.querySelector('#start');
const changesSlot: HTMLButtonElement | null = document.querySelector('#changes');
const preInitChildren = targetElm?.children.length;
const trinsicObserver = createTrinsicObserver(targetElm as HTMLElement, (heightIntrinsicCache) => {
const [currentHeightIntrinsic, currentHeightIntrinsicChanged] = heightIntrinsicCache;
if (currentHeightIntrinsicChanged) {
heightIterations += 1;
heightIntrinsic = currentHeightIntrinsic;
}
requestAnimationFrame(() => {
if (changesSlot) {
changesSlot.textContent = heightIterations.toString();
const destroyTrinsicObserver = createTrinsicObserver(
targetElm as HTMLElement,
(heightIntrinsicCache) => {
const [currentHeightIntrinsic, currentHeightIntrinsicChanged] = heightIntrinsicCache;
if (currentHeightIntrinsicChanged) {
heightIterations += 1;
heightIntrinsic = currentHeightIntrinsic;
}
});
});
requestAnimationFrame(() => {
if (changesSlot) {
changesSlot.textContent = heightIterations.toString();
}
});
}
);
const envElmSelectCallback = generateClassChangeSelectCallback(envElm as HTMLElement);
const targetElmSelectCallback = generateClassChangeSelectCallback(targetElm as HTMLElement);
@@ -75,11 +78,13 @@ const iterate = async (select: HTMLSelectElement | null, afterEach?: () => any)
'Height intrinsic change has been detected correctly.'
);
}
/*
should.equal(
trinsicObserver._getCurrentCacheValues()._heightIntrinsic[0],
newHeightIntrinsic,
'Height intrinsic cache value is correct.'
);
*/
});
},
afterEach,
@@ -148,7 +153,7 @@ const start = async () => {
});
await changeWhileHidden();
trinsicObserver._destroy();
destroyTrinsicObserver();
should.equal(
targetElm?.children.length,
preInitChildren,