1. 09 May, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Add support for [NoInterfaceObject] Web IDL extended attribute · 077c4e77
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115714
      
      Reviewed by Kentaro Hara.
      
      .:
      
      Update GENERATE_BINDINGS macro to take an additional _window_constructors_file
      optional argument.
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      *Constructor attributes on the global DOMWindow object are now automatically
      generated for each non-callback interface that is not declared with the
      [NoInterfaceObject] extended attribute. It is thus no longer needed for
      developers to manually add *Constructor attributes for their new interfaces
      unless they wish to register an "extra" constructor for their interface.
      
      This patch does not modify at all the behavior on JS side. To achieve this,
      [NoInterfaceObject] extended attribute is added to interfaces that should
      not have it according to specification (e.g. History, Location, ...).
      This can be improved later as the behavior should not change with this
      patch.
      
      No new tests, no behavior change.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/battery/BatteryManager.idl:
      * Modules/encryptedmedia/MediaKeyMessageEvent.idl:
      * Modules/encryptedmedia/MediaKeyNeededEvent.idl:
      * Modules/encryptedmedia/MediaKeySession.idl:
      * Modules/encryptedmedia/MediaKeys.idl:
      * Modules/filesystem/DOMFileSystem.idl:
      * Modules/filesystem/DOMFileSystemSync.idl:
      * Modules/filesystem/DirectoryEntry.idl:
      * Modules/filesystem/DirectoryEntrySync.idl:
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/DirectoryReaderSync.idl:
      * Modules/filesystem/Entry.idl:
      * Modules/filesystem/EntryArray.idl:
      * Modules/filesystem/EntryArraySync.idl:
      * Modules/filesystem/EntrySync.idl:
      * Modules/filesystem/FileEntry.idl:
      * Modules/filesystem/FileEntrySync.idl:
      * Modules/filesystem/FileWriter.idl:
      * Modules/filesystem/FileWriterSync.idl:
      * Modules/filesystem/Metadata.idl:
      * Modules/gamepad/Gamepad.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Coordinates.idl:
      * Modules/geolocation/Geolocation.idl:
      * Modules/geolocation/Geoposition.idl:
      * Modules/geolocation/PositionError.idl:
      * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
      * Modules/indexeddb/IDBAny.idl:
      * Modules/mediasource/MediaSource.idl:
      * Modules/mediasource/SourceBuffer.idl:
      * Modules/mediasource/SourceBufferList.idl:
      * Modules/mediastream/DOMWindowMediaStream.idl: Removed.
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrack.idl:
      * Modules/mediastream/MediaStreamTrackEvent.idl:
      * Modules/mediastream/NavigatorUserMediaError.idl:
      * Modules/mediastream/RTCDTMFSender.idl:
      * Modules/mediastream/RTCDTMFToneChangeEvent.idl:
      * Modules/mediastream/RTCDataChannel.idl:
      * Modules/mediastream/RTCDataChannelEvent.idl:
      * Modules/mediastream/RTCIceCandidateEvent.idl:
      * Modules/mediastream/RTCPeerConnection.idl:
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/mediastream/RTCStatsResponse.idl:
      * Modules/networkinfo/NetworkInfoConnection.idl:
      * Modules/notifications/DOMWindowNotifications.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.idl:
      * Modules/speech/DOMWindowSpeech.idl: Removed.
      * Modules/speech/DOMWindowSpeechSynthesis.idl:
      * Modules/speech/SpeechGrammar.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognition.idl:
      * Modules/speech/SpeechRecognitionAlternative.idl:
      * Modules/speech/SpeechRecognitionError.idl:
      * Modules/speech/SpeechRecognitionEvent.idl:
      * Modules/speech/SpeechRecognitionResult.idl:
      * Modules/speech/SpeechRecognitionResultList.idl:
      * Modules/speech/SpeechSynthesis.idl:
      * Modules/speech/SpeechSynthesisVoice.idl:
      * Modules/webaudio/AnalyserNode.idl:
      * Modules/webaudio/AudioBuffer.idl:
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webaudio/AudioDestinationNode.idl:
      * Modules/webaudio/AudioListener.idl:
      * Modules/webaudio/AudioNode.idl:
      * Modules/webaudio/AudioParam.idl:
      * Modules/webaudio/AudioSourceNode.idl:
      * Modules/webaudio/BiquadFilterNode.idl:
      * Modules/webaudio/ChannelMergerNode.idl:
      * Modules/webaudio/ChannelSplitterNode.idl:
      * Modules/webaudio/ConvolverNode.idl:
      * Modules/webaudio/DOMWindowWebAudio.idl: Removed.
      * Modules/webaudio/DelayNode.idl:
      * Modules/webaudio/DynamicsCompressorNode.idl:
      * Modules/webaudio/GainNode.idl:
      * Modules/webaudio/MediaElementAudioSourceNode.idl:
      * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
      * Modules/webaudio/MediaStreamAudioSourceNode.idl:
      * Modules/webaudio/OfflineAudioContext.idl:
      * Modules/webaudio/OscillatorNode.idl:
      * Modules/webaudio/PannerNode.idl:
      * Modules/webaudio/ScriptProcessorNode.idl:
      * Modules/webaudio/WaveShaperNode.idl:
      * Modules/webaudio/WaveTable.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/Database.idl:
      * Modules/webdatabase/DatabaseSync.idl:
      * Modules/webdatabase/SQLError.idl:
      * Modules/webdatabase/SQLResultSet.idl:
      * Modules/webdatabase/SQLResultSetRowList.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/SQLTransactionSync.idl:
      * Modules/websockets/DOMWindowWebSocket.idl: Removed.
      * Modules/websockets/WebSocket.idl:
      * PlatformBlackBerry.cmake:
      * UseJSC.cmake:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/IDLParser.pm:
      (parseTypedef):
      * bindings/scripts/preprocess-idls.pl:
      (GenerateConstructorAttribute):
      (getFileContents):
      (getPartialInterfaceNameFromIDL):
      (isCallbackInterfaceFromIDL):
      (trim):
      (getInterfaceExtendedAttributesFromIDL):
      * css/CSSFontFaceLoadEvent.idl:
      * css/CSSFontFaceRule.idl:
      * css/CSSSupportsRule.idl:
      * css/CSSUnknownRule.idl:
      * css/DOMWindowCSS.idl:
      * css/FontLoader.idl:
      * css/MediaQueryList.idl:
      * css/MediaQueryListListener.idl:
      * css/StyleMedia.idl:
      * dom/CustomElementConstructor.idl:
      * dom/DOMError.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/EventListener.idl:
      * dom/EventTarget.idl:
      * dom/NodeIterator.idl:
      * dom/ShadowRoot.idl:
      * dom/TreeWalker.idl:
      * dom/WebKitNamedFlow.idl:
      * fileapi/FileException.idl:
      * fileapi/FileReaderSync.idl:
      * html/HTMLAudioElement.idl:
      * html/HTMLDetailsElement.idl:
      * html/HTMLOptionElement.idl:
      * html/MediaError.idl:
      * html/MediaKeyError.idl:
      * html/MicroDataItemValue.idl:
      * html/RadioNodeList.idl:
      * html/ValidityState.idl:
      * html/canvas/CanvasRenderingContext.idl:
      * html/canvas/DOMPath.idl:
      * html/canvas/EXTDrawBuffers.idl:
      * html/canvas/EXTTextureFilterAnisotropic.idl:
      * html/canvas/OESElementIndexUint.idl:
      * html/canvas/OESStandardDerivatives.idl:
      * html/canvas/OESTextureFloat.idl:
      * html/canvas/OESTextureHalfFloat.idl:
      * html/canvas/OESVertexArrayObject.idl:
      * html/canvas/WebGLCompressedTextureATC.idl:
      * html/canvas/WebGLCompressedTexturePVRTC.idl:
      * html/canvas/WebGLCompressedTextureS3TC.idl:
      * html/canvas/WebGLContextAttributes.idl:
      * html/canvas/WebGLDebugRendererInfo.idl:
      * html/canvas/WebGLDebugShaders.idl:
      * html/canvas/WebGLDepthTexture.idl:
      * html/canvas/WebGLLoseContext.idl:
      * html/canvas/WebGLVertexArrayObjectOES.idl:
      * html/track/AudioTrack.idl:
      * html/track/AudioTrackList.idl:
      * html/track/TextTrackRegionList.idl:
      * html/track/VideoTrack.idl:
      * html/track/VideoTrackList.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorFrontendHost.idl:
      * inspector/JavaScriptCallFrame.idl:
      * inspector/ScriptProfile.idl:
      * inspector/ScriptProfileNode.idl:
      * loader/appcache/DOMApplicationCache.idl:
      * page/AbstractView.idl:
      * page/BarInfo.idl:
      * page/Console.idl:
      * page/Crypto.idl:
      * page/DOMSecurityPolicy.idl:
      * page/DOMWindow.idl:
      * page/History.idl:
      * page/Location.idl:
      * page/MemoryInfo.idl:
      * page/Navigator.idl:
      * page/PagePopupController.idl:
      * page/Performance.idl:
      * page/PerformanceEntry.idl:
      * page/PerformanceEntryList.idl:
      * page/PerformanceMark.idl:
      * page/PerformanceMeasure.idl:
      * page/PerformanceNavigation.idl:
      * page/PerformanceResourceTiming.idl:
      * page/PerformanceTiming.idl:
      * page/Screen.idl:
      * page/SpeechInputResult.idl:
      * page/SpeechInputResultList.idl:
      * page/WorkerNavigator.idl:
      * page/make_settings.pl:
      (generateInternalSettingsIdlFile):
      * svg/ElementTimeControl.idl:
      * svg/SVGAnimationElement.idl:
      * svg/SVGExternalResourcesRequired.idl:
      * svg/SVGFilterPrimitiveStandardAttributes.idl:
      * svg/SVGFitToViewBox.idl:
      * svg/SVGLangSpace.idl:
      * svg/SVGLocatable.idl:
      * svg/SVGStyledElement.idl:
      * svg/SVGTests.idl:
      * svg/SVGTransformable.idl:
      * svg/SVGURIReference.idl:
      * testing/InternalSettings.idl:
      * testing/Internals.idl:
      * testing/MallocStatistics.idl:
      * testing/TypeConversions.idl:
      * workers/AbstractWorker.idl:
      * workers/DedicatedWorkerContext.idl:
      * workers/SharedWorker.idl:
      * workers/SharedWorkerContext.idl:
      * workers/WorkerContext.idl:
      * workers/WorkerLocation.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      
      Tools:
      
      Update BindingsTests.generate_supplemental_dependency() to pass an
      additional windowConstructorsFile argument to preprocess-idls.pl.
      
      * Scripts/webkitpy/bindings/main.py:
      (BindingsTests.generate_supplemental_dependency):
      (BindingsTests.main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      077c4e77
  2. 30 Apr, 2013 2 commits
    • ch.dumez@sisa.samsung.com's avatar
      Stop using "in" keyword in IDL files · b2986f1d
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115418
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      Stop using "in" keyword in IDL files as this is no longer part of the
      Web IDL specification and it brings no additional information.
      
      For now, the IDL parser will still accept the "in" keyword for operation
      argument to not break anything. However, we should remove support for it
      later on.
      
      No new tests, no behavior change.
      
      * Modules/battery/BatteryManager.idl:
      * Modules/encryptedmedia/MediaKeySession.idl:
      * Modules/encryptedmedia/MediaKeys.idl:
      * Modules/filesystem/DOMWindowFileSystem.idl:
      * Modules/filesystem/DirectoryEntry.idl:
      * Modules/filesystem/DirectoryEntrySync.idl:
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/EntriesCallback.idl:
      * Modules/filesystem/Entry.idl:
      * Modules/filesystem/EntryArray.idl:
      * Modules/filesystem/EntryArraySync.idl:
      * Modules/filesystem/EntryCallback.idl:
      * Modules/filesystem/EntrySync.idl:
      * Modules/filesystem/ErrorCallback.idl:
      * Modules/filesystem/FileCallback.idl:
      * Modules/filesystem/FileEntry.idl:
      * Modules/filesystem/FileSystemCallback.idl:
      * Modules/filesystem/FileWriter.idl:
      * Modules/filesystem/FileWriterCallback.idl:
      * Modules/filesystem/FileWriterSync.idl:
      * Modules/filesystem/MetadataCallback.idl:
      * Modules/filesystem/WorkerContextFileSystem.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Geolocation.idl:
      * Modules/geolocation/PositionCallback.idl:
      * Modules/geolocation/PositionErrorCallback.idl:
      * Modules/indexeddb/IDBCursor.idl:
      * Modules/indexeddb/IDBDatabase.idl:
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBIndex.idl:
      * Modules/indexeddb/IDBKeyRange.idl:
      * Modules/indexeddb/IDBObjectStore.idl:
      * Modules/indexeddb/IDBRequest.idl:
      * Modules/indexeddb/IDBTransaction.idl:
      * Modules/mediasource/MediaSource.idl:
      * Modules/mediasource/SourceBuffer.idl:
      * Modules/mediasource/SourceBufferList.idl:
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrack.idl:
      * Modules/mediastream/NavigatorMediaStream.idl:
      * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
      * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
      * Modules/mediastream/RTCDTMFSender.idl:
      * Modules/mediastream/RTCDataChannel.idl:
      * Modules/mediastream/RTCErrorCallback.idl:
      * Modules/mediastream/RTCIceCandidate.idl:
      * Modules/mediastream/RTCPeerConnection.idl:
      * Modules/mediastream/RTCSessionDescription.idl:
      * Modules/mediastream/RTCSessionDescriptionCallback.idl:
      * Modules/mediastream/RTCStatsCallback.idl:
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/mediastream/RTCStatsResponse.idl:
      * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
      * Modules/networkinfo/NetworkInfoConnection.idl:
      * Modules/notifications/Notification.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/notifications/NotificationPermissionCallback.idl:
      * Modules/quota/StorageErrorCallback.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.idl:
      * Modules/quota/StorageQuotaCallback.idl:
      * Modules/quota/StorageUsageCallback.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognition.idl:
      * Modules/speech/SpeechRecognitionResult.idl:
      * Modules/speech/SpeechRecognitionResultList.idl:
      * Modules/speech/SpeechSynthesisUtterance.idl:
      * Modules/vibration/NavigatorVibration.idl:
      * Modules/webaudio/AnalyserNode.idl:
      * Modules/webaudio/AudioBuffer.idl:
      * Modules/webaudio/AudioBufferCallback.idl:
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webaudio/AudioListener.idl:
      * Modules/webaudio/AudioNode.idl:
      * Modules/webaudio/AudioParam.idl:
      * Modules/webaudio/BiquadFilterNode.idl:
      * Modules/webaudio/OfflineAudioContext.idl:
      * Modules/webaudio/OscillatorNode.idl:
      * Modules/webaudio/PannerNode.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/Database.idl:
      * Modules/webdatabase/DatabaseCallback.idl:
      * Modules/webdatabase/DatabaseSync.idl:
      * Modules/webdatabase/SQLResultSetRowList.idl:
      * Modules/webdatabase/SQLStatementCallback.idl:
      * Modules/webdatabase/SQLStatementErrorCallback.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/SQLTransactionCallback.idl:
      * Modules/webdatabase/SQLTransactionErrorCallback.idl:
      * Modules/webdatabase/SQLTransactionSync.idl:
      * Modules/webdatabase/SQLTransactionSyncCallback.idl:
      * Modules/webdatabase/WorkerContextWebDatabase.idl:
      * Modules/websockets/WebSocket.idl:
      * bindings/scripts/test/TestCallback.idl:
      * bindings/scripts/test/TestCustomNamedGetter.idl:
      * bindings/scripts/test/TestDomainSecurity.idl:
      * bindings/scripts/test/TestEventTarget.idl:
      * bindings/scripts/test/TestInterface.idl:
      * bindings/scripts/test/TestMediaQueryListListener.idl:
      * bindings/scripts/test/TestNamedConstructor.idl:
      * bindings/scripts/test/TestObj.idl:
      * bindings/scripts/test/TestOverloadedConstructors.idl:
      * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
      * bindings/scripts/test/TestSupplemental.idl:
      * bindings/scripts/test/TestTypedArray.idl:
      * bindings/scripts/test/TestTypedefs.idl:
      * css/CSSHostRule.idl:
      * css/CSSMediaRule.idl:
      * css/CSSPrimitiveValue.idl:
      * css/CSSRuleList.idl:
      * css/CSSStyleDeclaration.idl:
      * css/CSSStyleSheet.idl:
      * css/CSSSupportsRule.idl:
      * css/CSSValueList.idl:
      * css/FontLoader.idl:
      * css/MediaList.idl:
      * css/MediaQueryList.idl:
      * css/MediaQueryListListener.idl:
      * css/StyleMedia.idl:
      * css/StyleSheetList.idl:
      * css/WebKitCSSKeyframesRule.idl:
      * css/WebKitCSSMatrix.idl:
      * dom/CharacterData.idl:
      * dom/ClientRectList.idl:
      * dom/Clipboard.idl:
      * dom/CompositionEvent.idl:
      * dom/CustomEvent.idl:
      * dom/DOMImplementation.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DOMStringList.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/DeviceMotionEvent.idl:
      * dom/DeviceOrientationEvent.idl:
      * dom/Document.idl:
      * dom/DocumentFragment.idl:
      * dom/Element.idl:
      * dom/Event.idl:
      * dom/EventListener.idl:
      * dom/EventTarget.idl:
      * dom/HashChangeEvent.idl:
      * dom/KeyboardEvent.idl:
      * dom/MessageEvent.idl:
      * dom/MessagePort.idl:
      * dom/MouseEvent.idl:
      * dom/MutationEvent.idl:
      * dom/MutationObserver.idl:
      * dom/NamedNodeMap.idl:
      * dom/Node.idl:
      * dom/NodeFilter.idl:
      * dom/NodeList.idl:
      * dom/OverflowEvent.idl:
      * dom/PropertyNodeList.idl:
      * dom/Range.idl:
      * dom/RequestAnimationFrameCallback.idl:
      * dom/ShadowRoot.idl:
      * dom/StringCallback.idl:
      * dom/Text.idl:
      * dom/TextEvent.idl:
      * dom/TouchEvent.idl:
      * dom/TouchList.idl:
      * dom/UIEvent.idl:
      * dom/WebKitNamedFlow.idl:
      * dom/WheelEvent.idl:
      * fileapi/Blob.idl:
      * fileapi/FileList.idl:
      * fileapi/FileReader.idl:
      * fileapi/FileReaderSync.idl:
      * html/DOMFormData.idl:
      * html/DOMTokenList.idl:
      * html/DOMURL.idl:
      * html/HTMLAllCollection.idl:
      * html/HTMLAudioElement.idl:
      * html/HTMLButtonElement.idl:
      * html/HTMLCanvasElement.idl:
      * html/HTMLCollection.idl:
      * html/HTMLDocument.idl:
      * html/HTMLElement.idl:
      * html/HTMLFieldSetElement.idl:
      * html/HTMLFormControlsCollection.idl:
      * html/HTMLInputElement.idl:
      * html/HTMLKeygenElement.idl:
      * html/HTMLMediaElement.idl:
      * html/HTMLObjectElement.idl:
      * html/HTMLOptionElement.idl:
      * html/HTMLOptionsCollection.idl:
      * html/HTMLOutputElement.idl:
      * html/HTMLPropertiesCollection.idl:
      * html/HTMLSelectElement.idl:
      * html/HTMLTableElement.idl:
      * html/HTMLTableRowElement.idl:
      * html/HTMLTableSectionElement.idl:
      * html/HTMLTextAreaElement.idl:
      * html/MediaController.idl:
      * html/TimeRanges.idl:
      * html/canvas/ArrayBuffer.idl:
      * html/canvas/CanvasGradient.idl:
      * html/canvas/CanvasRenderingContext2D.idl:
      * html/canvas/DOMPath.idl:
      * html/canvas/DataView.idl:
      * html/canvas/EXTDrawBuffers.idl:
      * html/canvas/Float32Array.idl:
      * html/canvas/Float64Array.idl:
      * html/canvas/Int16Array.idl:
      * html/canvas/Int32Array.idl:
      * html/canvas/Int8Array.idl:
      * html/canvas/OESVertexArrayObject.idl:
      * html/canvas/Uint16Array.idl:
      * html/canvas/Uint32Array.idl:
      * html/canvas/Uint8Array.idl:
      * html/canvas/Uint8ClampedArray.idl:
      * html/canvas/WebGLDebugShaders.idl:
      * html/canvas/WebGLRenderingContext.idl:
      * html/track/AudioTrackList.idl:
      * html/track/TextTrack.idl:
      * html/track/TextTrackCue.idl:
      * html/track/TextTrackCueList.idl:
      * html/track/TextTrackList.idl:
      * html/track/TextTrackRegionList.idl:
      * html/track/VideoTrackList.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorFrontendHost.idl:
      * inspector/JavaScriptCallFrame.idl:
      * loader/appcache/DOMApplicationCache.idl:
      * page/Console.idl:
      * page/Crypto.idl:
      * page/DOMSecurityPolicy.idl:
      * page/DOMSelection.idl:
      * page/DOMWindow.idl:
      * page/EventSource.idl:
      * page/History.idl:
      * page/Location.idl:
      * page/PagePopupController.idl:
      * page/Performance.idl:
      * page/PerformanceEntryList.idl:
      * page/SpeechInputResultList.idl:
      * plugins/DOMMimeTypeArray.idl:
      * plugins/DOMPlugin.idl:
      * plugins/DOMPluginArray.idl:
      * storage/Storage.idl:
      * storage/StorageEvent.idl:
      * svg/ElementTimeControl.idl:
      * svg/SVGAngle.idl:
      * svg/SVGColor.idl:
      * svg/SVGDocument.idl:
      * svg/SVGElementInstanceList.idl:
      * svg/SVGFEDropShadowElement.idl:
      * svg/SVGFEGaussianBlurElement.idl:
      * svg/SVGFEMorphologyElement.idl:
      * svg/SVGFilterElement.idl:
      * svg/SVGLength.idl:
      * svg/SVGLengthList.idl:
      * svg/SVGLocatable.idl:
      * svg/SVGMarkerElement.idl:
      * svg/SVGMatrix.idl:
      * svg/SVGNumberList.idl:
      * svg/SVGPaint.idl:
      * svg/SVGPathElement.idl:
      * svg/SVGPathSegList.idl:
      * svg/SVGPoint.idl:
      * svg/SVGPointList.idl:
      * svg/SVGSVGElement.idl:
      * svg/SVGStringList.idl:
      * svg/SVGStyledElement.idl:
      * svg/SVGTests.idl:
      * svg/SVGTextContentElement.idl:
      * svg/SVGTransform.idl:
      * svg/SVGTransformList.idl:
      * testing/InternalSettings.idl:
      * testing/Internals.idl:
      * workers/AbstractWorker.idl:
      * workers/DedicatedWorkerContext.idl:
      * workers/SharedWorker.idl:
      * workers/Worker.idl:
      * workers/WorkerContext.idl:
      * xml/DOMParser.idl:
      * xml/XMLHttpRequest.idl:
      * xml/XMLHttpRequestUpload.idl:
      * xml/XMLSerializer.idl:
      * xml/XPathEvaluator.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      * xml/XPathResult.idl:
      * xml/XSLTProcessor.idl:
      
      Source/WebKit/win:
      
      Remove "in" keyword from IDL files as this is no longer part of the Web
      IDL specification.
      
      * Interfaces/DOMEvents.idl:
      * Interfaces/DOMPrivate.idl:
      * Interfaces/DOMWindow.idl:
      
      Tools:
      
      Remove "in" keyword from IDL files as this is no longer part of the Web
      IDL specification.
      
      * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityController.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarker.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityTextMarkerRange.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/GCController.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2986f1d
    • ch.dumez@sisa.samsung.com's avatar
      Replace "Optional" extended attribute by proper Web IDL "optional" keyword · 3463b187
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115380
      
      Reviewed by Kentaro Hara.
      
      Source/WebCore:
      
      Replace [Optional] with standard WebIDL optional type prefix:
      http://dev.w3.org/2006/webapi/WebIDL/#dfn-optional-argument
      
      The default behavior now matches WebIDL: [Optional] => optional
      
      Two cases where WebKit has extended bindings behavior still
      require a non-standard IDL attribute:
      [Optional=DefaultIsNullString] => [Default=NullString] optional
      [Optional=DefaultIsUndefined] => [Default=Undefined] optional
      
      Based on corresponding Blink patch from Joshua Bell for compatibility.
      
      No new tests, no behavior change.
      
      * Modules/battery/BatteryManager.idl:
      * Modules/encryptedmedia/MediaKeySession.idl:
      * Modules/encryptedmedia/MediaKeys.idl:
      * Modules/filesystem/DOMWindowFileSystem.idl:
      * Modules/filesystem/DirectoryEntry.idl:
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/Entry.idl:
      * Modules/filesystem/FileEntry.idl:
      * Modules/filesystem/FileWriter.idl:
      * Modules/filesystem/WorkerContextFileSystem.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Geolocation.idl:
      * Modules/indexeddb/IDBCursor.idl:
      * Modules/indexeddb/IDBDatabase.idl:
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBIndex.idl:
      * Modules/indexeddb/IDBKeyRange.idl:
      * Modules/indexeddb/IDBObjectStore.idl:
      * Modules/indexeddb/IDBRequest.idl:
      * Modules/indexeddb/IDBTransaction.idl:
      * Modules/mediasource/MediaSource.idl:
      * Modules/mediasource/SourceBufferList.idl:
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrack.idl:
      * Modules/mediastream/NavigatorMediaStream.idl:
      * Modules/mediastream/RTCDTMFSender.idl:
      * Modules/mediastream/RTCDataChannel.idl:
      * Modules/mediastream/RTCPeerConnection.idl:
      * Modules/mediastream/RTCStatsResponse.idl:
      * Modules/networkinfo/NetworkInfoConnection.idl:
      * Modules/notifications/Notification.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognition.idl:
      * Modules/speech/SpeechSynthesisUtterance.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webaudio/AudioNode.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/Database.idl:
      * Modules/webdatabase/DatabaseSync.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/WorkerContextWebDatabase.idl:
      * Modules/websockets/WebSocket.idl:
      * bindings/scripts/CodeGeneratorJS.pm:
      (GetFunctionLength):
      (GenerateFunctionParametersCheck):
      (GenerateArgumentsCountCheck):
      (GenerateParametersCheck):
      (GenerateConstructorDefinition):
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/IDLParser.pm:
      (parseOptionalOrRequiredArgument):
      * bindings/scripts/test/TestEventTarget.idl:
      * bindings/scripts/test/TestInterface.idl:
      * bindings/scripts/test/TestNamedConstructor.idl:
      * bindings/scripts/test/TestObj.idl:
      * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
      * bindings/scripts/test/TestTypedefs.idl: optional cannot be used in a typedef.
      * css/CSSHostRule.idl:
      * css/CSSMediaRule.idl:
      * css/CSSPrimitiveValue.idl:
      * css/CSSRuleList.idl:
      * css/CSSStyleDeclaration.idl:
      * css/CSSStyleSheet.idl:
      * css/CSSSupportsRule.idl:
      * css/CSSValueList.idl:
      * css/FontLoader.idl:
      * css/MediaList.idl:
      * css/MediaQueryList.idl:
      * css/MediaQueryListListener.idl:
      * css/StyleMedia.idl:
      * css/StyleSheetList.idl:
      * css/WebKitCSSKeyframesRule.idl:
      * css/WebKitCSSMatrix.idl:
      * dom/CharacterData.idl:
      * dom/ClientRectList.idl:
      * dom/Clipboard.idl:
      * dom/CompositionEvent.idl:
      * dom/CustomEvent.idl:
      * dom/DOMImplementation.idl:
      * dom/DOMStringList.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/DeviceMotionEvent.idl:
      * dom/DeviceOrientationEvent.idl:
      * dom/Document.idl:
      * dom/Element.idl:
      * dom/Event.idl:
      * dom/EventTarget.idl:
      * dom/HashChangeEvent.idl:
      * dom/KeyboardEvent.idl:
      * dom/MessageEvent.idl:
      * dom/MessagePort.idl:
      * dom/MouseEvent.idl:
      * dom/MutationEvent.idl:
      * dom/NamedNodeMap.idl:
      * dom/Node.idl:
      * dom/NodeFilter.idl:
      * dom/NodeList.idl:
      * dom/OverflowEvent.idl:
      * dom/Range.idl:
      * dom/ShadowRoot.idl:
      * dom/Text.idl:
      * dom/TextEvent.idl:
      * dom/TouchEvent.idl:
      * dom/UIEvent.idl:
      * dom/WebKitNamedFlow.idl:
      * dom/WheelEvent.idl:
      * fileapi/Blob.idl:
      * fileapi/FileReader.idl:
      * fileapi/FileReaderSync.idl:
      * html/DOMFormData.idl:
      * html/DOMTokenList.idl:
      * html/HTMLAllCollection.idl:
      * html/HTMLAudioElement.idl:
      * html/HTMLCanvasElement.idl:
      * html/HTMLCollection.idl:
      * html/HTMLDocument.idl:
      * html/HTMLElement.idl:
      * html/HTMLFormControlsCollection.idl:
      * html/HTMLInputElement.idl:
      * html/HTMLMediaElement.idl:
      * html/HTMLOptionElement.idl:
      * html/HTMLOptionsCollection.idl:
      * html/HTMLSelectElement.idl:
      * html/HTMLTableElement.idl:
      * html/HTMLTableRowElement.idl:
      * html/HTMLTableSectionElement.idl:
      * html/HTMLTextAreaElement.idl:
      * html/MediaController.idl:
      * html/canvas/ArrayBuffer.idl:
      * html/canvas/CanvasGradient.idl:
      * html/canvas/CanvasRenderingContext2D.idl:
      * html/canvas/DOMPath.idl:
      * html/canvas/DataView.idl:
      * html/canvas/Float32Array.idl:
      * html/canvas/Float64Array.idl:
      * html/canvas/Int16Array.idl:
      * html/canvas/Int32Array.idl:
      * html/canvas/Int8Array.idl:
      * html/canvas/OESVertexArrayObject.idl:
      * html/canvas/Uint16Array.idl:
      * html/canvas/Uint32Array.idl:
      * html/canvas/Uint8Array.idl:
      * html/canvas/Uint8ClampedArray.idl:
      * html/track/AudioTrackList.idl:
      * html/track/TextTrack.idl:
      * html/track/TextTrackCue.idl:
      * html/track/TextTrackList.idl:
      * html/track/VideoTrackList.idl:
      * loader/appcache/DOMApplicationCache.idl:
      * page/DOMSelection.idl:
      * page/DOMWindow.idl:
      * page/EventSource.idl:
      * page/History.idl:
      * page/Location.idl:
      * page/Performance.idl:
      * plugins/DOMMimeTypeArray.idl:
      * plugins/DOMPlugin.idl:
      * plugins/DOMPluginArray.idl:
      * storage/StorageEvent.idl:
      * svg/ElementTimeControl.idl:
      * svg/SVGDocument.idl:
      * svg/SVGElementInstanceList.idl:
      * svg/SVGFEDropShadowElement.idl:
      * svg/SVGFEGaussianBlurElement.idl:
      * svg/SVGFEMorphologyElement.idl:
      * svg/SVGFilterElement.idl:
      * svg/SVGLocatable.idl:
      * svg/SVGMarkerElement.idl:
      * svg/SVGPathElement.idl:
      * svg/SVGSVGElement.idl:
      * svg/SVGStyledElement.idl:
      * svg/SVGTests.idl:
      * svg/SVGTextContentElement.idl:
      * testing/Internals.idl:
      * workers/AbstractWorker.idl:
      * workers/DedicatedWorkerContext.idl:
      * workers/SharedWorker.idl:
      * workers/Worker.idl:
      * workers/WorkerContext.idl:
      * xml/DOMParser.idl:
      * xml/XMLHttpRequest.idl:
      * xml/XMLHttpRequestUpload.idl:
      * xml/XMLSerializer.idl:
      * xml/XPathEvaluator.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      * xml/XPathResult.idl:
      * xml/XSLTProcessor.idl:
      
      Source/WebKit/win:
      
      Replace [Optional] by optional.
      
      * Interfaces/DOMWindow.idl:
      
      Tools:
      
      Replace WebKit-specific [Optional] extended attribute by Web IDL "optional"
      keyword.
      
      * WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
      * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3463b187
  3. 28 Apr, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Get rid of [Callback] IDL extended attribute for parameters · 3b2e1744
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115250
      
      Reviewed by Kentaro Hara.
      
      Remove the WebKit-specific [Callback] extended attribute and make the bindings
      generator smart enough to know when a parameter is of callback type on its
      own.
      
      No new tests, no behavior change.
      
      * DerivedSources.make: Use WebCore/Modules as IDL include path instead of using
      subdirs. The generator will search recursively anyway and the list of subdirs was
      incomplete.
      * Modules/filesystem/DOMWindowFileSystem.idl:
      * Modules/filesystem/DirectoryEntry.idl:
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/Entry.idl:
      * Modules/filesystem/FileEntry.idl:
      * Modules/filesystem/WorkerContextFileSystem.idl:
      * Modules/mediastream/NavigatorMediaStream.idl:
      * Modules/mediastream/RTCPeerConnection.idl:
      * Modules/notifications/Notification.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/Database.idl:
      * Modules/webdatabase/DatabaseSync.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/WorkerContextWebDatabase.idl:
      * bindings/gobject/GNUmakefile.am: Add missing IDL include dirs.
      * bindings/scripts/CodeGenerator.pm:
      (IsWrapperType):
      (IsCallbackInterface):
      * bindings/scripts/CodeGeneratorGObject.pm:
      (SkipFunction):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateParametersCheckExpression):
      (GenerateParametersCheck):
      * bindings/scripts/IDLAttributes.txt: Remove "Callback" extended attribute.
      * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
      (WebDOMTestCallback::callbackWithArrayParam):
      (WebDOMTestCallback::callbackWithSerializedScriptValueParam):
      (WebDOMTestCallback::callbackWithNonBoolReturnType):
      (WebDOMTestCallback::callbackRequiresThisToPass):
      * bindings/scripts/test/CPP/WebDOMTestCallback.h:
      (WebDOMTestCallback):
      * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
      (WebDOMTestObj::convert1):
      (WebDOMTestObj::convert2):
      (WebDOMTestObj::convert4):
      (WebDOMTestObj::convert5):
      * bindings/scripts/test/CPP/WebDOMTestObj.h:
      * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
      (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
      (WebDOMTestSerializedScriptValueInterface::multiTransferList):
      * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
      (WebDOMTestSerializedScriptValueInterface):
      * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
      (WebDOMTestTypedefs::multiTransferList):
      * bindings/scripts/test/CPP/WebDOMTestTypedefs.h:
      (WebDOMTestTypedefs):
      * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
      (webkit_dom_test_callback_callback_with_array_param):
      (webkit_dom_test_callback_callback_with_serialized_script_value_param):
      (webkit_dom_test_callback_callback_with_non_bool_return_type):
      (webkit_dom_test_callback_callback_requires_this_to_pass):
      * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
      * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
      (webkit_dom_test_obj_convert1):
      (webkit_dom_test_obj_convert2):
      (webkit_dom_test_obj_convert4):
      (webkit_dom_test_obj_convert5):
      * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
      * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
      (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
      (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
      * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
      * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
      (webkit_dom_test_typedefs_multi_transfer_list):
      * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
      * bindings/scripts/test/JS/JSTestCallback.cpp:
      (WebCore::JSTestCallback::callbackWithArrayParam):
      (WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
      (WebCore::JSTestCallback::callbackRequiresThisToPass):
      * bindings/scripts/test/JS/JSTestCallback.h:
      (JSTestCallback):
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::jsTestObjPrototypeFunctionConvert1):
      (WebCore::jsTestObjPrototypeFunctionConvert2):
      (WebCore::jsTestObjPrototypeFunctionConvert4):
      (WebCore::jsTestObjPrototypeFunctionConvert5):
      * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
      (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
      (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
      (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
      * bindings/scripts/test/JS/JSTestTypedefs.cpp:
      (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
      * bindings/scripts/test/ObjC/DOMTestCallback.h:
      * bindings/scripts/test/ObjC/DOMTestCallback.mm:
      (-[DOMTestCallback callbackWithArrayParam:]):
      (-[DOMTestCallback callbackWithSerializedScriptValueParam:strArg:]):
      (-[DOMTestCallback callbackWithNonBoolReturnType:]):
      (-[DOMTestCallback callbackRequiresThisToPass:testNodeParam:]):
      * bindings/scripts/test/ObjC/DOMTestObj.h:
      * bindings/scripts/test/ObjC/DOMTestObj.mm:
      (-[DOMTestObj convert1:]):
      (-[DOMTestObj convert2:]):
      (-[DOMTestObj convert4:]):
      (-[DOMTestObj convert5:]):
      * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
      * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
      (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
      (-[DOMTestSerializedScriptValueInterface multiTransferList:tx:second:txx:]):
      * bindings/scripts/test/ObjC/DOMTestTypedefs.h:
      * bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
      (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
      * bindings/scripts/test/TestCallback.idl: Use valid types instead of Class1, Class2, ...
      so that the bindings generator does not complain about not being able to resolve
      them.
      * bindings/scripts/test/TestObj.idl: Use valid parameter types instead of 'a', 'b', 'd', 'e'
      so that the bindings generator does not complain about them.
      * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
      * bindings/scripts/test/TestTypedefs.idl:
      * css/FontLoader.idl:
      * dom/DataTransferItem.idl:
      * page/DOMWindow.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b2e1744
  4. 26 Apr, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Add support for Web IDL partial interfaces to the bindings generator · 1939ee3d
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115228
      
      Reviewed by Kentaro Hara.
      
      Add support for Web IDL partial interfaces to the bindings generator:
      http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface
      
      Also drop support for the the WebKit-specific [Supplemental] extended
      attribute and use partial interfaces instead in existing IDL files.
      
      No new tests, no behavior change.
      
      * Modules/battery/NavigatorBattery.idl:
      * Modules/filesystem/DOMWindowFileSystem.idl:
      * Modules/filesystem/DataTransferItemFileSystem.idl:
      * Modules/filesystem/HTMLInputElementFileSystem.idl:
      * Modules/filesystem/WorkerContextFileSystem.idl:
      * Modules/gamepad/NavigatorGamepad.idl:
      * Modules/geolocation/NavigatorGeolocation.idl:
      * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
      * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
      * Modules/mediastream/DOMWindowMediaStream.idl:
      * Modules/mediastream/NavigatorMediaStream.idl:
      * Modules/navigatorcontentutils/NavigatorContentUtils.idl:
      * Modules/networkinfo/NavigatorNetworkInfoConnection.idl:
      * Modules/notifications/DOMWindowNotifications.idl:
      * Modules/notifications/WorkerContextNotifications.idl:
      * Modules/quota/DOMWindowQuota.idl:
      * Modules/quota/NavigatorStorageQuota.idl:
      * Modules/quota/WorkerNavigatorStorageQuota.idl:
      * Modules/speech/DOMWindowSpeech.idl:
      * Modules/speech/DOMWindowSpeechSynthesis.idl:
      * Modules/vibration/NavigatorVibration.idl:
      * Modules/webaudio/DOMWindowWebAudio.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/WorkerContextWebDatabase.idl:
      * Modules/websockets/DOMWindowWebSocket.idl:
      * Modules/websockets/WorkerContextWebSocket.idl:
      * bindings/scripts/IDLAttributes.txt:
      * bindings/scripts/IDLParser.pm:
      (parsePartialDefinition):
      * bindings/scripts/generate-bindings.pl:
      * bindings/scripts/preprocess-idls.pl:
      (getPartialInterfaceNameFromIDLFile):
      * bindings/scripts/test/TestSupplemental.idl:
      * page/DOMWindowPagePopup.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149170 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1939ee3d
  5. 25 Apr, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Add support for Web IDL callback interfaces to the bindings generator · fbc14455
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115179
      
      Reviewed by Kentaro Hara.
      
      Add support in the bindings generator for Web IDL callback interfaces:
      http://dev.w3.org/2006/webapi/WebIDL/#dfn-callback-interface
      
      Drop support for the WebKit-specific [Callback] extended attributes
      on Web IDL interfaces and update existing IDL files to use proper
      callback interfaces instead.
      
      No new tests, no behavior change.
      
      * Modules/filesystem/EntriesCallback.idl:
      * Modules/filesystem/EntryCallback.idl:
      * Modules/filesystem/ErrorCallback.idl:
      * Modules/filesystem/FileCallback.idl:
      * Modules/filesystem/FileSystemCallback.idl:
      * Modules/filesystem/FileWriterCallback.idl:
      * Modules/filesystem/MetadataCallback.idl:
      * Modules/geolocation/PositionCallback.idl:
      * Modules/geolocation/PositionErrorCallback.idl:
      * Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
      * Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
      * Modules/mediastream/RTCErrorCallback.idl:
      * Modules/mediastream/RTCSessionDescriptionCallback.idl:
      * Modules/mediastream/RTCStatsCallback.idl:
      * Modules/notifications/NotificationPermissionCallback.idl:
      * Modules/quota/StorageErrorCallback.idl:
      * Modules/quota/StorageQuotaCallback.idl:
      * Modules/quota/StorageUsageCallback.idl:
      * Modules/webaudio/AudioBufferCallback.idl:
      * Modules/webdatabase/DatabaseCallback.idl:
      * Modules/webdatabase/SQLStatementCallback.idl:
      * Modules/webdatabase/SQLStatementErrorCallback.idl:
      * Modules/webdatabase/SQLTransactionCallback.idl:
      * Modules/webdatabase/SQLTransactionErrorCallback.idl:
      * Modules/webdatabase/SQLTransactionSyncCallback.idl:
      * bindings/scripts/CodeGeneratorJS.pm:
      (GenerateInterface):
      * bindings/scripts/IDLParser.pm:
      (parseCallbackRestOrInterface):
      * bindings/scripts/test/TestCallback.idl:
      * dom/RequestAnimationFrameCallback.idl:
      * dom/StringCallback.idl:
      * html/VoidCallback.idl:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fbc14455
  6. 11 Apr, 2013 1 commit
    • oliver@apple.com's avatar
      Add more type validation to debug builds · 239499fd
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114478
      
      Reviewed by Mark Hahnenberg.
      
      Source/WebCore:
      
      Add a bunch more type checks to the JS DOM bindings.
      
      * Modules/mediastream/MediaStream.idl:
      * Modules/webaudio/AudioDestinationNode.idl:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSDOMBinding.h:
      (WebCore::getExistingWrapper):
      (WebCore):
      (WebCore::createNewWrapper):
      * bindings/scripts/CodeGeneratorJS.pm:
      (GetNativeTypeForConversions):
      (GetGnuVTableRefForInterface):
      (GetGnuVTableNameForInterface):
      (GetGnuMangledNameForInterface):
      (GetGnuVTableOffsetForType):
      (GetWinVTableRefForInterface):
      (GetWinVTableNameForInterface):
      (GetWinMangledNameForInterface):
      (GetNamespaceForInterface):
      (GetImplementationLacksVTableForInterface):
      (GetSkipVTableValidationForInterface):
      (GenerateImplementation):
      * bindings/scripts/IDLAttributes.txt:
      * css/CSSRuleList.idl:
      * css/CSSStyleDeclaration.idl:
      * dom/Clipboard.idl:
      * dom/DOMStringMap.idl:
      * dom/MutationRecord.idl:
      * dom/NodeList.idl:
      * html/DOMTokenList.idl:
      * html/track/TextTrack.idl:
      * inspector/ScriptProfileNode.idl:
      * storage/Storage.idl:
      * xml/XPathNSResolver.idl:
      
      Source/WTF:
      
      Add BINDING_VALIDATION flag and make RELEASE_ASSERT use UNLIKELY.
      
      * wtf/Assertions.h:
      * wtf/Platform.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      239499fd
  7. 06 Apr, 2013 1 commit
    • weinig@apple.com's avatar
      Removed v8 bindings hooks from IDL files · 007c2427
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114091
      
      Patch by Geoffrey Garen <ggaren@apple.com> on 2013-04-06
      Reviewed by Anders Carlsson and Sam Weinig.
      
      Source/JavaScriptCore: 
      
      * heap/HeapStatistics.h:
      
      Source/WebCore: 
      
      * Modules/encryptedmedia/MediaKeySession.idl:
      * Modules/filesystem/DOMWindowFileSystem.idl:
      * Modules/filesystem/WorkerContextFileSystem.idl:
      * Modules/gamepad/NavigatorGamepad.idl:
      * Modules/geolocation/NavigatorGeolocation.idl:
      * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
      * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
      * Modules/mediastream/DOMWindowMediaStream.idl:
      * Modules/mediastream/NavigatorMediaStream.idl:
      * Modules/notifications/DOMWindowNotifications.idl:
      * Modules/notifications/NotificationCenter.idl:
      * Modules/notifications/WorkerContextNotifications.idl:
      * Modules/quota/DOMWindowQuota.idl:
      * Modules/speech/DOMWindowSpeech.idl:
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioContext.idl:
      * Modules/webaudio/AudioParam.idl:
      * Modules/webaudio/DOMWindowWebAudio.idl:
      * Modules/webdatabase/DOMWindowWebDatabase.idl:
      * Modules/webdatabase/WorkerContextWebDatabase.idl:
      * Modules/websockets/DOMWindowWebSocket.idl:
      * Modules/websockets/WorkerContextWebSocket.idl:
      * bindings/js/JSDOMBinding.cpp:
      * bindings/js/ScriptController.h:
      (ScriptController):
      * bindings/scripts/test/TestNode.idl:
      * bindings/scripts/test/TestObj.idl:
      * css/CSSFontFaceLoadEvent.idl:
      * css/CSSHostRule.idl:
      * css/CSSRule.idl:
      * css/CSSRuleList.idl:
      * css/CSSStyleDeclaration.idl:
      * css/CSSStyleSheet.idl:
      * css/CSSValue.idl:
      * css/FontLoader.idl:
      * css/StyleSheet.idl:
      * css/WebKitCSSRegionRule.idl:
      * dom/Clipboard.idl:
      * dom/CustomElementConstructor.idl:
      * dom/CustomEvent.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DOMStringMap.idl:
      * dom/DataTransferItemList.idl:
      * dom/Document.idl:
      * dom/DocumentFragment.idl:
      * dom/Element.idl:
      * dom/Event.idl:
      * dom/EventTarget.idl:
      * dom/MessageChannel.idl:
      * dom/MouseEvent.idl:
      * dom/MutationRecord.idl:
      * dom/NamedNodeMap.idl:
      * dom/Node.idl:
      * dom/NodeList.idl:
      * dom/RequestAnimationFrameCallback.idl:
      * dom/ShadowRoot.idl:
      * dom/Text.idl:
      * history/HistoryItem.cpp:
      (WebCore::HistoryItem::encodeBackForwardTreeNode):
      (WebCore::HistoryItem::decodeBackForwardTree):
      * html/DOMSettableTokenList.idl:
      * html/DOMTokenList.idl:
      * html/HTMLAllCollection.idl:
      * html/HTMLAppletElement.idl:
      * html/HTMLCollection.idl:
      * html/HTMLDialogElement.idl:
      * html/HTMLDivElement.idl:
      * html/HTMLDocument.idl:
      * html/HTMLElement.idl:
      * html/HTMLEmbedElement.idl:
      * html/HTMLFormControlsCollection.idl:
      * html/HTMLFormElement.idl:
      * html/HTMLImageElement.idl:
      * html/HTMLInputElement.idl:
      * html/HTMLMediaElement.idl:
      * html/HTMLObjectElement.idl:
      * html/HTMLOptionsCollection.idl:
      * html/HTMLSelectElement.idl:
      * html/HTMLSpanElement.idl:
      * html/HTMLStyleElement.idl:
      * html/HTMLTemplateElement.idl:
      * html/HTMLTrackElement.idl:
      * html/HTMLUnknownElement.idl:
      * html/MediaKeyError.idl:
      * html/MediaKeyEvent.idl:
      * html/MicroDataItemValue.idl:
      * html/canvas/CanvasRenderingContext2D.idl:
      * html/canvas/DOMPath.idl:
      * html/shadow/HTMLContentElement.idl:
      * html/shadow/HTMLShadowElement.idl:
      * html/track/TextTrack.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorIndexedDBAgent.cpp:
      (WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
      (WebCore::InspectorIndexedDBAgent::requestDatabase):
      (WebCore::InspectorIndexedDBAgent::requestData):
      (WebCore::InspectorIndexedDBAgent::clearObjectStore):
      (WebCore):
      * loader/EmptyClients.h:
      (EmptyFrameLoaderClient):
      * loader/FrameLoaderClient.h:
      (FrameLoaderClient):
      * page/Console.idl:
      * page/DOMWindow.idl:
      * page/DOMWindowPagePopup.idl:
      * page/History.idl:
      * page/Location.idl:
      * platform/graphics/skia/PatternSkia.cpp:
      (WebCore::Pattern::platformDestroy):
      (WebCore::Pattern::platformPattern):
      * testing/Internals.cpp:
      (WebCore::Internals::serializeObject):
      (WebCore::Internals::deserializeBuffer):
      
      Source/WTF: 
      
      * wtf/ArrayBuffer.h:
      (WTF):
      (WTF::ArrayBufferContents::ArrayBufferContents):
      (WTF::ArrayBufferContents::transfer):
      (ArrayBufferContents):
      (ArrayBuffer):
      (WTF::ArrayBufferContents::~ArrayBufferContents):
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@147857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      007c2427
  8. 22 Mar, 2013 1 commit
    • tommyw@google.com's avatar
      MediaStream API: Finalize the RTCPeerConnection states · 740d37e0
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=112792
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      * chromium/public/WebRTCPeerConnectionHandlerClient.h:
      
      Source/WebCore:
      
      This patch finalized the RTCPeerConnection state and events. These changes
      have not yet pushed out to the editors draft; but they are uncontroversial
      and agreed upon.
      
      readyState will be deleted; please use the replacement signalingState which is already available.
      onstatechange -> onsignalingstatechange
      onicechange -> oniceconnectionstatechange
      ongatheringchange will be deleted since oniceconnectionstatechange can be used for the same purpose.
      RTCIceConnectionState::"starting" -> RTCIceConnectionState::"new"
      
      Patch covered by modified tests.
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::RTCPeerConnection):
      (WebCore::RTCPeerConnection::iceConnectionState):
      (WebCore::RTCPeerConnection::changeSignalingState):
      (WebCore::RTCPeerConnection::changeIceGatheringState):
      (WebCore::RTCPeerConnection::changeIceConnectionState):
      * Modules/mediastream/RTCPeerConnection.h:
      (RTCPeerConnection):
      * Modules/mediastream/RTCPeerConnection.idl:
      * dom/EventNames.h:
      (WebCore):
      * platform/mediastream/RTCPeerConnectionHandlerClient.h:
      
      Source/WebKit/chromium:
      
      * src/AssertMatchingEnums.cpp:
      
      LayoutTests:
      
      * fast/mediastream/RTCPeerConnection-datachannel.html:
      * fast/mediastream/RTCPeerConnection-dtmf.html:
      * fast/mediastream/RTCPeerConnection-events-expected.txt:
      * fast/mediastream/RTCPeerConnection-events.html:
      * fast/mediastream/RTCPeerConnection-ice.html:
      * fast/mediastream/RTCPeerConnection-state-expected.txt:
      * fast/mediastream/RTCPeerConnection-state.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146582 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      740d37e0
  9. 21 Mar, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Remove upcastPointer from ActiveDOMObject constructor · 433a0b5e
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112858
      
      Patch by Russell McClellan <russell.mcclellan@gmail.com> on 2013-03-21
      Reviewed by Alexey Proskuryakov.
      
      Removed pesky argument to ActiveDOMObject constructor that is no longer
      used.
      
      No new tests (no change in behavior).
      
      * Modules/battery/BatteryManager.cpp:
      (WebCore::BatteryManager::BatteryManager):
      * Modules/filesystem/DOMFileSystem.cpp:
      (WebCore::DOMFileSystem::DOMFileSystem):
      * Modules/filesystem/FileWriter.cpp:
      (WebCore::FileWriter::FileWriter):
      * Modules/geolocation/Geolocation.cpp:
      (WebCore::Geolocation::Geolocation):
      * Modules/indexeddb/IDBDatabase.cpp:
      (WebCore::IDBDatabase::IDBDatabase):
      * Modules/indexeddb/IDBRequest.cpp:
      (WebCore::IDBRequest::IDBRequest):
      * Modules/indexeddb/IDBTransaction.cpp:
      (WebCore::IDBTransaction::IDBTransaction):
      * Modules/mediasource/MediaSource.cpp:
      (WebCore::MediaSource::MediaSource):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::MediaStreamTrack):
      * Modules/mediastream/RTCDTMFSender.cpp:
      (WebCore::RTCDTMFSender::RTCDTMFSender):
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::RTCPeerConnection):
      * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
      (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
      * Modules/mediastream/RTCStatsRequestImpl.cpp:
      (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
      * Modules/mediastream/RTCVoidRequestImpl.cpp:
      (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
      * Modules/networkinfo/NetworkInfoConnection.cpp:
      (WebCore::NetworkInfoConnection::NetworkInfoConnection):
      * Modules/notifications/Notification.cpp:
      (WebCore::Notification::Notification):
      * Modules/notifications/NotificationCenter.cpp:
      (WebCore::NotificationCenter::NotificationCenter):
      * Modules/speech/SpeechRecognition.cpp:
      (WebCore::SpeechRecognition::SpeechRecognition):
      * Modules/webaudio/AudioContext.cpp:
      (WebCore::AudioContext::AudioContext):
      * Modules/webdatabase/DatabaseContext.cpp:
      (WebCore::DatabaseContext::DatabaseContext):
      * Modules/websockets/WebSocket.cpp:
      (WebCore::WebSocket::WebSocket):
      * css/FontLoader.cpp:
      (WebCore::FontLoader::FontLoader):
      * dom/ActiveDOMObject.cpp:
      (WebCore::ActiveDOMObject::ActiveDOMObject):
      * dom/ActiveDOMObject.h:
      (ActiveDOMObject):
      * dom/ScriptExecutionContext.cpp:
      (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
      (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
      (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
      (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
      (WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
      * dom/ScriptExecutionContext.h:
      (ScriptExecutionContext):
      (WebCore::ScriptExecutionContext::activeDOMObjects):
      * fileapi/FileReader.cpp:
      (WebCore::FileReader::FileReader):
      * html/HTMLMarqueeElement.cpp:
      (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement):
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::WebGLRenderingContext):
      * loader/Prerenderer.cpp:
      (WebCore::Prerenderer::Prerenderer):
      * page/EventSource.cpp:
      (WebCore::EventSource::EventSource):
      * page/SuspendableTimer.cpp:
      (WebCore::SuspendableTimer::SuspendableTimer):
      * workers/AbstractWorker.cpp:
      (WebCore::AbstractWorker::AbstractWorker):
      * workers/WorkerContext.cpp:
      (WebCore::WorkerContext::hasPendingActivity):
      * xml/XMLHttpRequest.cpp:
      (WebCore::XMLHttpRequest::XMLHttpRequest):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      433a0b5e
    • commit-queue@webkit.org's avatar
      Expose the Type field of an RTCStatsReport · 8fb659c1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112951
      
      Patch by Harald Alvestrand <hta@google.com> on 2013-03-21
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Covered by an extension of an existing test.
      
      * Modules/mediastream/RTCStatsReport.h:
      (WebCore::RTCStatsReport::type):
      * Modules/mediastream/RTCStatsReport.idl:
      
      LayoutTests:
      
      * fast/mediastream/RTCPeerConnection-stats-expected.txt:
      * fast/mediastream/RTCPeerConnection-stats.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8fb659c1
  10. 20 Mar, 2013 1 commit
  11. 18 Mar, 2013 1 commit
  12. 13 Mar, 2013 1 commit
  13. 08 Mar, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Implemented new API for RTCStatsReport object. · 76e8cb5f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=110333
      
      Source/Platform:
      
      Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
      Reviewed by Adam Barth.
      
      * chromium/public/WebRTCStatsResponse.h:
      (WebKit::WebRTCStatsResponse::WebRTCStatsResponse):
      (WebRTCStatsResponse):
      
      Source/WebCore:
      
      Removed RTCStatsElement object, moved its interface to
      RTCStatsReport. Preserved some interfaces for
      backwards compatibility; will be removed in a later patch.
      
      Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
      Reviewed by Adam Barth.
      
      Tested by extensions to RTCPeerConnection-stats test.
      
      * Modules/mediastream/RTCStatsElement.cpp: Removed.
      * Modules/mediastream/RTCStatsElement.h: Removed.
      * Modules/mediastream/RTCStatsElement.idl: Removed.
      * Modules/mediastream/RTCStatsReport.cpp:
      (WebCore::RTCStatsReport::create):
      (WebCore::RTCStatsReport::RTCStatsReport):
      (WebCore):
      (WebCore::RTCStatsReport::names):
      (WebCore::RTCStatsReport::local):
      (WebCore::RTCStatsReport::remote):
      (WebCore::RTCStatsReport::addStatistic):
      (WebCore::RTCStatsReport::addElement):
      * Modules/mediastream/RTCStatsReport.h:
      (RTCStatsReport):
      (WebCore::RTCStatsReport::timestamp):
      (WebCore::RTCStatsReport::id):
      (WebCore::RTCStatsReport::stat):
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/mediastream/RTCStatsResponse.cpp:
      (WebCore::RTCStatsResponse::namedItem):
      (WebCore):
      (WebCore::RTCStatsResponse::addReport):
      (WebCore::RTCStatsResponse::addStatistic):
      * Modules/mediastream/RTCStatsResponse.h:
      (RTCStatsResponse):
      * Modules/mediastream/RTCStatsResponse.idl:
      * WebCore.gypi:
      * platform/chromium/support/WebRTCStatsResponse.cpp:
      (WebKit::WebRTCStatsResponse::addReport):
      (WebKit):
      (WebKit::WebRTCStatsResponse::addStatistic):
      (WebKit::WebRTCStatsResponse::addElement):
      * platform/mediastream/RTCStatsResponseBase.h:
      (RTCStatsResponseBase):
      
      Tools:
      
      Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
      Reviewed by Adam Barth.
      
      * DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp:
      (WebTestRunner::MockWebRTCPeerConnectionHandler::getStats):
      
      LayoutTests:
      
      Patch by Harald Alvestrand <hta@chromium.org> on 2013-03-08
      Reviewed by Adam Barth.
      
      * fast/mediastream/RTCPeerConnection-stats-expected.txt:
      * fast/mediastream/RTCPeerConnection-stats.html:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76e8cb5f
  14. 05 Mar, 2013 2 commits
    • tommyw@google.com's avatar
      MediaStream API: Allow local and remote descriptions to be accessed after close · 6aed7b56
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=111437
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      It's quite clear in the standard that the getters should still return the old value.
      Also overhauling the state setters a bit to check if the new state is different.
      
      Existing tests expanded to cover patch.
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::localDescription):
      (WebCore::RTCPeerConnection::remoteDescription):
      (WebCore::RTCPeerConnection::changeSignalingState):
      (WebCore::RTCPeerConnection::changeIceGatheringState):
      (WebCore::RTCPeerConnection::changeIceConnectionState):
      
      LayoutTests:
      
      Expanding tests to check the new behaviour.
      
      * fast/mediastream/RTCPeerConnection-localDescription-expected.txt:
      * fast/mediastream/RTCPeerConnection-localDescription.html:
      * fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt:
      * fast/mediastream/RTCPeerConnection-remoteDescription.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144808 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6aed7b56
    • tommyw@google.com's avatar
      MediaStream API: Add the getStreamById method on RTCPeerConnection · ee771f6a
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=111311
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      Added an initial initialize method which doesn't take an id;
      the id will be generated for you.
      
      * chromium/public/WebMediaStream.h:
      (WebMediaStream):
      
      Source/WebCore:
      
      Adding the missing method on RTCPeerConnection defined here:
      http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCPeerConnection-getStreamById-MediaStream-DOMString-streamId
      
      Existing tests have been extended to cover patch.
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::getStreamById):
      (WebCore):
      * Modules/mediastream/RTCPeerConnection.h:
      (RTCPeerConnection):
      * Modules/mediastream/RTCPeerConnection.idl:
      * platform/chromium/support/WebMediaStream.cpp:
      (WebKit::WebMediaStream::initialize):
      (WebKit):
      * platform/mediastream/MediaStreamSource.cpp:
      (WebCore::MediaStreamSource::setReadyState):
      
      Tools:
      
      Changing mocks to be more realistic.
      
      * DumpRenderTree/chromium/TestRunner/src/MockWebRTCPeerConnectionHandler.cpp:
      (WebTestRunner::MockWebRTCPeerConnectionHandler::addStream):
      (WebTestRunner::MockWebRTCPeerConnectionHandler::removeStream):
      * DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp:
      (WebTestRunner::WebUserMediaClientMock::requestUserMedia):
      
      LayoutTests:
      
      * fast/mediastream/MediaStream-add-remove-tracks.html:
      * fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
      * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ee771f6a
  15. 04 Mar, 2013 1 commit
  16. 03 Mar, 2013 2 commits
    • abarth@webkit.org's avatar
      Unreviewed attempted build fix. Adds back some includes removed in · 401a3791
      abarth@webkit.org authored
      http://trac.webkit.org/changeset/144565.
      
      Source/WebCore: 
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      * bindings/ScriptControllerBase.cpp:
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      (WebCore):
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/FrameLoader.cpp:
      * loader/MainResourceLoader.cpp:
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/cache/CachedResource.cpp:
      * loader/icon/IconController.cpp:
      * page/DOMWindowExtension.cpp:
      * page/Frame.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginView.cpp:
      * rendering/HitTestResult.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResource.cpp:
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      (WebCore):
      
      Source/WebKit/chromium: 
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      (WebCore):
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/mac: 
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2: 
      
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      401a3791
    • abarth@webkit.org's avatar
      Unreviewed rollout of http://trac.webkit.org/r144530 · fa616dd3
      abarth@webkit.org authored
      As described in https://bugs.webkit.org/show_bug.cgi?id=111167 and
      https://bugs.webkit.org/show_bug.cgi?id=111035, this patch caused a
      large number of ASSERTs in chromium-win.
      
      Source/WebCore: 
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.cpp:
      * Modules/notifications/Notification.cpp:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp:
      * bindings/js/JSNodeCustom.cpp:
      * bindings/js/ScriptController.cpp:
      * bindings/js/ScriptSourceCode.h:
      (WebCore):
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSCrossfadeValue.h:
      (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
      (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * css/WebKitCSSSVGDocumentValue.h:
      (WebCore):
      * dom/Clipboard.cpp:
      (WebCore::Clipboard::Clipboard):
      * dom/ContainerNode.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/HTMLScriptRunner.h:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      (WebCore):
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      (WebCore):
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/CrossOriginAccessControl.h:
      (WebCore):
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentThreadableLoader.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::FrameLoader):
      * loader/FrameLoader.h:
      (WebCore):
      (WebCore::FrameLoader::policyChecker):
      * loader/ImageLoader.cpp:
      * loader/ImageLoader.h:
      * loader/LinkLoader.h:
      (WebCore):
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      (WebCore):
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/PolicyChecker.h:
      (WebCore):
      * loader/ProgressTracker.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/TextTrackLoader.cpp:
      * loader/TextTrackLoader.h:
      (WebCore):
      * loader/ThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      (WebCore):
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/archive/cf/LegacyWebArchive.cpp:
      * loader/cache/CachedFont.cpp:
      * loader/cache/CachedFont.h:
      (CachedFontClient):
      (WebCore::CachedFontClient::~CachedFontClient):
      (WebCore::CachedFontClient::expectedType):
      (WebCore::CachedFontClient::resourceClientType):
      (WebCore::CachedFontClient::fontLoaded):
      (WebCore):
      * loader/cache/CachedFontClient.h: Removed.
      * loader/cache/CachedImage.cpp:
      * loader/cache/CachedRawResource.cpp:
      * loader/cache/CachedRawResource.h:
      (WebCore):
      (CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::expectedType):
      (WebCore::CachedRawResourceClient::resourceClientType):
      (WebCore::CachedRawResourceClient::dataSent):
      (WebCore::CachedRawResourceClient::responseReceived):
      (WebCore::CachedRawResourceClient::dataReceived):
      (WebCore::CachedRawResourceClient::redirectReceived):
      (WebCore::CachedRawResourceClient::dataDownloaded):
      * loader/cache/CachedRawResourceClient.h: Removed.
      * loader/cache/CachedResource.cpp:
      * loader/cache/CachedResourceHandle.cpp:
      (WebCore):
      * loader/cache/CachedResourceHandle.h:
      (WebCore):
      (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
      (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
      * loader/cache/CachedSVGDocument.h:
      (CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::expectedType):
      (WebCore::CachedSVGDocumentClient::resourceClientType):
      (WebCore):
      * loader/cache/CachedSVGDocumentClient.h: Removed.
      * loader/cache/CachedSVGDocumentReference.cpp: Removed.
      * loader/cache/CachedSVGDocumentReference.h:
      (WebCore):
      (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
      (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
      * loader/cache/CachedStyleSheetClient.h:
      (WebCore):
      * loader/cache/MemoryCache.h:
      (WebCore):
      (MemoryCache):
      * loader/chromium/CachedRawResourceChromium.cpp:
      * loader/icon/IconController.cpp:
      * loader/icon/IconLoader.h:
      * loader/mac/ResourceLoaderMac.mm:
      * page/DOMWindowExtension.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore):
      (WebCore::Frame::reportMemoryUsage):
      * page/Frame.h:
      (WebCore):
      (Frame):
      (WebCore::Frame::init):
      (WebCore::Frame::loader):
      * page/PerformanceNavigation.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/Settings.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/filters/FilterOperation.cpp:
      (WebCore):
      * platform/graphics/filters/FilterOperation.h:
      (WebCore):
      (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
      (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/PasteboardMac.mm:
      * platform/network/AuthenticationChallengeBase.cpp:
      * platform/network/cf/CookieJarCFNet.cpp:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginRequest.h: Removed.
      * plugins/PluginStream.h:
      (PluginStreamClient):
      (WebCore::PluginStreamClient::~PluginStreamClient):
      (WebCore::PluginStreamClient::streamDidFinishLoading):
      (WebCore):
      * plugins/PluginStreamClient.h: Removed.
      * plugins/PluginView.cpp:
      * plugins/PluginView.h:
      (WebCore):
      (PluginRequest):
      (WebCore::PluginRequest::PluginRequest):
      (WebCore::PluginRequest::frameLoadRequest):
      (WebCore::PluginRequest::notifyData):
      (WebCore::PluginRequest::sendNotification):
      (WebCore::PluginRequest::shouldAllowPopups):
      * rendering/HitTestResult.cpp:
      * rendering/InlineFlowBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResource.cpp:
      (WebCore::RenderImageResource::RenderImageResource):
      (WebCore):
      * rendering/RenderImageResource.h:
      (WebCore::RenderImageResource::image):
      (WebCore::RenderImageResource::errorOccurred):
      (WebCore::RenderImageResource::usesImageContainerSize):
      (WebCore::RenderImageResource::imageHasRelativeWidth):
      (WebCore::RenderImageResource::imageHasRelativeHeight):
      (WebCore::RenderImageResource::imageSize):
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerFilterInfo.h:
      (WebCore):
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * rendering/RenderTableCol.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/style/StyleCachedShader.h:
      * rendering/style/StyleCustomFilterProgram.cpp: Removed.
      * rendering/style/StyleCustomFilterProgram.h:
      (WebCore):
      (WebCore::StyleCustomFilterProgram::vertexShaderString):
      (StyleCustomFilterProgram):
      (WebCore::StyleCustomFilterProgram::fragmentShaderString):
      (WebCore::StyleCustomFilterProgram::isLoaded):
      (WebCore::StyleCustomFilterProgram::willHaveClients):
      (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
      (WebCore::StyleCustomFilterProgram::notifyFinished):
      * svg/SVGFEImageElement.h:
      * svg/SVGFontFaceUriElement.h:
      (SVGFontFaceUriElement):
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * svg/SVGUseElement.h:
      * svg/graphics/SVGImageCache.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      (WebCore):
      * xml/XSLTProcessorLibxslt.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParser.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      
      Source/WebKit/chromium: 
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      (WebCore):
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl: 
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk: 
      
      * webkit/webkitwebpolicydecision.cpp:
      
      Source/WebKit/mac: 
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2: 
      
      * NetworkProcess/HostRecord.h:
      * NetworkProcess/NetworkResourceLoadScheduler.h:
      * NetworkProcess/NetworkResourceLoader.h:
      (WebCore):
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144565 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fa616dd3
  17. 01 Mar, 2013 3 commits
    • ap@apple.com's avatar
      Reduce amount of rebuilding when touching networking headers · fc363ce1
      ap@apple.com authored
              https://bugs.webkit.org/show_bug.cgi?id=111035
      
              Reviewed by Eric Seidel.
      
              This uses a number of common unsurprising techniques. One interesting observation
              is that including CachedResource related headers is very expensive. We can usually
              get away with their Client counterparts, and with CachedResourceHandle.
      
              * page/Frame.cpp:
              * page/Frame.h:
              Don't include FrameLoader, greatly reducing include graph for most non-loader files.
              This required making Frame::init() non-inline - I'm not sure why it ever was.
      
              * loader/FrameLoader.cpp:
              * loader/FrameLoader.h:
              Even though FrameLoader is logically on loading side of WebCore, it's included in
              too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
              largest wins. As a future improvement, we should probably convert other members
              to OwnPtrs.
      
              * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
              definition of a class it holds, but default construction does not.
      
              * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
              not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
      
              * loader/cache/CachedFont.h:
              * loader/cache/CachedFontClient.h: Added.
              * loader/cache/CachedRawResource.h:
              * loader/cache/CachedRawResourceClient.h: Added.
              * loader/cache/CachedSVGDocument.h:
              * loader/cache/CachedSVGDocumentClient.h: Added.
              These types were defining client types in the same headers, making it impossible
              to avoid including networking headers through CachedResource. Moved clients into
              separate files.
      
              * plugins/PluginStream.h:
              * plugins/PluginStreamClient.h: Added.
              Similar situation here.
      
              * loader/cache/CachedResourceHandle.cpp:
              * loader/cache/CachedResourceHandle.h:
              Moved functions that need to know about CachedResource to .cpp file. This is another
              huge win. Added a destructor, so that CachedResource woudn't be needed in all files
              that include CachedResourceHandle.
      
              * loader/cache/CachedSVGDocumentReference.cpp: Added.
              * loader/cache/CachedSVGDocumentReference.h:
              Moved constructor and virtual function implementations to a .cpp file - they need
              not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
      
              * platform/graphics/filters/FilterOperation.cpp:
              * platform/graphics/filters/FilterOperation.h:
              Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
              CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
              rendering code that it seems best to cut any ties with resources and loading.
              Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
              classes are generally harmful (due to code bloat).
      
              * plugins/PluginRequest.h: Added.
              * plugins/PluginView.h:
              Moved PluginRequest into a separate file, it was out of place in a view hierarchy
              class file.
      
              * rendering/RenderImageResource.cpp:
              * rendering/RenderImageResource.h:
              Moved definitions of virtual functions to a .cpp file. Thre is no win from having
              them inline, and now we don't need CachedImage.h in the header.
      
              * rendering/style/StyleCustomFilterProgram.cpp: Added.
              * rendering/style/StyleCustomFilterProgram.h:
              Ditto.
      
              * CMakeLists.txt:
              * GNUmakefile.list.am:
              * Modules/mediastream/RTCPeerConnection.cpp:
              * Modules/notifications/Notification.cpp:
              * Target.pri:
              * WebCore.exp.in:
              * WebCore.gypi:
              * WebCore.vcproj/WebCore.vcproj:
              * WebCore.vcxproj/WebCore.vcxproj:
              * WebCore.vcxproj/WebCore.vcxproj.filters:
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/ScriptControllerBase.cpp:
              * bindings/js/JSNodeCustom.cpp:
              * bindings/js/ScriptController.cpp:
              * bindings/js/ScriptSourceCode.h:
              * bindings/objc/DOM.mm:
              * bindings/v8/ScriptController.cpp:
              * bindings/v8/V8DOMWindowShell.cpp:
              * bindings/v8/custom/V8DOMWindowCustom.cpp:
              * css/CSSFontFaceSource.h:
              * css/CSSFontSelector.cpp:
              * css/WebKitCSSSVGDocumentValue.cpp:
              * css/WebKitCSSSVGDocumentValue.h:
              * dom/Clipboard.cpp:
              * dom/ContainerNode.cpp:
              * dom/DOMImplementation.cpp:
              * dom/PendingScript.h:
              * dom/ScriptElement.cpp:
              * dom/ScriptElement.h:
              * history/CachedFrame.cpp:
              * html/DOMURL.cpp:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLAppletElement.cpp:
              * html/HTMLElement.cpp:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLFrameSetElement.cpp:
              * html/HTMLHtmlElement.cpp:
              * html/HTMLImageElement.cpp:
              * html/HTMLObjectElement.cpp:
              * html/HTMLPlugInElement.cpp:
              * html/ImageDocument.cpp:
              * html/ImageInputType.cpp:
              * html/MediaDocument.cpp:
              * html/PluginDocument.cpp:
              * html/canvas/WebGLRenderingContext.cpp:
              * html/parser/HTMLConstructionSite.cpp:
              * html/parser/HTMLParserOptions.cpp:
              * html/parser/HTMLScriptRunner.h:
              * html/parser/XSSAuditor.cpp:
              * html/parser/XSSAuditorDelegate.cpp:
              * inspector/InspectorDebuggerAgent.cpp:
              * inspector/InspectorFileSystemAgent.cpp:
              * inspector/InspectorFrontendHost.cpp:
              * inspector/InspectorInstrumentation.h:
              * inspector/InspectorPageAgent.cpp:
              * inspector/NetworkResourcesData.cpp:
              * inspector/NetworkResourcesData.h:
              * loader/CookieJar.cpp:
              * loader/CrossOriginAccessControl.cpp:
              * loader/CrossOriginPreflightResultCache.h:
              * loader/DocumentThreadableLoader.h:
              * loader/ImageLoader.cpp:
              * loader/ImageLoader.h:
              * loader/LinkLoader.h:
              * loader/MainResourceLoader.cpp:
              * loader/MainResourceLoader.h:
              * loader/MixedContentChecker.cpp:
              * loader/PingLoader.cpp:
              * loader/PolicyChecker.h:
              * loader/ProgressTracker.cpp:
              * loader/SubframeLoader.cpp:
              * loader/SubresourceLoader.cpp:
              * loader/TextTrackLoader.cpp:
              * loader/TextTrackLoader.h:
              * loader/ThreadableLoader.h:
              * loader/appcache/ApplicationCacheGroup.cpp:
              * loader/appcache/ApplicationCacheGroup.h:
              * loader/appcache/ApplicationCacheHost.cpp:
              * loader/archive/cf/LegacyWebArchive.cpp:
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedImage.cpp:
              * loader/cache/CachedRawResource.cpp:
              * loader/cache/CachedResource.cpp:
              * loader/cache/CachedStyleSheetClient.h:
              * loader/cache/MemoryCache.cpp:
              * loader/cache/MemoryCache.h:
              * loader/chromium/CachedRawResourceChromium.cpp:
              * loader/icon/IconController.cpp:
              * loader/icon/IconLoader.h:
              * loader/mac/ResourceLoaderMac.mm:
              * page/DOMWindowExtension.cpp:
              * page/DragController.cpp:
              * page/PerformanceNavigation.cpp:
              * page/PerformanceTiming.cpp:
              * page/PointerLockController.cpp:
              * page/Settings.cpp:
              * page/animation/CSSPropertyAnimation.cpp:
              * platform/chromium/PasteboardChromium.cpp:
              * platform/efl/ErrorsEfl.cpp:
              * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
              * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
              * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
              * platform/gtk/ErrorsGtk.cpp:
              * platform/gtk/PasteboardGtk.cpp:
              * platform/gtk/PasteboardHelper.h:
              * platform/mac/ClipboardMac.h:
              * platform/mac/ClipboardMac.mm:
              * platform/mac/HTMLConverter.mm:
              * platform/mac/PasteboardMac.mm:
              * platform/network/AuthenticationChallengeBase.cpp:
              * platform/network/cf/CookieJarCFNet.cpp:
              * platform/network/cf/ResourceRequestCFNet.cpp:
              * platform/network/mac/CookieStorageMac.mm:
              * platform/qt/PasteboardQt.cpp:
              * plugins/DOMMimeType.cpp:
              * plugins/PluginView.cpp:
              * rendering/HitTestResult.cpp:
              * rendering/InlineFlowBox.cpp:
              * rendering/RenderBox.cpp:
              * rendering/RenderEmbeddedObject.cpp:
              * rendering/RenderImage.cpp:
              * rendering/RenderImageResourceStyleImage.cpp:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLayerBacking.cpp:
              * rendering/RenderLayerFilterInfo.h:
              * rendering/RenderListItem.cpp:
              * rendering/RenderListMarker.cpp:
              * rendering/RenderSnapshottedPlugIn.cpp:
              * rendering/RenderTableCol.cpp:
              * rendering/RenderTableRow.cpp:
              * rendering/RenderTableSection.cpp:
              * rendering/style/StyleCachedShader.h:
              * svg/SVGFEImageElement.h:
              * svg/SVGFontFaceUriElement.h:
              * svg/SVGImageLoader.cpp:
              * svg/SVGUseElement.cpp:
              * svg/SVGUseElement.h:
              * svg/graphics/SVGImageCache.cpp:
              * testing/MockPagePopupDriver.cpp:
              * xml/XSLStyleSheet.h:
              * xml/XSLTProcessorLibxslt.cpp:
              * xml/parser/XMLDocumentParser.cpp:
              * xml/parser/XMLDocumentParser.h:
              * xml/parser/XMLDocumentParserLibxml2.cpp:
              Many self-evident changes - removing unnecessary header includes, adding smaller
              more local ones that are now necessary.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fc363ce1
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r144422 and r144424. · 0b87a6c7
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/144422
      http://trac.webkit.org/changeset/144424
      https://bugs.webkit.org/show_bug.cgi?id=111167
      
      Caused over 20 tests to fail assertion on Chromium Win port as
      ASSERTION FAILED: m_platformRequestUpdated (Requested by
      toyoshim on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-01
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.cpp:
      * Modules/notifications/Notification.cpp:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp:
      * bindings/js/JSNodeCustom.cpp:
      * bindings/js/ScriptController.cpp:
      * bindings/js/ScriptSourceCode.h:
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSCrossfadeValue.h:
      (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
      (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * css/WebKitCSSSVGDocumentValue.h:
      (WebCore):
      * dom/Clipboard.cpp:
      (WebCore::Clipboard::Clipboard):
      * dom/ContainerNode.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/HTMLScriptRunner.h:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      (WebCore):
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      (WebCore):
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/CrossOriginAccessControl.h:
      (WebCore):
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentThreadableLoader.h:
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::FrameLoader):
      * loader/FrameLoader.h:
      (WebCore):
      (WebCore::FrameLoader::policyChecker):
      * loader/ImageLoader.cpp:
      * loader/ImageLoader.h:
      * loader/LinkLoader.h:
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/PolicyChecker.h:
      (WebCore):
      * loader/ProgressTracker.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/TextTrackLoader.cpp:
      * loader/TextTrackLoader.h:
      * loader/ThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      (WebCore):
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/archive/cf/LegacyWebArchive.cpp:
      * loader/cache/CachedFont.cpp:
      * loader/cache/CachedFont.h:
      (CachedFontClient):
      (WebCore::CachedFontClient::~CachedFontClient):
      (WebCore::CachedFontClient::expectedType):
      (WebCore::CachedFontClient::resourceClientType):
      (WebCore::CachedFontClient::fontLoaded):
      (WebCore):
      * loader/cache/CachedFontClient.h: Removed.
      * loader/cache/CachedImage.cpp:
      * loader/cache/CachedRawResource.cpp:
      * loader/cache/CachedRawResource.h:
      (WebCore):
      (CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::~CachedRawResourceClient):
      (WebCore::CachedRawResourceClient::expectedType):
      (WebCore::CachedRawResourceClient::resourceClientType):
      (WebCore::CachedRawResourceClient::dataSent):
      (WebCore::CachedRawResourceClient::responseReceived):
      (WebCore::CachedRawResourceClient::dataReceived):
      (WebCore::CachedRawResourceClient::redirectReceived):
      (WebCore::CachedRawResourceClient::dataDownloaded):
      * loader/cache/CachedRawResourceClient.h: Removed.
      * loader/cache/CachedResource.cpp:
      * loader/cache/CachedResourceHandle.cpp:
      * loader/cache/CachedResourceHandle.h:
      (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
      (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
      * loader/cache/CachedSVGDocument.h:
      (CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
      (WebCore::CachedSVGDocumentClient::expectedType):
      (WebCore::CachedSVGDocumentClient::resourceClientType):
      (WebCore):
      * loader/cache/CachedSVGDocumentClient.h: Removed.
      * loader/cache/CachedSVGDocumentReference.cpp: Removed.
      * loader/cache/CachedSVGDocumentReference.h:
      (WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
      (WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
      * loader/cache/CachedStyleSheetClient.h:
      * loader/cache/MemoryCache.cpp:
      * loader/cache/MemoryCache.h:
      (WebCore):
      (MemoryCache):
      * loader/chromium/CachedRawResourceChromium.cpp:
      * loader/icon/IconController.cpp:
      * loader/icon/IconLoader.h:
      * loader/mac/ResourceLoaderMac.mm:
      * page/DOMWindowExtension.cpp:
      * page/DragController.cpp:
      * page/Frame.cpp:
      (WebCore::Frame::Frame):
      (WebCore::Frame::reportMemoryUsage):
      * page/Frame.h:
      (WebCore):
      (Frame):
      (WebCore::Frame::init):
      (WebCore::Frame::loader):
      * page/PerformanceNavigation.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/Settings.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/filters/FilterOperation.cpp:
      * platform/graphics/filters/FilterOperation.h:
      (WebCore::FilterOperation::ReferenceFilterOperation::setCachedSVGDocumentReference):
      (WebCore::FilterOperation::ReferenceFilterOperation::ReferenceFilterOperation):
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/PasteboardMac.mm:
      * platform/network/AuthenticationChallengeBase.cpp:
      * platform/network/cf/CookieJarCFNet.cpp:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginRequest.h: Removed.
      * plugins/PluginStream.h:
      (PluginStreamClient):
      (WebCore::PluginStreamClient::~PluginStreamClient):
      (WebCore::PluginStreamClient::streamDidFinishLoading):
      (WebCore):
      * plugins/PluginStreamClient.h: Removed.
      * plugins/PluginView.cpp:
      * plugins/PluginView.h:
      (WebCore):
      (PluginRequest):
      (WebCore::PluginRequest::PluginRequest):
      (WebCore::PluginRequest::frameLoadRequest):
      (WebCore::PluginRequest::notifyData):
      (WebCore::PluginRequest::sendNotification):
      (WebCore::PluginRequest::shouldAllowPopups):
      * rendering/HitTestResult.cpp:
      * rendering/InlineFlowBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResource.cpp:
      (WebCore::RenderImageResource::RenderImageResource):
      * rendering/RenderImageResource.h:
      (WebCore::RenderImageResource::image):
      (WebCore::RenderImageResource::errorOccurred):
      (WebCore::RenderImageResource::usesImageContainerSize):
      (WebCore::RenderImageResource::imageHasRelativeWidth):
      (WebCore::RenderImageResource::imageHasRelativeHeight):
      (WebCore::RenderImageResource::imageSize):
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerFilterInfo.h:
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * rendering/RenderTableCol.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/style/StyleCachedShader.h:
      * rendering/style/StyleCustomFilterProgram.cpp: Removed.
      * rendering/style/StyleCustomFilterProgram.h:
      (WebCore):
      (WebCore::StyleCustomFilterProgram::vertexShaderString):
      (StyleCustomFilterProgram):
      (WebCore::StyleCustomFilterProgram::fragmentShaderString):
      (WebCore::StyleCustomFilterProgram::isLoaded):
      (WebCore::StyleCustomFilterProgram::willHaveClients):
      (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
      (WebCore::StyleCustomFilterProgram::notifyFinished):
      * svg/SVGFEImageElement.h:
      * svg/SVGFontFaceUriElement.h:
      (SVGFontFaceUriElement):
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * svg/SVGUseElement.h:
      * svg/graphics/SVGImageCache.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      * xml/XSLTProcessorLibxslt.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParser.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      
      Source/WebKit/chromium:
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      (WebCore):
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl:
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk:
      
      * webkit/webkitwebpolicydecision.cpp:
      
      Source/WebKit/mac:
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt:
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2:
      
      * NetworkProcess/HostRecord.h:
      * NetworkProcess/NetworkResourceLoadScheduler.h:
      * NetworkProcess/NetworkResourceLoader.h:
      (WebCore):
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144446 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0b87a6c7
    • ap@apple.com's avatar
      Reduce amount of rebuilding when touching networking headers · b2f13721
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=111035
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      This uses a number of common unsurprising techniques. One interesting observation
      is that including CachedResource related headers is very expensive. We can usually
      get away with their Client counterparts, and with CachedResourceHandle.
      
      * page/Frame.cpp:
      * page/Frame.h:
      Don't include FrameLoader, greatly reducing include graph for most non-loader files.
      This required making Frame::init() non-inline - I'm not sure why it ever was.
      
      * loader/FrameLoader.cpp:
      * loader/FrameLoader.h:
      Even though FrameLoader is logically on loading side of WebCore, it's included in
      too many places. Not including PolicyChecker.h and ResourceHandle.h was among the
      largest wins. As a future improvement, we should probably convert other members
      to OwnPtrs.
      
      * css/CSSCrossfadeValue.h: Initializing CachedResourceHandle with 0 requires a
      definition of a class it holds, but default construction does not.
      
      * loader/CrossOriginAccessControl.h: This file among others only needs ResourceHandleTypes.h,
      not ResourceHandle.h. This header is semi-recent, so not all include sites were updated.
      
      * loader/cache/CachedFont.h:
      * loader/cache/CachedFontClient.h: Added.
      * loader/cache/CachedRawResource.h:
      * loader/cache/CachedRawResourceClient.h: Added.
      * loader/cache/CachedSVGDocument.h:
      * loader/cache/CachedSVGDocumentClient.h: Added.
      These types were defining client types in the same headers, making it impossible
      to avoid including networking headers through CachedResource. Moved clients into
      separate files.
      
      * plugins/PluginStream.h:
      * plugins/PluginStreamClient.h: Added.
      Similar situation here.
      
      * loader/cache/CachedResourceHandle.cpp:
      * loader/cache/CachedResourceHandle.h:
      Moved functions that need to know about CachedResource to .cpp file. This is another
      huge win. Added a destructor, so that CachedResource woudn't be needed in all files
      that include CachedResourceHandle.
      
      * loader/cache/CachedSVGDocumentReference.cpp: Added.
      * loader/cache/CachedSVGDocumentReference.h:
      Moved constructor and virtual function implementations to a .cpp file - they need
      not inlining, and this lets us avoid including CachedSVGDocument.h in the header.
      
      * platform/graphics/filters/FilterOperation.cpp:
      * platform/graphics/filters/FilterOperation.h:
      Avoid including CachedSVGDocumentReference.h. This is not such a big win now that
      CachedSVGDocumentReference.h itself is smaller, but FilterOperation is so clearly
      rendering code that it seems best to cut any ties with resources and loading.
      Added a virtual destrutor in .cpp file, because inline destructors in polymorphic
      classes are generally harmful (due to code bloat).
      
      * plugins/PluginRequest.h: Added.
      * plugins/PluginView.h:
      Moved PluginRequest into a separate file, it was out of place in a view hierarchy
      class file.
      
      * rendering/RenderImageResource.cpp:
      * rendering/RenderImageResource.h:
      Moved definitions of virtual functions to a .cpp file. Thre is no win from having
      them inline, and now we don't need CachedImage.h in the header.
      
      * rendering/style/StyleCustomFilterProgram.cpp: Added.
      * rendering/style/StyleCustomFilterProgram.h:
      Ditto.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCPeerConnection.cpp:
      * Modules/notifications/Notification.cpp:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/ScriptControllerBase.cpp:
      * bindings/js/JSNodeCustom.cpp:
      * bindings/js/ScriptController.cpp:
      * bindings/js/ScriptSourceCode.h:
      * bindings/objc/DOM.mm:
      * bindings/v8/ScriptController.cpp:
      * bindings/v8/V8DOMWindowShell.cpp:
      * bindings/v8/custom/V8DOMWindowCustom.cpp:
      * css/CSSFontFaceSource.h:
      * css/CSSFontSelector.cpp:
      * css/WebKitCSSSVGDocumentValue.cpp:
      * css/WebKitCSSSVGDocumentValue.h:
      * dom/Clipboard.cpp:
      * dom/ContainerNode.cpp:
      * dom/DOMImplementation.cpp:
      * dom/PendingScript.h:
      * dom/ScriptElement.cpp:
      * dom/ScriptElement.h:
      * history/CachedFrame.cpp:
      * html/DOMURL.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLAppletElement.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLEmbedElement.cpp:
      * html/HTMLFrameSetElement.cpp:
      * html/HTMLHtmlElement.cpp:
      * html/HTMLImageElement.cpp:
      * html/HTMLObjectElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/ImageDocument.cpp:
      * html/ImageInputType.cpp:
      * html/MediaDocument.cpp:
      * html/PluginDocument.cpp:
      * html/canvas/WebGLRenderingContext.cpp:
      * html/parser/HTMLConstructionSite.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * html/parser/HTMLScriptRunner.h:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorFileSystemAgent.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorPageAgent.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/NetworkResourcesData.h:
      * loader/CookieJar.cpp:
      * loader/CrossOriginAccessControl.cpp:
      * loader/CrossOriginPreflightResultCache.h:
      * loader/DocumentThreadableLoader.h:
      * loader/ImageLoader.cpp:
      * loader/ImageLoader.h:
      * loader/LinkLoader.h:
      * loader/MainResourceLoader.cpp:
      * loader/MainResourceLoader.h:
      * loader/MixedContentChecker.cpp:
      * loader/PingLoader.cpp:
      * loader/PolicyChecker.h:
      * loader/ProgressTracker.cpp:
      * loader/SubframeLoader.cpp:
      * loader/SubresourceLoader.cpp:
      * loader/TextTrackLoader.cpp:
      * loader/TextTrackLoader.h:
      * loader/ThreadableLoader.h:
      * loader/appcache/ApplicationCacheGroup.cpp:
      * loader/appcache/ApplicationCacheGroup.h:
      * loader/appcache/ApplicationCacheHost.cpp:
      * loader/archive/cf/LegacyWebArchive.cpp:
      * loader/cache/CachedFont.cpp:
      * loader/cache/CachedImage.cpp:
      * loader/cache/CachedRawResource.cpp:
      * loader/cache/CachedResource.cpp:
      * loader/cache/CachedStyleSheetClient.h:
      * loader/cache/MemoryCache.cpp:
      * loader/cache/MemoryCache.h:
      * loader/chromium/CachedRawResourceChromium.cpp:
      * loader/icon/IconController.cpp:
      * loader/icon/IconLoader.h:
      * loader/mac/ResourceLoaderMac.mm:
      * page/DOMWindowExtension.cpp:
      * page/DragController.cpp:
      * page/PerformanceNavigation.cpp:
      * page/PerformanceTiming.cpp:
      * page/PointerLockController.cpp:
      * page/Settings.cpp:
      * page/animation/CSSPropertyAnimation.cpp:
      * platform/chromium/PasteboardChromium.cpp:
      * platform/efl/ErrorsEfl.cpp:
      * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
      * platform/gtk/ErrorsGtk.cpp:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/gtk/PasteboardHelper.h:
      * platform/mac/ClipboardMac.h:
      * platform/mac/ClipboardMac.mm:
      * platform/mac/HTMLConverter.mm:
      * platform/mac/PasteboardMac.mm:
      * platform/network/AuthenticationChallengeBase.cpp:
      * platform/network/cf/CookieJarCFNet.cpp:
      * platform/network/cf/ResourceRequestCFNet.cpp:
      * platform/network/mac/CookieStorageMac.mm:
      * platform/qt/PasteboardQt.cpp:
      * plugins/DOMMimeType.cpp:
      * plugins/PluginView.cpp:
      * rendering/HitTestResult.cpp:
      * rendering/InlineFlowBox.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderImageResourceStyleImage.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderLayerBacking.cpp:
      * rendering/RenderLayerFilterInfo.h:
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * rendering/RenderTableCol.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/style/StyleCachedShader.h:
      * svg/SVGFEImageElement.h:
      * svg/SVGFontFaceUriElement.h:
      * svg/SVGImageLoader.cpp:
      * svg/SVGUseElement.cpp:
      * svg/SVGUseElement.h:
      * svg/graphics/SVGImageCache.cpp:
      * testing/MockPagePopupDriver.cpp:
      * xml/XSLStyleSheet.h:
      * xml/XSLTProcessorLibxslt.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParser.h:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      Many self-evident changes - removing unnecessary header includes, adding smaller
      more local ones that are now necessary.
      
      Source/WebKit/chromium:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * src/ApplicationCacheHost.cpp:
      * src/AssociatedURLLoader.cpp:
      * src/EditorClientImpl.cpp:
      * src/SharedWorkerRepository.cpp:
      * src/WebDataSourceImpl.cpp:
      * src/WebFrameImpl.h:
      * src/WebNode.cpp:
      * src/WebSharedWorkerImpl.cpp:
      * tests/FrameLoaderClientImplTest.cpp:
      
      Source/WebKit/efl:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * webkit/webkitwebpolicydecision.cpp:
      
      Source/WebKit/mac:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * DOM/WebDOMOperations.mm:
      * Misc/WebNSPasteboardExtras.mm:
      * WebCoreSupport/WebFrameNetworkingContext.mm:
      * WebView/WebRenderLayer.mm:
      * WebView/WebRenderNode.mm:
      
      Source/WebKit/qt:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * WebCoreSupport/NotificationPresenterClientQt.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2:
      
      Adding includes that are now necessary because WebCore headers don't have them
      any more.
      
      * NetworkProcess/HostRecord.h:
      * NetworkProcess/NetworkResourceLoadScheduler.h:
      * NetworkProcess/NetworkResourceLoader.h:
      * Shared/WebRenderLayer.cpp:
      * Shared/WebRenderObject.cpp:
      * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
      * WebProcess/InjectedBundle/InjectedBundle.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.mm:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
      * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebProcess.cpp:
      * WebProcess/soup/WebProcessSoup.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144422 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2f13721
  18. 14 Feb, 2013 1 commit
  19. 11 Feb, 2013 1 commit
    • inferno@chromium.org's avatar
      Add ASSERT_WITH_SECURITY_IMPLICATION to detect out of bounds access · a227be6d
      inferno@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=108981
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      * Modules/mediastream/RTCStatsResponse.cpp:
      (WebCore::RTCStatsResponse::addElement):
      (WebCore::RTCStatsResponse::addStatistic):
      * Modules/websockets/WebSocketChannel.cpp:
      (WebCore::WebSocketChannel::skipBuffer):
      * css/CSSCalculationValue.cpp:
      (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
      (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
      * css/WebKitCSSTransformValue.cpp:
      (WebCore::transformValueToCssString):
      * editing/TextIterator.cpp:
      (WebCore::SearchBuffer::search):
      * html/HTMLElement.cpp:
      (WebCore::parseColorStringWithCrazyLegacyRules):
      * html/ImageData.cpp:
      (WebCore::ImageData::ImageData):
      * html/shadow/DateTimeSymbolicFieldElement.cpp:
      (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
      * html/track/TextTrackCueList.cpp:
      (WebCore::TextTrackCueList::add):
      * platform/SharedBuffer.cpp:
      (WebCore::SharedBuffer::getSomeData):
      * platform/SharedBufferChunkReader.cpp:
      (WebCore::SharedBufferChunkReader::nextChunk):
      * platform/audio/HRTFDatabase.cpp:
      (WebCore::HRTFDatabase::getKernelsFromAzimuthElevation):
      * platform/graphics/GlyphPageTreeNode.cpp:
      (WebCore::GlyphPageTreeNode::initializePage):
      * platform/graphics/Region.cpp:
      (WebCore::Region::Shape::segments_end):
      * platform/graphics/filters/FEComponentTransfer.cpp:
      (WebCore::FEComponentTransfer::getValues):
      * platform/graphics/filters/FilterEffect.cpp:
      (WebCore::FilterEffect::inputEffect):
      * platform/text/TextCodecUTF8.cpp:
      (WebCore::TextCodecUTF8::decode):
      * platform/text/mac/TextCodecMac.cpp:
      (WebCore::TextCodecMac::decode):
      * rendering/RenderBlockLineLayout.cpp:
      (WebCore::RenderBlock::checkFloatsInCleanLine):
      * svg/SVGAnimatedTypeAnimator.h:
      (WebCore::SVGAnimatedTypeAnimator::executeAction):
      * svg/SVGAnimationElement.cpp:
      (WebCore::SVGAnimationElement::calculatePercentForSpline):
      * svg/animation/SVGSMILElement.cpp:
      (WebCore::SVGSMILElement::findInstanceTime):
      
      Source/WebKit/chromium:
      
      * src/AutofillPopupMenuClient.cpp:
      (WebKit::AutofillPopupMenuClient::getSuggestion):
      (WebKit::AutofillPopupMenuClient::getLabel):
      (WebKit::AutofillPopupMenuClient::getIcon):
      (WebKit::AutofillPopupMenuClient::removeSuggestionAtIndex):
      (WebKit::AutofillPopupMenuClient::valueChanged):
      (WebKit::AutofillPopupMenuClient::selectionChanged):
      * src/ChromeClientImpl.cpp:
      (WebKit::ChromeClientImpl::shouldRunModalDialogDuringPageDismissal):
      
      Source/WTF:
      
      * wtf/BitVector.h:
      (WTF::BitVector::quickGet):
      (WTF::BitVector::quickSet):
      (WTF::BitVector::quickClear):
      * wtf/DecimalNumber.h:
      (WTF::DecimalNumber::DecimalNumber):
      * wtf/SegmentedVector.h:
      (WTF::SegmentedVector::ensureSegment):
      * wtf/StringPrintStream.cpp:
      (WTF::StringPrintStream::vprintf):
      * wtf/Vector.h:
      (WTF::::insert):
      (WTF::::remove):
      * wtf/dtoa/utils.h:
      (WTF::double_conversion::StringBuilder::SetPosition):
      (WTF::double_conversion::StringBuilder::AddSubstring):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a227be6d
  20. 08 Feb, 2013 1 commit
  21. 07 Feb, 2013 1 commit
  22. 06 Feb, 2013 1 commit
    • tommyw@google.com's avatar
      MediaStream API: Implement DTMF support in RTCPeerConnection · 3dbbd139
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106782
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      The WebRTC specification have added support for DTMF:
      http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-dtmf
      
      Implementation wise this is implemented using the same pattern as RTCDataChannel;
      where a RTCDTMFSenderHandler is created by the UA through a new method on
      RTCPeerConnectionHandler.
      
      * Platform.gypi:
      * chromium/public/WebMediaStreamTrack.h:
      (WebMediaStreamTrack):
      * chromium/public/WebRTCDTMFSenderHandler.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebKit):
      (WebRTCDTMFSenderHandler):
      (WebKit::WebRTCDTMFSenderHandler::~WebRTCDTMFSenderHandler):
      * chromium/public/WebRTCDTMFSenderHandlerClient.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebKit):
      (WebRTCDTMFSenderHandlerClient):
      (WebKit::WebRTCDTMFSenderHandlerClient::~WebRTCDTMFSenderHandlerClient):
      * chromium/public/WebRTCPeerConnectionHandler.h:
      (WebKit):
      (WebKit::WebRTCPeerConnectionHandler::createDTMFSender):
      
      Source/WebCore:
      
      The WebRTC specification have added support for DTMF:
      http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-dtmf
      
      Implementation wise this is implemented using the same pattern as RTCDataChannel;
      where a RTCDTMFSenderHandler is created by the UA through a new method on
      RTCPeerConnectionHandler.
      
      Test: fast/mediastream/RTCPeerConnection-dtmf.html
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/RTCDTMFSender.cpp: Added.
      (WebCore):
      (WebCore::RTCDTMFSender::create):
      (WebCore::RTCDTMFSender::RTCDTMFSender):
      (WebCore::RTCDTMFSender::~RTCDTMFSender):
      (WebCore::RTCDTMFSender::canInsertDTMF):
      (WebCore::RTCDTMFSender::track):
      (WebCore::RTCDTMFSender::toneBuffer):
      (WebCore::RTCDTMFSender::insertDTMF):
      (WebCore::RTCDTMFSender::didPlayTone):
      (WebCore::RTCDTMFSender::interfaceName):
      (WebCore::RTCDTMFSender::scriptExecutionContext):
      (WebCore::RTCDTMFSender::stop):
      (WebCore::RTCDTMFSender::eventTargetData):
      (WebCore::RTCDTMFSender::ensureEventTargetData):
      (WebCore::RTCDTMFSender::scheduleDispatchEvent):
      (WebCore::RTCDTMFSender::scheduledEventTimerFired):
      * Modules/mediastream/RTCDTMFSender.h: Added.
      (WebCore):
      (RTCDTMFSender):
      (WebCore::RTCDTMFSender::duration):
      (WebCore::RTCDTMFSender::interToneGap):
      * Modules/mediastream/RTCDTMFSender.idl: Added.
      * Modules/mediastream/RTCDTMFToneChangeEvent.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebCore):
      (WebCore::RTCDTMFToneChangeEvent::create):
      (WebCore::RTCDTMFToneChangeEvent::RTCDTMFToneChangeEvent):
      (WebCore::RTCDTMFToneChangeEvent::~RTCDTMFToneChangeEvent):
      (WebCore::RTCDTMFToneChangeEvent::tone):
      (WebCore::RTCDTMFToneChangeEvent::interfaceName):
      * Modules/mediastream/RTCDTMFToneChangeEvent.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebCore):
      (RTCDTMFToneChangeEventInit):
      (RTCDTMFToneChangeEvent):
      * Modules/mediastream/RTCDTMFToneChangeEvent.idl: Added.
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::createDataChannel):
      (WebCore):
      (WebCore::RTCPeerConnection::getStreamByTrackId):
      (WebCore::RTCPeerConnection::createDTMFSender):
      * Modules/mediastream/RTCPeerConnection.h:
      (WebCore):
      (RTCPeerConnection):
      * Modules/mediastream/RTCPeerConnection.idl:
      * WebCore.gypi:
      * dom/EventNames.h:
      (WebCore):
      * dom/EventNames.in:
      * dom/EventTargetFactory.in:
      * platform/chromium/support/WebMediaStreamTrack.cpp:
      (WebKit::WebMediaStreamTrack::WebMediaStreamTrack):
      (WebKit):
      * platform/mediastream/RTCDTMFSenderHandler.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebCore):
      (RTCDTMFSenderHandler):
      (WebCore::RTCDTMFSenderHandler::~RTCDTMFSenderHandler):
      * platform/mediastream/RTCDTMFSenderHandlerClient.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebCore):
      (RTCDTMFSenderHandlerClient):
      (WebCore::RTCDTMFSenderHandlerClient::~RTCDTMFSenderHandlerClient):
      * platform/mediastream/RTCPeerConnectionHandler.h:
      (WebCore):
      (RTCPeerConnectionHandler):
      * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.cpp: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebCore):
      (WebCore::RTCDTMFSenderHandlerChromium::create):
      (WebCore::RTCDTMFSenderHandlerChromium::RTCDTMFSenderHandlerChromium):
      (WebCore::RTCDTMFSenderHandlerChromium::~RTCDTMFSenderHandlerChromium):
      (WebCore::RTCDTMFSenderHandlerChromium::setClient):
      (WebCore::RTCDTMFSenderHandlerChromium::currentToneBuffer):
      (WebCore::RTCDTMFSenderHandlerChromium::canInsertDTMF):
      (WebCore::RTCDTMFSenderHandlerChromium::insertDTMF):
      (WebCore::RTCDTMFSenderHandlerChromium::didPlayTone):
      * platform/mediastream/chromium/RTCDTMFSenderHandlerChromium.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (WebCore):
      (RTCDTMFSenderHandlerChromium):
      * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
      (WebCore::RTCPeerConnectionHandlerChromium::createDTMFSender):
      (WebCore):
      * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
      (RTCPeerConnectionHandlerChromium):
      
      Tools:
      
      Adding Mock functionality for the DTMFSender.
      
      * DumpRenderTree/DumpRenderTree.gypi:
      * DumpRenderTree/chromium/MockWebRTCDTMFSenderHandler.cpp: Added.
      (DTMFSenderToneTask):
      (DTMFSenderToneTask::DTMFSenderToneTask):
      (MockWebRTCDTMFSenderHandler::MockWebRTCDTMFSenderHandler):
      (MockWebRTCDTMFSenderHandler::setClient):
      (MockWebRTCDTMFSenderHandler::currentToneBuffer):
      (MockWebRTCDTMFSenderHandler::canInsertDTMF):
      (MockWebRTCDTMFSenderHandler::insertDTMF):
      * DumpRenderTree/chromium/MockWebRTCDTMFSenderHandler.h: Copied from Source/Platform/chromium/public/WebMediaStreamTrack.h.
      (MockWebRTCDTMFSenderHandler):
      (MockWebRTCDTMFSenderHandler::taskList):
      (MockWebRTCDTMFSenderHandler::clearToneBuffer):
      * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
      (MockWebRTCPeerConnectionHandler::createDTMFSender):
      * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h:
      (MockWebRTCPeerConnectionHandler):
      
      LayoutTests:
      
      * fast/mediastream/RTCPeerConnection-dtmf-expected.txt: Added.
      * fast/mediastream/RTCPeerConnection-dtmf.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141984 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3dbbd139
  23. 05 Feb, 2013 1 commit
    • tommyw@google.com's avatar
      MediaStream API: Update RTCPeerConnections stream accessors to match the latest specification · 93195aa6
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108179
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      http://dev.w3.org/2011/webrtc/editor/webrtc.html#interface-definition
      The attributes localStreams and remoteStreams have been changes to the methods
      getLocalStreams() and getRemoteStreams() which return a native array instead.
      
      Existing tests updated to cover patch.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/MediaStream.h:
      (WebCore):
      * Modules/mediastream/MediaStreamList.cpp: Removed.
      * Modules/mediastream/MediaStreamList.h: Removed.
      * Modules/mediastream/MediaStreamList.idl: Removed.
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::RTCPeerConnection):
      (WebCore::RTCPeerConnection::addStream):
      (WebCore::RTCPeerConnection::removeStream):
      (WebCore::RTCPeerConnection::getLocalStreams):
      (WebCore::RTCPeerConnection::getRemoteStreams):
      (WebCore::RTCPeerConnection::didAddRemoteStream):
      (WebCore::RTCPeerConnection::didRemoveRemoteStream):
      * Modules/mediastream/RTCPeerConnection.h:
      (RTCPeerConnection):
      * Modules/mediastream/RTCPeerConnection.idl:
      * WebCore.gypi:
      
      LayoutTests:
      
      Updating tests for RTCPeerConnections new stream accessors.
      
      * fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
      * fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
      * fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
      * fast/mediastream/RTCPeerConnection-statsSelector.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      93195aa6
  24. 29 Jan, 2013 1 commit
    • tommyw@google.com's avatar
      MediaStream API: A MediaStreamComponent should be able to return the... · 37af3b0b
      tommyw@google.com authored
      MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to
      https://bugs.webkit.org/show_bug.cgi?id=108173
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      * chromium/public/WebMediaStreamComponent.h:
      (WebKit):
      (WebMediaStreamComponent):
      
      Source/WebCore:
      
      To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership"
      of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent.
      This is also better from an architectonic view as well.
      
      Patch covered by existing tests.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::MediaStream):
      (WebCore::MediaStream::addTrack):
      (WebCore::MediaStream::addRemoteTrack):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::create):
      (WebCore::MediaStreamTrack::MediaStreamTrack):
      (WebCore::MediaStreamTrack::setEnabled):
      * Modules/mediastream/MediaStreamTrack.h:
      (MediaStreamTrack):
      * Modules/mediastream/RTCStatsRequestImpl.cpp:
      (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
      * platform/chromium/support/WebMediaStreamComponent.cpp:
      (WebKit::WebMediaStreamComponent::stream):
      (WebKit):
      * platform/mediastream/MediaStreamComponent.h:
      (WebCore):
      (WebCore::MediaStreamComponent::create):
      (MediaStreamComponent):
      (WebCore::MediaStreamComponent::stream):
      (WebCore::MediaStreamComponent::setStream):
      (WebCore::MediaStreamComponent::MediaStreamComponent):
      * platform/mediastream/MediaStreamDescriptor.h:
      (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      37af3b0b
  25. 28 Jan, 2013 1 commit
    • abarth@webkit.org's avatar
      [v8] Security feature: JavaScript Bindings hardening · 7929995e
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106608
      
      Source/WebCore: 
      
      The patch adds a check at wrapper creation time to enuse that the
      object being wrapped is not already free, to the extent that we know
      the information about the type of the object as provided in the IDL.
      
      Patch by Tom Sepez <tsepez@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      Patch is correct if existing tests pass without new crashes.
      
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateImplementation):
      (GenerateToV8Converters):
      (GetNativeTypeForConversions):
      (GetGnuVTableRefForInterface):
      (GetGnuVTableNameForInterface):
      (GetGnuMangledNameForInterface):
      (GetGnuVTableOffsetForType):
      (GetWinVTableRefForInterface):
      (GetWinVTableNameForInterface):
      (GetWinMangledNameForInterface):
      (GetNamespaceForInterface):
      (GetImplementationLacksVTableForInterface):
      (GetV8SkipVTableValidationForInterface):
      Update code generation to add object validity tests under the control
      of the ENABLE_BINDING_INTEGRITY option.
              
      * Modules/filesystem/DirectoryReader.idl:
      * Modules/filesystem/DirectoryReaderSync.idl:
      * Modules/filesystem/EntryArray.idl:
      * Modules/filesystem/EntryArraySync.idl:
      * Modules/filesystem/Metadata.idl:
      * Modules/gamepad/Gamepad.idl:
      * Modules/gamepad/GamepadList.idl:
      * Modules/geolocation/Geoposition.idl:
      * Modules/geolocation/PositionError.idl:
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBIndex.idl:
      * Modules/indexeddb/IDBKeyRange.idl:
      * Modules/indexeddb/IDBObjectStore.idl:
      * Modules/mediastream/RTCStatsElement.idl:
      * Modules/mediastream/RTCStatsReport.idl:
      * Modules/quota/StorageInfo.idl:
      * Modules/speech/SpeechGrammar.idl:
      * Modules/speech/SpeechGrammarList.idl:
      * Modules/speech/SpeechRecognitionAlternative.idl:
      * Modules/speech/SpeechRecognitionResult.idl:
      * Modules/speech/SpeechRecognitionResultList.idl:
      * Modules/webaudio/AudioBuffer.idl:
      * Modules/webaudio/AudioDestinationNode.idl:
      * Modules/webaudio/AudioListener.idl:
      * Modules/webaudio/AudioSourceNode.idl:
      * Modules/webaudio/WaveTable.idl:
      * Modules/webdatabase/SQLError.idl:
      * Modules/webdatabase/SQLException.idl:
      * Modules/webdatabase/SQLResultSet.idl:
      * Modules/webdatabase/SQLResultSetRowList.idl:
      * Modules/webdatabase/SQLTransaction.idl:
      * Modules/webdatabase/SQLTransactionSync.idl:
      * bindings/scripts/IDLAttributes.txt:
      * css/CSSPrimitiveValue.idl:
      * css/CSSRule.idl:
      * css/CSSRuleList.idl:
      * css/CSSStyleDeclaration.idl:
      * css/CSSValue.idl:
      * css/CSSValueList.idl:
      * css/Counter.idl:
      * css/MediaList.idl:
      * css/MediaQueryList.idl:
      * css/RGBColor.idl:
      * css/Rect.idl:
      * css/StyleSheetList.idl:
      * css/WebKitCSSFilterValue.idl:
      * css/WebKitCSSMixFunctionValue.idl:
      * css/WebKitCSSTransformValue.idl:
      * dom/ClientRect.idl:
      * dom/ClientRectList.idl:
      * dom/Clipboard.idl:
      * dom/DOMCoreException.idl:
      * dom/DOMError.idl:
      * dom/DOMImplementation.idl:
      * dom/DOMNamedFlowCollection.idl:
      * dom/DOMStringList.idl:
      * dom/DOMStringMap.idl:
      * dom/DataTransferItem.idl:
      * dom/DataTransferItemList.idl:
      * dom/DocumentFragment.idl:
      * dom/Element.idl:
      * dom/Entity.idl:
      * dom/Event.idl:
      * dom/EventException.idl:
      * dom/MessageChannel.idl:
      * dom/MouseEvent.idl:
      * dom/MutationObserver.idl:
      * dom/MutationRecord.idl:
      * dom/NamedNodeMap.idl:
      * dom/NodeFilter.idl:
      * dom/NodeIterator.idl:
      * dom/NodeList.idl:
      * dom/Range.idl:
      * dom/RangeException.idl:
      * dom/Touch.idl:
      * dom/TouchList.idl:
      * dom/TreeWalker.idl:
      * fileapi/FileError.idl:
      * fileapi/FileException.idl:
      * fileapi/FileList.idl:
      * html/DOMFormData.idl:
      * html/DOMTokenList.idl:
      * html/DOMURL.idl:
      * html/HTMLAllCollection.idl:
      * html/HTMLCollection.idl:
      * html/HTMLDialogElement.idl:
      * html/HTMLDivElement.idl:
      * html/HTMLDocument.idl:
      * html/HTMLElement.idl:
      * html/HTMLImageElement.idl:
      * html/HTMLInputElement.idl:
      * html/HTMLSelectElement.idl:
      * html/HTMLSpanElement.idl:
      * html/HTMLUnknownElement.idl:
      * html/ImageData.idl:
      * html/MediaError.idl:
      * html/MediaKeyError.idl:
      * html/TimeRanges.idl:
      * html/ValidityState.idl:
      * html/canvas/ArrayBuffer.idl:
      * html/canvas/ArrayBufferView.idl:
      * html/canvas/CanvasGradient.idl:
      * html/canvas/CanvasPattern.idl:
      * html/canvas/Float32Array.idl:
      * html/canvas/Float64Array.idl:
      * html/canvas/Int16Array.idl:
      * html/canvas/Int32Array.idl:
      * html/canvas/Int8Array.idl:
      * html/canvas/Uint16Array.idl:
      * html/canvas/Uint32Array.idl:
      * html/canvas/Uint8Array.idl:
      * html/canvas/Uint8ClampedArray.idl:
      * html/canvas/WebGLActiveInfo.idl:
      * html/canvas/WebGLShaderPrecisionFormat.idl:
      * html/track/TextTrack.idl:
      * html/track/TextTrackCue.idl:
      * html/track/TextTrackCueList.idl:
      * inspector/InjectedScriptHost.idl:
      * inspector/InspectorFrontendHost.idl:
      * inspector/JavaScriptCallFrame.idl:
      * page/Coordinates.idl:
      * page/Crypto.idl:
      * page/MemoryInfo.idl:
      * page/PagePopupController.idl:
      * page/PerformanceEntryList.idl:
      * page/SpeechInputResult.idl:
      * page/SpeechInputResultList.idl:
      * page/WebKitPoint.idl:
      * svg/SVGAnimatedAngle.idl:
      * svg/SVGAnimatedBoolean.idl:
      * svg/SVGAnimatedEnumeration.idl:
      * svg/SVGAnimatedInteger.idl:
      * svg/SVGAnimatedLength.idl:
      * svg/SVGAnimatedLengthList.idl:
      * svg/SVGAnimatedNumber.idl:
      * svg/SVGAnimatedNumberList.idl:
      * svg/SVGAnimatedPreserveAspectRatio.idl:
      * svg/SVGAnimatedRect.idl:
      * svg/SVGAnimatedString.idl:
      * svg/SVGAnimatedTransformList.idl:
      * svg/SVGColor.idl:
      * svg/SVGException.idl:
      * svg/SVGPaint.idl:
      * svg/SVGPathSeg.idl:
      * svg/SVGRenderingIntent.idl:
      * svg/SVGUnitTypes.idl:
      * svg/SVGZoomAndPan.idl:
      * testing/MallocStatistics.idl:
      * testing/TypeConversions.idl:
      * workers/WorkerLocation.idl:
      * xml/DOMParser.idl:
      * xml/XMLHttpRequestException.idl:
      * xml/XMLSerializer.idl:
      * xml/XPathEvaluator.idl:
      * xml/XPathException.idl:
      * xml/XPathExpression.idl:
      * xml/XPathNSResolver.idl:
      * xml/XPathResult.idl:
      * xml/XSLTProcessor.idl:
      Add exceptions to binding integrity checks to IDL.
      
      Source/WebKit/chromium: 
      
      Patch by Tom Sepez <tsepez@chromium.org> on 2013-01-28
      Reviewed by Adam Barth.
      
      * features.gypi:
      Added ENABLE_BINDING_INTEGRITY option.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7929995e
  26. 22 Jan, 2013 1 commit
    • mark.lam@apple.com's avatar
      Change the Supplementable class to not use AtomicString. · e69ee170
      mark.lam@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107535.
      
      Reviewed by Adam Barth.
      
      Replaced the use of AtomicString keys with literal const char* keys.
      This simplifies the SupplementMap and makes it slightly leaner and faster.
      
      Source/WebCore: 
      
      No new tests.
      
      * Modules/battery/BatteryController.cpp:
      (WebCore::BatteryController::supplementName):
      * Modules/battery/BatteryController.h:
      (BatteryController):
      * Modules/battery/NavigatorBattery.cpp:
      (WebCore::NavigatorBattery::supplementName):
      (WebCore):
      (WebCore::NavigatorBattery::from):
      * Modules/battery/NavigatorBattery.h:
      (NavigatorBattery):
      * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
      (WebCore::DraggedIsolatedFileSystem::supplementName):
      * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h:
      (DraggedIsolatedFileSystem):
      * Modules/gamepad/NavigatorGamepad.cpp:
      (WebCore::NavigatorGamepad::supplementName):
      (WebCore):
      (WebCore::NavigatorGamepad::from):
      * Modules/gamepad/NavigatorGamepad.h:
      (NavigatorGamepad):
      * Modules/geolocation/GeolocationController.cpp:
      (WebCore::GeolocationController::supplementName):
      * Modules/geolocation/GeolocationController.h:
      (GeolocationController):
      * Modules/geolocation/NavigatorGeolocation.cpp:
      (WebCore::NavigatorGeolocation::supplementName):
      (WebCore):
      (WebCore::NavigatorGeolocation::from):
      * Modules/geolocation/NavigatorGeolocation.h:
      (NavigatorGeolocation):
      * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
      (WebCore::DOMWindowIndexedDatabase::supplementName):
      (WebCore):
      (WebCore::DOMWindowIndexedDatabase::from):
      * Modules/indexeddb/DOMWindowIndexedDatabase.h:
      (DOMWindowIndexedDatabase):
      * Modules/indexeddb/PageGroupIndexedDatabase.cpp:
      (WebCore::PageGroupIndexedDatabase::supplementName):
      (WebCore):
      (WebCore::PageGroupIndexedDatabase::from):
      * Modules/indexeddb/PageGroupIndexedDatabase.h:
      (PageGroupIndexedDatabase):
      * Modules/indexeddb/WorkerContextIndexedDatabase.cpp:
      (WebCore::WorkerContextIndexedDatabase::supplementName):
      (WebCore):
      (WebCore::WorkerContextIndexedDatabase::from):
      * Modules/indexeddb/WorkerContextIndexedDatabase.h:
      (WorkerContextIndexedDatabase):
      * Modules/intents/DOMWindowIntents.cpp:
      (WebCore::DOMWindowIntents::supplementName):
      (WebCore):
      (WebCore::DOMWindowIntents::from):
      * Modules/intents/DOMWindowIntents.h:
      (DOMWindowIntents):
      * Modules/mediastream/UserMediaController.cpp:
      (WebCore::UserMediaController::supplementName):
      * Modules/mediastream/UserMediaController.h:
      (UserMediaController):
      * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
      (WebCore::NavigatorContentUtils::supplementName):
      * Modules/navigatorcontentutils/NavigatorContentUtils.h:
      (NavigatorContentUtils):
      * Modules/networkinfo/NavigatorNetworkInfoConnection.cpp:
      (WebCore::NavigatorNetworkInfoConnection::supplementName):
      (WebCore):
      (WebCore::NavigatorNetworkInfoConnection::from):
      * Modules/networkinfo/NavigatorNetworkInfoConnection.h:
      (NavigatorNetworkInfoConnection):
      * Modules/networkinfo/NetworkInfoController.cpp:
      (WebCore::NetworkInfoController::supplementName):
      * Modules/networkinfo/NetworkInfoController.h:
      (NetworkInfoController):
      * Modules/notifications/DOMWindowNotifications.cpp:
      (WebCore::DOMWindowNotifications::supplementName):
      (WebCore):
      (WebCore::DOMWindowNotifications::from):
      * Modules/notifications/DOMWindowNotifications.h:
      (DOMWindowNotifications):
      * Modules/notifications/NotificationController.cpp:
      (WebCore::NotificationController::supplementName):
      * Modules/notifications/NotificationController.h:
      (NotificationController):
      * Modules/notifications/WorkerContextNotifications.cpp:
      (WebCore::WorkerContextNotifications::supplementName):
      (WebCore):
      (WebCore::WorkerContextNotifications::from):
      * Modules/notifications/WorkerContextNotifications.h:
      (WorkerContextNotifications):
      * Modules/quota/DOMWindowQuota.cpp:
      (WebCore::DOMWindowQuota::supplementName):
      (WebCore):
      (WebCore::DOMWindowQuota::from):
      * Modules/quota/DOMWindowQuota.h:
      (DOMWindowQuota):
      * Modules/speech/DOMWindowSpeechSynthesis.cpp:
      (WebCore::DOMWindowSpeechSynthesis::supplementName):
      (WebCore):
      (WebCore::DOMWindowSpeechSynthesis::from):
      * Modules/speech/DOMWindowSpeechSynthesis.h:
      (DOMWindowSpeechSynthesis):
      * Modules/speech/SpeechRecognitionController.cpp:
      (WebCore::SpeechRecognitionController::supplementName):
      * Modules/speech/SpeechRecognitionController.h:
      (SpeechRecognitionController):
      * Modules/vibration/Vibration.cpp:
      (WebCore::Vibration::supplementName):
      * Modules/vibration/Vibration.h:
      (Vibration):
      * Modules/webdatabase/DatabaseContext.cpp:
      (WebCore::DatabaseContext::supplementName):
      (WebCore):
      (WebCore::DatabaseContext::existingDatabaseContextFrom):
      (WebCore::DatabaseContext::from):
      * Modules/webdatabase/DatabaseContext.h:
      (DatabaseContext):
      * dom/ContextFeatures.cpp:
      (WebCore::ContextFeatures::supplementName):
      * dom/ContextFeatures.h:
      * dom/DeviceMotionController.cpp:
      (WebCore::DeviceMotionController::supplementName):
      * dom/DeviceMotionController.h:
      (DeviceMotionController):
      * dom/DeviceOrientationController.cpp:
      (WebCore::DeviceOrientationController::supplementName):
      * dom/DeviceOrientationController.h:
      (DeviceOrientationController):
      * loader/PrerendererClient.cpp:
      (WebCore::PrerendererClient::supplementName):
      * loader/PrerendererClient.h:
      (PrerendererClient):
      * page/DOMWindowPagePopup.cpp:
      (WebCore::DOMWindowPagePopup::supplementName):
      * page/DOMWindowPagePopup.h:
      (DOMWindowPagePopup):
      * page/SpeechInput.cpp:
      (WebCore::SpeechInput::supplementName):
      * page/SpeechInput.h:
      (SpeechInput):
      * platform/RefCountedSupplement.h:
      (WebCore::RefCountedSupplement::provideTo):
      (WebCore::RefCountedSupplement::from):
      * platform/Supplementable.h:
      (WebCore):
      (WebCore::Supplement::provideTo):
      (WebCore::Supplement::from):
      (WebCore::Supplementable::provideSupplement):
      (WebCore::Supplementable::removeSupplement):
      (WebCore::Supplementable::requireSupplement):
      (Supplementable):
      * testing/InternalSettings.cpp:
      (WebCore::InternalSettings::supplementName):
      (WebCore):
      (WebCore::InternalSettings::from):
      * testing/InternalSettings.h:
      (InternalSettings):
      
      Source/WebKit/chromium: 
      
      * src/ContextFeaturesClientImpl.cpp:
      (ContextFeaturesCache):
      (WebKit::ContextFeaturesCache::supplementName):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e69ee170
  27. 21 Jan, 2013 2 commits
    • tommyw@google.com's avatar
      MediaStream API: Update the RTCPeerConnection states to match the latest specification · 8af5a162
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107120
      
      Reviewed by Adam Barth.
      
      Source/Platform:
      
      Updating the chromium WebKit API for the new states.
      
      * chromium/public/WebRTCPeerConnectionHandlerClient.h:
      (WebKit::WebRTCPeerConnectionHandlerClient::~WebRTCPeerConnectionHandlerClient):
      (WebRTCPeerConnectionHandlerClient):
      (WebKit::WebRTCPeerConnectionHandlerClient::didChangeSignalingState):
      (WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):
      (WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEConnectionState):
      (WebKit::WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel):
      (WebKit::WebRTCPeerConnectionHandlerClient::didChangeReadyState):
      (WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEState):
      
      Source/WebCore:
      
      http://dev.w3.org/2011/webrtc/editor/webrtc.html#interface-definition
      
      RTCPeerConnection::readyState and iceState are history and instead signalingState,
      iceConnectionState and iceGatheringState have been introduced.
      
      Existing tests updated to cover this patch.
      
      * Modules/mediastream/RTCPeerConnection.cpp:
      (WebCore::RTCPeerConnection::RTCPeerConnection):
      (WebCore::RTCPeerConnection::createOffer):
      (WebCore::RTCPeerConnection::createAnswer):
      (WebCore::RTCPeerConnection::setLocalDescription):
      (WebCore::RTCPeerConnection::localDescription):
      (WebCore::RTCPeerConnection::setRemoteDescription):
      (WebCore::RTCPeerConnection::remoteDescription):
      (WebCore::RTCPeerConnection::updateIce):
      (WebCore::RTCPeerConnection::addIceCandidate):
      (WebCore::RTCPeerConnection::readyState):
      (WebCore):
      (WebCore::RTCPeerConnection::signalingState):
      (WebCore::RTCPeerConnection::iceConnectionState):
      (WebCore::RTCPeerConnection::addStream):
      (WebCore::RTCPeerConnection::removeStream):
      (WebCore::RTCPeerConnection::createDataChannel):
      (WebCore::RTCPeerConnection::close):
      (WebCore::RTCPeerConnection::didChangeSignalingState):
      (WebCore::RTCPeerConnection::didChangeIceGatheringState):
      (WebCore::RTCPeerConnection::didChangeIceConnectionState):
      (WebCore::RTCPeerConnection::didAddRemoteStream):
      (WebCore::RTCPeerConnection::didRemoveRemoteStream):
      (WebCore::RTCPeerConnection::didAddRemoteDataChannel):
      (WebCore::RTCPeerConnection::stop):
      (WebCore::RTCPeerConnection::changeSignalingState):
      (WebCore::RTCPeerConnection::changeIceGatheringState):
      (WebCore::RTCPeerConnection::changeIceConnectionState):
      * Modules/mediastream/RTCPeerConnection.h:
      (RTCPeerConnection):
      * Modules/mediastream/RTCPeerConnection.idl:
      * platform/mediastream/RTCPeerConnectionHandlerClient.h:
      (RTCPeerConnectionHandlerClient):
      * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
      (WebCore::RTCPeerConnectionHandlerChromium::didChangeSignalingState):
      (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEConnectionState):
      * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
      (RTCPeerConnectionHandlerChromium):
      
      Source/WebKit/chromium:
      
      * src/AssertMatchingEnums.cpp:
      
      Tools:
      
      Updating mock to use the new states.
      
      * DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:
      (RTCPeerConnectionStateTask::RTCPeerConnectionStateTask):
      (MockWebRTCPeerConnectionHandler::initialize):
      (MockWebRTCPeerConnectionHandler::updateICE):
      
      LayoutTests:
      
      * fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
      * fast/mediastream/RTCPeerConnection-datachannel.html:
      * fast/mediastream/RTCPeerConnection-ice-expected.txt:
      * fast/mediastream/RTCPeerConnection-ice.html:
      * fast/mediastream/RTCPeerConnection-state-expected.txt:
      * fast/mediastream/RTCPeerConnection-state.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8af5a162
    • haraken@chromium.org's avatar
      Implement MediaStreamEvent constructor · 893189fb
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107411
      
      Reviewed by Adam Barth.
      
      Spec: http://www.w3.org/TR/webrtc/#mediastreamevent
      
      Test: fast/events/constructors/media-stream-event-constructor.html
      
      Source/WebCore:
      
      * Modules/mediastream/MediaStreamEvent.cpp:
      (WebCore::MediaStreamEventInit::MediaStreamEventInit):
      (WebCore):
      (WebCore::MediaStreamEvent::create):
      (WebCore::MediaStreamEvent::MediaStreamEvent):
      * Modules/mediastream/MediaStreamEvent.h:
      (MediaStreamEventInit):
      (WebCore):
      (MediaStreamEvent):
      * Modules/mediastream/MediaStreamEvent.idl:
      * bindings/js/JSDictionary.cpp:
      (WebCore):
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDictionary.h:
      (WebCore):
      * bindings/v8/Dictionary.cpp:
      (WebCore):
      (WebCore::Dictionary::get):
      * bindings/v8/Dictionary.h:
      (Dictionary):
      
      LayoutTests:
      
      * fast/events/constructors/media-stream-event-constructor-expected.txt: Added.
      * fast/events/constructors/media-stream-event-constructor.html: Added.
      * platform/chromium-android/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      893189fb
  28. 16 Jan, 2013 1 commit
  29. 15 Jan, 2013 2 commits
  30. 14 Jan, 2013 3 commits
    • leviw@chromium.org's avatar
      Source/WebCore: Rolling out r139618. Appears to be causing sporadic crashes on Debug bots. · 506fd617
      leviw@chromium.org authored
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::processTrack):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::readyState):
      * Modules/mediastream/MediaStreamTrack.h:
      * Modules/mediastream/MediaStreamTrack.idl:
      
      LayoutTests: Speculatively rolling out r139618. Appears to be causing sporadic crashes on Debug bots.
      
      * fast/mediastream/MediaStreamTrack-expected.txt:
      * fast/mediastream/MediaStreamTrack.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      506fd617
    • tommyw@google.com's avatar
      MediaStream API: Update MediaStreamTrack::readyState to match specification · c7f0bd90
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106781
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      MediaStreamTrack::readyState now returns a string like the rest of the RTC classes.
      
      Existing tests expanded to cover patch.
      
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::processTrack):
      * Modules/mediastream/MediaStreamTrack.cpp:
      (WebCore::MediaStreamTrack::readyState):
      (WebCore::MediaStreamTrack::ended):
      (WebCore):
      * Modules/mediastream/MediaStreamTrack.h:
      (MediaStreamTrack):
      * Modules/mediastream/MediaStreamTrack.idl:
      
      LayoutTests:
      
      * fast/mediastream/MediaStreamTrack-expected.txt:
      * fast/mediastream/MediaStreamTrack.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139618 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c7f0bd90
    • tommyw@google.com's avatar
      MediaStream API: Update the track accessors on MediaStream to match the latest specification · fd01ce17
      tommyw@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106660
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      The spec has significantly changed how tracks are accessed from a MediaStream:
      http://dev.w3.org/2011/webrtc/editor/getusermedia.html
      
      In short: the attributes audioTrack/videoTrack that returned special MediaStreamTrackLists have been
      replaced by the functions getAudioTracks()/getVideoTracks that return standard sequences of
      MediaStreamTracks.
      
      Existing tests updated and expanded to cover patch.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Modules/mediastream/MediaStream.cpp:
      (WebCore::MediaStream::create):
      (WebCore::MediaStream::MediaStream):
      (WebCore::MediaStream::~MediaStream):
      (WebCore::MediaStream::readyState):
      (WebCore):
      (WebCore::MediaStream::addTrack):
      (WebCore::MediaStream::removeTrack):
      (WebCore::MediaStream::getTrackById):
      (WebCore::MediaStream::streamEnded):
      (WebCore::MediaStream::contextDestroyed):
      (WebCore::MediaStream::scheduleDispatchEvent):
      (WebCore::MediaStream::scheduledEventTimerFired):
      * Modules/mediastream/MediaStream.h:
      (MediaStream):
      (WebCore::MediaStream::getAudioTracks):
      (WebCore::MediaStream::getVideoTracks):
      * Modules/mediastream/MediaStream.idl:
      * Modules/mediastream/MediaStreamTrackList.cpp: Removed.
      * Modules/mediastream/MediaStreamTrackList.h: Removed.
      * Modules/mediastream/MediaStreamTrackList.idl: Removed.
      * Modules/webaudio/AudioContext.cpp:
      (WebCore::AudioContext::createMediaStreamSource):
      * WebCore.gypi:
      * dom/EventTargetFactory.in:
      * platform/mediastream/MediaStreamDescriptor.h:
      (WebCore::MediaStreamDescriptor::addAudioComponent):
      (WebCore::MediaStreamDescriptor::removeAudioComponent):
      (WebCore::MediaStreamDescriptor::addVideoComponent):
      (WebCore::MediaStreamDescriptor::removeVideoComponent):
      
      LayoutTests:
      
      Updating and expanding tests for the new getAudioTracks()/getVideoTracks().
      
      * fast/mediastream/MediaStreamConstructor-expected.txt:
      * fast/mediastream/MediaStreamConstructor.html:
      * fast/mediastream/MediaStreamTrack.html:
      * fast/mediastream/MediaStreamTrackList-expected.txt:
      * fast/mediastream/MediaStreamTrackList.html:
      * fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
      * fast/mediastream/RTCPeerConnection-statsSelector.html:
      * fast/mediastream/getusermedia-expected.txt:
      * fast/mediastream/getusermedia.html:
      * webaudio/mediastreamaudiosourcenode-expected.txt:
      * webaudio/mediastreamaudiosourcenode.html:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd01ce17