NavigatorServiceWorker* NavigatorServiceWorker::from(Navigator* navigator) { NavigatorServiceWorker* supplement = toNavigatorServiceWorker(navigator); if (!supplement) { supplement = new NavigatorServiceWorker(navigator); provideTo(navigator, supplementName(), adoptPtr(supplement)); } return supplement; }
NavigatorServiceWorker& NavigatorServiceWorker::from(Navigator& navigator) { NavigatorServiceWorker* supplement = toNavigatorServiceWorker(navigator); if (!supplement) { supplement = new NavigatorServiceWorker(navigator); provideTo(navigator, supplementName(), adoptPtrWillBeNoop(supplement)); // Initialize ServiceWorkerContainer too. supplement->serviceWorker(); } return *supplement; }