Skip to content
This repository was archived by the owner on Jul 28, 2023. It is now read-only.

Commit 36bf77c

Browse files
committed
Add document references
1 parent 5f0d5bb commit 36bf77c

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/gutenberg-packages/frontend.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class GutenbergBlock extends HTMLElement {
2929
);
3030
const innerBlocks = this.querySelector("gutenberg-inner-blocks");
3131
const Comp = blockTypes.get(blockType);
32-
const technique = this.getAttribute("data-gutenberg-hydrate");
32+
const hydrationTechnique = this.getAttribute("data-gutenberg-hydrate");
3333

3434
hydrate(
3535
<EnvContext.Provider value="frontend">
@@ -45,7 +45,7 @@ class GutenbergBlock extends HTMLElement {
4545
</Comp>
4646
</EnvContext.Provider>,
4747
this,
48-
technique
48+
hydrationTechnique
4949
);
5050
});
5151
}

src/gutenberg-packages/wordpress-element.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ export const useEffect = (...args) =>
3737

3838
export const hydrate = (container, element, technique) => {
3939
switch (technique) {
40+
// Hydrate the element when is visible in the viewport.
41+
// https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
4042
case "view":
4143
const io = new IntersectionObserver((entries) => {
4244
for (const entry of entries) {
@@ -50,8 +52,11 @@ export const hydrate = (container, element, technique) => {
5052
io.observe(element.children[0]);
5153
break;
5254
case "idle":
55+
// Safari does not support requestIdleCalback, we use a timeout instead. https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback
5356
if ("requestIdleCallback" in window) {
54-
window.requestIdleCallback(() => ReactHydrate(container, element));
57+
window.requestIdleCallback(() => {
58+
ReactHydrate(container, element);
59+
});
5560
} else {
5661
setTimeout(ReactHydrate(container, element), 200);
5762
}

0 commit comments

Comments
 (0)