Changeset 84789 in webkit
- Timestamp:
- Apr 25, 2011 11:56:02 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r84780 r84789 1 2011-04-25 Geoffrey Garen <ggaren@apple.com> 2 3 Reviewed by Oliver Hunt. 4 5 Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts 6 https://bugs.webkit.org/show_bug.cgi?id=59333 7 8 * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing. 9 10 * bindings/js/JSDOMBinding.cpp: 11 * bindings/js/JSDOMBinding.h: 12 * bindings/js/JSDocumentCustom.cpp: 13 * bindings/js/JSWorkerContextCustom.cpp: 14 (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions. 15 16 * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject 17 lifetime management. 18 19 * dom/Document.idl: No need for a custom mark function anymore, since 20 ActiveDOMObjets now manage their own lifetimes. 21 22 * dom/MessagePort.cpp: 23 (WebCore::MessagePort::hasPendingActivity): Correctly report that we 24 have pending activity when we're remotely entangled, instead of relying 25 on our clients to know this about us and do the check for us. 26 27 * dom/MessagePort.h: FIXME! 28 29 * dom/MessagePort.idl: 30 * fileapi/DOMFileSystem.idl: 31 * fileapi/FileReader.idl: 32 * fileapi/FileWriter.idl: 33 * notifications/Notification.idl: 34 * notifications/NotificationCenter.idl: 35 * page/EventSource.idl: 36 * storage/IDBDatabase.idl: 37 * storage/IDBRequest.idl: 38 * storage/IDBTransaction.idl: 39 * webaudio/AudioContext.idl: 40 * websockets/WebSocket.idl: 41 * workers/AbstractWorker.idl: 42 * workers/SharedWorker.idl: 43 * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management. 44 45 * workers/WorkerContext.cpp: 46 (WebCore::WorkerContext::hasPendingActivity): No need to make up for 47 MessagePort::hasPendingActivity being wrong anymore, since it's now right. 48 49 * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management. 50 1 51 2011-04-25 Yury Semikhatsky <yurys@chromium.org> 2 52 -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r84773 r84789 6772 6772 14993BE40B2F2B1C0050497F /* FocusController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = FocusController.h; sourceTree = "<group>"; }; 6773 6773 14A98E05136386A200C9FED2 /* Blob.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Blob.idl; path = ../../../webkit/Source/WebCore/fileapi/Blob.idl; sourceTree = SOURCE_ROOT; }; 6774 14BDF5971365392C00148393 /* DOMFileSystem.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = DOMFileSystem.idl; path = ../../../webkit/Source/WebCore/fileapi/DOMFileSystem.idl; sourceTree = SOURCE_ROOT; }; 6775 14BDF59A1365399100148393 /* FileReader.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = FileReader.idl; path = ../../../webkit/Source/WebCore/fileapi/FileReader.idl; sourceTree = SOURCE_ROOT; }; 6776 14BDF59C136539BE00148393 /* FileWriter.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = FileWriter.idl; path = ../../../webkit/Source/WebCore/fileapi/FileWriter.idl; sourceTree = SOURCE_ROOT; }; 6774 6777 14C9A5E90B3D105F005A0232 /* Settings.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Settings.cpp; sourceTree = "<group>"; }; 6775 6778 14CD8D81106B529000A46D23 /* JSSharedWorkerCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSSharedWorkerCustom.cpp; sourceTree = "<group>"; }; … … 16277 16280 8987853F122CA064003AABDA /* DOMFileSystem.cpp */, 16278 16281 89878540122CA064003AABDA /* DOMFileSystem.h */, 16282 14BDF5971365392C00148393 /* DOMFileSystem.idl */, 16279 16283 893C47F41248BD39002B3D86 /* DOMFileSystemBase.cpp */, 16280 16284 893C47F51248BD39002B3D86 /* DOMFileSystemBase.h */, … … 16308 16312 976D6C69122B8A3D001FD1F7 /* FileReader.cpp */, 16309 16313 976D6C6A122B8A3D001FD1F7 /* FileReader.h */, 16314 14BDF59A1365399100148393 /* FileReader.idl */, 16310 16315 2E75841A12779ADA0062628B /* FileReaderLoader.cpp */, 16311 16316 2E75841B12779ADA0062628B /* FileReaderLoader.h */, … … 16323 16328 976D6C71122B8A3D001FD1F7 /* FileWriter.cpp */, 16324 16329 976D6C72122B8A3D001FD1F7 /* FileWriter.h */, 16330 14BDF59C136539BE00148393 /* FileWriter.idl */, 16325 16331 46BC724B129B104C0071C07E /* FileWriterBase.cpp */, 16326 16332 46BC724C129B104C0071C07E /* FileWriterBase.h */, -
trunk/Source/WebCore/bindings/js/JSDOMBinding.cpp
r84556 r84789 1 1 /* 2 2 * Copyright (C) 1999-2001 Harri Porten (porten@kde.org) 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 4 4 * Copyright (C) 2007 Samuel Weinig <sam@webkit.org> 5 5 * … … 22 22 #include "JSDOMBinding.h" 23 23 24 #include "debugger/DebuggerCallFrame.h"25 26 #include "ActiveDOMObject.h"27 24 #include "DOMCoreException.h" 28 25 #include "DOMObjectHashTableMap.h" 29 #include "Document.h"30 26 #include "EventException.h" 31 27 #include "ExceptionBase.h" 32 #include " ExceptionCode.h"28 #include "FileException.h" 33 29 #include "Frame.h" 34 #include "HTMLAudioElement.h" 35 #include "HTMLCanvasElement.h" 36 #include "HTMLFrameElementBase.h" 37 #include "HTMLImageElement.h" 38 #include "HTMLLinkElement.h" 39 #include "HTMLNames.h" 40 #include "HTMLScriptElement.h" 41 #include "HTMLStyleElement.h" 30 #include "IDBDatabaseException.h" 42 31 #include "JSDOMCoreException.h" 43 32 #include "JSDOMWindowCustom.h" 44 33 #include "JSEventException.h" 45 34 #include "JSExceptionBase.h" 46 #include "JS MainThreadExecState.h"35 #include "JSFileException.h" 47 36 #include "JSRangeException.h" 37 #include "JSSQLException.h" 38 #include "JSSVGException.h" 48 39 #include "JSXMLHttpRequestException.h" 49 #include "KURL.h" 50 #include "MessagePort.h" 51 #include "ProcessingInstruction.h" 40 #include "JSXPathException.h" 52 41 #include "RangeException.h" 53 #include "ScriptCachedFrameData.h" 42 #include "SQLException.h" 43 #include "SVGException.h" 54 44 #include "ScriptCallStack.h" 55 #include "ScriptController.h"56 #include "Settings.h"57 #include "WebCoreJSClientData.h"58 45 #include "XMLHttpRequestException.h" 46 #include "XPathException.h" 59 47 #include <runtime/DateInstance.h> 60 48 #include <runtime/Error.h> 61 49 #include <runtime/JSFunction.h> 62 #include <wtf/MathExtras.h>63 #include <wtf/StdLibExtras.h>64 65 #if ENABLE(SVG)66 #include "JSSVGException.h"67 #include "SVGException.h"68 #endif69 70 #if ENABLE(XPATH)71 #include "JSXPathException.h"72 #include "XPathException.h"73 #endif74 75 #if ENABLE(DATABASE)76 #include "JSSQLException.h"77 #include "SQLException.h"78 #endif79 80 #if ENABLE(BLOB) || ENABLE(FILE_SYSTEM)81 #include "FileException.h"82 #include "JSFileException.h"83 #endif84 85 #if ENABLE(INDEXED_DATABASE)86 #include "IDBDatabaseException.h"87 #include "JSIDBDatabaseException.h"88 #endif89 50 90 51 using namespace JSC; … … 92 53 namespace WebCore { 93 54 94 using namespace HTMLNames;95 96 class JSGlobalDataWorldIterator {97 public:98 JSGlobalDataWorldIterator(JSGlobalData* globalData)99 : m_pos(static_cast<WebCoreJSClientData*>(globalData->clientData)->m_worldSet.begin())100 , m_end(static_cast<WebCoreJSClientData*>(globalData->clientData)->m_worldSet.end())101 {102 }103 104 operator bool()105 {106 return m_pos != m_end;107 }108 109 DOMWrapperWorld* operator*()110 {111 ASSERT(m_pos != m_end);112 return *m_pos;113 }114 115 DOMWrapperWorld* operator->()116 {117 ASSERT(m_pos != m_end);118 return *m_pos;119 }120 121 JSGlobalDataWorldIterator& operator++()122 {123 ++m_pos;124 return *this;125 }126 127 private:128 HashSet<DOMWrapperWorld*>::iterator m_pos;129 HashSet<DOMWrapperWorld*>::iterator m_end;130 };131 132 55 const JSC::HashTable* getHashTableForGlobalData(JSGlobalData& globalData, const JSC::HashTable* staticTable) 133 56 { 134 57 return DOMObjectHashTableMap::mapFor(globalData).get(staticTable); 135 }136 137 void visitActiveObjectsForContext(SlotVisitor& visitor, JSGlobalData& globalData, ScriptExecutionContext* scriptExecutionContext)138 {139 // If an element has pending activity that may result in event listeners being called140 // (e.g. an XMLHttpRequest), we need to keep JS wrappers alive.141 142 const HashMap<ActiveDOMObject*, void*>& activeObjects = scriptExecutionContext->activeDOMObjects();143 HashMap<ActiveDOMObject*, void*>::const_iterator activeObjectsEnd = activeObjects.end();144 for (HashMap<ActiveDOMObject*, void*>::const_iterator iter = activeObjects.begin(); iter != activeObjectsEnd; ++iter) {145 if (iter->first->hasPendingActivity()) {146 // Generally, an active object with pending activity must have a wrapper to mark its listeners.147 // However, some ActiveDOMObjects don't have JS wrappers.148 markDOMObjectWrapper(visitor, globalData, iter->second);149 }150 }151 152 const HashSet<MessagePort*>& messagePorts = scriptExecutionContext->messagePorts();153 HashSet<MessagePort*>::const_iterator portsEnd = messagePorts.end();154 for (HashSet<MessagePort*>::const_iterator iter = messagePorts.begin(); iter != portsEnd; ++iter) {155 // If the message port is remotely entangled, then always mark it as in-use because we can't determine reachability across threads.156 if (!(*iter)->locallyEntangledPort() || (*iter)->hasPendingActivity())157 markDOMObjectWrapper(visitor, globalData, *iter);158 }159 }160 161 void markDOMObjectWrapper(SlotVisitor& visitor, JSGlobalData& globalData, void* object)162 {163 // FIXME: This could be changed to only mark wrappers that are "observable"164 // as markDOMNodesForDocument does, allowing us to collect more wrappers,165 // but doing this correctly would be challenging.166 if (!object)167 return;168 169 for (JSGlobalDataWorldIterator worldIter(&globalData); worldIter; ++worldIter) {170 if (JSDOMWrapper* wrapper = worldIter->m_wrappers.get(object).get())171 visitor.deprecatedAppend(reinterpret_cast<JSCell**>(&wrapper));172 }173 58 } 174 59 -
trunk/Source/WebCore/bindings/js/JSDOMBinding.h
r84764 r84789 117 117 }; 118 118 119 void visitActiveObjectsForContext(JSC::SlotVisitor&, JSC::JSGlobalData&, ScriptExecutionContext*);120 void markDOMObjectWrapper(JSC::SlotVisitor&, JSC::JSGlobalData&, void*);121 122 119 JSC::Structure* getCachedDOMStructure(JSDOMGlobalObject*, const JSC::ClassInfo*); 123 120 JSC::Structure* cacheDOMStructure(JSDOMGlobalObject*, JSC::Structure*, const JSC::ClassInfo*); -
trunk/Source/WebCore/bindings/js/JSDocumentCustom.cpp
r84665 r84789 1 1 /* 2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved.2 * Copyright (C) 2007, 2008, 2009, 2011 Apple Inc. All rights reserved. 3 3 * 4 4 * This library is free software; you can redistribute it and/or … … 48 48 49 49 namespace WebCore { 50 51 void JSDocument::visitChildren(SlotVisitor& visitor)52 {53 JSNode::visitChildren(visitor);54 55 Document* document = impl();56 JSGlobalData& globalData = *Heap::heap(this)->globalData();57 58 visitActiveObjectsForContext(visitor, globalData, document);59 }60 50 61 51 JSValue JSDocument::location(ExecState* exec) const -
trunk/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp
r84764 r84789 1 1 /* 2 * Copyright (C) 2008, 2009 Apple Inc. All Rights Reserved.2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All Rights Reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 57 57 { 58 58 Base::visitChildren(visitor); 59 60 JSGlobalData& globalData = this->globalData();61 62 visitActiveObjectsForContext(visitor, globalData, scriptExecutionContext());63 59 64 60 if (WorkerLocation* location = impl()->optionalLocation()) -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r84764 r84789 915 915 } 916 916 917 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} || $dataNode->extendedAttributes->{"CustomIsReachable"} || $dataNode->extendedAttributes->{"CustomFinalize"}) { 917 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} || 918 $dataNode->extendedAttributes->{"CustomIsReachable"} || 919 $dataNode->extendedAttributes->{"CustomFinalize"} || 920 $dataNode->extendedAttributes->{"ActiveDOMObject"}) { 918 921 push(@headerContent, "class JS${implType}Owner : public JSC::WeakHandleOwner {\n"); 919 922 push(@headerContent, " virtual bool isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown>, void* context, JSC::SlotVisitor&);\n"); … … 2127 2130 } 2128 2131 2129 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} ) {2132 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} || $dataNode->extendedAttributes->{"ActiveDOMObject"}) { 2130 2133 push(@implContent, "static inline bool isObservable(JS${implType}* js${implType})\n"); 2131 2134 push(@implContent, "{\n"); … … 2139 2142 push(@implContent, "}\n\n"); 2140 2143 2141 my $rootString;2142 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "Impl") {2143 $rootString = " ${implType}* root = js${implType}->impl();\n";2144 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplContext") {2145 $rootString = " WebGLRenderingContext* root = js${implType}->impl()->context();\n";2146 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplFrame") {2147 $rootString = " Frame* root = js${implType}->impl()->frame();\n";2148 $rootString .= " if (!root)\n";2149 $rootString .= " return false;\n";2150 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplDocument") {2151 $rootString = " Document* root = js${implType}->impl()->document();\n";2152 $rootString .= " if (!root)\n";2153 $rootString .= " return false;\n";2154 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplElementRoot") {2155 $rootString = " Element* element = js${implType}->impl()->element();\n";2156 $rootString .= " if (!element)\n";2157 $rootString .= " return false;\n";2158 $rootString .= " void* root = WebCore::root(element);\n";2159 } elsif ($interfaceName eq "CanvasRenderingContext") {2160 $rootString = " void* root = WebCore::root(js${implType}->impl()->canvas());\n";2161 } elsif ($interfaceName eq "HTMLCollection") {2162 $rootString = " void* root = WebCore::root(js${implType}->impl()->base());\n";2163 } else {2164 $rootString = " void* root = WebCore::root(js${implType}->impl());\n";2165 }2166 2167 2144 push(@implContent, "bool JS${implType}Owner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor)\n"); 2168 2145 push(@implContent, "{\n"); 2169 2146 push(@implContent, " JS${implType}* js${implType} = static_cast<JS${implType}*>(handle.get().asCell());\n"); 2147 # Not all ActiveDOMObjects with pending activity maintain their reference 2148 # counts correctly, so JavaScript wrappers must unconditionally keep 2149 # ActiveDOMObjects with pending activity alive. 2150 # FIXME: Fix this lifetime issue in the DOM, and move this hasPendingActivity 2151 # check below the isObservable check. 2152 if ($dataNode->extendedAttributes->{"ActiveDOMObject"}) { 2153 push(@implContent, " if (js${implType}->impl()->hasPendingActivity())\n"); 2154 push(@implContent, " return true;\n"); 2155 } 2170 2156 push(@implContent, " if (!isObservable(js${implType}))\n"); 2171 2157 push(@implContent, " return false;\n"); 2172 push(@implContent, $rootString); 2173 push(@implContent, " return visitor.containsOpaqueRoot(root);\n"); 2158 if ($dataNode->extendedAttributes->{"GenerateIsReachable"}) { 2159 my $rootString; 2160 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "Impl") { 2161 $rootString = " ${implType}* root = js${implType}->impl();\n"; 2162 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplContext") { 2163 $rootString = " WebGLRenderingContext* root = js${implType}->impl()->context();\n"; 2164 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplFrame") { 2165 $rootString = " Frame* root = js${implType}->impl()->frame();\n"; 2166 $rootString .= " if (!root)\n"; 2167 $rootString .= " return false;\n"; 2168 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplDocument") { 2169 $rootString = " Document* root = js${implType}->impl()->document();\n"; 2170 $rootString .= " if (!root)\n"; 2171 $rootString .= " return false;\n"; 2172 } elsif ($dataNode->extendedAttributes->{"GenerateIsReachable"} eq "ImplElementRoot") { 2173 $rootString = " Element* element = js${implType}->impl()->element();\n"; 2174 $rootString .= " if (!element)\n"; 2175 $rootString .= " return false;\n"; 2176 $rootString .= " void* root = WebCore::root(element);\n"; 2177 } elsif ($interfaceName eq "CanvasRenderingContext") { 2178 $rootString = " void* root = WebCore::root(js${implType}->impl()->canvas());\n"; 2179 } elsif ($interfaceName eq "HTMLCollection") { 2180 $rootString = " void* root = WebCore::root(js${implType}->impl()->base());\n"; 2181 } else { 2182 $rootString = " void* root = WebCore::root(js${implType}->impl());\n"; 2183 } 2184 2185 push(@implContent, $rootString); 2186 push(@implContent, " return visitor.containsOpaqueRoot(root);\n"); 2187 } else { 2188 push(@implContent, " UNUSED_PARAM(visitor);\n"); 2189 push(@implContent, " return false;\n"); 2190 } 2174 2191 push(@implContent, "}\n\n"); 2175 2192 } 2176 2193 2177 if ($dataNode->extendedAttributes->{"GenerateIsReachable"} || $dataNode->extendedAttributes->{"CustomIsReachable"} && !$dataNode->extendedAttributes->{"CustomFinalize"}) { 2194 if (!$dataNode->extendedAttributes->{"CustomFinalize"} && 2195 ($dataNode->extendedAttributes->{"GenerateIsReachable"} || 2196 $dataNode->extendedAttributes->{"CustomIsReachable"} || 2197 $dataNode->extendedAttributes->{"ActiveDOMObject"})) { 2178 2198 push(@implContent, "void JS${implType}Owner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)\n"); 2179 2199 push(@implContent, "{\n"); -
trunk/Source/WebCore/dom/Document.idl
r83213 r84789 1 1 /* 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.2 * Copyright (C) 2006, 2007, 2011 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2006, 2007 Samuel Weinig <sam@webkit.org> 4 4 * … … 24 24 CustomToJS, 25 25 GenerateNativeConverter, 26 CustomMarkFunction,27 26 InlineGetOwnPropertySlot 28 27 ] Document : Node { -
trunk/Source/WebCore/dom/MessagePort.cpp
r83900 r84789 193 193 // The spec says that entangled message ports should always be treated as if they have a strong reference. 194 194 // We'll also stipulate that the queue needs to be open (if the app drops its reference to the port before start()-ing it, then it's not really entangled as it's unreachable). 195 return m_started && m_entangledChannel && m_entangledChannel->hasPendingActivity(); 195 if (m_started && m_entangledChannel && m_entangledChannel->hasPendingActivity()) 196 return true; 197 if (isEntangled() && !locallyEntangledPort()) 198 return true; 199 return false; 196 200 } 197 201 -
trunk/Source/WebCore/dom/MessagePort.h
r65077 r84789 49 49 typedef Vector<RefPtr<MessagePort>, 1> MessagePortArray; 50 50 51 // FIXME: This class should inherit from ActiveDOMObject and use 52 // setPendingActivity / unsetPendingActivity instead of duplicating 53 // ActiveDOMObject's features and relying on JavaScript garbage collection 54 // to get its lifetime right. 51 55 class MessagePort : public RefCounted<MessagePort>, public EventTarget { 52 56 public: -
trunk/Source/WebCore/dom/MessagePort.idl
r84764 r84789 30 30 CustomMarkFunction, 31 31 GenerateIsReachable=Impl, 32 ActiveDOMObject, 32 33 EventTarget, 33 34 NoStaticTables -
trunk/Source/WebCore/fileapi/DOMFileSystem.idl
r67917 r84789 1 1 /* 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 32 33 interface [ 33 34 Conditional=FILE_SYSTEM, 35 ActiveDOMObject, 34 36 NoStaticTables 35 37 ] DOMFileSystem { -
trunk/Source/WebCore/fileapi/FileReader.idl
r70904 r84789 1 1 /* 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 32 33 interface [ 33 34 Conditional=BLOB, 35 ActiveDOMObject, 34 36 CanBeConstructed, 35 37 CallWith=ScriptExecutionContext, -
trunk/Source/WebCore/fileapi/FileWriter.idl
r67614 r84789 1 1 /* 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 32 33 interface [ 33 34 Conditional=FILE_SYSTEM, 35 ActiveDOMObject, 34 36 CallWith=ScriptExecutionContext, 35 37 EventTarget, -
trunk/Source/WebCore/notifications/Notification.idl
r66470 r84789 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 33 34 interface [ 34 35 Conditional=NOTIFICATIONS, 36 ActiveDOMObject, 35 37 EventTarget, 36 38 OmitConstructor -
trunk/Source/WebCore/notifications/NotificationCenter.idl
r52534 r84789 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 33 34 interface [ 34 35 Conditional=NOTIFICATIONS, 36 ActiveDOMObject, 35 37 OmitConstructor 36 38 ] NotificationCenter { -
trunk/Source/WebCore/page/EventSource.idl
r61136 r84789 1 1 /* 2 2 * Copyright (C) 2009 Ericsson AB. All rights reserved. 3 * Copyright (C) 2010 Apple Inc. All Rights Reserved.3 * Copyright (C) 2010, 2011 Apple Inc. All Rights Reserved. 4 4 * 5 5 * Redistribution and use in source and binary forms, with or without … … 34 34 interface [ 35 35 Conditional=EVENTSOURCE, 36 ActiveDOMObject, 36 37 CanBeConstructed, 37 38 CustomConstructFunction, -
trunk/Source/WebCore/storage/IDBDatabase.idl
r80183 r84789 1 1 /* 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 28 29 interface [ 29 30 Conditional=INDEXED_DATABASE, 31 ActiveDOMObject, 30 32 EventTarget 31 33 ] IDBDatabase { -
trunk/Source/WebCore/storage/IDBRequest.idl
r78525 r84789 1 1 /* 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 31 32 interface [ 32 33 Conditional=INDEXED_DATABASE, 34 ActiveDOMObject, 33 35 EventTarget 34 36 ] IDBRequest { -
trunk/Source/WebCore/storage/IDBTransaction.idl
r77689 r84789 1 1 /* 2 2 * Copyright (C) 2010 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 28 29 interface [ 29 30 Conditional=INDEXED_DATABASE, 31 ActiveDOMObject, 30 32 EventTarget 31 33 ] IDBTransaction { -
trunk/Source/WebCore/webaudio/AudioContext.idl
r82963 r84789 1 1 /* 2 2 * Copyright (C) 2010, Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 26 27 interface [ 27 28 Conditional=WEB_AUDIO, 29 ActiveDOMObject, 28 30 CanBeConstructed, 29 31 CustomConstructFunction, -
trunk/Source/WebCore/websockets/WebSocket.idl
r61390 r84789 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2010 Apple Inc. All Rights Reserved.3 * Copyright (C) 2010, 2011 Apple Inc. All Rights Reserved. 4 4 * 5 5 * Redistribution and use in source and binary forms, with or without … … 34 34 interface [ 35 35 Conditional=WEB_SOCKETS, 36 ActiveDOMObject, 36 37 CanBeConstructed, 37 38 CustomConstructFunction, -
trunk/Source/WebCore/workers/AbstractWorker.idl
r58330 r84789 1 1 /* 2 2 * Copyright (C) 2009 Google Inc. All rights reserved. 3 * Copyright (C) 2011 Apple Inc. All rights reserved. 3 4 * 4 5 * Redistribution and use in source and binary forms, with or without … … 33 34 interface [ 34 35 Conditional=WORKERS, 36 ActiveDOMObject, 35 37 CustomToJS, 36 38 EventTarget -
trunk/Source/WebCore/workers/SharedWorker.idl
r61136 r84789 34 34 interface [ 35 35 Conditional=SHARED_WORKERS, 36 ActiveDOMObject, 36 37 CanBeConstructed, 37 38 CustomConstructFunction, -
trunk/Source/WebCore/workers/Worker.idl
r61136 r84789 29 29 interface [ 30 30 Conditional=WORKERS, 31 ActiveDOMObject, 31 32 CanBeConstructed, 32 33 CustomConstructFunction, -
trunk/Source/WebCore/workers/WorkerContext.cpp
r84224 r84789 195 195 } 196 196 197 // Keep the worker active as long as there is a MessagePort with pending activity or that is remotely entangled.198 197 HashSet<MessagePort*>::const_iterator messagePortsEnd = messagePorts().end(); 199 198 for (HashSet<MessagePort*>::const_iterator iter = messagePorts().begin(); iter != messagePortsEnd; ++iter) { 200 if ((*iter)->hasPendingActivity() || ((*iter)->isEntangled() && !(*iter)->locallyEntangledPort()))199 if ((*iter)->hasPendingActivity()) 201 200 return true; 202 201 } -
trunk/Source/WebCore/xml/XMLHttpRequest.idl
r72626 r84789 1 1 /* 2 * Copyright (C) 2008 Apple Inc. All rights reserved.2 * Copyright (C) 2008, 2011 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 30 30 31 31 interface [ 32 ActiveDOMObject, 32 33 CanBeConstructed, 33 34 CustomConstructFunction,
Note: See TracChangeset
for help on using the changeset viewer.