MCPcopy
hub / github.com/ampproject/amphtml / setReadyStateInternal

Method setReadyStateInternal

src/custom-element.js:858–899  ·  view source on GitHub ↗

* Update the internal ready state. * * @param {!ReadyState_Enum} state * @param {*=} opt_failure * @protected * @final

(state, opt_failure)

Source from the content-addressed store, hash-verified

856 * @final
857 */
858 setReadyStateInternal(state, opt_failure) {
859 if (state === this.readyState_) {
860 return;
861 }
862
863 this.readyState_ = state;
864
865 if (!this.R1()) {
866 return;
867 }
868
869 switch (state) {
870 case ReadyState_Enum.LOADING:
871 this.signals_.signal(CommonSignals_Enum.LOAD_START);
872 this.signals_.reset(CommonSignals_Enum.UNLOAD);
873 this.signals_.reset(CommonSignals_Enum.LOAD_END);
874 this.classList.add('i-amphtml-layout');
875 // Potentially start the loading indicator.
876 this.toggleLoading(true);
877 this.dispatchCustomEventForTesting(AmpEvents_Enum.LOAD_START);
878 return;
879 case ReadyState_Enum.COMPLETE:
880 // LOAD_START is set just in case. It won't be overwritten if
881 // it had been set before.
882 this.signals_.signal(CommonSignals_Enum.LOAD_START);
883 this.signals_.signal(CommonSignals_Enum.LOAD_END);
884 this.signals_.reset(CommonSignals_Enum.UNLOAD);
885 this.classList.add('i-amphtml-layout');
886 this.toggleLoading(false);
887 dom.dispatchCustomEvent(this, 'load', null, NO_BUBBLES);
888 this.dispatchCustomEventForTesting(AmpEvents_Enum.LOAD_END);
889 return;
890 case ReadyState_Enum.ERROR:
891 this.signals_.rejectSignal(
892 CommonSignals_Enum.LOAD_END,
893 /** @type {!Error} */ (opt_failure)
894 );
895 this.toggleLoading(false);
896 dom.dispatchCustomEvent(this, 'error', opt_failure, NO_BUBBLES);
897 return;
898 }
899 }
900
901 /**
902 * Called to instruct the element to preconnect to hosts it uses during

Callers 7

completeUpgrade_Method · 0.95
buildInternalMethod · 0.95
mountInternalMethod · 0.95
upgradeOrSchedule_Method · 0.95
layoutCallbackMethod · 0.95
setReadyStateMethod · 0.80

Calls 7

R1Method · 0.95
toggleLoadingMethod · 0.95
rejectSignalMethod · 0.80
signalMethod · 0.45
resetMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected