1. 05 Jun, 2013 1 commit
    • zandobersek@gmail.com's avatar
      Move MemoryInfo under window.internals · 43a80137
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=117197
      
      Reviewed by Ryosuke Niwa.
      
      .: 
      
      * Source/autotools/symbols.filter: Export the required symbol.
      
      PerformanceTests: 
      
      * resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
      info is now accessed through window.internals and doesn't need the setting to be enabled to work.
      
      Source/WebCore: 
      
      The MemoryInfo interface is not a subject of any specification and should not be exposed
      to the Web. It's still used by the performance tests so it is moved under the testing
      internals, accessible through window.internals.memoryInfo.
      
      The jsHeapSizeLimit attribute is removed from the MemoryInfo interface as that value was
      only usable when using the V8 bindings which are not supported anymore. A small fast/harness
      test is also provided to check that the MemoryInfo object is accessible through window.internals.
      
      Test: fast/harness/memoryinfo-object.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.exp.in:
      * WebCore.order:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.vcxproj/WebCoreTestSupport.vcxproj:
      * WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am: Remove the GObject bindings targets for MemoryInfo.
      * bindings/js/JSBindingsAllInOne.cpp: Remove the JSMemoryInfo.h and MemoryInfo.h inclusion.
      * bindings/js/JSMemoryInfoCustom.cpp: Removed.
      * bindings/js/ScriptGCEvent.cpp: Remove the ENABLE(INSPECTOR) guards.
      (WebCore::ScriptGCEvent::getHeapSize): Remove the jsHeapSizeLimit assignment.
      * bindings/js/ScriptGCEvent.h: Remove the ENABLE(INSPECTOR) guards.
      (WebCore::HeapInfo::HeapInfo): Remove the jsHeapSizeLimit member.
      * page/Console.cpp: Remove the Console::memory method.
      * page/Console.h: Ditto.
      * page/Console.idl: Remove the window.console.memory attribute.
      * page/MemoryInfo.cpp: Removed.
      * page/Performance.cpp: Remove the Performance::memory method.
      * page/Performance.h: Ditto.
      * page/Performance.idl: Remove the window.performance.memory attribute.
      * testing/Internals.cpp:
      (WebCore::Internals::memoryInfo): Return a MemoryInfo object upon invoking.
      * testing/Internals.h: Declare the Internals::memoryInfo method.
      * testing/Internals.idl: Expose the window.internals.memoryInfo operation.
      * testing/MemoryInfo.h: Renamed from Source/WebCore/page/MemoryInfo.h.
      (WebCore::MemoryInfo::create): Return a new RefPtr-wrapped MemoryInfo object.
      (WebCore::MemoryInfo::usedJSHeapSize): Return the value of the equally-named HeapInfo member.
      (WebCore::MemoryInfo::totalJSHeapSize): Ditto.
      (WebCore::MemoryInfo::MemoryInfo): Acquire the current heap info upon construction.
      * testing/MemoryInfo.idl: Renamed from Source/WebCore/page/MemoryInfo.idl.
      The jsHeapSizeLimit attribute is removed.
      
      Tools: 
      
      * GNUmakefile.am: Add the testing/MemoryInfo.(h|idl) files and the generated targets to
      the Automake build
      * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl: List the
      testing/MemoryInfo.idl file instead of page/MemoryInfo.idl.
      
      LayoutTests: 
      
      Remove window.performance.memory property listings from the baselines, the object was moved
      under window.internals. The latter is tested throug the new fast/harness test.
      
      * fast/dom/Window/window-properties-performance-expected.txt:
      * fast/harness/memoryinfo-object-expected.txt: Added.
      * fast/harness/memoryinfo-object.html: Added.
      * platform/efl/fast/dom/Window/window-properties-performance-expected.txt:
      * platform/gtk/fast/dom/Window/window-properties-performance-expected.txt:
      * platform/qt/fast/dom/Window/window-properties-performance-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151199 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43a80137
  2. 04 Jun, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Automatically generate WorkerContext constructor attributes · 5d7bf679
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=117183
      
      Reviewed by Kentaro Hara.
      
      .:
      
      Update GENERATE_BINDINGS macro to take an additional _workercontext_constructors_file
      optional argument.
      
      * Source/cmake/WebKitMacros.cmake:
      
      Source/WebCore:
      
      Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker] IDL extended attribute
      to indicate to the bindings generator on which global context the constructor
      attribute should be generated for interfaces without [NoInterfaceObject]:
      - WindowOnly: only on the global Window object (default if ommitted)
      - WorkerOnly: only on the worker context
      - WindowAndWorker: On both the global Window object and the worker context
      
      This covers all the current use cases.
      
      The JSC bindings generator now automatically generates the Constructor attributes
      on the WorkerContext for non-callback interfaces which do not have the
      [NoInterfaceObject] extended attribute but have [GlobalContext=WorkerOnly|WindowAndWorker]
      extended attribute.
      
      No new tests, already covered by:
      fast/js/global-constructors-attributes.html
      fast/js/global-constructors-attributes-worker.html
      
      * CMakeLists.txt:
      * DerivedSources.make: Pass new --workerContextConstructorsFile argument to preprocess-idls.pl.
      * DerivedSources.pri: Ditto.
      * GNUmakefile.am: Ditto.
      * PlatformBlackBerry.cmake: Ditto.
      * UseJSC.cmake: Ditto.
      * bindings/scripts/IDLAttributes.txt: Add [GlobalContext=WindowOnly|WorkerOnly|WindowAndWorker]
      IDL extended attribute.
      * bindings/scripts/preprocess-idls.pl: Add support for [GlobalContext] extended attribute and
      generate a partial interface for WorkerContext global constructors that are automatically
      generated.
      * dom/MessageEvent.idl: Add [GlobalContext=WindowAndWorker].
      * fileapi/Blob.idl: Add [GlobalContext=WindowAndWorker].
      * fileapi/FileReader.idl: Add [GlobalContext=WindowAndWorker].
      * fileapi/FileReaderSync.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
      as the interface should only be visible in worker environment as per the spec.
      * html/DOMURL.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/ArrayBuffer.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/DataView.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Float32Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Float64Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Int16Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Int32Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Int8Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint16Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint32Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint8Array.idl: Add [GlobalContext=WindowAndWorker].
      * html/canvas/Uint8ClampedArray.idl: Add [GlobalContext=WindowAndWorker].
      * workers/WorkerContext.idl: Remove several Constructor attributes which are now automatically
      generated.
      * workers/WorkerLocation.idl: Add [GlobalContext=WorkerOnly] and remove [NoInterfaceObject]
      as the interface should only be visible in worker environment as per the spec.
      
      Tools:
      
      Pass new --workerContextConstructorsFile to preprocess-idl.pl for bindings
      tests.
      
      * Scripts/webkitpy/bindings/main.py:
      (BindingsTests.generate_supplemental_dependency):
      (BindingsTests.main):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151169 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d7bf679
  3. 31 May, 2013 1 commit
  4. 29 May, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Cleanup AudioSourceNode.idl from WebKit build. · efc3ddc6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=116905.
      
      Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2013-05-29
      Reviewed by Darin Adler.
      
      AudioSourceNode.idl is not part of WebAudio Specifications anymore.
      AudioNode is inherited directly in all the audio source nodes.
      
      Source/WebCore:
      
      No new tests. Current test cases will cover all the scenarios.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Modules/webaudio/AudioBufferSourceNode.h:
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioScheduledSourceNode.cpp:
      (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
      * Modules/webaudio/AudioScheduledSourceNode.h:
      * Modules/webaudio/AudioSourceNode.h: Removed.
      * Modules/webaudio/AudioSourceNode.idl: Removed.
      * Modules/webaudio/MediaElementAudioSourceNode.cpp:
      (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
      * Modules/webaudio/MediaElementAudioSourceNode.h:
      (MediaElementAudioSourceNode):
      * Modules/webaudio/MediaElementAudioSourceNode.idl:
      * Modules/webaudio/MediaStreamAudioDestinationNode.idl:
      * Modules/webaudio/MediaStreamAudioSourceNode.cpp:
      (WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
      * Modules/webaudio/MediaStreamAudioSourceNode.h:
      (MediaStreamAudioSourceNode):
      * Modules/webaudio/MediaStreamAudioSourceNode.idl:
      * Modules/webaudio/OscillatorNode.h:
      * Modules/webaudio/OscillatorNode.idl:
      * Target.pri:
      * WebCore.xcodeproj/project.pbxproj:
      
      Tools:
      
      * Scripts/webkitperl/filter-build-webkit_unittest/shouldIgnoreLine_unittests.pl:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150924 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      efc3ddc6
  5. 13 May, 2013 1 commit
    • ch.dumez@sisa.samsung.com's avatar
      Rename BarInfo to BarProp and remove [NoInterfaceObject] · aeca17a4
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=116027
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      Rename BarInfo to BarProp and remove [NoInterfaceObject] extended attribute from
      the IDL interface to match the specification:
      http://www.w3.org/html/wg/drafts/html/master/browsers.html#barprop
      
      The new behavior also matches Firefox and Blink.
      
      No new tests, covered by LayoutTests/fast/js/global-constructors-attributes.html.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.order:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am:
      * page/BarProp.cpp: Renamed from Source/WebCore/page/BarInfo.cpp.
      * page/BarProp.h: Renamed from Source/WebCore/page/BarInfo.h.
      * page/BarProp.idl: Renamed from Source/WebCore/page/BarInfo.idl.
      * page/DOMWindow.cpp:
      * page/DOMWindow.h:
      * page/DOMWindow.idl:
      
      LayoutTests:
      
      Rebaseline fast/js/global-constructors-attributes.html now that there is a new
      'BarProp' global constructor.
      
      Rebaseline a few other tests now that BarInfo was renamed to BarProp.
      
      * fast/dom/Window/window-lookup-precedence-expected.txt:
      * fast/js/global-constructors-attributes-expected.txt:
      * fast/loader/window-properties-restored-from-page-cache-expected.txt:
      * http/tests/security/cross-frame-access-put-expected.txt:
      * platform/efl/fast/js/global-constructors-attributes-expected.txt:
      * platform/gtk/fast/dom/Window/window-lookup-precedence-expected.txt:
      * platform/gtk/fast/js/global-constructors-attributes-expected.txt:
      * platform/mac-lion/fast/js/global-constructors-attributes-expected.txt:
      * platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
      * platform/qt/fast/js/global-constructors-attributes-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aeca17a4
  6. 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
  7. 04 May, 2013 1 commit
  8. 03 May, 2013 1 commit
    • antti@apple.com's avatar
      Remove HTMLShadowElement · 5c894cda
      antti@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=115555
      
      Reviewed by Andreas Kling.
      
      This is not used internally.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/ComposedShadowTreeWalker.cpp:
      * dom/NodeRenderingContext.cpp:
      * html/HTMLElementsAllInOne.cpp:
      * html/HTMLTagNames.in:
      * html/InputType.cpp:
      (WebCore::InputType::destroyShadowSubtree):
      * html/shadow/ContentDistributor.cpp:
      (WebCore::ContentDistributor::distribute):
      * html/shadow/HTMLShadowElement.cpp: Removed.
      * html/shadow/HTMLShadowElement.h: Removed.
      * html/shadow/HTMLShadowElement.idl: Removed.
      * page/DOMWindow.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149525 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c894cda
  9. 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
  10. 26 Apr, 2013 1 commit
    • akling@apple.com's avatar
      Remove wxWebKit from WebCore. · b2a7c797
      akling@apple.com authored
      <http://webkit.org/b/115255>
      
      Reviewed by Anders Carlsson.
      
      * DerivedSources.make:
      * WebCorePrefix.h:
      * bindings/js/JSInspectorFrontendHostCustom.cpp:
      (WebCore::JSInspectorFrontendHost::port):
      * config.h:
      * html/HTMLFormElement.cpp:
      * platform/ContextMenu.h:
      (ContextMenu):
      * platform/ContextMenuItem.h:
      * platform/Cursor.h:
      * platform/DragData.h:
      * platform/DragImage.h:
      * platform/FileSystem.h:
      * platform/PlatformExportMacros.h:
      * platform/PlatformKeyboardEvent.h:
      (PlatformKeyboardEvent):
      * platform/PlatformMenuDescription.h:
      * platform/PlatformMouseEvent.h:
      (PlatformMouseEvent):
      * platform/PlatformWheelEvent.h:
      (PlatformWheelEvent):
      * platform/ScrollView.cpp:
      * platform/ScrollView.h:
      (ScrollView):
      * platform/Widget.h:
      * platform/win/SharedTimerWin.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@149186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b2a7c797
  11. 25 Apr, 2013 1 commit
  12. 19 Apr, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Add interfaces and stubs for audio and video tracks · 159869e5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113965
      
      Patch by Brendan Long <b.long@cablelabs.com> on 2013-04-19
      Reviewed by Jer Noble.
      
      No new tests because there's no implementations, so there's nothing
      interesting to test.
      
      * CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
      * DerivedSources.cpp: Same.
      * DerivedSources.make: Same.
      * DerivedSources.pri: Same.
      * GNUmakefile.list.am: Same.
      * Target.pri: Same.
      * UseJSC.cmake: Same.
      * WebCore.vcproj/WebCore.vcproj: Same.
      * WebCore.xcodeproj/project.pbxproj: Same.
      * bindings/gobject/GNUmakefile.am: Same.
      * bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
      * bindings/js/JSAudioTrackListCustom.cpp: Same.
      * bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
      * bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
      * bindings/js/JSVideoTrackListCustom.cpp: Same.
      * dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
      * dom/EventTargetFactory.in: Same.
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
      (WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
      (WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
      (WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
      (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
      (WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
      (WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
      (WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
      (WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
      (WebCore::HTMLMediaElement::addVideoTrack): Same.
      (WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
      (WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
      (WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
      (WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
      (WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
      (WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks
      * html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
      * html/HTMLMediaElement.idl: Add audioTracks and videoTracks
      * html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
      * html/track/AudioTrack.h: Same.
      * html/track/AudioTrack.idl: Added.
      * html/track/AudioTrackList.cpp: Added, based on TextTrackList
      * html/track/AudioTrackList.h: Same.
      * html/track/AudioTrackList.idl: Added.
      * html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
      * html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
      * html/track/VideoTrack.h: Same.
      * html/track/VideoTrack.idl: Added.
      * html/track/VideoTrackList.cpp: Added, based on TextTrackList
      * html/track/VideoTrackList.h: Same.
      * html/track/VideoTrackList.idl: Added.
      * platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
      (WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
      (WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
      (WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack
      * platform/graphics/MediaPlayer.h:
      (WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
      (WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
      (WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
      (WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same
      * platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      159869e5
  13. 25 Mar, 2013 2 commits
    • commit-queue@webkit.org's avatar
      WEBGL_compressed_texture_pvrtc needs implementation · 1c667438
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=110497
      
      Patch by Brandon Jones <bajones@google.com> on 2013-03-25
      Reviewed by Kenneth Russell.
      
      Source/WebCore:
      
      Test: webgl/conformance/extensions/webgl-compressed-texture-pvrtc.html
      
      Exposes the WEBGL_compressed_texture_pvrtc extension, but is unverified since no desktop hardware supports
      the format that I am aware of. Should enable mobile ports to expose the format, however.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::toJS):
      * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
      (WebCore::toV8Object):
      * html/canvas/WebGLCompressedTexturePVRTC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      (WebCore):
      (WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
      (WebCore::WebGLCompressedTexturePVRTC::~WebGLCompressedTexturePVRTC):
      (WebCore::WebGLCompressedTexturePVRTC::getName):
      (WebCore::WebGLCompressedTexturePVRTC::create):
      (WebCore::WebGLCompressedTexturePVRTC::supported):
      * html/canvas/WebGLCompressedTexturePVRTC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      (WebCore):
      (WebGLCompressedTexturePVRTC):
      * html/canvas/WebGLCompressedTexturePVRTC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      * html/canvas/WebGLExtension.h:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
      (WebCore::WebGLRenderingContext::getExtension):
      (WebCore::WebGLRenderingContext::getSupportedExtensions):
      (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
      * html/canvas/WebGLRenderingContext.h:
      (WebCore):
      (WebGLRenderingContext):
      
      LayoutTests:
      
      * webgl/conformance/extensions/webgl-compressed-texture-pvrtc-expected.txt: Added.
      * webgl/conformance/extensions/webgl-compressed-texture-pvrtc.html: Added.
      * webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-pvrtc.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1c667438
    • alecflett@chromium.org's avatar
      Support Quota API in Workers · b72a039b
      alecflett@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112972
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Tests: fast/workers/shared-worker-storagequota-query-usage.html
             fast/workers/worker-storagequota-query-usage.html
      
      * Modules/quota/WorkerNavigatorStorageQuota.cpp: Added.
      * Modules/quota/WorkerNavigatorStorageQuota.h: Added.
      * Modules/quota/WorkerNavigatorStorageQuota.idl: Added.
      * WebCore.gypi: Add entries for WorkerNavigatorStorageQuota.
      * page/WorkerNavigator.h: Add a Navigator supplement that extends the worker navigator.
      
      LayoutTests:
      
      * fast/workers/resources/shared-worker-common.js:
      (handleMessage): Allow port to be dynamically discovered from self.
      * fast/workers/resources/storagequota-query-usage.js: Added.
      (worker.onmessage):
      * fast/workers/resources/worker-storagequota-query-usage.js: Added.
      (requestUsage.errorCallback):
      (requestUsage.usageCallback):
      (requestUsage):
      * fast/workers/shared-worker-storagequota-query-usage-expected.txt: Added.
      * fast/workers/shared-worker-storagequota-query-usage.html: Added.
      * fast/workers/worker-storagequota-query-usage-expected.txt: Added.
      * fast/workers/worker-storagequota-query-usage.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b72a039b
  14. 22 Mar, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Move page/Coordinates.[h|idl] to Modules/geolocation/ · 1a06ddd9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112945
      
      Patch by Steve Block <steveblock@chromium.org> on 2013-03-22
      Reviewed by Kentaro Hara.
      
      No new tests, no functional change.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Modules/geolocation/Coordinates.h: Renamed from Source/WebCore/page/Coordinates.h.
      (WebCore):
      (Coordinates):
      (WebCore::Coordinates::create):
      (WebCore::Coordinates::isolatedCopy):
      (WebCore::Coordinates::latitude):
      (WebCore::Coordinates::longitude):
      (WebCore::Coordinates::altitude):
      (WebCore::Coordinates::accuracy):
      (WebCore::Coordinates::altitudeAccuracy):
      (WebCore::Coordinates::heading):
      (WebCore::Coordinates::speed):
      (WebCore::Coordinates::canProvideAltitude):
      (WebCore::Coordinates::canProvideAltitudeAccuracy):
      (WebCore::Coordinates::canProvideHeading):
      (WebCore::Coordinates::canProvideSpeed):
      (WebCore::Coordinates::Coordinates):
      * Modules/geolocation/Coordinates.idl: Renamed from Source/WebCore/page/Coordinates.idl.
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146570 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a06ddd9
  15. 21 Mar, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Remove AudioGain.idl from compilation. · a8e2d43b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112650
      
      Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2013-03-21
      Reviewed by Chris Rogers.
      
      Source/WebCore:
      
      Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#GainNode
            https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#AudioBufferSourceNode
      
      AudioParam serves the same purpose as AudioGain. Infact, AudioGain inherits
      AudioParam class and doesn't have its own member functions/parameters. Also,
      AudioGain is not part of WebAudio W3C specifications.
      
      Test: webaudio/gain-basic.html
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Modules/webaudio/AudioBufferSourceNode.cpp:
      (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
      * Modules/webaudio/AudioBufferSourceNode.h:
      (AudioBufferSourceNode):
      (WebCore::AudioBufferSourceNode::gain):
      * Modules/webaudio/AudioBufferSourceNode.idl:
      * Modules/webaudio/AudioGain.h: Removed.
      * Modules/webaudio/AudioGain.idl: Removed.
      * Modules/webaudio/GainNode.cpp:
      (WebCore::GainNode::GainNode):
      * Modules/webaudio/GainNode.h:
      (WebCore):
      (WebCore::GainNode::create):
      (GainNode):
      (WebCore::GainNode::gain):
      * Modules/webaudio/GainNode.idl:
      * Modules/webaudio/PannerNode.cpp:
      (WebCore::PannerNode::PannerNode):
      * Modules/webaudio/PannerNode.h:
      (WebCore::PannerNode::distanceGain):
      (WebCore::PannerNode::coneGain):
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      
      LayoutTests:
      
      Test to verify GainNode attributes.
      
      * webaudio/gain-basic-expected.txt: Added.
      * webaudio/gain-basic.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146486 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a8e2d43b
    • abarth@webkit.org's avatar
      HTMLNames should construct strings at compile time · ddb1216b
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112831
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      This patch teaches make_names how to construct strings at compile time,
      eliminating a large number of startup mallocs.
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gyp/scripts/action_makenames.py:
          - Teach the Chromium build how to deal with Perl modules.
      * bindings/scripts/StaticString.pm: Added.
          - A Perl module for constructing static strings.
      (GenerateStrings):
      (GenerateValidateStrings):
      * dom/QualifiedName.cpp:
      (WebCore::createQualifiedName):
          - createQualifiedName now takes an already-constructed StringImpl
            object.
      * dom/QualifiedName.h:
      * dom/make_names.pl:
      (valueForName):
      (namesToStrings):
      (printNamesCppFile):
      (printDefinitions):
          - Teach make_names how to use StaticString.pm.
      
      Source/WTF:
      
      * wtf/text/StringImpl.h:
      (StringImpl):
      (StaticASCIILiteral):
          - This struct lets us construct StringImpl objects at compile time.
      (WTF::StringImpl::assertHashIsCorrect):
          - This function lets us sanity check StringImpl objects created from StaticData.
      (WTF::StringImpl::find): Remove a stray ;
      (WTF::StringImpl::findIgnoringCase): ditto
      (WTF::StringImpl::startsWith): ditto
      (WTF::ValueCheck<StringImpl*>):
      * wtf/text/AtomicStringImpl.h:
      (WTF::ValueCheck<AtomicStringImpl*>):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ddb1216b
  16. 20 Mar, 2013 2 commits
    • rniwa@webkit.org's avatar
      Unreviewed, rolling out r146419. · 6c64b740
      rniwa@webkit.org authored
      http://trac.webkit.org/changeset/146419
      https://bugs.webkit.org/show_bug.cgi?id=112870
      
      Broke many tests on debug builds (Requested by rniwa_ on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-20
      
      Source/WebCore: 
      
      * DerivedSources.make:
      * GNUmakefile.am:
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gyp/scripts/action_makenames.py:
      (main):
      * bindings/scripts/StaticString.pm: Removed.
      * dom/QualifiedName.cpp:
      (WebCore::createQualifiedName):
      * dom/QualifiedName.h:
      (WebCore):
      * dom/make_names.pl:
      (printNamesCppFile):
      (printDefinitions):
      
      Source/WTF: 
      
      * wtf/text/StringImpl.h:
      (StringImpl):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146431 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c64b740
    • abarth@webkit.org's avatar
      HTMLNames should construct strings at compile time · 5f610706
      abarth@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=112831
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      This patch teaches make_names how to construct strings at compile time,
      eliminating a large number of startup mallocs.
      
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gyp/scripts/action_makenames.py:
          - Teach the Chromium build how to deal with Perl modules.
      * bindings/scripts/StaticString.pm: Added.
          - A Perl module for constructing static strings.
      (GenerateStrings):
      (GenerateValidateStrings):
      * dom/QualifiedName.cpp:
      (WebCore::createQualifiedName):
          - createQualifiedName now takes an already-constructed StringImpl
            object.
      * dom/QualifiedName.h:
      * dom/make_names.pl:
      (valueForName):
      (namesToStrings):
      (printNamesCppFile):
      (printDefinitions):
          - Teach make_names how to use StaticString.pm.
      
      Source/WTF:
      
      * wtf/text/StringImpl.h:
      (StringImpl):
      (StaticASCIILiteral):
          - This struct lets us construct StringImpl objects at compile time.
      (WTF::StringImpl::assertValidHash):
          - This function lets us sanity check StringImpl objects created from StaticData.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5f610706
  17. 13 Mar, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Implement FontLoader interface · d7e6fa24
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=98395
      
      Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2013-03-13
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      This patch implements the FontLoader interface defined in CSS Font
      Load Events Module Level 3.[1] It adds fontloader attribute to
      Document, and adds two interfaces, FontLoader and
      CSSFontFaceLoadEvent to WebCore.
      
      [1]: http://dev.w3.org/csswg/css-font-load-events-3/
      
      This feature is guarded by FONT_LOAD_EVENTS compiler flag and
      RuntimeEnabledFeatures::fontLoadEventsEnabled() runtime flag.
      
      Tests: fast/css/fontloader-download-error.html
             fast/css/fontloader-events.html
             fast/css/fontloader-loadingdone.html
             fast/css/fontloader-multiple-faces-download-error.html
             fast/css/fontloader-multiple-faces.html
             fast/css/fontloader-multiple-families.html
             http/tests/webfont/fontloader-loading-attribute.html
      
      * CMakeLists.txt: Adding FontLoader/CSSFontFaceLoadEvent files.
      * DerivedSources.cpp: Ditto.
      * DerivedSources.make: Ditto.
      * DerivedSources.pri: Ditto.
      * GNUmakefile.list.am: Ditto.
      * Target.pri: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue): Add convertValue() for CSSFontFaceRule, DOMError, and VoidCallback.
      * bindings/js/JSDictionary.h: Ditto.
      * bindings/v8/Dictionary.cpp: Add get() for CSSFontFaceRule, DOMError, and VoidCallback.
      (WebCore::Dictionary::get):
      * bindings/v8/Dictionary.h: Ditto.
      (Dictionary):
      * css/CSSFontFace.cpp: Notifies FontLoader as load progresses.
      (WebCore::CSSFontFace::fontLoaded):
      (WebCore::CSSFontFace::getFontData):
      (WebCore::CSSFontFace::notifyFontLoader):
      (WebCore::CSSFontFace::notifyLoadingDone):
      * css/CSSFontFace.h: Add two member variables. m_rule stores CSSFontFaceRule for the fontface. m_loadState holds current state of the fontface in terms of FontLoader.
      (WebCore::CSSFontFace::create): Takes additional parameter of type CSSFontFaceRule.
      (WebCore::CSSFontFace::loadState):
      (WebCore::CSSFontFace::CSSFontFace):
      * css/CSSFontFaceLoadEvent.cpp: Added.
      (WebCore::CSSFontFaceLoadEvent::CSSFontFaceLoadEvent):
      (WebCore::CSSFontFaceLoadEvent::~CSSFontFaceLoadEvent):
      (WebCore::CSSFontFaceLoadEvent::interfaceName):
      * css/CSSFontFaceLoadEvent.h: Added.
      (CSSFontFaceLoadEventInit):
      (CSSFontFaceLoadEvent):
      (WebCore::CSSFontFaceLoadEvent::create):
      (WebCore::CSSFontFaceLoadEvent::createForFontFaceRule):
      (WebCore::CSSFontFaceLoadEvent::createForError):
      (WebCore::CSSFontFaceLoadEvent::fontface):
      (WebCore::CSSFontFaceLoadEvent::error):
      * css/CSSFontFaceLoadEvent.idl: Added.
      * css/CSSFontFaceRule.idl: Add JSGenerateToJSObject and JSGenerateToNativeObject as JSC binding needs them.
      * css/CSSFontFaceSource.cpp:
      (WebCore::CSSFontFaceSource::isDecodeError): Added.
      (WebCore::CSSFontFaceSource::ensureFontData): Added.
      * css/CSSFontFaceSource.h:
      (CSSFontFaceSource):
      * css/CSSFontSelector.cpp:
      (WebCore::CSSFontSelector::addFontFaceRule): Pass a CSSFontFaceRule to CSSFontFace::create().
      (WebCore::CSSFontSelector::getFontData): Moved logic for creating a CSSSegmentedFontFace to a helper function getFontFace().
      (WebCore::CSSFontSelector::getFontFace): Added.
      * css/CSSFontSelector.h:
      * css/CSSSegmentedFontFace.cpp:
      (WebCore::CSSSegmentedFontFace::fontLoaded): Fires callbacks when load is completed.
      (WebCore::CSSSegmentedFontFace::isLoading): Returns true if any fonts are still loading.
      (WebCore::CSSSegmentedFontFace::checkFont): Returns true if all fonts are loaded.
      (WebCore::CSSSegmentedFontFace::loadFont): Starts load by calling getFontData().
      * css/CSSSegmentedFontFace.h:
      (CSSSegmentedFontFace): Declares new functions and a vector to store callbacks.
      (LoadFontCallback):
      (WebCore::CSSSegmentedFontFace::LoadFontCallback::~LoadFontCallback):
      * css/FontLoader.cpp: Added.
      (LoadFontCallback): Holds callback functions of FontLoader.loadFont().
      (WebCore::LoadFontCallback::create):
      (WebCore::LoadFontCallback::createFromParams):
      (WebCore::LoadFontCallback::LoadFontCallback):
      (WebCore::LoadFontCallback::notifyLoaded):
      (WebCore::LoadFontCallback::notifyError):
      (WebCore::FontLoader::FontLoader):
      (WebCore::FontLoader::~FontLoader):
      (WebCore::FontLoader::eventTargetData):
      (WebCore::FontLoader::ensureEventTargetData):
      (WebCore::FontLoader::interfaceName):
      (WebCore::FontLoader::scriptExecutionContext):
      (WebCore::FontLoader::didLayout): Fires pending events and callbacks. This is called when layout have completed.
      (WebCore::FontLoader::scheduleEvent): Defers event dispatching until layout completes.
      (WebCore::FontLoader::firePendingEvents): Dispatches pending events.
      (WebCore::FontLoader::beginFontLoading): Schedules loading/loadstart events. This is called from CSSFontFace.
      (WebCore::FontLoader::fontLoaded): Schedules load/loadingdone events. This is called from CSSFontFace.
      (WebCore::FontLoader::loadError): Schedules error/loadingdone events. This is called from CSSFontFace.
      (WebCore::FontLoader::notifyWhenFontsReady): Implements fontloader.notifyWhenFontsReady().
      (WebCore::FontLoader::loadingDone): Fires callbacks of notifyWhenFontsReady.
      (WebCore::FontLoader::loadFont): Implements fontloader.loadFont().
      (WebCore::FontLoader::checkFont): Implements fontloader.checkFont().
      (WebCore::FontLoader::resolveFontStyle): Parses the given font parameter using the syntax of CSS 'font' property and creates Font object. The logic is taken from CanvasRenderingContext2D::setFont().
      * css/FontLoader.h: Added.
      (FontLoader):
      (WebCore::FontLoader::create):
      (WebCore::FontLoader::loading):
      (WebCore::FontLoader::document):
      (WebCore::FontLoader::refEventTarget):
      (WebCore::FontLoader::derefEventTarget):
      * css/FontLoader.idl: Added.
      * dom/Document.cpp:
      (WebCore::Document::Document):
      (WebCore::Document::fontloader): Added.
      * dom/Document.h:
      (Document): Add m_fontloader and fontloader().
      * dom/Document.idl: Add fontloader attribute.
      * dom/EventNames.h: Add loading and loadingdone events.
      * dom/EventNames.in: Add CSSFontFaceLoadEvent.
      * dom/EventTargetFactory.in: Add FontLoader.
      * page/FrameView.cpp:
      (WebCore::FrameView::performPostLayoutTasks): Calls FontLoader::didLayout().
      
      Tools:
      
      Enable FontLoadEvents runtime flag for TestShell.
      
      * DumpRenderTree/chromium/TestRunner/src/TestInterfaces.cpp:
      (WebTestRunner::TestInterfaces::TestInterfaces):
      
      LayoutTests:
      
      Add tests for document.fontloader. Since the feature is currently enabled
      only for chromium, the tests are expected to fail on the other ports.
      
      * fast/css/fontloader-download-error-expected.txt: Added.
      * fast/css/fontloader-download-error.html: Added.
      * fast/css/fontloader-events-expected.txt: Added.
      * fast/css/fontloader-events.html: Added.
      * fast/css/fontloader-loadingdone-expected.txt: Added.
      * fast/css/fontloader-loadingdone.html: Added.
      * fast/css/fontloader-multiple-faces-download-error-expected.txt: Added.
      * fast/css/fontloader-multiple-faces-download-error.html: Added.
      * fast/css/fontloader-multiple-faces-expected.txt: Added.
      * fast/css/fontloader-multiple-faces.html: Added.
      * fast/css/fontloader-multiple-families-expected.txt: Added.
      * fast/css/fontloader-multiple-families.html: Added.
      * http/tests/webfont/fontloader-loading-attribute-expected.txt: Added.
      * http/tests/webfont/fontloader-loading-attribute.html: Added.
      * platform/chromium/fast/css/fontloader-download-error-expected.txt: Added.
      * platform/chromium/fast/css/fontloader-events-expected.txt: Added.
      * platform/chromium/fast/css/fontloader-loadingdone-expected.txt: Added.
      * platform/chromium/fast/css/fontloader-multiple-faces-download-error-expected.txt: Added.
      * platform/chromium/fast/css/fontloader-multiple-faces-expected.txt: Added.
      * platform/chromium/fast/css/fontloader-multiple-families-expected.txt: Added.
      * platform/chromium/http/tests/webfont/fontloader-loading-attribute-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d7e6fa24
    • kinuko@chromium.org's avatar
      Quota API: Update IDL to make it match the latest WD · 5c3424aa
      kinuko@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=88396
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      Add a new interface object (navigator.StorageQuota) and deprecate the old one (window.StorageInfo)
      to make the code match with the latest Quota API WD:
      http://www.w3.org/TR/quota-api/
      
      Tests: storage/storagequota-query-usage.html
             storage/storagequota-request-quota.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Modules/quota/DOMWindowQuota.cpp:
      (WebCore::DOMWindowQuota::webkitStorageInfo): Added a deprecate warning message for the old interface.
      * Modules/quota/NavigatorStorageQuota.cpp: Added for the new interface.
      * Modules/quota/NavigatorStorageQuota.h: Added for the new interface.
      * Modules/quota/NavigatorStorageQuota.idl: Added for the new interface.
      * Modules/quota/StorageErrorCallback.cpp:
      (WebCore::StorageErrorCallback::CallbackTask::CallbackTask):
      (WebCore::StorageErrorCallback::CallbackTask::performTask):
      * Modules/quota/StorageErrorCallback.h: Renamed from Source/WebCore/Modules/quota/StorageInfoErrorCallback.h.
      (WebCore):
      (StorageErrorCallback):
      (WebCore::StorageErrorCallback::~StorageErrorCallback):
      (WebCore::StorageErrorCallback::CallbackTask::create):
      * Modules/quota/StorageErrorCallback.idl: Renamed from Source/WebCore/Modules/quota/StorageInfoErrorCallback.idl.
      * Modules/quota/StorageInfo.cpp: Added code to relay requests to the new StorageQuota implementation.
      * Modules/quota/StorageInfo.h:
      * Modules/quota/StorageInfo.idl:
      * Modules/quota/StorageQuota.cpp: Added for the new interface.
      * Modules/quota/StorageQuota.h:
      (WebCore::StorageQuota::create):
      * Modules/quota/StorageQuota.idl: Copied from Source/WebCore/Modules/quota/StorageInfo.idl.
      * Modules/quota/StorageQuotaCallback.h: Renamed from Source/WebCore/Modules/quota/StorageInfoQuotaCallback.h.
      * Modules/quota/StorageQuotaCallback.idl: Renamed from Source/WebCore/Modules/quota/StorageInfoQuotaCallback.idl.
      * Modules/quota/StorageUsageCallback.h: Renamed from Source/WebCore/Modules/quota/StorageInfoUsageCallback.h.
      * Modules/quota/StorageUsageCallback.idl: Renamed from Source/WebCore/Modules/quota/StorageInfoUsageCallback.idl.
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * page/FeatureObserver.h:
      
      Source/WebKit/chromium:
      
      Add a new interface object (navigator.StorageQuota) and deprecate the old one (window.StorageInfo)
      to make the code match with the latest Quota API WD:
      http://www.w3.org/TR/quota-api/
      
      * WebKit.gyp:
      * src/AssertMatchingEnums.cpp:
      * src/StorageQuotaChromium.cpp: Renamed from Source/WebKit/chromium/src/StorageInfoChromium.cpp.
      (WebCore):
      (WebCore::StorageQuota::queryUsageAndQuota):
      (WebCore::StorageQuota::requestQuota):
      * src/WebStorageQuotaCallbacksImpl.cpp:
      (WebKit::WebStorageQuotaCallbacksImpl::WebStorageQuotaCallbacksImpl):
      * src/WebStorageQuotaCallbacksImpl.h:
      (WebCore):
      (WebStorageQuotaCallbacksImpl):
      
      LayoutTests:
      
      * platform/chromium/TestExpectations:
      * storage/storagequota-query-usage-expected.txt: Added.
      * storage/storagequota-query-usage.html: Added.
      * storage/storagequota-request-quota-expected.txt: Added.
      * storage/storagequota-request-quota.html: Added.
      
      Rebaselines:
      * platform/chromium/fast/dom/everything-to-string-expected.txt: Added.
      * platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
      * platform/chromium/fast/js/global-constructors-expected.txt:
      * platform/chromium/http/tests/security/isolatedWorld/all-window-properties-expected.txt: Added.
      * platform/chromium/http/tests/security/isolatedWorld/all-window-prototypes-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@145782 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5c3424aa
  18. 04 Mar, 2013 1 commit
    • commit-queue@webkit.org's avatar
      WEBGL_compressed_texture_atc implementation · 6d64e088
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=110496
      
      Patch by Brandon Jones <bajones@google.com> on 2013-03-04
      Reviewed by Kenneth Russell.
      
      Source/WebCore:
      
      Test: webgl/conformance/extensions/webgl-compressed-texture-atc.html
      
      Exposes the WEBGL_compressed_texture_atc extension, but is unverified since no desktop hardware supports
      the format that I am aware of. Should enable mobile ports to expose the format, however.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::toJS):
      * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
      (WebCore::toV8Object):
      * html/canvas/WebGLCompressedTextureATC.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      (WebCore):
      (WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
      (WebCore::WebGLCompressedTextureATC::~WebGLCompressedTextureATC):
      (WebCore::WebGLCompressedTextureATC::getName):
      (WebCore::WebGLCompressedTextureATC::create):
      (WebCore::WebGLCompressedTextureATC::supported):
      * html/canvas/WebGLCompressedTextureATC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      (WebCore):
      (WebGLCompressedTextureATC):
      * html/canvas/WebGLCompressedTextureATC.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      * html/canvas/WebGLExtension.h:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
      (WebCore::WebGLRenderingContext::getExtension):
      (WebCore::WebGLRenderingContext::getSupportedExtensions):
      (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
      * html/canvas/WebGLRenderingContext.h:
      (WebCore):
      (WebGLRenderingContext):
      * platform/graphics/Extensions3D.h:
      
      LayoutTests:
      
      * webgl/conformance/extensions/webgl-compressed-texture-atc-expected.txt: Added.
      * webgl/conformance/extensions/webgl-compressed-texture-atc.html: Added.
      * webgl/resources/webgl_test_files/conformance/extensions/webgl-compressed-texture-atc.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d64e088
  19. 02 Mar, 2013 1 commit
    • nayankk@motorola.com's avatar
      [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView. · 35ed6a60
      nayankk@motorola.com authored
      https://bugs.webkit.org/show_bug.cgi?id=110818
      
      Reviewed by Kenneth Russell.
      
      As per OES_texture_half_float specification texImage2D and texSubImage2D entry
      points taking ArrayBufferView should extended to accept null with the pixel type
      HALF_FLOAT_OES.
      
      Source/WebCore:
      
      Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
             fast/canvas/webgl/oes-texture-half-float.html
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::toJS):
      * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
      (WebCore::toV8Object):
      * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      (WebCore):
      (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
      (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
      (WebCore::OESTextureHalfFloat::getName):
      (WebCore::OESTextureHalfFloat::create):
      * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      (WebCore):
      (OESTextureHalfFloat):
      * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
      * html/canvas/WebGLExtension.h:
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::getExtension):
      (WebCore::WebGLRenderingContext::texImage2D):
      (WebCore::WebGLRenderingContext::texSubImage2D):
      (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
      (WebCore::WebGLRenderingContext::validateTexFuncData):
      * html/canvas/WebGLRenderingContext.h:
      (WebCore):
      (WebGLRenderingContext):
      * html/canvas/WebGLRenderingContext.idl:
      * platform/graphics/Extensions3D.h:
      (Extensions3D):
      * platform/graphics/GraphicsContext3D.cpp:
      (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
      * platform/graphics/GraphicsContext3D.h:
      * platform/graphics/GraphicsTypes3D.h:
      * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
      (WebCore::GraphicsContext3D::texImage2D):
      
      LayoutTests:
      
      * fast/canvas/webgl/constants.html:
      * fast/canvas/webgl/oes-texture-half-float-expected.txt: Added.
      * fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Added.
      * fast/canvas/webgl/oes-texture-half-float-not-supported.html: Added.
      * fast/canvas/webgl/oes-texture-half-float.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35ed6a60
  20. 28 Feb, 2013 1 commit
    • zmo@google.com's avatar
      EXT_draw_buffers needs implementation · 3cefcece
      zmo@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=109331
      
      Reviewed by Kenneth Russell.
      
      Source/Platform: 
      
      Add EXT_draw_buffers support for chromium port.
      
      * chromium/public/WebGraphicsContext3D.h:
      (WebGraphicsContext3D):
      (WebKit::WebGraphicsContext3D::drawBuffersEXT):
      
      Source/WebCore: 
      
      This patch adds support for EXT_draw_buffers for WebGL.
      mac OpenGL port is passing khronos WebGL conformance test with this patch. OpenGL ES port implementation isn't added in this patch.
      Also, it has the WebKit side support for chromium port, but pending command buffer implementation.
      
      Besides the basic extension implementation, we also added drawBuffers() wrapper to work around a mac driver bug: i.e., do not enable a buffer if there is no attachment added.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSWebGLRenderingContextCustom.cpp:
      (WebCore::toJS):
      * bindings/v8/V8Binding.h:
      (WebCore):
      (WebCore::toInt32):
      (WebCore::toUInt32):
      (WebCore::toFloat):
      (WebCore::toInt64):
      * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
      (WebCore::toV8Object):
      * html/canvas/EXTDrawBuffers.cpp: Added.
      (WebCore):
      (WebCore::EXTDrawBuffers::EXTDrawBuffers):
      (WebCore::EXTDrawBuffers::~EXTDrawBuffers):
      (WebCore::EXTDrawBuffers::getName):
      (WebCore::EXTDrawBuffers::create):
      (WebCore::EXTDrawBuffers::supported):
      (WebCore::EXTDrawBuffers::drawBuffersEXT):
      * html/canvas/EXTDrawBuffers.h: Added.
      (WebCore):
      (EXTDrawBuffers):
      * html/canvas/EXTDrawBuffers.idl: Added.
      * html/canvas/WebGLExtension.h:
      * html/canvas/WebGLFramebuffer.cpp:
      (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
      (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
      (WebCore::WebGLFramebuffer::drawBuffers):
      (WebCore):
      (WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
      * html/canvas/WebGLFramebuffer.h:
      (WebGLFramebuffer):
      * html/canvas/WebGLRenderingContext.cpp:
      (WebCore):
      (WebCore::WebGLRenderingContext::initializeNewContext):
      (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
      (WebCore::WebGLRenderingContext::getExtension):
      (WebCore::WebGLRenderingContext::getParameter):
      (WebCore::WebGLRenderingContext::getSupportedExtensions):
      (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
      (WebCore::WebGLRenderingContext::getMaxDrawBuffers):
      (WebCore::WebGLRenderingContext::getMaxColorAttachments):
      * html/canvas/WebGLRenderingContext.h:
      (WebCore):
      (WebGLRenderingContext):
      * platform/chromium/support/Extensions3DChromium.cpp:
      (WebCore::Extensions3DChromium::drawBuffersEXT):
      (WebCore):
      * platform/graphics/Extensions3D.h:
      (Extensions3D):
      * platform/graphics/GraphicsContext3D.cpp:
      (WebCore::GraphicsContext3D::getClearBitsByAttachmentType):
      * platform/graphics/chromium/Extensions3DChromium.h:
      (Extensions3DChromium):
      * platform/graphics/opengl/Extensions3DOpenGL.cpp:
      (WebCore::Extensions3DOpenGL::supportsExtension):
      (WebCore::Extensions3DOpenGL::drawBuffersEXT):
      (WebCore):
      * platform/graphics/opengl/Extensions3DOpenGL.h:
      (Extensions3DOpenGL):
      * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
      (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
      * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
      (Extensions3DOpenGLCommon):
      * platform/graphics/opengl/Extensions3DOpenGLES.cpp:
      (WebCore::Extensions3DOpenGLES::drawBuffersEXT):
      (WebCore):
      (WebCore::Extensions3DOpenGLES::supportsExtension):
      * platform/graphics/opengl/Extensions3DOpenGLES.h:
      (Extensions3DOpenGLES):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cefcece
  21. 24 Feb, 2013 1 commit
    • morrita@google.com's avatar
      [Custom Elements] Implement bare-bone document.register() · d5f58530
      morrita@google.com authored
      https://bugs.webkit.org/show_bug.cgi?id=100229
      
      Reviewed by Adam Barth.
      
      Source/WebCore:
      
      This change implements a prefixed version of document.register(), with minimal feature support.
      - The feature is guarded by ENABLE(CUSTOM_ELEMENTS) and RuntimeEnabledFeatures::customDOMElementsEnabled().
      - This bare-bone version only recognizes "name" and "prototype" parameters. It doesn't support default value of "prototype" parameter.
      - Currently only V8 is supported. JSC binding needs its own binding implementation.
      
      = Major new classes under dom/:
      
      The dom module gets two new classes:
      - CustomElementConstructor: A return value of document.register()
        which holds the custom element definition.
      - CustomElementRegistry: A collection of CustomElementConstructor objects.
        CustomElementRegistry instance is created per Document and is owned by the Document.
      
      CustomElementConstructor knows the definition of each custom
      element, which is registered by document.register(). The name and
      other options are held by this object. CustomElementRegistry owns a set
      of the registered constructors. The registry guarantees invariants
      like validity and uniqueness of the element names.
      
      = A change on make_names.pl
      
      This change tweaks make_names.pl (or generated HTMLElementFactory)
      to hook the creations of unknown elements. Some of element names
      which come to the fallback path can be one of registered custom
      element.
      
      = [V8WrapAsFunction] extended attribute:
      
      The document.register() API returns a constructor
      function. However, the V8 binding currently doesn't support it. To
      make it possible, this change introduces "V8WrapAsFunction"
      extended attribute for annotating CustomElementConstructor IDL
      interface.
      
      V8WrapAsFunction wraps the annotated interface with a JavaScript
      function, which calls the original object as a function, or as a
      constructor depends on the context.
      
      With this wrapper function, there are two levels of indirection
      between native C++ object and author-visible JS function:
      
      [JS Adaptor Function] <-(hidden property)-> [JS Wrapper Object] -(internal field)-> [C++ Native object]
      
      The code generator generates the binding code which deals with
      this indirection.  Also, there is a set of helper functions in
      V8AdaptorFunction.h/cpp which takes care of this indirection.
      V8DOMWrapper.cpp/h works as a facade for these APIs and is used from
      the generated code.
      
      This redundancy comes from limitations of both V8 bindings and V8
      embedding API. See bug 108138 for details.
      
      = V8HTMLCustomElement
      
      Unlike built-in HTML elements, any custom element has no
      corresponding C++ class. Instead, document.register() should allow
      passing a prototype object for the elements being registered.
      
      V8HTMLCustomElement handles this lack of native class.  It behaves
      like a native side proxy of non-native HTMLElement subclasses.  It
      connects each custom element to an appropriate native element,
      which is HTMLElement at this time. This restriction will be
      relaxed later. See Bug 110436 for details.
      
      = Custom DOM elements and multiple worlds
      
      In this patch, custom element registration and instantiation is not allowed
      in non-main world and document.register() API just fails there.
      
      Reviewed by Adam Barth.
      
      Tests: fast/dom/custom/document-register-basic.html
             fast/dom/custom/document-register-reentrant-null-constructor.html
             fast/dom/custom/document-register-reentrant-returning-fake.html
             fast/dom/custom/document-register-reentrant-throwing-constructor.html
      
      * DerivedSources.make:
      * WebCore.gypi:
      * bindings/generic/RuntimeEnabledFeatures.cpp:
      * bindings/generic/RuntimeEnabledFeatures.h:
      (RuntimeEnabledFeatures):
      (WebCore::RuntimeEnabledFeatures::customDOMElementsEnabled):
      (WebCore::RuntimeEnabledFeatures::setCustomDOMElements):
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateHeader):
      * bindings/scripts/IDLAttributes.txt:
      * bindings/v8/CustomElementHelpers.cpp: Added.
      (WebCore::CustomElementHelpers::initializeConstructorWrapper):
      (WebCore::hasNoBuiltinsInPrototype):
      (WebCore::CustomElementHelpers::isValidPrototypeParameter):
      (WebCore::CustomElementHelpers::isFeatureAllowed):
      * bindings/v8/CustomElementHelpers.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
      (CustomElementHelpers):
      * bindings/v8/V8AdaptorFunction.cpp: Added.
      (WebCore::V8AdaptorFunction::getTemplate):
      (WebCore::V8AdaptorFunction::configureTemplate):
      (WebCore::V8AdaptorFunction::invocationCallback):
      (WebCore::V8AdaptorFunction::wrap):
      * bindings/v8/V8AdaptorFunction.h: Added.
      (V8AdaptorFunction):
      (WebCore::V8AdaptorFunction::unwrap):
      (WebCore::V8AdaptorFunction::get):
      * bindings/v8/V8DOMConfiguration.cpp:
      (WebCore::V8DOMConfiguration::configureTemplate):
      * bindings/v8/V8DOMWrapper.cpp:
      (WebCore::V8DOMWrapper::toFunction):
      (WebCore::V8DOMWrapper::fromFunction):
      * bindings/v8/V8DOMWrapper.h:
      (V8DOMWrapper):
      * bindings/v8/V8HTMLCustomElement.cpp: Added.
      (WebCore::V8HTMLCustomElement::createWrapper):
      * bindings/v8/V8HTMLCustomElement.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
      (V8HTMLCustomElement):
      (WebCore::V8HTMLCustomElement::toV8):
      (WebCore::HTMLCustomElement::toV8):
      * bindings/v8/V8HiddenPropertyName.h:
      * bindings/v8/custom/V8CustomElementConstructorCustom.cpp: Added.
      (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
      * dom/CustomElementConstructor.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
      (WebCore::CustomElementConstructor::create):
      (WebCore::CustomElementConstructor::CustomElementConstructor):
      (WebCore::CustomElementConstructor::~CustomElementConstructor):
      (WebCore::CustomElementConstructor::createElement):
      * dom/CustomElementConstructor.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
      (CustomElementConstructor):
      (WebCore::CustomElementConstructor::document):
      (WebCore::CustomElementConstructor::tagName):
      (WebCore::CustomElementConstructor::name):
      * dom/CustomElementConstructor.idl: Added.
      * dom/CustomElementRegistry.cpp: Added.
      (WebCore::CustomElementRegistry::CustomElementRegistry):
      (WebCore::CustomElementRegistry::~CustomElementRegistry):
      (WebCore::CustomElementRegistry::constructorOf):
      (WebCore::CustomElementRegistry::isValidName):
      (WebCore::CustomElementRegistry::registerElement):
      (WebCore::CustomElementRegistry::find):
      (WebCore::CustomElementRegistry::createElement):
      (WebCore::CustomElementRegistry::document):
      * dom/CustomElementRegistry.h: Added.
      (CustomElementRegistry):
      * dom/Document.cpp:
      (WebCore::Document::removedLastRef):
      (WebCore::Document::registerElement):
      (WebCore::Document::registry):
      * dom/Document.h:
      (Document):
      * dom/make_names.pl:
      (printWrapperFactoryCppFile):
      * html/HTMLDocument.idl:
      
      Source/WebKit/chromium:
      
      Added enableCustomDOMElements flag.
      
      * features.gypi:
      * public/WebRuntimeFeatures.h:
      (WebRuntimeFeatures):
      * src/WebRuntimeFeatures.cpp:
      (WebKit::WebRuntimeFeatures::enableCustomDOMElements):
      (WebKit):
      (WebKit::WebRuntimeFeatures::isCustomDOMElementsEnabled):
      
      Tools:
      
      Added enableCustomDOMElements flag.
      
      * DumpRenderTree/chromium/TestShell.cpp:
      (TestShell::TestShell):
      
      LayoutTests:
      
      * fast/dom/custom/document-register-basic-expected.txt: Added.
      * fast/dom/custom/document-register-basic.html: Added.
      * fast/dom/custom/document-register-reentrant-null-constructor-expected.txt: Added.
      * fast/dom/custom/document-register-reentrant-null-constructor.html: Added.
      * fast/dom/custom/document-register-reentrant-returning-fake-expected.txt: Added.
      * fast/dom/custom/document-register-reentrant-returning-fake.html: Added.
      * fast/dom/custom/document-register-reentrant-throwing-constructor-expected.txt: Added.
      * fast/dom/custom/document-register-reentrant-throwing-constructor.html: Added.
      * fast/dom/custom/resources/document-register-fuzz.js: Added.
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143865 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d5f58530
  22. 22 Feb, 2013 1 commit
  23. 20 Feb, 2013 1 commit
  24. 13 Feb, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Implement css-conditional's CSS.supports() · 05ccd1f7
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100324
      
      Patch by Pablo Flouret <pablof@motorola.com> on 2013-02-13
      Reviewed by Antti Koivisto.
      
      Source/WebCore:
      
      http://dev.w3.org/csswg/css3-conditional/#the-css-interface
      
      The supports() method provides the css @supports rule's corresponding
      dom api.
      The patch also adds the CSS interface on DOMWindow, which holds "useful
      CSS-related functions that do not belong elsewhere". This is where
      supports() lives.
      
      Test: css3/supports-dom-api.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.exp.in:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/gobject/GNUmakefile.am:
      * bindings/scripts/CodeGeneratorGObject.pm:
      (SkipFunction):
          Add DOMWindowCSS.* to the build systems.
      
      * bindings/scripts/CodeGenerator.pm:
      (WK_lcfirst):
          Handle CSS prefixes correctly (s/cSS/css/).
      
      * css/CSSGrammar.y.in:
      * css/CSSParser.cpp:
      (WebCore::CSSParser::CSSParser):
      (WebCore::CSSParser::parseSupportsCondition):
      (WebCore::CSSParser::detectAtToken):
      * css/CSSParser.h:
          webkit_supports_condition parses just the condition part of an
          @supports rule and evaluates it, outputting whether the condition
          is supported or not.
      
      * css/CSSAllInOne.cpp:
      * css/DOMWindowCSS.cpp: Added.
      * css/DOMWindowCSS.h: Added.
      * css/DOMWindowCSS.idl: Added.
          The CSS interface object.
      
      * page/DOMWindow.cpp:
      (WebCore::DOMWindow::css):
      * page/DOMWindow.h:
      * page/DOMWindow.idl:
          window.CSS
      
      LayoutTests:
      
      * css3/supports-dom-api-expected.txt: Added.
      * css3/supports-dom-api.html: Added.
      * platform/chromium/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      * platform/win/TestExpectations:
      * platform/wincairo/TestExpectations:
      * platform/wk2/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05ccd1f7
  25. 11 Feb, 2013 1 commit
    • thakis@chromium.org's avatar
      Remove web intents code · bfb59e04
      thakis@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109501
      
      Reviewed by Eric Seidel.
      
      See thread "Removing ENABLE(WEB_INTENTS) code" on webkit-dev.
      
      Source/WebCore:
      
      * DerivedSources.make:
      * Modules/intents/DOMWindowIntents.cpp: Removed.
      * Modules/intents/DOMWindowIntents.h: Removed.
      * Modules/intents/DOMWindowIntents.idl: Removed.
      * Modules/intents/DeliveredIntent.cpp: Removed.
      * Modules/intents/DeliveredIntent.h: Removed.
      * Modules/intents/DeliveredIntent.idl: Removed.
      * Modules/intents/Intent.cpp: Removed.
      * Modules/intents/Intent.h: Removed.
      * Modules/intents/Intent.idl: Removed.
      * Modules/intents/IntentRequest.cpp: Removed.
      * Modules/intents/IntentRequest.h: Removed.
      * Modules/intents/IntentResultCallback.h: Removed.
      * Modules/intents/IntentResultCallback.idl: Removed.
      * Modules/intents/NavigatorIntents.cpp: Removed.
      * Modules/intents/NavigatorIntents.h: Removed.
      * Modules/intents/NavigatorIntents.idl: Removed.
      * WebCore.gyp/WebCore.gyp:
      * WebCore.gypi:
      * bindings/generic/RuntimeEnabledFeatures.cpp:
      (WebCore):
      * bindings/generic/RuntimeEnabledFeatures.h:
      (RuntimeEnabledFeatures):
      * bindings/v8/custom/V8IntentCustom.cpp: Removed.
      * html/HTMLElementsAllInOne.cpp:
      * html/HTMLIntentElement.cpp: Removed.
      * html/HTMLIntentElement.h: Removed.
      * html/HTMLIntentElement.idl: Removed.
      * loader/EmptyClients.cpp:
      * loader/EmptyClients.h:
      (EmptyFrameLoaderClient):
      * loader/FrameLoaderClient.h:
      (WebCore):
      * page/DOMWindow.idl:
      
      Source/WebKit/chromium:
      
      * WebKit.gyp:
      * features.gypi:
      * public/WebDeliveredIntentClient.h: Removed.
      * public/WebFrame.h:
      (WebKit):
      (WebFrame):
      * public/WebFrameClient.h:
      (WebKit):
      * public/WebIntent.h: Removed.
      * public/WebIntentRequest.h: Removed.
      * public/WebIntentServiceInfo.h: Removed.
      * public/WebRuntimeFeatures.h:
      (WebRuntimeFeatures):
      * src/DeliveredIntentClientImpl.cpp: Removed.
      * src/DeliveredIntentClientImpl.h: Removed.
      * src/FrameLoaderClientImpl.cpp:
      * src/FrameLoaderClientImpl.h:
      (FrameLoaderClientImpl):
      * src/WebFrameImpl.cpp:
      * src/WebFrameImpl.h:
      (WebKit):
      (WebFrameImpl):
      * src/WebIntent.cpp: Removed.
      * src/WebIntentRequest.cpp: Removed.
      * src/WebIntentServiceInfo.cpp: Removed.
      * src/WebRuntimeFeatures.cpp:
      
      Tools:
      
      * DumpRenderTree/TestRunner.cpp:
      (TestRunner::staticFunctions):
      * DumpRenderTree/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:
      * DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
      (WebKit):
      * DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
      (WebKit):
      (WebTestRunner::WebTestProxy::didEndEditing):
      * DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
      (WebTestRunner::TestRunner::TestRunner):
      * DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
      (TestRunner):
      * DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
      * DumpRenderTree/chromium/WebViewHost.cpp:
      * DumpRenderTree/chromium/WebViewHost.h:
      (WebViewHost):
      * DumpRenderTree/efl/TestRunnerEfl.cpp:
      * DumpRenderTree/gtk/TestRunnerGtk.cpp:
      * DumpRenderTree/mac/TestRunnerMac.mm:
      * DumpRenderTree/win/TestRunnerWin.cpp:
      * DumpRenderTree/wx/TestRunnerWx.cpp:
      * Scripts/webkitperl/FeatureList.pm:
      
      LayoutTests:
      
      * webintents/intent-tag-expected.txt: Removed.
      * webintents/intent-tag.html: Removed.
      * webintents/resources/pass.html: Removed.
      * webintents/resources/web-intents-reload-orig.html: Removed.
      * webintents/resources/web-intents-testing.js: Removed.
      * webintents/web-intents-api-expected.txt: Removed.
      * webintents/web-intents-api.html: Removed.
      * webintents/web-intents-delivery-expected.txt: Removed.
      * webintents/web-intents-delivery-reuse-expected.txt: Removed.
      * webintents/web-intents-delivery-reuse.html: Removed.
      * webintents/web-intents-delivery.html: Removed.
      * webintents/web-intents-failure-expected.txt: Removed.
      * webintents/web-intents-failure.html: Removed.
      * webintents/web-intents-invoke-expected.txt: Removed.
      * webintents/web-intents-invoke-port-expected.txt: Removed.
      * webintents/web-intents-invoke-port.html: Removed.
      * webintents/web-intents-invoke.html: Removed.
      * webintents/web-intents-obj-constructor-expected.txt: Removed.
      * webintents/web-intents-obj-constructor.html: Removed.
      * webintents/web-intents-reload-expected.txt: Removed.
      * webintents/web-intents-reload.html: Removed.
      * webintents/web-intents-reply-expected.txt: Removed.
      * webintents/web-intents-reply.html: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142549 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bfb59e04
  26. 08 Feb, 2013 1 commit
    • jer.noble@apple.com's avatar
      Bring WebKit up to speed with latest Encrypted Media spec. · 09c10fbf
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97037
      
      Reviewed by Eric Carlson.
      
      Source/JavaScriptCore:
      
      Define the ENABLE_ENCRYPTED_MEDIA_V2 setting.
      
      * Configurations/FeatureDefines.xcconfig:
      
      Source/WebCore:
      
      The most recent version of the Encrypted Media Extensions spec breaks functionality out of the
      HTMLMediaElement and into new MediaKeys and MediaKeySession classes. Since the CDM functionality
      has been pulled out of the media element, we create a proxy CDM class and factory system for
      creating specific CDM key system implementations. The spec also breaks out MediaKeyEvent
      into distinct event classes, MediaKeyNeededEvent and MediaKeyMessageEvent, for needkey and
      keymessage events, respectively.
      
      Tests: media/encrypted-media/encrypted-media-v2-events.html
             media/encrypted-media/encrypted-media-v2-syntax.html
      
      CDM is a proxy class (a la MediaPlayer) for a specific CDMPrivateInterface implementation. A CDM
      implementation is registered with the CDMFactory and will be created if that implementation supports
      the key system passed into the MediaKeys constructor. CDMSession is a pure-virtual interface exposed
      by concrete CDMPrivate subclasses.  Its lifetime is owned by MediaKeySession.
      * Modules/encryptedmedia/CDM.cpp: Added.
      (WebCore::installedCDMFactories): Initialize all the known CDM subtypes. Ports will add CDM implementations here.
      (WebCore::CDM::registerCDMFactory): Registers a new CDMFactory using the passed in function pointers.
      (WebCore::CDMFactoryForKeySystem): Return the first CDM factory which supports the requested key system.
      (WebCore::CDM::supportsKeySystem): Walk the installed CDMs and ask if the given key system is supported.
      (WebCore::CDM::supportsKeySystemMIMETypeAndCodec): Ditto, with an additional MIME type and codec string.
      (WebCore::CDM::create): Simple constructor wrapper.
      (WebCore::CDM::CDM): Simple constructor; calls bestCDMForKeySystem() to create it's private implementation.
      (WebCore::CDM::~CDM): Simple destructor.
      (WebCore::CDM::createSession): Creates a new CDMSession.
      * Modules/encryptedmedia/CDM.h: Added.
      (WebCore::CDM::keySystem): Simple accessor for m_keySystem.
      (WebCore::CDMSession::CDMSession): Simple constructor.
      (WebCore::CDMSession::~CDMSession): Simple destructor.
      * Modules/encryptedmedia/CDMPrivate.h: Added.
      (WebCore::CDMPrivateInterface::CDMPrivateInterface): Simple constructor.
      (WebCore::CDMPrivateInterface::~CDMPrivateInterface): Simple destructor.
      
      The new classes, MediaKeyMessageEvent and MediaKeyNeededEvent, take distinct subsets of the initializers of
      the original MediaKeyMessageEvent.
      * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.cpp.
      (WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Initializer now only takes message and destinationURL
          parameters.
      (WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent): Simple constructor.
      (WebCore::MediaKeyMessageEvent::~MediaKeyMessageEvent): Simple destructor.
      (WebCore::MediaKeyMessageEvent::interfaceName): Standard interfaceName.
      * Modules/encryptedmedia/MediaKeyMessageEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
      (WebCore::MediaKeyMessageEvent::create): Simple construction wrapper.
      (WebCore::MediaKeyMessageEvent::message): Simple accessor for m_message.
      (WebCore::MediaKeyMessageEvent::destinationURL): Simple accessor for m_destinationURL.
      * Modules/encryptedmedia/MediaKeyMessageEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
      * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: Copied from Source/WebCore/html/MediaKeyEvent.h.
      (WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Initializer now only takes initData parameter.
      (WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent): Simple constructor.
      (WebCore::MediaKeyNeededEvent::~MediaKeyNeededEvent): Simple destructor.
      (WebCore::MediaKeyNeededEvent::interfaceName): Standard interfaceName.
      * Modules/encryptedmedia/MediaKeyNeededEvent.h: Copied from Source/WebCore/html/MediaKeyEvent.h.
      (WebCore::MediaKeyNeededEvent::create): Simple construction wrapper.
      (WebCore::MediaKeyNeededEvent::initData): Simple accessor for m_initData.
      * Modules/encryptedmedia/MediaKeyNeededEvent.idl: Copied from Source/WebCore/html/MediaKeyEvent.idl.
      
      MediaKeySession is a new class that maps keys and key requests to a given session ID:
      * Modules/encryptedmedia/MediaKeySession.cpp: Added.
      (WebCore::MediaKeySession::create): Simple construction wrapper.
      (WebCore::MediaKeySession::MediaKeySession): Simple constructor.
      (WebCore::MediaKeySession::~MediaKeySession): Simple destructor; calls close().
      (WebCore::MediaKeySession::setError): Simple setter for m_error;
      (WebCore::MediaKeySession::close): Tell the CDM to clear any saved session keys.
      (WebCore::MediaKeySession::generateKeyRequest): Start a one-shot timer, handled in keyRequestTimerFired.
      (WebCore::MediaKeySession::keyRequestTimerFired): Follow the steps in the spec; ask the CDM to generate a key request.
      (WebCore::MediaKeySession::addKey): Start a one-shot timer, handled in addKeyTimerFired.
      (WebCore::MediaKeySession::addKeyTimerFired): Follow the steps in the spec; provide the key data to the CDM.
      * Modules/encryptedmedia/MediaKeySession.h: Added.
      (WebCore::MediaKeySession::keySystem): Simple accessor for m_keySystem.
      (WebCore::MediaKeySession::sessionId): Simple accessor for m_sessionId.
      (WebCore::MediaKeySession::error): Simple accessor for m_error;
      * Modules/encryptedmedia/MediaKeySession.idl:
      
      MediaKeySession inherits from EventTarget, and must override the pure virtual functions in that class:
      * Modules/encryptedmedia/MediaKeySession.cpp: Added.
      (WebCore::MediaKeySession::interfaceName):
      * Modules/encryptedmedia/MediaKeySession.h: Added.
      (WebCore::MediaKeySession::refEventTarget):
      (WebCore::MediaKeySession::derefEventTarget):
      (WebCore::MediaKeySession::eventTargetData):
      (WebCore::MediaKeySession::ensureEventTargetData):
      (WebCore::MediaKeySession::scriptExecutionContext):
      
      MediaKeys is a new class that encapsulates a CDM and a number of key sessions:
      * Modules/encryptedmedia/MediaKeys.cpp: Added.
      (WebCore::MediaKeys::create): Throw an exception if the key system parameter is unsupported; create a CDM object
          and a new MediaKeys session.
      (WebCore::MediaKeys::MediaKeys): Simple constructor.
      (WebCore::MediaKeys::~MediaKeys): Simple destructor.
      (WebCore::MediaKeys::createSession): Follow the spec and create a new key session.
      * Modules/encryptedmedia/MediaKeys.h: Added.
      * Modules/encryptedmedia/MediaKeys.idl: Copied from Source/WebCore/html/MediaError.idl.
      
      Provide a new interface to HTMLMediaElement for MediaPlayer which does not require a sessionId or a key system:
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::MediaPlayer::keyNeeded):
      
      MediaKeyError now has a systemCode parameter and member variable.
      * html/MediaKeyError.h:
      (WebCore::MediaKeyError::create): Take a systemCode parameter with a default (0) value.
      (WebCore::MediaKeyError::MediaKeyError): Ditto.
      (WebCore::MediaKeyError::systemCode): Simple accessor for m_systemCode.
      * html/MediaKeyError.idl:
      
      Add new methods to HTMLMediaElement to support MediaKeys. Support different initializer
      for the MediaKeyNeededEvent.
      * html/HTMLMediaElement.cpp:
      (WebCore::HTMLMediaElement::setMediaKeys): Simple setter for m_mediaKeys.
      (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): This version takes fewer parameters
          than the deprecated version.
      * html/HTMLMediaElement.h:
      (WebCore::HTMLMediaElement::mediaKeys): Simple accessor for m_mediaKeys.
      * html/HTMLMediaElement.idl: Add the mediaKeys attribute.
      
      Add an ENABLE(ENCRYPTED_MEDIA_V2) check to the existing ENABLE(ENCRYPTED_MEDIA) one:
      * html/MediaError.h:
      * html/MediaError.idl:
      * platform/graphics/MediaPlayer.cpp:
      (WebCore::bestMediaEngineForTypeAndCodecs):
      (WebCore::MediaPlayer::supportsType):
      * platform/graphics/MediaPlayer.h:
      (WebCore::MediaPlayer::keyNeeded): This version takes fewer parameters than the
          deprecated version.
      
      Support the new version of canPlayType which takes an extra parameter:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
      (WebCore::MediaPlayerPrivateAVFoundationObjC::extendedSupportsType):
      * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
      * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
      (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
      (WebCore::MediaPlayerPrivateQTKit::extendedSupportsType):
      
      Add a mock CDM for use within DRT and WKTR to test the MediaKeys and MediaKeySession
      APIs and events:
      * testing/Internals.cpp:
      (WebCore::Internals::initializeMockCDM): Add the MockCDM class to the CDM factories.
      * testing/Internals.h:
      * testing/Internals.idl: Add the initializeMockCDM() method.
      * testing/MockCDM.cpp: Added.
      (WebCore::MockCDM::supportsKeySystem): Only supports the 'com.webcore.mock' key system.
      (WebCore::MockCDM::supportsMIMEType): Only supports the 'video/mock' mime type.
      (WebCore::initDataPrefix): Static method which returns a Uint8Array containing 'mock'.
      (WebCore::keyPrefix): Static method which returns a Uint8Array containing 'key'.
      (WebCore::keyRequest): Static method which returns a Uint8Array containing 'request'.
      (WebCore::generateSessionId): Return a monotonically increasing number.
      (WebCore::MockCDMSession::MockCDMSession): Simple constructor.
      (WebCore::MockCDMSession::generateKeyRequest): Ignores the parameters and returns a keyRequest() array.
      (WebCore::MockCDMSession::releaseKeys): No-op.
      (WebCore::MockCDMSession::addKey): Checks that the key starts with the keyPrefix() array.
      * testing/MockCDM.h: Added.
      (WebCore::MockCDM::create):
      (WebCore::MockCDM::~MockCDM): Simple destructor.
      (WebCore::MockCDM::MockCDM): Simple constructor.
      
      Add the new classes to the built system:
      * Configurations/FeatureDefines.xcconfig:
      * DerivedSources.make:
      * WebCore.exp.in:
      * WebCore.xcodeproj/project.pbxproj:
      
      Miscelaneous changes:
      * dom/EventNames.in: Add the two new event types, MediaKeyMessageEvent and MediaKeyNeededEvent.
      * dom/EventTargetFactory.in: Add the new EventTarget, MediaKeySession.
      * page/DOMWindow.idl: Add constructors for the new classes to the window object.
      
      Source/WTF:
      
      Define the ENABLE_ENCRYPTED_MEDIA_V2 setting.
      
      * wtf/Platform.h:
      
      LayoutTests:
      
      Added new tests for the updated Encrypted Media Extensions spec.
      
      * media/encrypted-media/encrypted-media-v2-events-expected.txt: Added.
      * media/encrypted-media/encrypted-media-v2-events.html: Added.
      * media/encrypted-media/encrypted-media-v2-syntax-expected.txt: Added.
      * media/encrypted-media/encrypted-media-v2-syntax.html: Added.
      * platform/Chromium/TestExpectations: Skip the new media/encrypted-media/ v2 tests.
      * platform/mac/media/encrypted-media/encrypted-media-can-play-type-expected.txt: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      09c10fbf
  27. 07 Feb, 2013 1 commit
    • haraken@chromium.org's avatar
      WebKit's focus events are UIEvents (instead of FocusEvent) and thus don't expose .relatedTarget · 4c2d69bb
      haraken@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=76216
      
      Reviewed by Eric Seidel.
      
      Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-FocusEvent
      
      This patch creates a new FocusEvent class with a relatedTarget attribute.
      Now when focusin or focusout events are dispatched, a FocusEvent is created with
      the relatedTarget attribute set accordingly.
      
      Source/WebCore:
      
      Test: fast/events/related-target-focusevent.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/DOMAllInOne.cpp:
      * dom/Event.cpp:
      (WebCore::Event::isFocusEvent):
      (WebCore):
      * dom/Event.h:
      (Event):
      * dom/EventContext.cpp:
      (WebCore::EventContext::handleLocalEvents):
      * dom/EventNames.in:
      * dom/FocusEvent.h: Added.
      (WebCore):
      (FocusEvent):
      (WebCore::FocusEvent::create):
      (WebCore::FocusEvent::relatedTarget):
      (WebCore::FocusEvent::setRelatedTarget):
      (WebCore::toFocusEvent):
      * dom/FocusEvent.idl: Added.
      * dom/Node.cpp:
      (WebCore::Node::dispatchFocusInEvent):
      (WebCore::Node::dispatchFocusOutEvent):
      
      LayoutTests:
      
      * fast/dom/shadow/shadow-boundary-events-expected.txt:
      * fast/dom/shadow/shadow-boundary-events.html:
      * fast/events/related-target-focusevent-expected.txt: Added.
      * fast/events/related-target-focusevent.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4c2d69bb
  28. 30 Jan, 2013 1 commit
    • adamk@chromium.org's avatar
      [JSC] MutationObservers should not create circular, leaky references · c4e733a6
      adamk@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=93661
      
      Reviewed by Adam Barth.
      
      This patch makes JSMutationCallback an entirely-custom class that
      holds a weak reference to the function it wraps. To keep that function
      alive, it also adds a PrivateName between the JSMutationObserver
      wrapper and the function when the MutationObserver is constructed.
      
      Unlike the generated JSC callbacks, JSMutationCallback doesn't hold a
      reference to the JSDOMGlobalObject, instead holding the
      DOMWrapperWorld it was created in. As an ActiveDOMCallback, it also
      holds a weak pointer to ScriptExecutionContext (via ContextDestructionObserver).
      
      It's not clear to me how to write a test for this. There's an existing
      manual test in ManualTests/leak-cycle-observer-wrapper.html which may
      be of use but which doesn't seem to currently give meaningful output.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * UseJSC.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSMutationCallback.cpp: Added.
      (WebCore):
      (WebCore::JSMutationCallback::JSMutationCallback):
      (WebCore::JSMutationCallback::~JSMutationCallback):
      (WebCore::JSMutationCallback::handleEvent):
      * bindings/js/JSMutationCallback.h: Added.
      (WebCore):
      (JSMutationCallback): Instead of a JSCallbackData, hold a weak ref to the callback and a RefPtr to the DOMWrapperWorld.
      (WebCore::JSMutationCallback::create):
      * bindings/js/JSMutationCallbackCustom.cpp: Removed.
      * bindings/js/JSMutationObserverCustom.cpp:
      (WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
      When constructing the JSMutationObserver, add a reference via PrivateName from the MutationObserver to the callback function.
      * dom/MutationCallback.idl: Removed. Neither JSC nor V8 use an IDL file to generate this class any more.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4e733a6
  29. 28 Jan, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r140934, r140935, and r140937. · 1b629091
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/140934
      http://trac.webkit.org/changeset/140935
      http://trac.webkit.org/changeset/140937
      https://bugs.webkit.org/show_bug.cgi?id=108117
      
      Re-land some speculative rollouts - see wkbug.com/108048 for
      context (Requested by jsbell on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-28
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * Modules/indexeddb/IDBCallbacks.h:
      (IDBCallbacks):
      * Modules/indexeddb/IDBCursorBackendImpl.cpp:
      (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
      * Modules/indexeddb/IDBCursorBackendImpl.h:
      (WebCore::IDBCursorBackendImpl::create):
      (IDBCursorBackendImpl):
      * Modules/indexeddb/IDBDatabase.cpp:
      (WebCore::IDBDatabase::onVersionChange):
      * Modules/indexeddb/IDBDatabase.h:
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::setIndexesReady):
      (WebCore::OpenCursorOperation::perform):
      (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::openInternal):
      (WebCore::IDBFactory::deleteDatabase):
      * Modules/indexeddb/IDBFactory.h:
      (WebCore):
      (IDBFactory):
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBObjectStore.cpp:
      (WebCore::IDBObjectStore::createIndex):
      (WebCore::IDBObjectStore::openCursor):
      * Modules/indexeddb/IDBObjectStore.h:
      (WebCore::IDBObjectStore::openCursor):
      (IDBObjectStore):
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::create):
      (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
      (WebCore::IDBOpenDBRequest::onBlocked):
      (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
      (WebCore::IDBOpenDBRequest::dispatchEvent):
      * Modules/indexeddb/IDBOpenDBRequest.h:
      (IDBOpenDBRequest):
      * Modules/indexeddb/IDBRequest.cpp:
      (WebCore::IDBRequest::create):
      (WebCore::IDBRequest::IDBRequest):
      * Modules/indexeddb/IDBRequest.h:
      (IDBRequest):
      (WebCore::IDBRequest::taskType):
      * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
      (WebCore::IDBTransactionBackendImpl::scheduleTask):
      * Modules/indexeddb/IDBTransactionBackendImpl.h:
      (WebCore::IDBTransactionBackendImpl::scheduleTask):
      (IDBTransactionBackendImpl):
      * Modules/indexeddb/IDBTransactionBackendInterface.h:
      * Modules/indexeddb/IDBUpgradeNeededEvent.cpp: Removed.
      * Modules/indexeddb/IDBUpgradeNeededEvent.h: Removed.
      * Modules/indexeddb/IDBUpgradeNeededEvent.idl: Removed.
      * Modules/indexeddb/IDBVersionChangeEvent.cpp:
      (WebCore::IDBVersionChangeEvent::create):
      (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
      * Modules/indexeddb/IDBVersionChangeEvent.h:
      (IDBVersionChangeEvent):
      (WebCore::IDBVersionChangeEvent::oldVersion):
      (WebCore::IDBVersionChangeEvent::newVersion):
      * Modules/indexeddb/IDBVersionChangeEvent.idl:
      * Modules/indexeddb/IDBVersionChangeRequest.cpp: Removed.
      * Modules/indexeddb/IDBVersionChangeRequest.h: Removed.
      * Modules/indexeddb/IDBVersionChangeRequest.idl: Removed.
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/EventNames.in:
      * dom/EventTarget.h:
      (WebCore):
      * dom/EventTargetFactory.in:
      
      Source/WebKit/chromium:
      
      * public/WebIDBCallbacks.h:
      (WebIDBCallbacks):
      * src/AssertMatchingEnums.cpp:
      * src/IDBCallbacksProxy.cpp:
      * src/IDBCallbacksProxy.h:
      (IDBCallbacksProxy):
      * src/WebIDBCallbacksImpl.cpp:
      * src/WebIDBCallbacksImpl.h:
      (WebIDBCallbacksImpl):
      * tests/IDBAbortOnCorruptTest.cpp:
      * tests/IDBDatabaseBackendTest.cpp:
      
      LayoutTests:
      
      * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success-expected.txt:
      * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange-expected.txt:
      * storage/indexeddb/deletedatabase-blocked-expected.txt:
      * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
      * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt:
      * storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
      * storage/indexeddb/deletedatabase-not-blocked-expected.txt:
      * storage/indexeddb/events-expected.txt: Added.
      * storage/indexeddb/events.html: Added.
      * storage/indexeddb/intversion-gated-on-delete-expected.txt:
      * storage/indexeddb/intversion-long-queue-expected.txt:
      * storage/indexeddb/intversion-upgrades-expected.txt:
      * storage/indexeddb/removed-expected.txt:
      * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js:
      (versionChangeCallback):
      * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js:
      (versionChangeCallback):
      * storage/indexeddb/resources/deletedatabase-blocked.js:
      (test.request.onsuccess.openOnSuccess.h.onversionchange):
      * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
      (prepareDatabase.h.onversionchange):
      * storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:
      (h1OpenSuccess.h1.onversionchange.h1OnVersionChange.h1.onversionchange):
      (h1OpenSuccess.h1.onversionchange):
      (h1OpenSuccess.request.onsuccess.h2OpenSuccess.h2.onversionchange):
      * storage/indexeddb/resources/deletedatabase-not-blocked.js:
      (test.request.onsuccess.openOnSuccess.h.onversionchange):
      * storage/indexeddb/resources/events.js: Added.
      (test):
      * storage/indexeddb/resources/intversion-gated-on-delete.js:
      (firstSuccessCallback):
      (connection1VersionChangeCallback):
      * storage/indexeddb/resources/intversion-long-queue.js:
      (connection1VersionChangeCallback):
      (deleteDatabaseBlockedCallback):
      (deleteDatabaseSuccessCallback):
      (connection2VersionChangeEvent):
      * storage/indexeddb/resources/removed.js:
      (test):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b629091
    • mvujovic@adobe.com's avatar
      [CSS Shaders] Parse @-webkit-filter · 32b8b1e2
      mvujovic@adobe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=106837
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      The new CSS Custom Filters syntax includes an @filter rule:
      @filter IDENT { <custom-filter-description> }
      
      IDENT is the filter name. For example:
      @filter my-filter { ... }
      
      <custom-filter-description> is a set of CSS properties, which are still under discussion in
      the CSSWG.
      
      This patch adds parsing and JS bindings for the prefixed at-rule. It does not add parsing
      for any of the at-rule's internal properties.
      
      Spec: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#the-atfilter-rule
      
      Tests: css3/filters/custom/custom-filter-parsing-at-rule-invalid.html
             css3/filters/custom/custom-filter-parsing-at-rule-valid.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/JSCSSRuleCustom.cpp:
      (WebCore::toJS):
      * bindings/objc/DOMCSS.mm:
      (kitClass):
      * bindings/v8/custom/V8CSSRuleCustom.cpp:
      (WebCore::wrap):
      * css/CSSGrammar.y.in:
      * css/CSSParser.cpp:
      (WebCore::CSSParser::createFilterRule):
      (WebCore::CSSParser::detectAtToken):
      * css/CSSParser.h:
      * css/CSSPropertySourceData.h:
      * css/CSSRule.h:
      * css/CSSRule.idl:
          Only contains a CSSStyleDeclaration "style" property, like the other at-rules that are
          supposed to contain properties (e.g. CSSStyleRule, CSSFontFaceRule, CSSPageRule).
          Eventually, when it's specified, we should expose the filter name as well.
          Other at-rules IDL Spec: http://www.w3.org/TR/DOM-Level-2-Style/idl-definitions.html
      * css/StyleRule.cpp:
      (WebCore::StyleRuleBase::reportMemoryUsage):
      (WebCore::StyleRuleBase::destroy):
      (WebCore::StyleRuleBase::copy):
      (WebCore::StyleRuleBase::createCSSOMWrapper):
      (WebCore::StyleRuleFilter::StyleRuleFilter):
      (WebCore::StyleRuleFilter::~StyleRuleFilter):
      (WebCore::StyleRuleFilter::mutableProperties):
      (WebCore::StyleRuleFilter::setProperties):
      (WebCore::StyleRuleFilter::reportDescendantMemoryUsage):
      * css/StyleRule.h:
      (StyleRuleBase):
      (WebCore::StyleRuleBase::isFilterRule):
      (StyleRuleFilter):
      (WebCore::StyleRuleFilter::create):
      (WebCore::StyleRuleFilter::filterName):
      (WebCore::StyleRuleFilter::properties):
      (WebCore::StyleRuleFilter::copy):
      * css/StyleSheetContents.cpp:
      (WebCore::childRulesHaveFailedOrCanceledSubresources):
      * css/WebKitCSSFilterRule.cpp: Added.
          WebKitCSSFilterRule is implemented similar to CSSFontFaceRule.
      (WebCore::WebKitCSSFilterRule::WebKitCSSFilterRule):
      (WebCore::WebKitCSSFilterRule::~WebKitCSSFilterRule):
      (WebCore::WebKitCSSFilterRule::style):
      (WebCore::WebKitCSSFilterRule::cssText):
          The CSS text implementation for WebKitCSSFilterRule is almost the same as
          CSSFontFaceRule. WebKitCSSFilterRule additionally needs to output the filter name in its
          syntax (e.g. @-webkit-filter my-filter { }).
      (WebCore::WebKitCSSFilterRule::reattach):
      (WebCore::WebKitCSSFilterRule::reportMemoryUsage):
      * css/WebKitCSSFilterRule.h: Added.
      (WebKitCSSFilterRule):
      (WebCore::WebKitCSSFilterRule::create):
      * css/WebKitCSSFilterRule.idl: Added.
      
      LayoutTests:
      
      Add positive and negative tests for parsing the @-webkit-filter rule.
      
      Factored out common helper functions between the existing CSS Custom Filters parsing tests
      and the new tests into custom-filter-parsing-common.js.
      
      * css3/filters/custom/custom-filter-parsing-at-rule-invalid-expected.txt: Added.
      * css3/filters/custom/custom-filter-parsing-at-rule-invalid.html: Added.
      * css3/filters/custom/custom-filter-parsing-at-rule-valid-expected.txt: Added.
      * css3/filters/custom/custom-filter-parsing-at-rule-valid.html: Added.
      * css3/filters/custom/custom-filter-property-parsing-invalid.html:
      * css3/filters/custom/custom-filter-property-parsing.html:
      * css3/filters/script-tests/custom-filter-parsing-at-rule-invalid.js: Added.
      (testInvalidFilterAtRule):
      * css3/filters/script-tests/custom-filter-parsing-at-rule-valid.js: Added.
      (testFilterAtRule):
          Tests @-webkit-filter rule parsing and its ability to hold CSS properties.
      (testNestedRules):
          Tests nesting between at-rules, involving @-webkit-filter rules.
      (checkRule):
          Factor out common rule checking functionality into its own helper function, so it can be
          reused.
      * css3/filters/script-tests/custom-filter-parsing-common.js: Added.
      (jsWrapperClass):
          Moved.
      (shouldBeType):
          Moved.
      * css3/filters/script-tests/custom-filter-property-parsing-invalid.js:
      * css3/filters/script-tests/custom-filter-property-parsing.js:
      * platform/chromium/css3/filters/custom/custom-filter-parsing-at-rule-valid-expected.txt:
          V8 represents WebKitCSSFilterRule a little differently.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140997 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      32b8b1e2
  30. 27 Jan, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r140602. · 6935ae64
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/140602
      https://bugs.webkit.org/show_bug.cgi?id=108045
      
      Caused 8 indexed tests to crash. (Requested by keishi on
      #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-27
      
      Source/WebCore:
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * Modules/indexeddb/IDBCallbacks.h:
      (WebCore::IDBCallbacks::onBlocked):
      * Modules/indexeddb/IDBDatabase.cpp:
      * Modules/indexeddb/IDBDatabase.h:
      (WebCore):
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::openInternal):
      (WebCore::IDBFactory::deleteDatabase):
      * Modules/indexeddb/IDBFactory.h:
      (WebCore):
      (IDBFactory):
      * Modules/indexeddb/IDBFactory.idl:
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::create):
      (WebCore::IDBOpenDBRequest::IDBOpenDBRequest):
      (WebCore::IDBOpenDBRequest::dispatchEvent):
      * Modules/indexeddb/IDBOpenDBRequest.h:
      (IDBOpenDBRequest):
      * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
      (WebCore):
      (WebCore::IDBVersionChangeRequest::create):
      (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
      (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest):
      (WebCore::IDBVersionChangeRequest::interfaceName):
      (WebCore::IDBVersionChangeRequest::onBlocked):
      * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/Modules/indexeddb/IDBFactory.idl.
      (WebCore):
      (IDBVersionChangeRequest):
      * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/Modules/indexeddb/IDBFactory.idl.
      * WebCore.gypi:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/EventTarget.h:
      (WebCore):
      * dom/EventTargetFactory.in:
      
      Source/WebKit/chromium:
      
      * public/WebIDBCallbacks.h:
      * src/IDBCallbacksProxy.cpp:
      (WebKit::IDBCallbacksProxy::onBlocked):
      (WebKit):
      * src/IDBCallbacksProxy.h:
      (IDBCallbacksProxy):
      * src/WebIDBCallbacksImpl.cpp:
      (WebKit::WebIDBCallbacksImpl::onBlocked):
      (WebKit):
      * src/WebIDBCallbacksImpl.h:
      (WebIDBCallbacksImpl):
      * tests/IDBAbortOnCorruptTest.cpp:
      (WebCore::MockIDBCallbacks::onBlocked):
      * tests/IDBDatabaseBackendTest.cpp:
      
      LayoutTests:
      
      * storage/indexeddb/intversion-long-queue-expected.txt:
      * storage/indexeddb/intversion-upgrades-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6935ae64
  31. 25 Jan, 2013 1 commit
    • dino@apple.com's avatar
      Add a user agent stylesheet for plugins · 532fe3a5
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=107890
      
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore:
      
      As a step along the way to providing a Shadow DOM for plug-in elements, add a
      User Agent stylesheet that is loaded when an embed or object element is
      in the document. At the moment the stylesheet is empty.
      
      The stylesheet can be overridden by the RenderTheme or the ChromeClient, allowing
      ports to provide a custom appearance. This involved hooking up some virtual methods
      on ChromeClient, the stubs of which are already implemented in WK2.
      As a drive-by, since snapshotted plugins will need some localization I've also
      exposed the ChromeClient methods to get text labels.
      
      * CMakeLists.txt: Add plugIns.css.
      * DerivedSources.make: Ditto.
      * DerivedSources.pri: Ditto.
      * GNUmakefile.am: Ditto.
      * WebCore.gyp/WebCore.gyp: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj: Ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditoo.
      * css/StyleResolver.cpp:
      (WebCore::ensureDefaultStyleSheetsForElement): Load and inject new plugInsStyleSheet if there is an object or embed element.
      * css/plugIns.css: Added. Empty for now.
      * page/ChromeClient.h: New methods for querying the client.
      (WebCore::ChromeClient::plugInStartLabelTitle):
      (WebCore::ChromeClient::plugInStartLabelSubtitle):
      (WebCore::ChromeClient::plugInExtraStyleSheet):
      * rendering/RenderTheme.h:
      (WebCore::RenderTheme::extraPlugInsStyleSheet): Allow the theme to provide an extra stylesheet.
      
      Source/WebKit2:
      
      * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Rename client callbacks
      to have a "create" prefix, making it clear that these generate new Strings.
      * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Actually call into
      the injected bundle to retrieve any custom stylesheet for plugins.
      (WebKit::InjectedBundlePageUIClient::plugInExtraStyleSheet):
      * WebProcess/WebCoreSupport/WebChromeClient.h:
      (WebChromeClient): Add override keyword onto virtual functions now
      that the base class has implementations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      532fe3a5
  32. 23 Jan, 2013 2 commits
    • krit@webkit.org's avatar
      Implement Canvas Path object · 34fc6dae
      krit@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97333
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      The Canvas part of the WHATWG specification defines a Path object. This Path object
      shares several path segment functions (path methods) with the CanvasRenderingContext2D
      interface. This patch introduces the Path object and shares the path segment functions
      in the class CanvasPathMethods.
      This patch does just implement the basic path functions that have a general agreement on
      the WHAT WG and W3C mailing lists.
      This feature is behind a flag and won't be activated by default.
      
      http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects
      
      Test: fast/canvas/canvas-path-object.html
      
      * CMakeLists.txt: Add DOMPath and CanvasPathMedthods to build system.
      * DerivedSources.cpp: Ditto.
      * DerivedSources.make: Ditto.
      * DerivedSources.pri: Ditto.
      * GNUmakefile.list.am: Ditto.
      * Target.pri: Ditto.
      * WebCore.gypi: Ditto.
      * WebCore.vcproj/WebCore.vcproj: Ditto.
      * WebCore.xcodeproj/project.pbxproj: Ditto.
      * html/canvas/CanvasPathMethods.cpp: Added.
      (WebCore): This class shares the path segment functions (moveTo, lineTo, ...) between
          DOMPath (the Path object) and CanvasRenderingContext2D.
      (WebCore::CanvasPathMethods::closePath):
      (WebCore::CanvasPathMethods::moveTo):
      (WebCore::CanvasPathMethods::lineTo):
      (WebCore::CanvasPathMethods::quadraticCurveTo):
      (WebCore::CanvasPathMethods::bezierCurveTo):
      (WebCore::CanvasPathMethods::arcTo):
      (WebCore::CanvasPathMethods::arc):
      (WebCore::CanvasPathMethods::rect):
      * html/canvas/CanvasPathMethods.h: Added.
      (WebCore):
      (CanvasPathMethods):
      (WebCore::CanvasPathMethods::~CanvasPathMethods):
      (WebCore::CanvasPathMethods::transformIsInvertible):
      (WebCore::CanvasPathMethods::CanvasPathMethods):
      * html/canvas/CanvasRenderingContext2D.cpp:
      * html/canvas/CanvasRenderingContext2D.h: Remove the path segment functions here.
      (CanvasRenderingContext2D):
      (WebCore::CanvasRenderingContext2D::transformIsInvertible): This checks if the CTM
          of the context is still invertible. Drawing should stop if it is not.
      * html/canvas/CanvasRenderingContext2D.idl:
      * html/canvas/DOMPath.h: Added.
      (WebCore):
      (DOMPath):
      (WebCore::DOMPath::create):
      (WebCore::DOMPath::~DOMPath):
      (WebCore::DOMPath::DOMPath):
      * html/canvas/DOMPath.idl: Added.
      * page/DOMWindow.idl: Added CTOR for Path.
      
      LayoutTests:
      
      Add a test for checking existence of Path object and dependent functions.
      The test is supposed to fail if canvas-path is not activated on compile time.
      
      * fast/canvas/canvas-path-object-expected.txt: Added.
      * fast/canvas/canvas-path-object.html: Added.
      * fast/canvas/script-tests/canvas-path-object.js: Added.
      * platform/chromium/TestExpectations: Different error handling on Chromium. Needs rebaseline.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140604 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34fc6dae
    • jsbell@chromium.org's avatar
      IndexedDB: Remove IDBVersionChangeRequest · d57bce8b
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107711
      
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      When the setVersion() API was removed from the Indexed DB spec the IDBVersionChangeRequest
      interface was replaced with IDBOpenDBRequest. We switched over for open(), this completes
      the work by switching over for deleteDatabase() and removing the old code. (On the Event
      side we still need to combine IDBVersionChangeEvent and IDBUpgradeNeededEvent.)
      
      Test: storage/indexeddb/intversion-long-queue.html
            storage/indexeddb/intversion-upgrades.html
      
      * CMakeLists.txt: Remove references to deleted code.
      * DerivedSources.make: Ditto.
      * GNUmakefile.list.am: Ditto.
      * Modules/indexeddb/IDBCallbacks.h: Remove unused onBlocked() overload.
      * Modules/indexeddb/IDBDatabase.cpp: Remove references to deleted code.
      * Modules/indexeddb/IDBDatabase.h: Ditto.
      * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
      (WebCore::IDBDatabaseBackendImpl::deleteDatabase): Fire onBlocked with current version.
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::openInternal): Don't need to specify source.
      (WebCore::IDBFactory::deleteDatabase): Use an IDBOpenDBRequest.
      * Modules/indexeddb/IDBFactory.h: Change return type of deleteDatabase()
      * Modules/indexeddb/IDBFactory.idl: Ditto.
      * Modules/indexeddb/IDBOpenDBRequest.cpp:
      (WebCore::IDBOpenDBRequest::create): Always use a null source.
      (WebCore::IDBOpenDBRequest::IDBOpenDBRequest): Pass null source to base class.
      (WebCore::IDBOpenDBRequest::dispatchEvent): Don't assume result is a database in existing
      special case.
      * Modules/indexeddb/IDBOpenDBRequest.h: Don't need a source argument (always null).
      * Modules/indexeddb/IDBVersionChangeRequest.cpp: Removed.
      * Modules/indexeddb/IDBVersionChangeRequest.h: Removed.
      * Modules/indexeddb/IDBVersionChangeRequest.idl: Removed.
      * WebCore.gypi: Remove references to deleted code.
      * WebCore.xcodeproj/project.pbxproj: Remove references to deleted code.
      * dom/EventTarget.h: Remove references to deleted code.
      * dom/EventTargetFactory.in: Ditto.
      
      Source/WebKit/chromium:
      
      * public/WebIDBCallbacks.h: Note to delete onBlocked() once Chromium is cleaned up.
      * src/IDBCallbacksProxy.cpp: Remove unused onBlocked() overload.
      * src/IDBCallbacksProxy.h: Ditto.
      * src/WebIDBCallbacksImpl.cpp: Ditto.
      * src/WebIDBCallbacksImpl.h: Ditto.
      * tests/IDBAbortOnCorruptTest.cpp: Ditto.
      * tests/IDBDatabaseBackendTest.cpp: Ditto.
      
      LayoutTests:
      
      Update expectations - change a handful of FAIL to PASS because past-us were awesome.
      
      * storage/indexeddb/intversion-long-queue-expected.txt:
      * storage/indexeddb/intversion-upgrades-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d57bce8b
  33. 22 Jan, 2013 2 commits
    • jsbell@chromium.org's avatar
      IndexedDB: Remove IDBKey from WebKitIDL · c837f818
      jsbell@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=97375
      
      Reviewed by Kentaro Hara.
      
      Now that references to the artificial IDBKey type have been removed from all IDLs, remove
      the support code, and move the conversion code into the IDBBindingUtilities. Removes
      references to the autogenerated {V8,JS}IDBKey{Custom,}.{cpp,h} from the project files.
      
      No new tests - just code moves/removing unused code. Updated binding reference test results.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Modules/indexeddb/IDBKey.idl: Removed.
      * Target.pri:
      * UseJSC.cmake:
      * UseV8.cmake:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/IDBBindingUtilities.cpp:
      (WebCore::toJS): Moved here from JSIDBKeyCustom.cpp
      (WebCore):
      * bindings/js/JSIDBKeyCustom.cpp: Removed.
      * bindings/scripts/CodeGeneratorJS.pm:
      (JSValueToNative):
      * bindings/scripts/CodeGeneratorV8.pm:
      (GenerateFunctionCallString):
      (GetNativeType):
      (JSValueToNative):
      * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
      * bindings/scripts/test/CPP/WebDOMTestObj.h:
      * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
      * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
      * bindings/scripts/test/JS/JSTestObj.cpp:
      * bindings/scripts/test/JS/JSTestObj.h:
      * bindings/scripts/test/ObjC/DOMTestObj.h:
      * bindings/scripts/test/ObjC/DOMTestObj.mm:
      * bindings/scripts/test/TestObj.idl: Removed IDBKey-specific test.
      * bindings/scripts/test/V8/V8TestObj.cpp:
      * bindings/v8/IDBBindingUtilities.cpp:
      (WebCore::toV8): Moved here from V8IDBKeyCustom.cpp
      (WebCore):
      * bindings/v8/custom/V8IDBKeyCustom.cpp: Removed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140488 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c837f818
    • alexis@webkit.org's avatar
      Allow construction of unprefixed transition DOM events. · 1693c0c9
      alexis@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107319
      
      Reviewed by Dean Jackson.
      
      Source/WebCore:
      
      Make possible to construct unprefixed DOM events for transitions.
      Unfortunately I have to duplicate the C++ implementation class of the
      events (TransitionEvent.h and TransitionEvent.cpp). I can't find a
      better way to re-use the WebKitTransitionEvent class to back the
      TransitionEvent.idl as our code generators don't allow to have a
      different name for the C++ class used in the generated file than the
      interface name specified in the IDL file. Unfortunately
      https://trac.webkit.org/wiki/WebKitIDL#InterfaceName doesn't help as
      it's only a way to unlink the interface name specified in the IDL with
      the one exposed in JavaScript. I don't think we should support such a
      feature in our code generators as WebKitTransitionEvent class and more
      exactly prefixed DOM events for transitions will be removed one day so
      this use case will become obselete.
      
      Test: fast/events/constructors/transition-event-constructor.html
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * DerivedSources.pri:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.gypi:
      * WebCore.vcproj/WebCore.vcproj:
      * WebCore.xcodeproj/project.pbxproj:
      * dom/DOMAllInOne.cpp:
      * dom/EventNames.in:
      * dom/TransitionEvent.cpp: Added.
      (WebCore):
      (WebCore::TransitionEventInit::TransitionEventInit):
      (WebCore::TransitionEvent::TransitionEvent):
      (WebCore::TransitionEvent::~TransitionEvent):
      (WebCore::TransitionEvent::propertyName):
      (WebCore::TransitionEvent::elapsedTime):
      (WebCore::TransitionEvent::interfaceName):
      * dom/TransitionEvent.h: Added.
      (WebCore):
      (TransitionEventInit):
      (TransitionEvent):
      (WebCore::TransitionEvent::create):
      * dom/TransitionEvent.idl: Added.
      * page/DOMWindow.idl:
      * page/animation/AnimationController.cpp:
      (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): always
      create a TransitionEvent now. EventTarget will be responsible to create
      a WebKitTransitionEvent if necessary.
      
      LayoutTests:
      
      Add new tests to cover the feature. Update some existing ones with new
      expected results as a new constructor was added.
      
      * fast/dom/constructed-objects-prototypes.html:
      * fast/dom/constructed-objects-prototypes-expected.txt:
      * fast/events/constructors/transition-event-constructor-expected.txt: Added.
      * fast/events/constructors/transition-event-constructor.html: Added.
      * fast/events/event-creation.html:
      * platform/chromium/TestExpectations: Chromium turns the feature off.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1693c0c9