Closed Bug 920196 Opened 11 years ago Closed 11 years ago

Make QueryInterface opt-in for WebIDL interfaces

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla27

People

(Reporter: peterv, Assigned: peterv)

Details

Attachments

(2 files)

Attached patch v1 (deleted) — Splinter Review
I removed it from a bunch of interfaces that have it now:

AnalyserNode
ArchiveReader
AudioBuffer
AudioBufferSourceNode
AudioContext
AudioDestinationNode
AudioListener
AudioParam
AudioStreamTrack
battery::BatteryManager
BiquadFilterNode
CallsList
CameraControl
CameraManager
CanvasGradient
CanvasPattern
CanvasRenderingContext2D
TextMetrics
ChannelMergerNode
ChannelSplitterNode
ConvolverNode
Coordinates
DataChannel
DOMError
DOMRequest
DelayNode
DesktopNotification
DesktopNotificationCenter
DeviceStorage
DynamicsCompressorNode
FileHandle
FileReader
GainNode
Gamepad
Geolocation
GetUserMediaRequest
HTMLCanvasPrintState
MozInterAppConnection
MozInterAppConnectionRequest
MozInterAppMessagePort
MediaElementAudioSourceNode
MediaError
MediaRecorder
MediaSource
MediaStreamAudioDestinationNode
MediaStreamAudioSourceNode
MediaStream
MediaStreamList
MessageChannel
MessagePort
MessagePortList
PowerManager
time::TimeManager
Notification
OscillatorNode
PannerNode
PeriodicWave
PhoneNumberService
Position
PositionError
Promise
PushManager
mozRTCIceCandidate
mozRTCPeerConnection
mozRTCSessionDescription
ScriptProcessorNode
SettingsLock
SettingsManager
SourceBuffer
SourceBufferList
SpeechGrammar
SpeechGrammarList
SpeechRecognitionAlternative
SpeechRecognition
SpeechRecognitionResult
SpeechRecognitionResultList
SpeechSynthesis
SpeechSynthesisUtterance
SpeechSynthesisVoice
Telephony
TelephonyCall
TelephonyCallGroup
TextTrack
TextTrackCueList
TextTrackList
TextTrackRegion
TextTrackRegionList
TimeRanges
TextTrackCue
VideoPlaybackQuality
VideoStreamTrack
WaveShaperNode
WebGLQuery
WebGLActiveInfo
WebGLBuffer
WebGLExtensionCompressedTextureATC
WebGLExtensionCompressedTexturePVRTC
WebGLExtensionCompressedTextureS3TC
WebGLExtensionDebugRendererInfo
WebGLExtensionDepthTexture
WebGLExtensionDrawBuffers
WebGLExtensionElementIndexUint
WebGLExtensionInstancedArrays
WebGLExtensionLoseContext
WebGLExtensionStandardDerivatives
WebGLExtensionTextureFilterAnisotropic
WebGLExtensionTextureFloat
WebGLExtensionTextureFloatLinear
WebGLExtensionVertexArray
WebGLFramebuffer
WebGLProgram
WebGLRenderbuffer
WebGLContext
WebGLShader
WebGLShaderPrecisionFormat
WebGLTexture
WebGLUniformLocation
WebGLVertexArray

I did it a bit randomly, so let me know if there's any that you think we shouldn't remove it from.
Attachment #809385 - Flags: review?(bzbarsky)
Comment on attachment 809385 [details] [diff] [review]
v1

r=awesomesauce
Attachment #809385 - Flags: review?(bzbarsky) → review+
Maybe we can remove QI from TextDecoder and TextEncoder. They have never implemented XPCOM interfaces.
TextDecoder/Encoder have not had QI since I removed the nsISupports inheritance in bug 903772.  Things that don't inherit from nsISupports don't get QI.
Attached patch Remove some more interfaces v1 (deleted) — Splinter Review
So it turns out that I had a bunch of interfaces that wouldn't have a QI anyway because they don't inherit from nsISupports. This removes them and makes the WantsQI static assert that the interface inherits from nsISupports.
Attachment #809995 - Flags: review?
Attachment #809995 - Flags: review? → review?(bzbarsky)
Comment on attachment 809995 [details] [diff] [review]
Remove some more interfaces v1

Sweet!
Attachment #809995 - Flags: review?(bzbarsky) → review+
https://hg.mozilla.org/mozilla-central/rev/6ea361ff5333
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: