Title: [145466] trunk/Source/WebCore
Revision
145466
Author
[email protected]
Date
2013-03-11 19:24:17 -0700 (Mon, 11 Mar 2013)

Log Message

Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
https://bugs.webkit.org/show_bug.cgi?id=100418

Reviewed by Sam Weinig.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
Added SharedWorkerRepository.cpp.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
then excluded, but did the same with the new SharedWorkerRepository.cpp, which
just contains some code moved from that file.

* workers/DefaultSharedWorkerRepository.cpp:
(WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
chromium doesn't compile this file.
(WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
seemingly wrong code.

* workers/SharedWorkerRepository.cpp: Added.
(WebCore::SharedWorkerRepository::isAvailable):
(WebCore::SharedWorkerRepository::connect):
(WebCore::SharedWorkerRepository::documentDetached):
(WebCore::SharedWorkerRepository::hasSharedWorkers):
Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (145465 => 145466)


--- trunk/Source/WebCore/CMakeLists.txt	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/CMakeLists.txt	2013-03-12 02:24:17 UTC (rev 145466)
@@ -2523,6 +2523,7 @@
     workers/DefaultSharedWorkerRepository.cpp
     workers/SharedWorker.cpp
     workers/SharedWorkerContext.cpp
+    workers/SharedWorkerRepository.cpp
     workers/SharedWorkerThread.cpp
     workers/Worker.cpp
     workers/WorkerContext.cpp

Modified: trunk/Source/WebCore/ChangeLog (145465 => 145466)


--- trunk/Source/WebCore/ChangeLog	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/ChangeLog	2013-03-12 02:24:17 UTC (rev 145466)
@@ -1,3 +1,37 @@
+2013-03-11  Alexey Proskuryakov  <[email protected]>
+
+        Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
+        https://bugs.webkit.org/show_bug.cgi?id=100418
+
+        Reviewed by Sam Weinig.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Target.pri:
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        Added SharedWorkerRepository.cpp.
+
+        * WebCore.gyp/WebCore.gyp:
+        * WebCore.gypi:
+        Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
+        WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
+        then excluded, but did the same with the new SharedWorkerRepository.cpp, which
+        just contains some code moved from that file.
+
+        * workers/DefaultSharedWorkerRepository.cpp:
+        (WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
+        chromium doesn't compile this file.
+        (WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
+        seemingly wrong code.
+
+        * workers/SharedWorkerRepository.cpp: Added.
+        (WebCore::SharedWorkerRepository::isAvailable):
+        (WebCore::SharedWorkerRepository::connect):
+        (WebCore::SharedWorkerRepository::documentDetached):
+        (WebCore::SharedWorkerRepository::hasSharedWorkers):
+        Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.
+
 2013-03-11  Adam Barth  <[email protected]>
 
         Make BackgroundHTMLParser work with doc.writes that enter or leave foreign content

Modified: trunk/Source/WebCore/GNUmakefile.list.am (145465 => 145466)


--- trunk/Source/WebCore/GNUmakefile.list.am	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/GNUmakefile.list.am	2013-03-12 02:24:17 UTC (rev 145466)
@@ -4720,6 +4720,7 @@
 	Source/WebCore/workers/SharedWorkerContext.h \
 	Source/WebCore/workers/SharedWorker.cpp \
 	Source/WebCore/workers/SharedWorker.h \
+	Source/WebCore/workers/SharedWorkerRepository.cpp \
 	Source/WebCore/workers/SharedWorkerRepository.h \
 	Source/WebCore/workers/SharedWorkerStrategy.h \
 	Source/WebCore/workers/SharedWorkerThread.cpp \

Modified: trunk/Source/WebCore/Target.pri (145465 => 145466)


--- trunk/Source/WebCore/Target.pri	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/Target.pri	2013-03-12 02:24:17 UTC (rev 145466)
@@ -3267,6 +3267,7 @@
         workers/DefaultSharedWorkerRepository.cpp \
         workers/SharedWorker.cpp \
         workers/SharedWorkerContext.cpp \
+        workers/SharedWorkerRepository.cpp \
         workers/SharedWorkerThread.cpp
 }
 

Modified: trunk/Source/WebCore/WebCore.gyp/WebCore.gyp (145465 => 145466)


--- trunk/Source/WebCore/WebCore.gyp/WebCore.gyp	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/WebCore.gyp/WebCore.gyp	2013-03-12 02:24:17 UTC (rev 145466)
@@ -2131,6 +2131,7 @@
         ['exclude', 'storage/StorageThread\\.(cpp|h)$'],
         ['exclude', 'storage/StorageTracker\\.(cpp|h)$'],
         ['exclude', 'storage/StorageTrackerClient\\.h$'],
+        ['exclude', 'workers/SharedWorkerRepository\\.cpp$'],
         ['exclude', 'workers/DefaultSharedWorkerRepository\\.(cpp|h)$'],
 
         ['include', 'loader/appcache/ApplicationCacheHost\.h$'],

Modified: trunk/Source/WebCore/WebCore.gypi (145465 => 145466)


--- trunk/Source/WebCore/WebCore.gypi	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/WebCore.gypi	2013-03-12 02:24:17 UTC (rev 145466)
@@ -2741,6 +2741,7 @@
             'workers/SharedWorker.h',
             'workers/SharedWorkerContext.cpp',
             'workers/SharedWorkerContext.h',
+            'workers/SharedWorkerRepository.cpp',
             'workers/SharedWorkerRepository.h',
             'workers/SharedWorkerThread.cpp',
             'workers/SharedWorkerThread.h',

Modified: trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj (145465 => 145466)


--- trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj	2013-03-12 02:24:17 UTC (rev 145466)
@@ -56703,6 +56703,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\workers\SharedWorkerRepository.cpp"
+				>
+			</File>
+			<File
 				RelativePath="..\workers\SharedWorkerRepository.h"
 				>
 			</File>

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (145465 => 145466)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-03-12 02:24:17 UTC (rev 145466)
@@ -6270,6 +6270,7 @@
 		E1B25107152A0BB00069B779 /* StylePropertyShorthand.h in Headers */ = {isa = PBXBuildFile; fileRef = E1B25105152A0BAF0069B779 /* StylePropertyShorthand.h */; };
 		E1B4CD2510B322E200BFFD7E /* CredentialStorageMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1B4CD2410B322E200BFFD7E /* CredentialStorageMac.mm */; };
 		E1B7839C163740A70007B692 /* SharedWorkerStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = E1B7839B163740A70007B692 /* SharedWorkerStrategy.h */; settings = {ATTRIBUTES = (Private, ); }; };
+		E1B784201639CBBE0007B692 /* SharedWorkerRepository.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1B7841F1639CBBE0007B692 /* SharedWorkerRepository.cpp */; };
 		E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E1BE512B0CF6C512002EA959 /* XSLTUnicodeSort.cpp */; };
 		E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */ = {isa = PBXBuildFile; fileRef = E1BE512C0CF6C512002EA959 /* XSLTUnicodeSort.h */; };
 		E1C2F24A1533A2120083F974 /* SettingsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C2F2481533A2120083F974 /* SettingsMac.mm */; };
