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+
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: