diff options
Diffstat (limited to 'content/renderer/websharedworkerrepository_impl.cc')
-rw-r--r-- | content/renderer/websharedworkerrepository_impl.cc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/content/renderer/websharedworkerrepository_impl.cc b/content/renderer/websharedworkerrepository_impl.cc new file mode 100644 index 0000000..76c9bf1 --- /dev/null +++ b/content/renderer/websharedworkerrepository_impl.cc @@ -0,0 +1,31 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. + +#include "content/renderer/websharedworkerrepository_impl.h" + +#include "chrome/common/render_messages.h" +#include "chrome/renderer/render_thread.h" +#include "content/renderer/websharedworker_proxy.h" + +WebSharedWorkerRepositoryImpl::WebSharedWorkerRepositoryImpl() {} + +WebSharedWorkerRepositoryImpl::~WebSharedWorkerRepositoryImpl() {} + +void WebSharedWorkerRepositoryImpl::addSharedWorker( + WebKit::WebSharedWorker* worker, DocumentID document) { + shared_worker_parents_.insert(document); +} + +void WebSharedWorkerRepositoryImpl::documentDetached(DocumentID document) { + DocumentSet::iterator iter = shared_worker_parents_.find(document); + if (iter != shared_worker_parents_.end()) { + // Notify the browser process that the document has shut down. + ChildThread::current()->Send(new ViewHostMsg_DocumentDetached(document)); + shared_worker_parents_.erase(iter); + } +} + +bool WebSharedWorkerRepositoryImpl::hasSharedWorkers(DocumentID document) { + return shared_worker_parents_.find(document) != shared_worker_parents_.end(); +} |