Skip to content

Commit

Permalink
V1 Resources: deferredBuild --> deferredMount (#33481)
Browse files Browse the repository at this point in the history
  • Loading branch information
samouri committed Mar 25, 2021
1 parent 24b44f1 commit 038cd10
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 39 deletions.
6 changes: 3 additions & 3 deletions src/base-element.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ export class BaseElement {
* Whether this element supports V1 protocol, which includes:
* 1. Layout/unlayout are not managed by the runtime, but instead are
* implemented by the element as needed.
* 2. The element can defer its build until later. See `deferredBuild`.
* 3. The construction of the element is delayed until build.
* 2. The element can defer its build until later. See `deferredMount`.
* 3. The construction of the element is delayed until mount.
*
* Notice, in this mode `layoutCallback`, `pauseCallback`, `onLayoutMeasure`,
* `getLayoutSize`, and other methods are deprecated. The element must
Expand All @@ -133,7 +133,7 @@ export class BaseElement {
* @return {boolean}
* @nocollapse
*/
static deferredBuild(unusedElement) {
static deferredMount(unusedElement) {
return true;
}

Expand Down
6 changes: 3 additions & 3 deletions src/custom-element.js
Original file line number Diff line number Diff line change
Expand Up @@ -917,13 +917,13 @@ function createBaseCustomElementClass(win, elementConnectedCallback) {
}

/**
* See `BaseElement.deferredBuild()`.
* See `BaseElement.deferredMount()`.
*
* @return {boolean}
* @final
*/
deferredBuild() {
return this.implClass_ ? this.implClass_.deferredBuild(this) : false;
deferredMount() {
return this.implClass_ ? this.implClass_.deferredMount(this) : false;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/service/scheduler.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ export class Scheduler {
return;
}

if (target.deferredBuild()) {
if (target.deferredMount()) {
this.targets_.set(target, {asap: false, isIntersecting: false});
this.observer_.observe(target);
if (this.containerMap_.size > 0) {
Expand Down
64 changes: 32 additions & 32 deletions test/unit/test-scheduler.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
const element = createElementWithAttributes(doc, 'amp-el', {
id: options.id || '',
});
element.deferredBuild = () => options.deferredBuild || false;
element.deferredMount = () => options.deferredMount || false;
element.prerenderAllowed = () => options.prerenderAllowed || false;
element.getBuildPriority = () =>
options.buildPriority || LayoutPriority.CONTENT;
Expand All @@ -77,8 +77,8 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
}

describe('schedule', () => {
it('should schedule a deferredBuild element', () => {
const element = createAmpElement({deferredBuild: true});
it('should schedule a deferredMount element', () => {
const element = createAmpElement({deferredMount: true});
scheduler.schedule(element);
expect(intersectionObserverStub.isObserved(element)).to.be.true;

Expand All @@ -87,7 +87,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
});

it('should use the correct observer parameters', () => {
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.schedule(element);

expect(
Expand All @@ -99,14 +99,14 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
).to.be.true;
});

it('should schedule a non-deferredBuild element', () => {
const element = createAmpElement({deferredBuild: false});
it('should schedule a non-deferredMount element', () => {
const element = createAmpElement({deferredMount: false});
scheduler.schedule(element);
expect(intersectionObserverStub.isObserved(element)).to.be.false;
});

it('should unschedule when built', async () => {
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.schedule(element);
expect(intersectionObserverStub.isObserved(element)).to.be.true;

Expand All @@ -120,7 +120,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should NOT signal READY_SCAN_SIGNAL until document is ready', async () => {
ampdoc.signals().reset(READY_SCAN_SIGNAL);
const element = createAmpElement({deferredBuild: false});
const element = createAmpElement({deferredMount: false});
scheduler.schedule(element);
expect(ampdoc.signals().get(READY_SCAN_SIGNAL)).to.be.null;

Expand All @@ -139,14 +139,14 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
describe('wait for parsing', () => {
it('should build when document ready', async () => {
await setAmpdocReady();
const element = createAmpElement({deferredBuild: false});
const element = createAmpElement({deferredMount: false});
scheduler.schedule(element);
clock.tick(1);
expect(element.mountInternal).to.be.calledOnce;
});

it('should build when document becomes ready', async () => {
const element = createAmpElement({deferredBuild: false});
const element = createAmpElement({deferredMount: false});
scheduler.schedule(element);
clock.tick(1);
expect(element.mountInternal).to.be.not.called;
Expand All @@ -158,14 +158,14 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should build asap when document ready', async () => {
await setAmpdocReady();
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.scheduleAsap(element);
clock.tick(1);
expect(element.mountInternal).to.be.calledOnce;
});

it('should build asap when document becomes ready', async () => {
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.scheduleAsap(element);
clock.tick(1);
expect(element.mountInternal).to.be.not.called;
Expand All @@ -176,13 +176,13 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
});

it('should build when has next siblings', async () => {
const element = createAmpElement({deferredBuild: false});
const element = createAmpElement({deferredMount: false});
doc.body.appendChild(element);
scheduler.schedule(element);
clock.tick(1);
expect(element.mountInternal).to.not.be.called;

const element2 = createAmpElement({deferredBuild: false});
const element2 = createAmpElement({deferredMount: false});
doc.body.appendChild(element2);
scheduler.schedule(element2);
clock.tick(1);
Expand All @@ -191,13 +191,13 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
});

it('should build asap when has next siblings', async () => {
const element = createAmpElement({deferredBuild: false});
const element = createAmpElement({deferredMount: false});
doc.body.appendChild(element);
scheduler.scheduleAsap(element);
clock.tick(1);
expect(element.mountInternal).to.not.be.called;

const element2 = createAmpElement({deferredBuild: false});
const element2 = createAmpElement({deferredMount: false});
doc.body.appendChild(element2);
scheduler.scheduleAsap(element2);
clock.tick(1);
Expand All @@ -207,7 +207,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should wait the deferred even when parsed', async () => {
await setAmpdocReady();
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
doc.body.appendChild(element);
scheduler.schedule(element);
clock.tick(1);
Expand All @@ -223,7 +223,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should build if prerenderAllowed', () => {
const element = createAmpElement({
deferredBuild: false,
deferredMount: false,
prerenderAllowed: true,
});
scheduler.schedule(element);
Expand All @@ -233,7 +233,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should build asap if prerenderAllowed', () => {
const element = createAmpElement({
deferredBuild: true,
deferredMount: true,
prerenderAllowed: true,
});
scheduler.scheduleAsap(element);
Expand All @@ -243,7 +243,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should NOT build if not prerenderAllowed', () => {
const element = createAmpElement({
deferredBuild: false,
deferredMount: false,
prerenderAllowed: false,
});
scheduler.schedule(element);
Expand All @@ -253,7 +253,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should NOT build asap if not prerenderAllowed', () => {
const element = createAmpElement({
deferredBuild: true,
deferredMount: true,
prerenderAllowed: false,
});
scheduler.scheduleAsap(element);
Expand Down Expand Up @@ -331,7 +331,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
});

it('should wait for intersection when deferred', () => {
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.schedule(element);
expect(intersectionObserverStub.isObserved(element)).to.be.true;
clock.tick(1);
Expand All @@ -353,15 +353,15 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
});

it('should not wait for intersection when not deferred', () => {
const element = createAmpElement({deferredBuild: false});
const element = createAmpElement({deferredMount: false});
scheduler.schedule(element);
expect(intersectionObserverStub.isObserved(element)).to.be.false;
clock.tick(1);
expect(element.mountInternal).to.be.calledOnce;
});

it('should not wait for intersection when asap', () => {
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.scheduleAsap(element);
expect(intersectionObserverStub.isObserved(element)).to.be.false;
clock.tick(1);
Expand All @@ -375,7 +375,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
});

it('should run deferred CONTENT at high priority', () => {
const element = createAmpElement({deferredBuild: true});
const element = createAmpElement({deferredMount: true});
scheduler.schedule(element);
intersectionObserverStub.notifySync({
target: element,
Expand All @@ -387,7 +387,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should run deferred METADATA at low priority', () => {
const element = createAmpElement({
deferredBuild: true,
deferredMount: true,
buildPriority: LayoutPriority.METADATA,
});
scheduler.schedule(element);
Expand All @@ -404,7 +404,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should run non-deferred METADATA at low priority', () => {
const element = createAmpElement({
deferredBuild: false,
deferredMount: false,
buildPriority: LayoutPriority.METADATA,
});
scheduler.schedule(element);
Expand All @@ -417,7 +417,7 @@ describes.realWin('Scheduler', {amp: true}, (env) => {

it('should run asap METADATA at high priority', () => {
const element = createAmpElement({
deferredBuild: false,
deferredMount: false,
buildPriority: LayoutPriority.METADATA,
});
scheduler.scheduleAsap(element);
Expand All @@ -433,19 +433,19 @@ describes.realWin('Scheduler', {amp: true}, (env) => {
let containerElement, containerElementChild;

beforeEach(() => {
container = createAmpElement({id: 'container', deferredBuild: true});
container = createAmpElement({id: 'container', deferredMount: true});
containerScroller = createElementWithAttributes(doc, 'div', {
id: 'scroller',
});

topElement = createAmpElement({id: 'topElement', deferredBuild: true});
topElement = createAmpElement({id: 'topElement', deferredMount: true});
containerElement = createAmpElement({
id: 'containerElement',
deferredBuild: true,
deferredMount: true,
});
containerElementChild = createAmpElement({
id: 'containerElementChild',
deferredBuild: true,
deferredMount: true,
});

doc.body.appendChild(container);
Expand Down

0 comments on commit 038cd10

Please sign in to comment.