@@ -13981,6 +13982,7 @@
 		E1B25105152A0BAF0069B779 /* StylePropertyShorthand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StylePropertyShorthand.h; sourceTree = "<group>"; };
 		E1B4CD2410B322E200BFFD7E /* CredentialStorageMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CredentialStorageMac.mm; sourceTree = "<group>"; };
 		E1B7839B163740A70007B692 /* SharedWorkerStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SharedWorkerStrategy.h; path = workers/SharedWorkerStrategy.h; sourceTree = "<group>"; };
+		E1B7841F1639CBBE0007B692 /* SharedWorkerRepository.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SharedWorkerRepository.cpp; path = workers/SharedWorkerRepository.cpp; sourceTree = "<group>"; };
 		E1BE512B0CF6C512002EA959 /* XSLTUnicodeSort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XSLTUnicodeSort.cpp; sourceTree = "<group>"; };
 		E1BE512C0CF6C512002EA959 /* XSLTUnicodeSort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XSLTUnicodeSort.h; sourceTree = "<group>"; };
 		E1C2F2481533A2120083F974 /* SettingsMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SettingsMac.mm; sourceTree = "<group>"; };
@@ -15522,6 +15524,7 @@
 				41D168DF10226E89009BC827 /* SharedWorkerContext.cpp */,
 				41D168E010226E89009BC827 /* SharedWorkerContext.h */,
 				41D168E110226E89009BC827 /* SharedWorkerContext.idl */,
+				E1B7841F1639CBBE0007B692 /* SharedWorkerRepository.cpp */,
 				41D168E210226E89009BC827 /* SharedWorkerRepository.h */,
 				E1B7839B163740A70007B692 /* SharedWorkerStrategy.h */,
 				41D168E510226E89009BC827 /* SharedWorkerThread.cpp */,
