summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/websharedworkerrepository_impl.h
diff options
context:
space:
mode:
authoratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-13 01:13:37 +0000
committeratwilson@chromium.org <atwilson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-13 01:13:37 +0000
commit30447b6a5d6109d455f2c6262454105d5adf8f94 (patch)
tree3ef69964f7cf3e10d662af94f88e05288e16ad8c /chrome/renderer/websharedworkerrepository_impl.h
parent6eca5f19ffabd672349df42595551e7a4b1da987 (diff)
downloadchromium_src-30447b6a5d6109d455f2c6262454105d5adf8f94.zip
chromium_src-30447b6a5d6109d455f2c6262454105d5adf8f94.tar.gz
chromium_src-30447b6a5d6109d455f2c6262454105d5adf8f94.tar.bz2
Added lifecycle management and sharing support for SharedWorkers. SharedWorkers
can now outlive their parent pages and can be shared by multiple instances across multiple tabs. BUG=26233 TEST=ui tests Review URL: http://codereview.chromium.org/390017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31868 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/websharedworkerrepository_impl.h')
-rw-r--r--chrome/renderer/websharedworkerrepository_impl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/chrome/renderer/websharedworkerrepository_impl.h b/chrome/renderer/websharedworkerrepository_impl.h
index d8cec99..5806485 100644
--- a/chrome/renderer/websharedworkerrepository_impl.h
+++ b/chrome/renderer/websharedworkerrepository_impl.h
@@ -7,14 +7,24 @@
#include "third_party/WebKit/WebKit/chromium/public/WebSharedWorkerRepository.h"
+#include "base/hash_tables.h"
+
namespace WebKit {
class WebSharedWorker;
}
class WebSharedWorkerRepositoryImpl : public WebKit::WebSharedWorkerRepository {
+ public:
virtual void addSharedWorker(WebKit::WebSharedWorker*, DocumentID document);
virtual void documentDetached(DocumentID document);
+
+ // Returns true if the document has created a SharedWorker (used by the
+ // WebKit code to determine if the document can be suspended).
virtual bool hasSharedWorkers(DocumentID document);
+ private:
+ // The set of documents that have created a SharedWorker.
+ typedef base::hash_set<DocumentID> DocumentSet;
+ DocumentSet shared_worker_parents_;
};
#endif // CHROME_RENDERER_WEB_SHARED_WORKER_REPOSITORY_IMPL_H_