Ночные Работники Службы | Интерфейс NavigationPreloadManager

Ночные Работники Службы | Интерфейс NavigationPreloadManager

[SecureContext, Exposed=(Window,Worker)]
interface NavigationPreloadManager {
  Promise<undefined> enable();
  Promise<undefined> disable();
  Promise<undefined> setHeaderValue(ByteString value);
  Promise<NavigationPreloadState> getState();
};

dictionary NavigationPreloadState {
  boolean enabled = false;
  ByteString headerValue;
};

 

Шаги метода enable():

1. Пусть обещание promise станет новым обещанием.
2. Параллельно выполните следующие шаги:
3. Пусть регистрация registration будет связанной регистрацией работника службы этого this.
4. Если активный работник регистрации registration равен null, отклоните обещание promise с помощью исключения "InvalidStateError" DOMException и прервите эти шаги.
5. Установите флаг включения предварительной загрузки навигации registration.
6. Разрешить обещание promise с undefined.
7. Вернуть promise.

 

Шаги метода disable():

1. Пусть обещание promise станет новым обещанием.
2. Параллельно выполните следующие шаги:
3. Пусть регистрация registration будет связанной регистрацией работника службы этого this.
4. Если активный работник регистрации registration равен null, отклоните обещание promise с помощью исключения "InvalidStateError" DOMException и прервите эти шаги.
5. Снимите флаг включения предварительной загрузки навигации registration.
6. Разрешить обещание promise с undefined.
7. Вернуть promise.

 

Шаги метода setHeaderValue(value):

1. Пусть обещание promise станет новым обещанием.
2. Параллельно выполните следующие шаги:
3. Пусть регистрация registration будет связанной регистрацией работника службы этого this.
4. Если активный работник регистрации registration равен null, отклоните обещание promise с помощью исключения "InvalidStateError" DOMException и прервите эти шаги.
5. Установите значение заголовка предварительной загрузки навигации регистрации registration в значение value.
6. Разрешить обещание promise с undefined.
7. Вернуть promise.

 

Шаги метода getState():

1. Пусть обещание promise станет новым обещанием.
2. Параллельно выполните следующие шаги:
3. Пусть регистрация registration будет связанной регистрацией работника службы этого this.
4. Пусть состояние state будет новым словарем NavigationPreloadState.
5. Если установлен флаг включения предварительной загрузки навигации registration, установите для state["enabled"] значение true.
6. Задайте для state["headerValue"] значение заголовка предварительной загрузки навигации registration.
7. Выполните обещание promise с state.
8. Вернуть promise.

 

 

Информационные ссылки

Стандарт Service Workers Nightlyhttps://w3c.github.io/ServiceWorker/#navigation-preload-manager