Changeset 124193 in webkit
- Timestamp:
- Jul 31, 2012 4:59:37 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 9 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r124192 r124193 1 2012-07-31 Tommy Widenflycht <tommyw@google.com> 2 3 Introduce a minimal RTCPeerConnection together with Dictionary changes 4 https://bugs.webkit.org/show_bug.cgi?id=92380 5 6 Reviewed by Kentaro Hara. 7 8 * fast/mediastream/RTCPeerConnection-expected.txt: Added. 9 * fast/mediastream/RTCPeerConnection.html: Added. 10 1 11 2012-07-31 János Badics <jbadics@inf.u-szeged.hu> 2 12 -
trunk/Source/WebCore/CMakeLists.txt
r124098 r124193 207 207 Modules/mediastream/NavigatorUserMediaSuccessCallback.idl 208 208 Modules/mediastream/PeerConnection00.idl 209 Modules/mediastream/RTCPeerConnection.idl 209 210 Modules/mediastream/SessionDescription.idl 210 211 … … 826 827 Modules/mediastream/NavigatorMediaStream.cpp 827 828 Modules/mediastream/PeerConnection00.cpp 829 Modules/mediastream/RTCPeerConnection.cpp 828 830 Modules/mediastream/SessionDescription.cpp 829 831 Modules/mediastream/UserMediaController.cpp -
trunk/Source/WebCore/ChangeLog
r124186 r124193 1 2012-07-31 Tommy Widenflycht <tommyw@google.com> 2 3 Introduce a minimal RTCPeerConnection together with Dictionary changes 4 https://bugs.webkit.org/show_bug.cgi?id=92380 5 6 Reviewed by Kentaro Hara. 7 8 This patch introduces a shell RTCPeerConnection together with neccecary changes to 9 Dictionary. 10 11 The W3C specification can be found here: 12 http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcpeerconnection 13 14 Since Dictionaries can't be fully copied around adding 15 get(const String& name, Vector<Dictionary>& result) 16 isn't feasible so I have added a new ArrayValue class. 17 18 Test: fast/mediastream/RTCPeerConnection.html 19 20 * CMakeLists.txt: 21 * GNUmakefile.list.am: 22 * Modules/mediastream/DOMWindowMediaStream.idl: 23 * Modules/mediastream/RTCPeerConnection.cpp: Added. 24 (WebCore): 25 (RTCIceServer): 26 (WebCore::RTCIceServer::create): 27 (WebCore::RTCIceServer::~RTCIceServer): 28 (WebCore::RTCIceServer::uri): 29 (WebCore::RTCIceServer::credential): 30 (WebCore::RTCIceServer::RTCIceServer): 31 (RTCConfiguration): 32 (WebCore::RTCConfiguration::create): 33 (WebCore::RTCConfiguration::~RTCConfiguration): 34 (WebCore::RTCConfiguration::appendServer): 35 (WebCore::RTCConfiguration::numberOfServers): 36 (WebCore::RTCConfiguration::server): 37 (WebCore::RTCConfiguration::RTCConfiguration): 38 (WebCore::RTCPeerConnection::parseConfiguration): 39 (WebCore::RTCPeerConnection::create): 40 (WebCore::RTCPeerConnection::RTCPeerConnection): 41 (WebCore::RTCPeerConnection::~RTCPeerConnection): 42 (WebCore::RTCPeerConnection::interfaceName): 43 (WebCore::RTCPeerConnection::scriptExecutionContext): 44 (WebCore::RTCPeerConnection::stop): 45 (WebCore::RTCPeerConnection::eventTargetData): 46 (WebCore::RTCPeerConnection::ensureEventTargetData): 47 * Modules/mediastream/RTCPeerConnection.h: Added. 48 (WebCore): 49 (RTCPeerConnection): 50 (WebCore::RTCPeerConnection::refEventTarget): 51 (WebCore::RTCPeerConnection::derefEventTarget): 52 * Modules/mediastream/RTCPeerConnection.idl: Added. 53 * Target.pri: 54 * UseJSC.cmake: 55 * WebCore.gypi: 56 * WebCore.vcproj/WebCore.vcproj: 57 * WebCore.xcodeproj/project.pbxproj: 58 * bindings/generic/RuntimeEnabledFeatures.h: 59 (WebCore::RuntimeEnabledFeatures::webkitRTCPeerConnectionEnabled): 60 * bindings/js/ArrayValue.cpp: Added. 61 (WebCore): 62 (WebCore::ArrayValue::ArrayValue): 63 (WebCore::ArrayValue::operator=): 64 (WebCore::ArrayValue::isUndefinedOrNull): 65 (WebCore::ArrayValue::length): 66 (WebCore::ArrayValue::get): 67 * bindings/js/ArrayValue.h: Added. 68 (WebCore): 69 (ArrayValue): 70 * bindings/js/JSBindingsAllInOne.cpp: 71 * bindings/js/JSDictionary.cpp: 72 (WebCore::JSDictionary::convertValue): 73 (WebCore): 74 * bindings/js/JSDictionary.h: 75 (WebCore): 76 * bindings/v8/ArrayValue.cpp: Added. 77 (WebCore): 78 (WebCore::ArrayValue::operator=): 79 (WebCore::ArrayValue::isUndefinedOrNull): 80 (WebCore::ArrayValue::length): 81 (WebCore::ArrayValue::get): 82 * bindings/v8/ArrayValue.h: Added. 83 (WebCore): 84 (ArrayValue): 85 (WebCore::ArrayValue::ArrayValue): 86 (WebCore::ArrayValue::~ArrayValue): 87 * bindings/v8/Dictionary.cpp: 88 (WebCore::Dictionary::get): 89 (WebCore): 90 * bindings/v8/Dictionary.h: 91 (WebCore): 92 (Dictionary): 93 * dom/EventTargetFactory.in: 94 1 95 2012-07-31 Raul Hudea <rhudea@adobe.com> 2 96 -
trunk/Source/WebCore/GNUmakefile.list.am
r124098 r124193 492 492 DerivedSources/WebCore/JSRGBColor.cpp \ 493 493 DerivedSources/WebCore/JSRGBColor.h \ 494 DerivedSources/WebCore/JSRTCPeerConnection.cpp \ 495 DerivedSources/WebCore/JSRTCPeerConnection.h \ 494 496 DerivedSources/WebCore/JSScreen.cpp \ 495 497 DerivedSources/WebCore/JSScreen.h \ … … 716 718 $(WebCore)/Modules/mediastream/NavigatorUserMediaSuccessCallback.idl \ 717 719 $(WebCore)/Modules/mediastream/PeerConnection00.idl \ 720 $(WebCore)/Modules/mediastream/RTCPeerConnection.idl \ 718 721 $(WebCore)/Modules/mediastream/SessionDescription.idl \ 719 722 $(WebCore)/Modules/notifications/Notification.idl \ … … 1200 1203 Source/WebCore/Modules/mediastream/PeerConnection00.cpp \ 1201 1204 Source/WebCore/Modules/mediastream/PeerConnection00.h \ 1205 Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp \ 1206 Source/WebCore/Modules/mediastream/RTCPeerConnection.h \ 1202 1207 Source/WebCore/Modules/mediastream/SessionDescription.cpp \ 1203 1208 Source/WebCore/Modules/mediastream/SessionDescription.h \ … … 1365 1370 Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp \ 1366 1371 Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h \ 1372 Source/WebCore/bindings/js/ArrayValue.cpp \ 1373 Source/WebCore/bindings/js/ArrayValue.h \ 1367 1374 Source/WebCore/bindings/js/CachedScriptSourceProvider.h \ 1368 1375 Source/WebCore/bindings/js/CallbackFunction.cpp \ -
trunk/Source/WebCore/Modules/mediastream/DOMWindowMediaStream.idl
r123724 r124193 33 33 attribute [V8EnabledAtRuntime] MediaStreamConstructor webkitMediaStream; 34 34 attribute [V8EnabledAtRuntime] PeerConnection00Constructor webkitPeerConnection00; 35 attribute [V8EnabledAtRuntime] RTCPeerConnectionConstructor webkitRTCPeerConnection; 35 36 attribute SessionDescriptionConstructor SessionDescription; 36 37 attribute IceCandidateConstructor IceCandidate; -
trunk/Source/WebCore/Target.pri
r124098 r124193 74 74 SOURCES += \ 75 75 bindings/ScriptControllerBase.cpp \ 76 bindings/js/ArrayValue.cpp \ 76 77 bindings/js/CallbackFunction.cpp \ 77 78 bindings/js/DOMObjectHashTableMap.cpp \ -
trunk/Source/WebCore/UseJSC.cmake
r123724 r124193 23 23 24 24 LIST(APPEND WebCore_SOURCES 25 bindings/js/ArrayValue.cpp 25 26 bindings/js/CallbackFunction.cpp 26 27 bindings/js/DOMObjectHashTableMap.cpp -
trunk/Source/WebCore/WebCore.gypi
r124098 r124193 842 842 'Modules/mediastream/NavigatorUserMediaSuccessCallback.idl', 843 843 'Modules/mediastream/PeerConnection00.idl', 844 'Modules/mediastream/RTCPeerConnection.idl', 844 845 'Modules/mediastream/SessionDescription.idl', 845 846 'Modules/notifications/DOMWindowNotifications.idl', … … 1568 1569 'Modules/mediastream/PeerConnection00.cpp', 1569 1570 'Modules/mediastream/PeerConnection00.h', 1571 'Modules/mediastream/RTCPeerConnection.cpp', 1572 'Modules/mediastream/RTCPeerConnection.h', 1570 1573 'Modules/mediastream/SessionDescription.cpp', 1571 1574 'Modules/mediastream/SessionDescription.h', … … 1909 1912 'bindings/gobject/WebKitHTMLElementWrapperFactory.cpp', 1910 1913 'bindings/gobject/WebKitHTMLElementWrapperFactory.h', 1914 'bindings/js/ArrayValue.cpp', 1915 'bindings/js/ArrayValue.h', 1911 1916 'bindings/js/CachedScriptSourceProvider.h', 1912 1917 'bindings/js/CallbackFunction.cpp', … … 2152 2157 'bindings/objc/PublicDOMInterfaces.h', 2153 2158 'bindings/objc/WebScriptObject.mm', 2159 'bindings/v8/ArrayValue.cpp', 2160 'bindings/v8/ArrayValue.h', 2154 2161 'bindings/v8/DOMData.cpp', 2155 2162 'bindings/v8/DOMData.h', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r124017 r124193 63802 63802 Name="js" 63803 63803 > 63804 <File 63805 RelativePath="..\bindings\js\ArrayValue.cpp" 63806 > 63807 <FileConfiguration 63808 Name="Debug|Win32" 63809 ExcludedFromBuild="true" 63810 > 63811 <Tool 63812 Name="VCCLCompilerTool" 63813 /> 63814 </FileConfiguration> 63815 <FileConfiguration 63816 Name="Release|Win32" 63817 ExcludedFromBuild="true" 63818 > 63819 <Tool 63820 Name="VCCLCompilerTool" 63821 /> 63822 </FileConfiguration> 63823 <FileConfiguration 63824 Name="Debug_Cairo_CFLite|Win32" 63825 ExcludedFromBuild="true" 63826 > 63827 <Tool 63828 Name="VCCLCompilerTool" 63829 /> 63830 </FileConfiguration> 63831 <FileConfiguration 63832 Name="Release_Cairo_CFLite|Win32" 63833 ExcludedFromBuild="true" 63834 > 63835 <Tool 63836 Name="VCCLCompilerTool" 63837 /> 63838 </FileConfiguration> 63839 <FileConfiguration 63840 Name="Debug_All|Win32" 63841 ExcludedFromBuild="true" 63842 > 63843 <Tool 63844 Name="VCCLCompilerTool" 63845 /> 63846 </FileConfiguration> 63847 <FileConfiguration 63848 Name="Production|Win32" 63849 ExcludedFromBuild="true" 63850 > 63851 <Tool 63852 Name="VCCLCompilerTool" 63853 /> 63854 </FileConfiguration> 63855 </File> 63856 <File 63857 RelativePath="..\bindings\js\ArrayValue.h" 63858 > 63859 </File> 63804 63860 <File 63805 63861 RelativePath="..\bindings\js\CachedScriptSourceProvider.h" -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r124098 r124193 1290 1290 49AF2D6914435D050016A784 /* DisplayRefreshMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 49AF2D6814435D050016A784 /* DisplayRefreshMonitor.h */; }; 1291 1291 49AF2D6C14435D210016A784 /* DisplayRefreshMonitorMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49AF2D6B14435D210016A784 /* DisplayRefreshMonitorMac.cpp */; }; 1292 49B3760C15C6C6840059131D /* ArrayValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49B3760A15C6C6840059131D /* ArrayValue.cpp */; }; 1293 49B3760D15C6C6840059131D /* ArrayValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 49B3760B15C6C6840059131D /* ArrayValue.h */; }; 1292 1294 49C7B9931042D2D30009D447 /* JSWebGLBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 49C7B9801042D2D30009D447 /* JSWebGLBuffer.cpp */; }; 1293 1295 49C7B9941042D2D30009D447 /* JSWebGLBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 49C7B9811042D2D30009D447 /* JSWebGLBuffer.h */; }; … … 8392 8394 49AF2D6814435D050016A784 /* DisplayRefreshMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisplayRefreshMonitor.h; sourceTree = "<group>"; }; 8393 8395 49AF2D6B14435D210016A784 /* DisplayRefreshMonitorMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DisplayRefreshMonitorMac.cpp; sourceTree = "<group>"; }; 8396 49B3760A15C6C6840059131D /* ArrayValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrayValue.cpp; sourceTree = "<group>"; }; 8397 49B3760B15C6C6840059131D /* ArrayValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrayValue.h; sourceTree = "<group>"; }; 8394 8398 49C7B9801042D2D30009D447 /* JSWebGLBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLBuffer.cpp; sourceTree = "<group>"; }; 8395 8399 49C7B9811042D2D30009D447 /* JSWebGLBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebGLBuffer.h; sourceTree = "<group>"; }; … … 20028 20032 BC4EDEF70C08F414007EDD49 /* Custom */, 20029 20033 14DFB33F0A7DF7630018F769 /* Derived Sources */, 20034 49B3760A15C6C6840059131D /* ArrayValue.cpp */, 20035 49B3760B15C6C6840059131D /* ArrayValue.h */, 20030 20036 BCD533630ED6848900887468 /* CachedScriptSourceProvider.h */, 20031 20037 93F8B3060A300FEA00F61AB8 /* CodeGeneratorJS.pm */, … … 25347 25353 1059459915B42AA0004D37FD /* PropertyNodeList.h in Headers */, 25348 25354 1059459F15B42B1A004D37FD /* JSPropertyNodeList.h in Headers */, 25355 49B3760D15C6C6840059131D /* ArrayValue.h in Headers */, 25349 25356 ); 25350 25357 runOnlyForDeploymentPostprocessing = 0; … … 28418 28425 1059459D15B42B0C004D37FD /* JSPropertyNodeList.cpp in Sources */, 28419 28426 CD37B39815C1B971006DC898 /* DiagnosticLoggingKeys.cpp in Sources */, 28427 49B3760C15C6C6840059131D /* ArrayValue.cpp in Sources */, 28420 28428 ); 28421 28429 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
r124027 r124193 189 189 static void setPeerConnectionEnabled(bool isEnabled) { isPeerConnectionEnabled = isEnabled; } 190 190 static bool webkitPeerConnection00Enabled() { return peerConnectionEnabled(); } 191 static bool webkitRTCPeerConnectionEnabled() { return peerConnectionEnabled(); } 191 192 #endif 192 193 -
trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
r123434 r124193 26 26 // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build. 27 27 28 #include "ArrayValue.cpp" 28 29 #include "CallbackFunction.cpp" 29 30 #include "DOMObjectHashTableMap.cpp" -
trunk/Source/WebCore/bindings/js/JSDictionary.cpp
r123546 r124193 27 27 #include "JSDictionary.h" 28 28 29 #include "ArrayValue.h" 29 30 #include "Dictionary.h" 30 31 #include "JSDOMWindow.h" … … 34 35 #include "JSStorage.h" 35 36 #include "JSTrackCustom.h" 37 #include "ScriptValue.h" 36 38 #include "SerializedScriptValue.h" 37 #include "ScriptValue.h"38 39 #include <wtf/HashMap.h> 39 40 #include <wtf/MathExtras.h> … … 186 187 #endif 187 188 189 void JSDictionary::convertValue(ExecState* exec, JSValue value, ArrayValue& result) 190 { 191 if (value.isUndefinedOrNull()) 192 return; 193 194 result = ArrayValue(exec, value); 195 } 196 188 197 bool JSDictionary::getWithUndefinedOrNullCheck(const String& propertyName, String& result) const 189 198 { -
trunk/Source/WebCore/bindings/js/JSDictionary.h
r123212 r124193 33 33 namespace WebCore { 34 34 35 class ArrayValue; 35 36 class Dictionary; 36 37 class DOMWindow; … … 106 107 static void convertValue(JSC::ExecState*, JSC::JSValue, HashSet<AtomicString>& result); 107 108 #endif 109 static void convertValue(JSC::ExecState*, JSC::JSValue, ArrayValue& result); 108 110 109 111 JSC::ExecState* m_exec; -
trunk/Source/WebCore/bindings/v8/Dictionary.cpp
r121538 r124193 27 27 #include "Dictionary.h" 28 28 29 #include "ArrayValue.h" 29 30 #include "DOMStringList.h" 30 31 #include "V8Binding.h" … … 443 444 } 444 445 446 bool Dictionary::get(const String& key, ArrayValue& value) const 447 { 448 v8::Local<v8::Value> v8Value; 449 if (!getKey(key, v8Value)) 450 return false; 451 452 if (!v8Value->IsArray()) 453 return false; 454 455 value = ArrayValue(v8::Local<v8::Array>::Cast(v8Value)); 456 return true; 457 } 458 445 459 bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& hashMap) const 446 460 { -
trunk/Source/WebCore/bindings/v8/Dictionary.h
r117817 r124193 39 39 namespace WebCore { 40 40 41 class ArrayValue; 41 42 class DOMWindow; 42 43 class IDBKeyRange; … … 87 88 bool get(const String&, Dictionary&) const; 88 89 bool get(const String&, Vector<String>&) const; 90 bool get(const String&, ArrayValue&) const; 91 89 92 bool getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>&) const; 90 93 -
trunk/Source/WebCore/dom/EventTargetFactory.in
r123724 r124193 25 25 PeerConnection00 conditional=MEDIA_STREAM 26 26 Performance conditional=WEB_TIMING 27 RTCPeerConnection conditional=MEDIA_STREAM 27 28 SharedWorker conditional=SHARED_WORKERS 28 29 SharedWorkerContext conditional=SHARED_WORKERS
Note: See TracChangeset
for help on using the changeset viewer.