Changeset 51374 in webkit
- Timestamp:
- Nov 24, 2009 10:01:46 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 10 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r51373 r51374 1 2009-11-24 Dmitry Titov <dimich@chromium.org> 2 3 Reviewed by David Levin. 4 5 Initial implementation of WebKitSharedScript and SharedScriptContext 6 https://bugs.webkit.org/show_bug.cgi?id=31569 7 8 No new tests since there are no bindings yet (soon to come). 9 10 * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files. 11 * WebCore.xcodeproj/project.pbxproj: 12 * dom/Document.cpp: 13 (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching. 14 * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets. 15 (WebCore::EventTarget::toWebKitSharedScript): 16 (WebCore::EventTarget::toSharedScriptContext): 17 * dom/EventTarget.h: Ditto 18 * dom/ScriptExecutionContext.h: 19 (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context. 20 21 * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading. 22 (WebCore::SharedScriptContext::SharedScriptContext): 23 (WebCore::SharedScriptContext::~SharedScriptContext): 24 (WebCore::SharedScriptContext::clearScript): 25 (WebCore::SharedScriptContext::virtualURL): 26 (WebCore::SharedScriptContext::virtualCompleteURL): 27 (WebCore::SharedScriptContext::reportException): 28 (WebCore::SharedScriptContext::addMessage): 29 (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest): 30 (WebCore::SharedScriptContext::scriptImported): 31 (WebCore::SharedScriptContext::matches): 32 (WebCore::SharedScriptContext::addToDocumentsList): 33 (WebCore::SharedScriptContext::destructionTimerFired): 34 (WebCore::SharedScriptContext::removeFromDocumentList): 35 (WebCore::SharedScriptContext::load): 36 (WebCore::SharedScriptContext::postTask): 37 (WebCore::SharedScriptContext::eventTargetData): 38 (WebCore::SharedScriptContext::ensureEventTargetData): 39 (WebCore::SharedScriptContext::scriptExecutionContext): 40 * SharedScript/SharedScriptContext.h: Added. 41 (WebCore::SharedScriptContext::create): 42 (WebCore::SharedScriptContext::isSharedScriptContext): 43 (WebCore::SharedScriptContext::userAgent): 44 (WebCore::SharedScriptContext::toSharedScriptContext): 45 (WebCore::SharedScriptContext::self): 46 (WebCore::SharedScriptContext::script): 47 (WebCore::SharedScriptContext::loaded): 48 (WebCore::SharedScriptContext::name): 49 (WebCore::SharedScriptContext::refEventTarget): 50 (WebCore::SharedScriptContext::derefEventTarget): 51 (WebCore::SharedScriptContext::refScriptExecutionContext): 52 (WebCore::SharedScriptContext::derefScriptExecutionContext): 53 * SharedScript/SharedScriptContext.idl: Added. 54 55 * SharedScript/SharedScriptController.h: 56 Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile. 57 58 * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object. 59 (WebCore::WebKitSharedScript::WebKitSharedScript): 60 (WebCore::WebKitSharedScript::~WebKitSharedScript): 61 (WebCore::WebKitSharedScript::setContext): 62 (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized. 63 (WebCore::LoadEventTask::performTask): 64 (WebCore::LoadEventTask::LoadEventTask): 65 (WebCore::WebKitSharedScript::scheduleLoadEvent): 66 * SharedScript/WebKitSharedScript.h: Added. 67 (WebCore::WebKitSharedScript::create): 68 (WebCore::WebKitSharedScript::scriptExecutionContext): 69 (WebCore::WebKitSharedScript::toWebKitSharedScript): 70 (WebCore::WebKitSharedScript::context): 71 (WebCore::WebKitSharedScript::refEventTarget): 72 (WebCore::WebKitSharedScript::derefEventTarget): 73 (WebCore::WebKitSharedScript::eventTargetData): 74 (WebCore::WebKitSharedScript::ensureEventTargetData): 75 * SharedScript/WebKitSharedScript.idl: Added. 76 77 * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts. 78 (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext. 79 (WebCore::ScriptLoader::load): 80 (WebCore::ScriptLoader::notifyFinished): 81 (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance. 82 (WebCore::WebKitSharedScriptRepository::connect): 83 (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach(). 84 (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext(). 85 (WebCore::WebKitSharedScriptRepository::connectToSharedScript): 86 (WebCore::WebKitSharedScriptRepository::getSharedScriptContext): 87 * SharedScript/WebKitSharedScriptRepository.h: Added. 88 (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository): 89 1 90 2009-11-24 Dmitry Titov <dimich@chromium.org> 2 91 -
trunk/WebCore/DerivedSources.make
r50968 r51374 40 40 $(WebCore)/page \ 41 41 $(WebCore)/plugins \ 42 $(WebCore)/SharedScript \ 42 43 $(WebCore)/storage \ 43 44 $(WebCore)/xml \ … … 233 234 RangeException \ 234 235 Rect \ 236 SharedScriptContext \ 235 237 SharedWorker \ 236 238 SharedWorkerContext \ … … 401 403 WebKitCSSMatrix \ 402 404 WebKitCSSTransformValue \ 405 WebKitSharedScript \ 403 406 WebKitPoint \ 404 407 WebKitTransitionEvent \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r51371 r51374 41925 41925 </Filter> 41926 41926 <Filter 41927 Name="SharedScript" 41928 > 41929 <File 41930 RelativePath="..\SharedScript\SharedScriptContext.cpp" 41931 > 41932 </File> 41933 <File 41934 RelativePath="..\SharedScript\SharedScriptContext.h" 41935 > 41936 </File> 41937 <File 41938 RelativePath="..\SharedScript\SharedScriptController.h" 41939 > 41940 </File> 41941 <File 41942 RelativePath="..\SharedScript\WebKitSharedScript.cpp" 41943 > 41944 </File> 41945 <File 41946 RelativePath="..\SharedScript\WebKitSharedScript.h" 41947 > 41948 </File> 41949 <File 41950 RelativePath="..\SharedScript\WebKitSharedScriptRepository.cpp" 41951 > 41952 </File> 41953 <File 41954 RelativePath="..\SharedScript\WebKitSharedScriptRepository.h" 41955 > 41956 </File> 41957 </Filter> 41958 <Filter 41927 41959 Name="storage" 41928 41960 > -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r51354 r51374 243 243 188604B30F2E654A000B6443 /* DOMTimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 188604B10F2E654A000B6443 /* DOMTimer.cpp */; }; 244 244 188604B40F2E654A000B6443 /* DOMTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = 188604B20F2E654A000B6443 /* DOMTimer.h */; }; 245 18C5FCA510A3991F0048438D /* WebKitSharedScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18C5FCA010A3991F0048438D /* WebKitSharedScript.cpp */; }; 246 18C5FCA610A3991F0048438D /* WebKitSharedScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 18C5FCA110A3991F0048438D /* WebKitSharedScript.h */; }; 247 18C5FCA710A3991F0048438D /* WebKitSharedScript.idl in Resources */ = {isa = PBXBuildFile; fileRef = 18C5FCA210A3991F0048438D /* WebKitSharedScript.idl */; }; 248 18C5FCA810A3991F0048438D /* WebKitSharedScriptRepository.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18C5FCA310A3991F0048438D /* WebKitSharedScriptRepository.cpp */; }; 249 18C5FCA910A3991F0048438D /* WebKitSharedScriptRepository.h in Headers */ = {isa = PBXBuildFile; fileRef = 18C5FCA410A3991F0048438D /* WebKitSharedScriptRepository.h */; }; 250 18C5FCB710A3C6F20048438D /* SharedScriptContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 18C5FCB410A3C6F20048438D /* SharedScriptContext.cpp */; }; 251 18C5FCB810A3C6F20048438D /* SharedScriptContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 18C5FCB510A3C6F20048438D /* SharedScriptContext.h */; }; 252 18C5FCB910A3C6F20048438D /* SharedScriptContext.idl in Resources */ = {isa = PBXBuildFile; fileRef = 18C5FCB610A3C6F20048438D /* SharedScriptContext.idl */; }; 245 253 18F831B80FD48C7800D8C56B /* WorkerLoaderProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 18F831B70FD48C7800D8C56B /* WorkerLoaderProxy.h */; }; 246 254 1A0D57360A5C77FE007EDD4C /* OverflowEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A0D57340A5C77FE007EDD4C /* OverflowEvent.cpp */; }; … … 5433 5441 188604B10F2E654A000B6443 /* DOMTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMTimer.cpp; sourceTree = "<group>"; }; 5434 5442 188604B20F2E654A000B6443 /* DOMTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMTimer.h; sourceTree = "<group>"; }; 5443 18C5FCA010A3991F0048438D /* WebKitSharedScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitSharedScript.cpp; sourceTree = "<group>"; }; 5444 18C5FCA110A3991F0048438D /* WebKitSharedScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitSharedScript.h; sourceTree = "<group>"; }; 5445 18C5FCA210A3991F0048438D /* WebKitSharedScript.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitSharedScript.idl; sourceTree = "<group>"; }; 5446 18C5FCA310A3991F0048438D /* WebKitSharedScriptRepository.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitSharedScriptRepository.cpp; sourceTree = "<group>"; }; 5447 18C5FCA410A3991F0048438D /* WebKitSharedScriptRepository.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitSharedScriptRepository.h; sourceTree = "<group>"; }; 5448 18C5FCB410A3C6F20048438D /* SharedScriptContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedScriptContext.cpp; sourceTree = "<group>"; }; 5449 18C5FCB510A3C6F20048438D /* SharedScriptContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SharedScriptContext.h; sourceTree = "<group>"; }; 5450 18C5FCB610A3C6F20048438D /* SharedScriptContext.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SharedScriptContext.idl; sourceTree = "<group>"; }; 5435 5451 18F831B70FD48C7800D8C56B /* WorkerLoaderProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WorkerLoaderProxy.h; path = workers/WorkerLoaderProxy.h; sourceTree = "<group>"; }; 5436 5452 1A0D57340A5C77FE007EDD4C /* OverflowEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = OverflowEvent.cpp; sourceTree = "<group>"; }; … … 10063 10079 5DCF83690D59157800953BC6 /* plugins */, 10064 10080 F523D2F302DE443B018635CA /* rendering */, 10081 18C5FC9F10A3991F0048438D /* SharedScript */, 10065 10082 1AE82EC90CAAE177002237AE /* storage */, 10066 10083 B22277CA0D00BF1E0071B782 /* svg */, … … 10163 10180 path = DerivedSources/WebCore; 10164 10181 sourceTree = BUILT_PRODUCTS_DIR; 10182 }; 10183 18C5FC9F10A3991F0048438D /* SharedScript */ = { 10184 isa = PBXGroup; 10185 children = ( 10186 18C5FCB410A3C6F20048438D /* SharedScriptContext.cpp */, 10187 18C5FCB510A3C6F20048438D /* SharedScriptContext.h */, 10188 18C5FCB610A3C6F20048438D /* SharedScriptContext.idl */, 10189 18C5FCA010A3991F0048438D /* WebKitSharedScript.cpp */, 10190 18C5FCA110A3991F0048438D /* WebKitSharedScript.h */, 10191 18C5FCA210A3991F0048438D /* WebKitSharedScript.idl */, 10192 18C5FCA310A3991F0048438D /* WebKitSharedScriptRepository.cpp */, 10193 18C5FCA410A3991F0048438D /* WebKitSharedScriptRepository.h */, 10194 ); 10195 path = "SharedScript"; 10196 sourceTree = "<group>"; 10165 10197 }; 10166 10198 1A2E6E560CC551E0004A2062 /* sql */ = { … … 18141 18173 1479FAF2109AE37500DED655 /* RenderRubyRun.h in Headers */, 18142 18174 1479FAF4109AE37500DED655 /* RenderRubyText.h in Headers */, 18175 18C5FCA610A3991F0048438D /* WebKitSharedScript.h in Headers */, 18176 18C5FCA910A3991F0048438D /* WebKitSharedScriptRepository.h in Headers */, 18177 18C5FCB810A3C6F20048438D /* SharedScriptContext.h in Headers */, 18143 18178 E124748410AA161D00B79493 /* AuthenticationClient.h in Headers */, 18144 18179 9382DF5810A8D5C900925652 /* ColorSpace.h in Headers */, … … 18246 18281 1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */, 18247 18282 1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */, 18283 18C5FCA710A3991F0048438D /* WebKitSharedScript.idl in Resources */, 18284 18C5FCB910A3C6F20048438D /* SharedScriptContext.idl in Resources */, 18248 18285 ); 18249 18286 runOnlyForDeploymentPostprocessing = 0; … … 20288 20325 1479FAF1109AE37500DED655 /* RenderRubyRun.cpp in Sources */, 20289 20326 1479FAF3109AE37500DED655 /* RenderRubyText.cpp in Sources */, 20327 18C5FCA510A3991F0048438D /* WebKitSharedScript.cpp in Sources */, 20328 18C5FCA810A3991F0048438D /* WebKitSharedScriptRepository.cpp in Sources */, 20329 18C5FCB710A3C6F20048438D /* SharedScriptContext.cpp in Sources */, 20290 20330 E1B4CD2510B322E200BFFD7E /* CredentialStorageMac.mm in Sources */, 20291 20331 6E47E66010B7944B00B186C8 /* WebGLGetInfo.cpp in Sources */, -
trunk/WebCore/dom/Document.cpp
r51324 r51374 144 144 #endif 145 145 146 #if ENABLE(SHARED_SCRIPT) 147 #include "WebKitSharedScriptRepository.h" 148 #endif 149 146 150 #if ENABLE(DOM_STORAGE) 147 151 #include "StorageEvent.h" … … 1441 1445 #if ENABLE(SHARED_WORKERS) 1442 1446 SharedWorkerRepository::documentDetached(this); 1447 #endif 1448 1449 #if ENABLE(SHARED_SCRIPT) 1450 WebKitSharedScriptRepository::documentDetached(this); 1443 1451 #endif 1444 1452 -
trunk/WebCore/dom/EventTarget.cpp
r50583 r51374 157 157 #endif 158 158 159 #if ENABLE(SHARED_SCRIPT) 160 WebKitSharedScript* EventTarget::toWebKitSharedScript() 161 { 162 return 0; 163 } 164 165 SharedScriptContext* EventTarget::toSharedScriptContext() 166 { 167 return 0; 168 } 169 #endif 170 159 171 bool EventTarget::addEventListener(const AtomicString& eventType, PassRefPtr<EventListener> listener, bool useCapture) 160 172 { -
trunk/WebCore/dom/EventTarget.h
r50573 r51374 60 60 class XMLHttpRequestUpload; 61 61 62 #if ENABLE(SHARED_SCRIPT) 63 class SharedScriptContext; 64 class WebKitSharedScript; 65 #endif 66 62 67 typedef int ExceptionCode; 63 68 … … 119 124 #endif 120 125 126 #if ENABLE(SHARED_SCRIPT) 127 virtual WebKitSharedScript* toWebKitSharedScript(); 128 virtual SharedScriptContext* toSharedScriptContext(); 129 #endif 130 121 131 virtual ScriptExecutionContext* scriptExecutionContext() const = 0; 122 132 -
trunk/WebCore/dom/ScriptExecutionContext.h
r51127 r51374 58 58 virtual bool isDocument() const { return false; } 59 59 virtual bool isWorkerContext() const { return false; } 60 #if ENABLE(SHARED_SCRIPT) 61 virtual bool isSharedScriptContext() const { return false; } 62 #endif 60 63 61 64 const KURL& url() const { return virtualURL(); }
Note: See TracChangeset
for help on using the changeset viewer.