New issue
Advanced search Search tips

Issue 714575 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 839389



Sign in to add a comment

WebIDL dictionary and DISALLOW_NEW_EXCEPT_PLACEMENT_NEW

Project Member Reported by hbos@chromium.org, Apr 24 2017

Issue description

Dictionaries having DISALLOW_NEW_EXCEPT_PLACEMENT_NEW is a restriction that causes problems.

Because you can't do "new DictionaryType()" you can't have Vectors, Maps or Maplikes with DictionaryType. You can't have Member<DictionaryType> and you're only able to copy and return by value. Why? Dictionaries are javascript objects, why not be able to reference them by their dictionary type like it is possible with interface?

This restriction isn't big problem when interpreting method arguments as dictionaries, but it's quite limiting when you want to return dictionary objects, especially as part of collections.

The only workaround I know of is to convert the dictionary to v8::Value.
Examples:
- RTCStatsReport being Maplike: https://cs.chromium.org/chromium/src/third_party/WebKit/Source/modules/peerconnection/RTCStatsReport.h
- Trying to return FrozenArray of dictionary (RTCCertificate.fingerprints): https://codereview.chromium.org/2828563002/
 

Comment 1 by hbos@chromium.org, Apr 24 2017

Description: Show this description

Comment 2 by hbos@chromium.org, Apr 24 2017

Related issue about Maplike and dictionaries that was closed due to v8::Value workaround:  https://crbug.com/630210 

Comment 3 by hbos@chromium.org, Apr 24 2017

Does the DISALLOW_NEW_EXCEPT_PLACEMENT_NEW design decision have anything to do with WebIDL and wanting to pretend dictionaries are "values" and not "references"?
Cc: bashi@chromium.org
> Does the DISALLOW_NEW_EXCEPT_PLACEMENT_NEW design decision have anything to do with WebIDL and wanting to pretend dictionaries are "values" and not "references"?

Yes.

Also IDL dictionaries are used only as method parameters and return values. So I think that restricting the usages to stack-allocated objects would be okay.

We intentionally added the restriction because we didn't have a way to create an object reference cycle between V8 and Blink (e.g., storing a dictionary object on a Blink object will cause memory leaks) when we introduced dictionaries. Now that we have the wrapper tracing, it's possible to get rid of the restriction.


Comment 5 by hbos@chromium.org, Apr 24 2017

My mistake, HeapVector<DictionaryType> is allowed (but HeapVector<Member<DictionaryType>> and Vector<DictionaryType> isn't). Not as restricting.
Cc: jochen@chromium.org
Status: Available (was: Untriaged)

Comment 7 by jochen@chromium.org, Apr 28 2017

Components: -Blink>JavaScript Blink>Bindings
Project Member

Comment 8 by sheriffbot@chromium.org, Apr 30 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: peria@chromium.org
Status: Assigned (was: Untriaged)
As peria@ is working on the bindings code generator, he might be interested in this issue, too.  Feel free to unassign yourself or reassign to someone else.

Just FYI, IDL dictionary is a value-ish object.
https://heycam.github.io/webidl/#es-dictionary
IDL interface type values need to convert back to the original ES objects.  However, IDL dictionary type values do NOT need to convert back to the original ES objects.  The Web IDL says that each conversion from IDL dictionary to ES object MUST create a new object.

Having said that, this difference doesn't necessarily justify STACK_ALLOCATED.  We can still implement IDL dictionary as a heap object.

In addition to #c4, I vaguely guess that we wanted to avoid the allocation overhead to be faster?

Comment 10 by hbos@chromium.org, May 2 2018

The RTCStatsReport is Maplike<DOMString, object> per spec[1]. Where each mapped object is an RTCStats[2]-derived dictionary (one of the dictionaries in [3]). This not being defined as "Maplike<DOMString, RTCStats>" is a limitation of WebIDL, either because of not being able to express "RTCStats or descendant dictionary" or because of limitations of valid values of V for Maplike<K,V>.

Our implementation constructs a new v8 object each time you do report.get('id') or iterate, which means that report.get('foo') != report.get('foo'). This makes sense since dictionaries should be returned "by value". Unless you argue that "object" of "Maplike<DOMString, object>" is not "by value" and so the "value-copy" should only happen when the object is placed in the map, and not in subsequent retrievals. I'm not sure? But I think our implementation is right.

I filed this bug because I couldn't place .idl generated dictionaries in a map, but this does not matter anymore. The dictionaries are surfaced from lower layer code and generating the v8 objects upon retrieval[4]. Whether copied each time or returned by reference, they should be created by code like this and not with .idl generated dictionaries.

As such I personally don't need this bug to be fixed, but there could be other usages.

[1] https://w3c.github.io/webrtc-pc/#rtcstatsreport-object
[2] https://w3c.github.io/webrtc-pc/#dom-rtcstats
[3] https://w3c.github.io/webrtc-stats/
[4] https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.cc?sq=package:chromium&dr=CSs&l=190
Blockedon: 839389

Comment 12 by peria@chromium.org, May 25 2018

Labels: Hotlist-Bindings-IDLCompiler
Labels: -Pri-2 Pri-3
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0a8375103b2b8a77ddd95017daa8b1efaba33f5e

commit 0a8375103b2b8a77ddd95017daa8b1efaba33f5e
Author: Hitoshi Yoshida <peria@chromium.org>
Date: Thu Nov 01 00:17:53 2018

bindings: Move IDLDictionary onto Oilpan heap

Before this CL, it was difficult to handle IDLDictionaries with WTF containers
and to support partial dictionary[1].
And to support such use cases, we have non standard hacks for them.
e.g. HeapVector<IDLDictionary>

This CL makes IDLDictionaryBase inherited from GarbageCollected<>,
and hence we can remove strange restrictions and hacks, and it will be
easy to support partial dictionaries.

[1] https://heycam.github.io/webidl/#dfn-partial-dictionary


TBR=peter, mkwst

Bug:  714575 , 579896
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia999589e5329cdf863d54ccb1bcea385f607fb62
Reviewed-on: https://chromium-review.googlesource.com/c/1226613
Commit-Queue: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604459}
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/idl_dictionary_base.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/idl_types_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/rejected_promises.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/serialization/post_message_helper.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/serialization/post_message_helper.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_deserializer.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/serialization/v8_script_value_serializer_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/v0_custom_element_constructor_builder.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/core/v8/v0_custom_element_constructor_builder.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/modules/v8/custom/v8_extendable_message_event_custom.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_deserializer_for_modules.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_serializer_for_modules.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/modules/v8/serialization/v8_script_value_serializer_for_modules_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/scripts/code_generator.py
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/scripts/v8_dictionary.py
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/scripts/v8_methods.py
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/scripts/v8_types.py
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/templates/dictionary_impl.cc.tmpl
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/templates/dictionary_impl.h.tmpl
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/templates/dictionary_v8.cc.tmpl
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/templates/dictionary_v8.h.tmpl
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/long_or_test_dictionary.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/long_or_test_dictionary.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_dictionary.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_dictionary.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_dictionary_derived.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_dictionary_derived.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_interface_event_init.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_interface_event_init.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_permissive_dictionary.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/test_permissive_dictionary.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_dictionary.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_dictionary.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_dictionary_derived.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_dictionary_derived.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_event_init.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_event_init.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_interface_event_init_constructor.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_object.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_permissive_dictionary.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_test_permissive_dictionary.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/animation_effect.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/animation_effect.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/animation_effect_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/animation_sim_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/compositor_animations_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/document_timeline.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/document_timeline.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/effect_input.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/element_animation.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/keyframe_effect.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/keyframe_effect_model_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/keyframe_effect_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/scroll_timeline.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/scroll_timeline.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/scroll_timeline_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/timing_input.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/timing_input.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/animation/timing_input_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/css_style_sheet.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/css_style_sheet.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/css_style_sheet_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/cssom/css_matrix_component.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/cssom/css_matrix_component.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/cssom/css_numeric_value.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/cssom/css_numeric_value.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/font_face.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/font_face.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/font_face_set_load_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/font_face_set_load_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/media_query_list_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/property_registration.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/css/property_registration.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/document.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/document.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/element.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/element.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/add_event_listener_options_resolved.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/add_event_listener_options_resolved.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/custom_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/custom_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/event_listener_map.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/event_listener_map.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/event_target.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/event_target.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/registered_event_listener.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/events/registered_event_listener.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/mutation_observer.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/mutation_observer.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/mutation_observer_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/node.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/node.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/scripted_idle_task_controller.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/scripted_idle_task_controller.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/dom/scripted_idle_task_controller_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/editing/finder/find_task_controller.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/editing/spellcheck/idle_spell_check_controller.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/animation_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/animation_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/animation_playback_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/animation_playback_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/application_cache_error_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/application_cache_error_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/clipboard_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/clipboard_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/composition_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/composition_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/drag_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/drag_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/error_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/error_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/focus_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/focus_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/hash_change_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/input_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/input_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/keyboard_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/keyboard_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/message_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/message_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/mouse_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/mouse_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/page_transition_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/page_transition_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/picture_in_picture_control_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/picture_in_picture_control_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/pointer_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/pointer_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/pointer_event_factory.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/pointer_event_factory.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/pop_state_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/pop_state_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/progress_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/progress_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/promise_rejection_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/promise_rejection_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/security_policy_violation_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/security_policy_violation_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/touch_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/touch_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/transition_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/transition_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/ui_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/ui_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/ui_event_with_key_state.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/ui_event_with_key_state.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/web_input_event_conversion_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/wheel_event.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/events/wheel_event.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/exported/web_form_element_observer_impl.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/exported/web_remote_frame_impl.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/exported/web_view_impl.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/exported/web_view_impl.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fetch/global_fetch.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fetch/global_fetch.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fetch/request.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fetch/request.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fetch/response.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fetch/response.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fileapi/blob.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fileapi/blob.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fileapi/file.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/fileapi/file.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/frame/csp/content_security_policy.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/frame/csp/content_security_policy.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/frame/dom_window.cc
[modify] https://crrev.com/0a8375103b2b8a77ddd95017daa8b1efaba33f5e/third_party/blink/renderer/core/frame/dom_window.h
[modify] https://crrev.com/0a8375103b2b8a77ddd95017
Status: Fixed (was: Assigned)
Now IDL dictionary type is on Oilpan's heap.

Sign in to add a comment