Title: [128087] trunk/Source/WebKit/chromium
- Revision
- 128087
- Author
- pilg...@chromium.org
- Date
- 2012-09-10 12:07:48 -0700 (Mon, 10 Sep 2012)
Log Message
[Chromium] Define new setSharedWorkerRepository function in preparation for removing WebKitPlatformSupport::sharedWorkerRepository()
https://bugs.webkit.org/show_bug.cgi?id=95861
Reviewed by Adam Barth.
Followup patch to Chromium will call this new function, then we can remove all references to the legacy function on WebKitPlatformSupport.
* public/WebSharedWorkerRepository.h:
(WebKit):
* src/SharedWorkerRepository.cpp:
(WebKit):
(WebKit::setSharedWorkerRepository):
(WebKit::sharedWorkerRepository):
(WebCore::SharedWorkerRepository::isAvailable):
(WebCore::SharedWorkerRepository::connect):
(WebCore::SharedWorkerRepository::documentDetached):
(WebCore::SharedWorkerRepository::hasSharedWorkers):
Modified Paths
Diff
Modified: trunk/Source/WebKit/chromium/ChangeLog (128086 => 128087)
--- trunk/Source/WebKit/chromium/ChangeLog 2012-09-10 18:50:54 UTC (rev 128086)
+++ trunk/Source/WebKit/chromium/ChangeLog 2012-09-10 19:07:48 UTC (rev 128087)
@@ -1,3 +1,23 @@
+2012-09-10 Mark Pilgrim <pilg...@chromium.org>
+
+ [Chromium] Define new setSharedWorkerRepository function in preparation for removing WebKitPlatformSupport::sharedWorkerRepository()
+ https://bugs.webkit.org/show_bug.cgi?id=95861
+
+ Reviewed by Adam Barth.
+
+ Followup patch to Chromium will call this new function, then we can remove all references to the legacy function on WebKitPlatformSupport.
+
+ * public/WebSharedWorkerRepository.h:
+ (WebKit):
+ * src/SharedWorkerRepository.cpp:
+ (WebKit):
+ (WebKit::setSharedWorkerRepository):
+ (WebKit::sharedWorkerRepository):
+ (WebCore::SharedWorkerRepository::isAvailable):
+ (WebCore::SharedWorkerRepository::connect):
+ (WebCore::SharedWorkerRepository::documentDetached):
+ (WebCore::SharedWorkerRepository::hasSharedWorkers):
+
2012-09-10 Catalin Badea <ba...@adobe.com>
webkit build for 64-bit Mac chromium
Modified: trunk/Source/WebKit/chromium/public/WebSharedWorkerRepository.h (128086 => 128087)
--- trunk/Source/WebKit/chromium/public/WebSharedWorkerRepository.h 2012-09-10 18:50:54 UTC (rev 128086)
+++ trunk/Source/WebKit/chromium/public/WebSharedWorkerRepository.h 2012-09-10 19:07:48 UTC (rev 128087)
@@ -54,6 +54,9 @@
virtual bool hasSharedWorkers(DocumentID) = 0;
};
+// Initializes shared worker support.
+WEBKIT_EXPORT void setSharedWorkerRepository(WebSharedWorkerRepository*);
+
} // namespace WebKit
#endif // WebSharedWorkerRepository_h
Modified: trunk/Source/WebKit/chromium/src/SharedWorkerRepository.cpp (128086 => 128087)
--- trunk/Source/WebKit/chromium/src/SharedWorkerRepository.cpp 2012-09-10 18:50:54 UTC (rev 128086)
+++ trunk/Source/WebKit/chromium/src/SharedWorkerRepository.cpp 2012-09-10 19:07:48 UTC (rev 128087)
@@ -58,6 +58,30 @@
#include <public/WebString.h>
#include <public/WebURL.h>
+namespace WebKit {
+
+WebSharedWorkerRepository* s_sharedWorkerRepository = 0;
+
+void setSharedWorkerRepository(WebSharedWorkerRepository* repository)
+{
+ s_sharedWorkerRepository = repository;
+}
+
+static WebSharedWorkerRepository* sharedWorkerRepository()
+{
+ WebSharedWorkerRepository* repository;
+
+ repository = s_sharedWorkerRepository;
+ if (!repository) {
+ repository = webKitPlatformSupport()->sharedWorkerRepository();
+ setSharedWorkerRepository(repository);
+ }
+
+ return repository;
+}
+
+}
+
namespace WebCore {
class Document;
@@ -194,8 +218,9 @@
bool SharedWorkerRepository::isAvailable()
{
- // Allow the WebKitPlatformSupport to determine if SharedWorkers are available.
- return WebKit::webKitPlatformSupport()->sharedWorkerRepository();
+ // Allow the WebKitPlatformSupport to determine if SharedWorkers
+ // are available.
+ return WebKit::sharedWorkerRepository();
}
static WebSharedWorkerRepository::DocumentID getId(void* document)
@@ -206,9 +231,11 @@
void SharedWorkerRepository::connect(PassRefPtr<SharedWorker> worker, PassOwnPtr<MessagePortChannel> port, const KURL& url, const String& name, ExceptionCode& ec)
{
+ WebKit::WebSharedWorkerRepository* repository = WebKit::sharedWorkerRepository();
+
// This should not be callable unless there's a SharedWorkerRepository for
// this context (since isAvailable() should have returned null).
- ASSERT(WebKit::webKitPlatformSupport()->sharedWorkerRepository());
+ ASSERT(repository);
// No nested workers (for now) - connect() should only be called from document context.
ASSERT(worker->scriptExecutionContext()->isDocument());
@@ -223,8 +250,7 @@
return;
}
- WebKit::webKitPlatformSupport()->sharedWorkerRepository()->addSharedWorker(
- webWorker.get(), getId(document));
+ repository->addSharedWorker(webWorker.get(), getId(document));
// The loader object manages its own lifecycle (and the lifecycles of the two worker objects).
// It will free itself once loading is completed.
@@ -234,10 +260,11 @@
void SharedWorkerRepository::documentDetached(Document* document)
{
- WebSharedWorkerRepository* repo = WebKit::webKitPlatformSupport()->sharedWorkerRepository();
- if (repo)
- repo->documentDetached(getId(document));
+ WebKit::WebSharedWorkerRepository* repository = WebKit::sharedWorkerRepository();
+ if (repository)
+ repository->documentDetached(getId(document));
+
// Stop the creation of any pending SharedWorkers for this context.
// FIXME: Need a way to invoke this for WorkerContexts as well when we support for nested workers.
SharedWorkerScriptLoader::stopAllLoadersForContext(document);
@@ -245,12 +272,11 @@
bool SharedWorkerRepository::hasSharedWorkers(Document* document)
{
- WebSharedWorkerRepository* repo = WebKit::webKitPlatformSupport()->sharedWorkerRepository();
- return repo && repo->hasSharedWorkers(getId(document));
+ WebKit::WebSharedWorkerRepository* repository = WebKit::sharedWorkerRepository();
+
+ return repository && repository->hasSharedWorkers(getId(document));
}
-
-
} // namespace WebCore
#endif // ENABLE(SHARED_WORKERS)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes