Add support for [NoInterfaceObject] Web IDL extended attribute

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
parent 5802dccc
2013-05-09 Christophe Dumez <ch.dumez@sisa.samsung.com>
Add support for [NoInterfaceObject] Web IDL extended attribute
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:
2013-05-08 José Dapena Paz <jdapena@igalia.com> and Zan Dobersek <zdobersek@igalia.com>
[GTK] Plumb the Automake build system for the Battery Status API feature
......
......@@ -206,7 +206,6 @@ set(WebCore_IDL_FILES
Modules/mediasource/SourceBuffer.idl
Modules/mediasource/SourceBufferList.idl
Modules/mediastream/DOMWindowMediaStream.idl
Modules/mediastream/LocalMediaStream.idl
Modules/mediastream/MediaStream.idl
Modules/mediastream/MediaStreamEvent.idl
......@@ -261,7 +260,6 @@ set(WebCore_IDL_FILES
Modules/webaudio/AudioSourceNode.idl
Modules/webaudio/BiquadFilterNode.idl
Modules/webaudio/ConvolverNode.idl
Modules/webaudio/DOMWindowWebAudio.idl
Modules/webaudio/DelayNode.idl
Modules/webaudio/DynamicsCompressorNode.idl
Modules/webaudio/ScriptProcessorNode.idl
......@@ -291,7 +289,6 @@ set(WebCore_IDL_FILES
Modules/webdatabase/SQLTransactionSyncCallback.idl
Modules/websockets/CloseEvent.idl
Modules/websockets/DOMWindowWebSocket.idl
Modules/websockets/WebSocket.idl
Modules/websockets/WorkerContextWebSocket.idl
......@@ -2948,6 +2945,7 @@ set(SCRIPTS_BINDINGS
)
set(IDL_FILES_TMP ${DERIVED_SOURCES_WEBCORE_DIR}/idl_files.tmp)
set(SUPPLEMENTAL_DEPENDENCY_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/supplemental_dependency.tmp)
set(WINDOW_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWindowConstructors.idl)
set(IDL_ATTRIBUTES_FILE ${WEBCORE_DIR}/bindings/scripts/IDLAttributes.txt)
include(${WEBCORE_DIR}/UseJSC.cmake)
......
This diff is collapsed.
......@@ -147,7 +147,6 @@ BINDING_IDLS = \
$(WebCore)/Modules/webaudio/AudioSourceNode.idl \
$(WebCore)/Modules/webaudio/BiquadFilterNode.idl \
$(WebCore)/Modules/webaudio/ConvolverNode.idl \
$(WebCore)/Modules/webaudio/DOMWindowWebAudio.idl \
$(WebCore)/Modules/webaudio/DelayNode.idl \
$(WebCore)/Modules/webaudio/DynamicsCompressorNode.idl \
$(WebCore)/Modules/webaudio/ScriptProcessorNode.idl \
......@@ -176,7 +175,6 @@ BINDING_IDLS = \
$(WebCore)/Modules/webdatabase/SQLTransactionSyncCallback.idl \
$(WebCore)/Modules/webdatabase/WorkerContextWebDatabase.idl \
$(WebCore)/Modules/websockets/CloseEvent.idl \
$(WebCore)/Modules/websockets/DOMWindowWebSocket.idl \
$(WebCore)/Modules/websockets/WebSocket.idl \
$(WebCore)/Modules/websockets/WorkerContextWebSocket.idl \
$(WebCore)/css/CSSCharsetRule.idl \
......@@ -662,6 +660,7 @@ WEB_DOM_HEADERS :=
all : \
$(SUPPLEMENTAL_DEPENDENCY_FILE) \
$(WINDOW_CONSTRUCTORS_FILE) \
$(JS_DOM_HEADERS) \
$(WEB_DOM_HEADERS) \
\
......@@ -1002,6 +1001,7 @@ JS_BINDINGS_SCRIPTS = $(GENERATE_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
SUPPLEMENTAL_DEPENDENCY_FILE = ./SupplementalDependencies.txt
SUPPLEMENTAL_MAKEFILE_DEPS = ./SupplementalDependencies.dep
WINDOW_CONSTRUCTORS_FILE = ./DOMWindowConstructors.idl
IDL_FILES_TMP = ./idl_files.tmp
ADDITIONAL_IDLS = $(WebCore)/inspector/JavaScriptCallFrame.idl
IDL_ATTRIBUTES_FILE = $(WebCore)/bindings/scripts/IDLAttributes.txt
......@@ -1013,10 +1013,10 @@ space +=
$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(ADDITIONAL_IDLS)
printf "$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS) $(ADDITIONAL_IDLS)))" > $(IDL_FILES_TMP)
$(call preprocess_idls_script, $(PREPROCESS_IDLS_SCRIPTS)) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --idlFilesList $(IDL_FILES_TMP) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) --supplementalMakefileDeps $@
$(call preprocess_idls_script, $(PREPROCESS_IDLS_SCRIPTS)) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --idlFilesList $(IDL_FILES_TMP) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) --windowConstructorsFile $(WINDOW_CONSTRUCTORS_FILE) --supplementalMakefileDeps $@
rm -f $(IDL_FILES_TMP)
JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(IDL_ATTRIBUTES_FILE)
JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(IDL_ATTRIBUTES_FILE) $(WINDOW_CONSTRUCTORS_FILE)
$(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines "$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --idlAttributesFile $(IDL_ATTRIBUTES_FILE) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) $<
include $(SUPPLEMENTAL_MAKEFILE_DEPS)
......
......@@ -161,7 +161,6 @@ IDL_BINDINGS += \
$$PWD/Modules/webaudio/BiquadFilterNode.idl \
$$PWD/Modules/webaudio/ConvolverNode.idl \
$$PWD/Modules/webaudio/DelayNode.idl \
$$PWD/Modules/webaudio/DOMWindowWebAudio.idl \
$$PWD/Modules/webaudio/DynamicsCompressorNode.idl \
$$PWD/Modules/webaudio/ScriptProcessorNode.idl \
$$PWD/Modules/webaudio/MediaElementAudioSourceNode.idl \
......@@ -189,7 +188,6 @@ IDL_BINDINGS += \
$$PWD/Modules/webdatabase/SQLTransactionSyncCallback.idl \
$$PWD/Modules/webdatabase/WorkerContextWebDatabase.idl \
$$PWD/Modules/websockets/CloseEvent.idl \
$$PWD/Modules/websockets/DOMWindowWebSocket.idl \
$$PWD/Modules/websockets/WebSocket.idl \
$$PWD/Modules/websockets/WorkerContextWebSocket.idl \
$$PWD/css/Counter.idl \
......@@ -733,6 +731,7 @@ IDL_BINDINGS += generated/$$INTERNAL_SETTINGS_GENERATED_IDL
# GENERATOR 0: Resolve [Supplemental] dependency in IDLs
SUPPLEMENTAL_DEPENDENCY_FILE = supplemental_dependency.tmp
WINDOW_CONSTRUCTORS_FILE = DOMWindowConstructors.idl
IDL_FILES_TMP = ${QMAKE_FUNC_FILE_OUT_PATH}/idl_files.tmp
PREPROCESS_IDLS_SCRIPT = $$PWD/bindings/scripts/preprocess-idls.pl
IDL_ATTRIBUTES_FILE = $$PWD/bindings/scripts/IDLAttributes.txt
......@@ -750,8 +749,9 @@ for(binding, IDL_BINDINGS) {
preprocessIdls.commands += perl -I$$PWD/bindings/scripts $$preprocessIdls.script \
--defines \"$$javascriptFeatureDefines()\" \
--idlFilesList $$IDL_FILES_TMP \
--supplementalDependencyFile ${QMAKE_FUNC_FILE_OUT_PATH}/$$SUPPLEMENTAL_DEPENDENCY_FILE
preprocessIdls.output = $$SUPPLEMENTAL_DEPENDENCY_FILE
--supplementalDependencyFile ${QMAKE_FUNC_FILE_OUT_PATH}/$$SUPPLEMENTAL_DEPENDENCY_FILE \
--windowConstructorsFile ${QMAKE_FUNC_FILE_OUT_PATH}/$$WINDOW_CONSTRUCTORS_FILE
preprocessIdls.output = $$SUPPLEMENTAL_DEPENDENCY_FILE $$WINDOW_CONSTRUCTORS_FILE
preprocessIdls.add_output_to_sources = false
preprocessIdls.depends = $$IDL_BINDINGS
GENERATORS += preprocessIdls
......
......@@ -407,6 +407,7 @@ IDL_PATH := \
vpath %.idl $(IDL_PATH)
supplemental_dependency_file = $(top_builddir)/DerivedSources/WebCore/idl_supplemental_dependencies
window_constructors_file = $(top_builddir)/DerivedSources/WebCore/DOMWindowConstructors.idl
idl_files_list = $(top_builddir)/DerivedSources/WebCore/idl_files_list
idl_attributes_file = $(WebCore)/bindings/scripts/IDLAttributes.txt
......@@ -415,14 +416,14 @@ $(supplemental_dependency_file): $(SCRIPTS_FOR_PREPROCESS_IDLS) $(dom_binding_id
$(AM_V_GEN)
$(AM_V_at)echo -n > $(idl_files_list)
$(AM_V_at)($(foreach idl, $(dom_binding_idls), echo $(idl) &&) echo -n) >> $(idl_files_list)
$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/preprocess-idls.pl --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --idlFilesList $(idl_files_list) --supplementalDependencyFile $@
$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/preprocess-idls.pl --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --idlFilesList $(idl_files_list) --windowConstructorsFile $(window_constructors_file) --supplementalDependencyFile $@
# This does not appear to work correctly with gnumake unless
# it includes an empty command list (the semicolon).
DerivedSources/WebCore/JS%.cpp: DerivedSources/WebCore/JS%.h;
.SECONDARY:
DerivedSources/WebCore/JS%.h: %.idl $(SCRIPTS_FOR_GENERATE_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm $(supplemental_dependency_file) $(idl_attributes_file)
DerivedSources/WebCore/JS%.h: %.idl $(SCRIPTS_FOR_GENERATE_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorJS.pm $(supplemental_dependency_file) $(idl_attributes_file) $(window_constructors_file)
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_PATH:%=--include "%") --outputDir "$(GENSOURCES_WEBCORE)" --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --generator JS --idlAttributesFile $(idl_attributes_file) --supplementalDependencyFile $(supplemental_dependency_file) $<
.SECONDARY:
......
......@@ -1269,7 +1269,6 @@ dom_binding_idls += \
$(WebCore)/Modules/mediasource/MediaSource.idl \
$(WebCore)/Modules/mediasource/SourceBuffer.idl \
$(WebCore)/Modules/mediasource/SourceBufferList.idl \
$(WebCore)/Modules/mediastream/DOMWindowMediaStream.idl \
$(WebCore)/Modules/mediastream/LocalMediaStream.idl \
$(WebCore)/Modules/mediastream/MediaStream.idl \
$(WebCore)/Modules/mediastream/MediaStreamEvent.idl \
......@@ -1324,7 +1323,6 @@ dom_binding_idls += \
$(WebCore)/Modules/webaudio/BiquadFilterNode.idl \
$(WebCore)/Modules/webaudio/ConvolverNode.idl \
$(WebCore)/Modules/webaudio/DelayNode.idl \
$(WebCore)/Modules/webaudio/DOMWindowWebAudio.idl \
$(WebCore)/Modules/webaudio/DynamicsCompressorNode.idl \
$(WebCore)/Modules/webaudio/ScriptProcessorNode.idl \
$(WebCore)/Modules/webaudio/MediaElementAudioSourceNode.idl \
......@@ -1352,7 +1350,6 @@ dom_binding_idls += \
$(WebCore)/Modules/webdatabase/SQLTransactionSyncCallback.idl \
$(WebCore)/Modules/webdatabase/WorkerContextWebDatabase.idl \
$(WebCore)/Modules/websockets/CloseEvent.idl \
$(WebCore)/Modules/websockets/DOMWindowWebSocket.idl \
$(WebCore)/Modules/websockets/WebSocket.idl \
$(WebCore)/Modules/websockets/WorkerContextWebSocket.idl \
$(WebCore)/css/CSSCharsetRule.idl \
......
......@@ -19,6 +19,7 @@
// http://dev.w3.org/2009/dap/system-info/battery-status.html
[
NoInterfaceObject,
Conditional=BATTERY_STATUS,
ActiveDOMObject,
EventTarget
......
......@@ -23,10 +23,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
interface [
[
Conditional=ENCRYPTED_MEDIA_V2,
ConstructorTemplate=Event
] MediaKeyMessageEvent : Event {
] interface MediaKeyMessageEvent : Event {
readonly attribute Uint8Array message;
readonly attribute [InitializedByEventConstructor] DOMString destinationURL;
};
......
......@@ -23,10 +23,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
interface [
[
Conditional=ENCRYPTED_MEDIA_V2,
ConstructorTemplate=Event
] MediaKeyNeededEvent : Event {
] interface MediaKeyNeededEvent : Event {
readonly attribute Uint8Array initData;
};
......@@ -23,10 +23,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
interface [
[
Conditional=ENCRYPTED_MEDIA_V2,
EventTarget,
] MediaKeySession {
] interface MediaKeySession {
// error state
readonly attribute MediaKeyError error;
......
......@@ -23,11 +23,11 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
interface [
[
Conditional=ENCRYPTED_MEDIA_V2,
Constructor(DOMString keySystem),
ConstructorRaisesException,
] MediaKeys {
] interface MediaKeys {
[CallWith=ScriptExecutionContext] MediaKeySession createSession([Default=Undefined] optional DOMString type, [Default=Undefined] optional Uint8Array initData)
raises(DOMException);
......
......@@ -30,6 +30,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
ActiveDOMObject,
JSNoStaticTables
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSNoStaticTables
] interface DOMFileSystemSync {
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSGenerateToNativeObject,
JSGenerateToJSObject,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSGenerateToNativeObject,
JSGenerateToJSObject,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSNoStaticTables,
ImplementationLacksVTable
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSNoStaticTables,
ImplementationLacksVTable
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
CustomToJSObject,
JSNoStaticTables
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
IndexedGetter,
JSNoStaticTables,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
IndexedGetter,
JSNoStaticTables,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
CustomToJSObject,
JSNoStaticTables
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSGenerateToNativeObject,
JSGenerateToJSObject,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSGenerateToNativeObject,
JSGenerateToJSObject,
......
......@@ -30,6 +30,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
ActiveDOMObject,
CallWith=ScriptExecutionContext,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSNoStaticTables
] interface FileWriterSync {
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=FILE_SYSTEM,
JSNoStaticTables,
ImplementationLacksVTable
......
......@@ -24,6 +24,7 @@
*/
[
NoInterfaceObject,
Conditional=GAMEPAD,
ImplementationLacksVTable
] interface Gamepad {
......
......@@ -24,6 +24,7 @@
*/
[
NoInterfaceObject,
Conditional=GAMEPAD,
IndexedGetter,
ImplementationLacksVTable
......
......@@ -24,6 +24,7 @@
*/
[
NoInterfaceObject,
Conditional=GEOLOCATION,
OmitConstructor,
ImplementationLacksVTable
......
......@@ -25,6 +25,7 @@
// http://www.w3.org/TR/geolocation-API/#geolocation_interface
[
NoInterfaceObject,
Conditional=GEOLOCATION,
GenerateIsReachable=ImplFrame,
OmitConstructor
......
......@@ -24,6 +24,7 @@
*/
[
NoInterfaceObject,
Conditional=GEOLOCATION,
OmitConstructor,
ImplementationLacksVTable
......
......@@ -24,6 +24,7 @@
*/
[
NoInterfaceObject,
Conditional=GEOLOCATION,
ImplementationLacksVTable
] interface PositionError {
......
......@@ -29,27 +29,6 @@
] partial interface DOMWindow {
[ImplementedAs=indexedDB] readonly attribute IDBFactory webkitIndexedDB;
attribute IDBCursorConstructor webkitIDBCursor;
attribute IDBDatabaseConstructor webkitIDBDatabase;
attribute IDBFactoryConstructor webkitIDBFactory;
attribute IDBIndexConstructor webkitIDBIndex;
attribute IDBKeyRangeConstructor webkitIDBKeyRange;
attribute IDBObjectStoreConstructor webkitIDBObjectStore;
attribute IDBRequestConstructor webkitIDBRequest;
attribute IDBTransactionConstructor webkitIDBTransaction;
readonly attribute IDBFactory indexedDB;
attribute IDBCursorConstructor IDBCursor;
attribute IDBCursorWithValueConstructor IDBCursorWithValue;
attribute IDBDatabaseConstructor IDBDatabase;
attribute IDBFactoryConstructor IDBFactory;
attribute IDBIndexConstructor IDBIndex;
attribute IDBKeyRangeConstructor IDBKeyRange;
attribute IDBObjectStoreConstructor IDBObjectStore;
attribute IDBOpenDBRequestConstructor IDBOpenDBRequest;
attribute IDBRequestConstructor IDBRequest;
attribute IDBTransactionConstructor IDBTransaction;
attribute IDBVersionChangeEventConstructor IDBVersionChangeEvent;
};
......@@ -24,6 +24,7 @@
*/
[
NoInterfaceObject,
Conditional=INDEXED_DATABASE,
CustomToJSObject,
JSNoStaticTables
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=MEDIA_SOURCE,
ActiveDOMObject,
EventTarget,
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=MEDIA_SOURCE
] interface SourceBuffer {
......
......@@ -29,6 +29,7 @@
*/
[
NoInterfaceObject,
Conditional=MEDIA_SOURCE,
IndexedGetter,
EventTarget,
......
/*
* Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
* Copyright (C) 2012 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
Conditional=MEDIA_STREAM,
] partial interface DOMWindow {
attribute MediaStreamConstructor webkitMediaStream;
attribute RTCPeerConnectionConstructor webkitRTCPeerConnection;
attribute RTCSessionDescriptionConstructor RTCSessionDescription;
attribute RTCIceCandidateConstructor RTCIceCandidate;
attribute MediaStreamEventConstructor MediaStreamEvent;
};
......@@ -23,6 +23,7 @@
*/
[
NoInterfaceObject,
Conditional=MEDIA_STREAM,
EventTarget,
Constructor,
......