[Webkit-unassigned] [Bug 158254] New: Bindings generator: Improve support for sharing enums between idl files

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 1 01:37:47 PDT 2016


https://bugs.webkit.org/show_bug.cgi?id=158254

            Bug ID: 158254
           Summary: Bindings generator: Improve support for sharing enums
                    between idl files
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Bindings
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: adam.bergkvist at ericsson.com
                CC: cdumez at apple.com

This can be done in two steps:

1. Define the enum in each idl file, but support sharing the underlying C++ enum. This does not currently work due to duplication of generated enum conversion functions.

2. Allow "importing" an idl enum in an other idl file. This would probably require some work, but would minimize the need for mirrored enums that needs to be synced.

Example where this could be useful:

RTCPeerConnection.idl:

    [StrictTypeChecking, RaisesException] RTCRtpTransceiver addTransceiver(MediaStreamTrack track, optional RTCRtpTransceiverInit init);
    [StrictTypeChecking, RaisesException] RTCRtpTransceiver addTransceiver(DOMString kind, optional RTCRtpTransceiverInit init);

    enum RTCRtpTransceiverDirection { "sendrecv", "sendonly", "recvonly", "inactive" };

    dictionary RTCRtpTransceiverInit {
        RTCRtpTransceiverDirection direction = "sendrecv";
    };

RTCRtpTransceiver.idl:

    readonly attribute RTCRtpTransceiverDirection direction;
    void setDirection(RTCRtpTransceiverDirection direction);

    enum RTCRtpTransceiverDirection { "sendrecv", "sendonly", "recvonly", "inactive" };

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160601/d9e9f1a2/attachment.html>


More information about the webkit-unassigned mailing list