• foolip's avatar
    Enable TypeError for dictionary members of non-nullable interface type · 7f8965f2
    foolip authored
    In dictionary_v8.cpp, the extra null check was wrong or redudant
    depending on nullabilty:
    
     * If the member isn't nullable, then passing null should throw
       TypeError.
    
     * If the member is nullable, then a null check is already emitted
       earlier, and so that part of the condition is always true.
    
    The affected dictionaries were identified by looking at the resulting
    changes in the generated bindings. Any affected member was made nullable
    so that this change in itself is not observable, but the right behavior
    is achieved if those changes are individually reverted.
    
    A few cases that were not given TODOs:
    
     * MessageEventInit, because the existing TODO is appropriate.
    
     * MediaStreamEventInit, because it has no spec and MediaStreamEvent's
       corresponding attribute is already nullable.
    
     * SpeechRecognitionEventInit, because it has no spec.
       SpeechRecognitionEvent's attributes were made nullable because they
       can now in fact be null.
    
    A number of spec issues were discovered, linked with the TODOs.
    
    BUG=647693
    
    Review-Url: https://codereview.chromium.org/2342393002
    Cr-Commit-Position: refs/heads/master@{#419344}
    7f8965f2
MediaKeyMessageEventInit.idl 523 Bytes