Skip to content

Figure out how to support interfaces with NoInterfaceObject attribute #893

Closed
@fitzgen

Description

@fitzgen

Right now, we completely skip generating code for any interface that is marked [NoInterfaceObject]. I think we might want to do something like:

  • mark all their methods structural, since we don't ahve the prototype until we get an instance
  • make JsCast::is_instance_of always return false for them, because we don't have access to the constructor without getting an instance

cc @alexcrichton @afdw

Here are the 71 interfaces with [NoInterfaceObject] in our webidls

  • ANGLE_instanced_arrays
  • Coordinates
  • DeviceAcceleration
  • DeviceRotationRate
  • Exception
  • EXT_blend_minmax
  • EXT_color_buffer_float
  • EXT_color_buffer_half_float
  • EXT_disjoint_timer_query
  • External
  • EXT_frag_depth
  • EXT_shader_texture_lod
  • EXT_sRGB
  • EXT_texture_filter_anisotropic
  • FontFaceSetIterator
  • Geolocation
  • GetUserMediaRequest
  • HTMLHyperlinkElementUtils
  • ImageCaptureError
  • IntlUtils
  • ListBoxObject
  • MediaStreamError
  • MOZ_debug
  • NavigatorAutomationInformation
  • OES_element_index_uint
  • OES_standard_derivatives
  • OES_texture_float
  • OES_texture_float_linear
  • OES_texture_half_float
  • OES_texture_half_float_linear
  • OES_vertex_array_object
  • Position
  • PositionError
  • PromiseNativeHandler
  • RTCIdentityProviderRegistrar
  • ScrollBoxObject
  • SVGPathSeg
  • SVGPathSegArcAbs
  • SVGPathSegArcRel
  • SVGPathSegClosePath
  • SVGPathSegCurvetoCubicAbs
  • SVGPathSegCurvetoCubicRel
  • SVGPathSegCurvetoCubicSmoothAbs
  • SVGPathSegCurvetoCubicSmoothRel
  • SVGPathSegCurvetoQuadraticAbs
  • SVGPathSegCurvetoQuadraticRel
  • SVGPathSegCurvetoQuadraticSmoothAbs
  • SVGPathSegCurvetoQuadraticSmoothRel
  • SVGPathSegLinetoAbs
  • SVGPathSegLinetoHorizontalAbs
  • SVGPathSegLinetoHorizontalRel
  • SVGPathSegLinetoRel
  • SVGPathSegLinetoVerticalAbs
  • SVGPathSegLinetoVerticalRel
  • SVGPathSegMovetoAbs
  • SVGPathSegMovetoRel
  • TreeBoxObject
  • TreeView
  • WEBGL_color_buffer_float
  • WEBGL_compressed_texture_astc
  • WEBGL_compressed_texture_atc
  • WEBGL_compressed_texture_etc
  • WEBGL_compressed_texture_etc1
  • WEBGL_compressed_texture_pvrtc
  • WEBGL_compressed_texture_s3tc
  • WEBGL_compressed_texture_s3tc_srgb
  • WEBGL_debug_renderer_info
  • WEBGL_debug_shaders
  • WEBGL_depth_texture
  • WEBGL_draw_buffers
  • WEBGL_lose_context

Metadata

Metadata

Assignees

No one assigned

    Labels

    frontend:webidlIssues related to the WebIDL frontend to wasm-bindgenweb-sysIssues related to the `web-sys` crate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions