tl;dr: A bunch of #if guards are added during the transition. We apologize for your inconvenience.
Blink-V8 bindings team has been developing Web IDL compiler v2 in order to improve the spec conformance and flexibility to support more features. IDL interfaces were upgraded to the new implementation last summer, and IDL unions were upgraded in the middle of this May. Now we're about to upgrade IDL dictionaries to the new implementations.
Changes that affect Blink developers:
1. Dictionary members of type IDL union will be the new IDL union implementations. There will be no place that uses the old IDL union implementations.
2. It will be strictly forbidden to access non-existing dictionary members (e.g. when dict->hasFoo() is false, access to dict->foo() is forbidden).
During the transition to the new implementations of IDL dictionaries,
"#if defined(USE_BLINK_V8_BINDING_NEW_IDL_DICTIONARY)" guards are put in the code base where IDL dictionaries are used. Within a week (unless we observe a severe issue), we'll be going to remove the #if guards as soon as we confirm that the patch sticks and works well. We apologize for any inconveniences you have.
Cheers,
Yuki Shiino