| Index: third_party/WebKit/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
 | 
| diff --git a/third_party/WebKit/Source/modules/serviceworkers/NavigatorServiceWorker.cpp b/third_party/WebKit/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
 | 
| index cd8b179cb1c56c988ee0a3a816570919f6b8557c..73160f042ade6669ce253c8138413baca46ac274 100644
 | 
| --- a/third_party/WebKit/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
 | 
| +++ b/third_party/WebKit/Source/modules/serviceworkers/NavigatorServiceWorker.cpp
 | 
| @@ -12,9 +12,7 @@
 | 
|  
 | 
|  namespace blink {
 | 
|  
 | 
| -NavigatorServiceWorker::NavigatorServiceWorker(Navigator& navigator)
 | 
| -    : ContextLifecycleObserver(navigator.frame() ? navigator.frame()->document()
 | 
| -                                                 : nullptr) {}
 | 
| +NavigatorServiceWorker::NavigatorServiceWorker(Navigator& navigator) {}
 | 
|  
 | 
|  NavigatorServiceWorker* NavigatorServiceWorker::from(Document& document) {
 | 
|    if (!document.frame() || !document.frame()->domWindow())
 | 
| @@ -105,21 +103,23 @@ ServiceWorkerContainer* NavigatorServiceWorker::serviceWorker(
 | 
|      return nullptr;
 | 
|    }
 | 
|    if (!m_serviceWorker && frame) {
 | 
| +    // We need to create a new ServiceWorkerContainer when the frame
 | 
| +    // navigates to a new document. In practice, this happens only when the
 | 
| +    // frame navigates from the initial empty page to a new same-origin page.
 | 
|      DCHECK(frame->domWindow());
 | 
|      m_serviceWorker = ServiceWorkerContainer::create(
 | 
| -        frame->domWindow()->getExecutionContext());
 | 
| +        frame->domWindow()->getExecutionContext(), this);
 | 
|    }
 | 
|    return m_serviceWorker.get();
 | 
|  }
 | 
|  
 | 
| -void NavigatorServiceWorker::contextDestroyed() {
 | 
| +void NavigatorServiceWorker::clearServiceWorker() {
 | 
|    m_serviceWorker = nullptr;
 | 
|  }
 | 
|  
 | 
|  DEFINE_TRACE(NavigatorServiceWorker) {
 | 
|    visitor->trace(m_serviceWorker);
 | 
|    Supplement<Navigator>::trace(visitor);
 | 
| -  ContextLifecycleObserver::trace(visitor);
 | 
|  }
 | 
|  
 | 
|  }  // namespace blink
 | 
| 
 |