#include "third_party/blink/renderer/bindings/modules/v8/v8_service_worker_registration.h"
#include "third_party/blink/public/mojom/origin_trial_feature/origin_trial_feature.mojom-shared.h"
#include "third_party/blink/renderer/bindings/core/v8/generated_code_helper.h"
#include "third_party/blink/renderer/bindings/core/v8/native_value_traits_impl.h"
#include "third_party/blink/renderer/bindings/core/v8/to_v8_traits.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_event_handler_non_null.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_event_target.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_set_return_value_for_core.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_background_fetch_manager.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_content_index.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_cookie_store_manager.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_get_notification_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_navigation_preload_manager.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_notification.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_notification_options.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_payment_manager.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_periodic_sync_manager.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_push_manager.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_service_worker.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_service_worker_update_via_cache.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_sync_manager.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/modules/background_fetch/background_fetch_manager.h"
#include "third_party/blink/renderer/modules/background_fetch/service_worker_registration_background_fetch.h"
#include "third_party/blink/renderer/modules/background_sync/periodic_sync_manager.h"
#include "third_party/blink/renderer/modules/background_sync/service_worker_registration_sync.h"
#include "third_party/blink/renderer/modules/background_sync/sync_manager.h"
#include "third_party/blink/renderer/modules/content_index/content_index.h"
#include "third_party/blink/renderer/modules/content_index/service_worker_registration_content_index.h"
#include "third_party/blink/renderer/modules/cookie_store/cookie_store_manager.h"
#include "third_party/blink/renderer/modules/notifications/notification.h"
#include "third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.h"
#include "third_party/blink/renderer/modules/payments/payment_app_service_worker_registration.h"
#include "third_party/blink/renderer/modules/payments/payment_manager.h"
#include "third_party/blink/renderer/modules/push_messaging/push_manager.h"
#include "third_party/blink/renderer/modules/push_messaging/service_worker_registration_push.h"
#include "third_party/blink/renderer/modules/service_worker/navigation_preload_manager.h"
#include "third_party/blink/renderer/modules/service_worker/service_worker.h"
#include "third_party/blink/renderer/modules/service_worker/service_worker_registration.h"
#include "third_party/blink/renderer/platform/bindings/exception_messages.h"
#include "third_party/blink/renderer/platform/bindings/idl_member_installer.h"
#include "third_party/blink/renderer/platform/bindings/runtime_call_stats.h"
#include "third_party/blink/renderer/platform/bindings/v8_binding.h"
#include "third_party/blink/renderer/platform/bindings/wrapper_type_info.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
namespace blink {
bool V8ServiceWorkerRegistration::IsExposed(ExecutionContext* execution_context) { … }
#if defined(COMPONENT_BUILD) && defined(WIN32) && defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wglobal-constructors"
#endif
const WrapperTypeInfo V8ServiceWorkerRegistration::wrapper_type_info_{ … };
#if defined(COMPONENT_BUILD) && defined(WIN32) && defined(__clang__)
#pragma clang diagnostic pop
#endif
const WrapperTypeInfo& ServiceWorkerRegistration::wrapper_type_info_ = …;
static_assert …;
namespace {
namespace v8_service_worker_registration {
void InstallingAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void WaitingAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ActiveAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void NavigationPreloadAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ScopeAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void UpdateViaCacheAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void OnupdatefoundAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void OnupdatefoundAttributeSetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void BackgroundFetchAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void PeriodicSyncAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void SyncAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void IndexAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void CookiesAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void PaymentManagerAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void PushManagerAttributeGetCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void GetNotificationsOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void ShowNotificationOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void UnregisterOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
void UpdateOperationCallback(const v8::FunctionCallbackInfo<v8::Value>& info) { … }
}
usingnamespacev8_service_worker_registration;
}
void V8ServiceWorkerRegistration::InstallInterfaceTemplate(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::Template> interface_template) { … }
void V8ServiceWorkerRegistration::InstallUnconditionalProperties(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::Template> instance_template, v8::Local<v8::Template> prototype_template, v8::Local<v8::Template> interface_template) { … }
void V8ServiceWorkerRegistration::InstallContextIndependentProperties(v8::Isolate* isolate, const DOMWrapperWorld& world, v8::Local<v8::Template> instance_template, v8::Local<v8::Template> prototype_template, v8::Local<v8::Template> interface_template) { … }
void V8ServiceWorkerRegistration::InstallContextDependentProperties(v8::Local<v8::Context> context, const DOMWrapperWorld& world, v8::Local<v8::Object> instance_object, v8::Local<v8::Object> prototype_object, v8::Local<v8::Object> interface_object, v8::Local<v8::Template> interface_template, FeatureSelector feature_selector) { … }
}