@@ -29366,6 +29369,7 @@
 				93309EA2099EB78C0056E581 /* SharedTimerMac.mm in Sources */,
 				41E1B1D30FF5986900576B3B /* SharedWorker.cpp in Sources */,
 				41D168E710226E89009BC827 /* SharedWorkerContext.cpp in Sources */,
+				E1B784201639CBBE0007B692 /* SharedWorkerRepository.cpp in Sources */,
 				41D168ED10226E89009BC827 /* SharedWorkerThread.cpp in Sources */,
 				B2C3DA640D006CD600EF6F26 /* SimpleFontData.cpp in Sources */,
 				163E88F7118A39D200ED9231 /* SimpleFontDataCoreText.cpp in Sources */,

Modified: trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp (145465 => 145466)


--- trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp	2013-03-12 02:18:02 UTC (rev 145465)
+++ trunk/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp	2013-03-12 02:24:17 UTC (rev 145466)
@@ -315,7 +315,7 @@
 
     // Mark this object as active for the duration of the load.
     m_scriptLoader = WorkerScriptLoader::create();
-#if PLATFORM(CHROMIUM) || PLATFORM(BLACKBERRY)
+#if PLATFORM(BLACKBERRY)
     m_scriptLoader->setTargetType(ResourceRequest::TargetIsSharedWorker);
 #endif
     m_scriptLoader->loadAsynchronously(m_worker->scriptExecutionContext(), url, DenyCrossOriginRequests, this);
@@ -366,27 +366,6 @@
     proxy.thread()->runLoop().postTask(SharedWorkerConnectTask::create(port));
 }
 
-bool SharedWorkerRepository::isAvailable()
-{
-    // SharedWorkers are enabled on the default WebKit platform.
-    return true;
-}
-
-void SharedWorkerRepository::connect(PassRefPtr<SharedWorker> worker, PassOwnPtr<MessagePortChannel> port, const KURL& url, const String& name, ExceptionCode& ec)
-{
-    DefaultSharedWorkerRepository::instance().connectToWorker(worker, port, url, name, ec);
-}
-
-void SharedWorkerRepository::documentDetached(Document* document)
-{
-    DefaultSharedWorkerRepository::instance().documentDetached(document);
-}
-
-bool SharedWorkerRepository::hasSharedWorkers(Document* document)
-{
-    return DefaultSharedWorkerRepository::instance().hasSharedWorkers(document);
-}
-
 bool DefaultSharedWorkerRepository::hasSharedWorkers(Document* document)
 {
     MutexLocker lock(m_lock);
@@ -421,7 +400,10 @@
     ASSERT(worker->scriptExecutionContext()->securityOrigin()->canAccess(SecurityOrigin::create(url).get()));
     // Fetch a proxy corresponding to this SharedWorker.
     RefPtr<SharedWorkerProxy> proxy = getProxy(name, url);
+
+    // FIXME: Why is this done even if we are raising an exception below?
     proxy->addToWorkerDocuments(worker->scriptExecutionContext());
+
     if (proxy->url() != url) {
         // Proxy already existed under alternate URL - return an error.
         ec = URL_MISMATCH_ERR;

Added: trunk/Source/WebCore/workers/SharedWorkerRepository.cpp (0 => 145466)


--- trunk/Source/WebCore/workers/SharedWorkerRepository.cpp	                        (rev 0)
+++ trunk/Source/WebCore/workers/SharedWorkerRepository.cpp	2013-03-12 02:24:17 UTC (rev 145466)
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(SHARED_WORKERS)
+
+#include "SharedWorkerRepository.h"
+
+#include "DefaultSharedWorkerRepository.h"
+#include "MessagePortChannel.h"
+#include "SharedWorker.h"
+
+namespace WebCore {
+
+bool SharedWorkerRepository::isAvailable()
+{
+    // SharedWorkers are enabled on the default WebKit platform.
+    return true;
+}
+
+void SharedWorkerRepository::connect(PassRefPtr<SharedWorker> worker, PassOwnPtr<MessagePortChannel> port, const KURL& url, const String& name, ExceptionCode& ec)
+{
+    DefaultSharedWorkerRepository::instance().connectToWorker(worker, port, url, name, ec);
+}
+
+void SharedWorkerRepository::documentDetached(Document* document)
+{
+    DefaultSharedWorkerRepository::instance().documentDetached(document);
+}
+
+bool SharedWorkerRepository::hasSharedWorkers(Document* document)
+{
+    return DefaultSharedWorkerRepository::instance().hasSharedWorkers(document);
+}
+
+}
+
+#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to