New issue
Advanced search Search tips

Issue 779036 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 761755



Sign in to add a comment

Renovate callback function.

Project Member Reported by yukishiino@chromium.org, Oct 27 2017

Issue description

Let's resolve the following issues around callback function and make it conformant to the spec.  We need renovation of callback function.

a) The realm of a callback function must be the relevant realm of the callback function type value.  Blink is currently using the current realm.
b) There is no support for the incumbent realm.
c) Blink does not implement "invoke" process for callback function correctly.
d) APIs of callback function should match with the ones of callback interface to be consistent.

See also  Issue 778580 .

 
Blocking: 761755
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 27 2017

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

commit 2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Fri Oct 27 16:22:27 2017

v8binding: Generalize NativeValueTraits<V8CallbackFunction>.

Since all generated callback functions now inherit from
CallbackFunctionBase, we can generalize the specialization of
NativeValueTraits<T> where T is a subclass of CallbackFunctionBase,
and we're no longer in need of generated NativeValueTraits for
callback functions.

Bug:  779036 
Change-Id: I2bf5cd21e50d17a781ee2f9cf10becc3eeb97939
Reviewed-on: https://chromium-review.googlesource.com/740592
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#512197}
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/core/v8/NativeValueTraits.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImpl.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/core/v8/NativeValueTraitsImplTest.cpp
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc
[modify] https://crrev.com/2a6c5c9ee3dcb5ca1336a56e2739c24f9d25faa3/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 10 2017

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

commit fb2f0e511b626db083b8ff576fa720d809a0828a
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Fri Nov 10 15:21:37 2017

v8binding: Fixes optional vs nullable at callback interface/function.

For callback interface and callback function, this patch fixes
misunderstanding/misuse of info[index] (which supports out-of-range
indexing) and difference between 'optional' and 'nullable'.

You do not need to pass in any argument if it's 'optional', however,
it's mandatory to pass in an argument if it's just 'nullable'.
The number of arguments must be checked in case of 'nullable'.

Bug:  778580 ,  779036 
Change-Id: I9eeb24ac51ac5c03695cad75b36d3edf734452c2
Reviewed-on: https://chromium-review.googlesource.com/763167
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515556}
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
[modify] https://crrev.com/fb2f0e511b626db083b8ff576fa720d809a0828a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 15 2017

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

commit 32f3c10ad004a2f861f03ebd3fd983664346c646
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Wed Nov 15 11:29:13 2017

v8binding: Renovates "invoke" steps of callback function.

This patch implements "invoke" steps of Web IDL from scratch
discarding most part of the existing implementation.  The steps
include (roughly speaking) a step of push a backup incumbent
realm.

Web IDL 3.10. Invoking callback functions
https://heycam.github.io/webidl/#es-invoking-callback-functions

Bug:  779036 
Change-Id: I8138852f4d5b7512ae7f02f981777e8e98b49654
Reviewed-on: https://chromium-review.googlesource.com/763587
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516668}
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/LayoutTests/geolocation-api/callback-to-deleted-context-expected.txt
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/LayoutTests/geolocation-api/disconnected-frame-expected.txt
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/LayoutTests/geolocation-api/disconnected-frame-permission-denied-expected.txt
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/scripts/v8_callback_function.py
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/scripts/v8_types.py
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/core/dom/MutationObserver.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/core/timing/PerformanceBaseTest.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/core/timing/PerformanceObserverTest.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/modules/remoteplayback/RemotePlaybackTest.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp
[modify] https://crrev.com/32f3c10ad004a2f861f03ebd3fd983664346c646/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 5 by bugdroid1@chromium.org, Nov 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f576902c99845b21880a1681dd76acd61ddde9fa

commit f576902c99845b21880a1681dd76acd61ddde9fa
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Thu Nov 16 15:29:26 2017

Add support of Maybe<void> as a template specialization.

Blink wants to use Maybe<T> as a return type of (author) callback
functions, where T can be type void.  So, this patch adds support
of Maybe<void>.

Bug:  chromium:778580 ,  chromium:779036 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Id654bafc5ceac8ef6f755902418f250c353a8837
Reviewed-on: https://chromium-review.googlesource.com/771730
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49416}
[modify] https://crrev.com/f576902c99845b21880a1681dd76acd61ddde9fa/include/v8.h

Project Member

Comment 6 by bugdroid1@chromium.org, Nov 22 2017

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

commit 162b459debb5f100c038b2a3aee48ab95b709ea1
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Wed Nov 22 09:54:04 2017

v8binding: Makes callback functions return v8::Maybe.

Makes callback functions return v8::Maybe so that the
call sites handle an exception if any.

Also this patch renames |call| function to |Invoke|.

For convenience, if the return type of IDL callback
function is void, the bindings code generator defines
|InvokeAndReportException| that captures and swallows
an exception if any.

If the return type of IDL callback function is not
void, the call sites must check the return value.
|InvokeAndReportException| is not defined in non-void
case.

Bug:  779036 
Change-Id: I1057cb2fcd88208310f79e184aaf1b069a0f81f8
Reviewed-on: https://chromium-review.googlesource.com/768259
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518590}
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/core/v8/V8IntersectionObserverDelegate.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/scripts/v8_callback_function.py
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/clipboard/DataTransferItem.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/dom/FrameRequestCallbackCollection.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/dom/MutationObserver.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/dom/ScriptedIdleTaskController.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/frame/ReportingObserver.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/mojo/MojoWatcher.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/resize_observer/ResizeObserver.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/testing/CallbackFunctionTest.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/core/timing/PerformanceObserver.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/geolocation/GeoNotifier.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/indexeddb/IDBDatabase.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/mediasession/MediaSession.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/remoteplayback/AvailabilityCallbackWrapper.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/vr/latest/VRFrameRequestCallbackCollection.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/webdatabase/Database.cpp
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/modules/webdatabase/WindowWebDatabase.idl
[modify] https://crrev.com/162b459debb5f100c038b2a3aee48ab95b709ea1/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 7 by bugdroid1@chromium.org, Nov 28 2017

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

commit 453d1804f982769488ea60f209a5cffe70ed0c54
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Tue Nov 28 08:48:51 2017

v8binding: Converts BlobCallback from callback interface to callback function.

Conforming to HTML spec, converts BlobCallback from callback
interface to callback function.

Also supports the callback function version of
blink::Persistent<T> and WrapPersistent<T>.

Bug:  779036 ,  569301 ,  658073 
Change-Id: I4c9274ef0f6c12dba307b9a4aa8e877d5f55fa51
Reviewed-on: https://chromium-review.googlesource.com/785710
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519614}
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/fileapi/BUILD.gn
[delete] https://crrev.com/c33ae2c7a4963b687743bec920d79f9471402474/third_party/WebKit/Source/core/fileapi/BlobCallback.h
[delete] https://crrev.com/c33ae2c7a4963b687743bec920d79f9471402474/third_party/WebKit/Source/core/fileapi/BlobCallback.idl
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/html/HTMLCanvasElement.idl
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h
[modify] https://crrev.com/453d1804f982769488ea60f209a5cffe70ed0c54/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 30 2017

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

commit d4dd5c37ae17502de92e6ddd38dd97fd52c56fb0
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Thu Nov 30 13:41:22 2017

v8binding: Stops using the copyable ver of v8::Persistent.

I learnt that v8::Persistent provides two variations of copying.
One actually copies, and the other actually shares the underlying
slot.

This patch changes CallbackFunctionBase::Persistent from the
"share" version to the "copy" (= make another independent slot)
version.

Bug:  779036 
Change-Id: I1fae7a1547af2abefa932458f398d8e2b50ecaa3
Reviewed-on: https://chromium-review.googlesource.com/798820
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520528}
[modify] https://crrev.com/d4dd5c37ae17502de92e6ddd38dd97fd52c56fb0/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 1 2017

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

commit 9281d2ebede11964f748576fb035580418a3fbca
Author: Timothy Loh <timloh@chromium.org>
Date: Fri Dec 01 03:48:55 2017

Revert "v8binding: Stops using the copyable ver of v8::Persistent."

This reverts commit d4dd5c37ae17502de92e6ddd38dd97fd52c56fb0.

Reason for revert: Causes 40+ layout tests to leak, e.g. https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20Leak/12726

Original change's description:
> v8binding: Stops using the copyable ver of v8::Persistent.
> 
> I learnt that v8::Persistent provides two variations of copying.
> One actually copies, and the other actually shares the underlying
> slot.
> 
> This patch changes CallbackFunctionBase::Persistent from the
> "share" version to the "copy" (= make another independent slot)
> version.
> 
> Bug:  779036 
> Change-Id: I1fae7a1547af2abefa932458f398d8e2b50ecaa3
> Reviewed-on: https://chromium-review.googlesource.com/798820
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
> Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#520528}

TBR=peria@chromium.org,yukishiino@chromium.org,haraken@chromium.org

Change-Id: I15cccba7606269da57e4b3c48d8e9bfa3b1c103c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  779036 
Reviewed-on: https://chromium-review.googlesource.com/802715
Reviewed-by: Timothy Loh <timloh@chromium.org>
Commit-Queue: Timothy Loh <timloh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520844}
[modify] https://crrev.com/9281d2ebede11964f748576fb035580418a3fbca/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 1 2017

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

commit 6544de65b1dff7549a321275f1fbbba4ccda88d0
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Fri Dec 01 11:15:34 2017

v8binding: Stops using the copyable ver of v8::Persistent. (reland)

The first attempt: https://crrev.com/c/798820
Its revert: https://crrev.com/c/802715
The cause: Forgot to v8::Persistent::Reset in the dtor.

I learnt that v8::Persistent provides two variations of copying.
One actually copies, and the other actually shares the underlying
slot.

This patch changes CallbackFunctionBase::Persistent from the
"share" version to the "copy" (= make another independent slot)
version.

Bug:  779036 
Change-Id: Id088dfa5ac111dbcb314ee992c6ba626e3a6f8ce
Reviewed-on: https://chromium-review.googlesource.com/802609
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520912}
[modify] https://crrev.com/6544de65b1dff7549a321275f1fbbba4ccda88d0/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Status: Fixed (was: Started)
Project Member

Comment 12 by bugdroid1@chromium.org, Feb 22 2018

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

commit 37f11fd71e75bc3110215c11e03a00556be4845a
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Thu Feb 22 11:47:18 2018

v8binding: Implements v8::Persistent version of CallbackFunctionBase.

CallbackFunctionBase and its subclasses retain the underlying
v8::Function by using wrapper-tracing. However, wrapper-tracing is
not always the best way to make the v8::Function alive.

This patch implements V8PersistentCallbackFunction<T> that retains
the v8::Function with using v8::Persistent so that it doesn't
require wrapper-tracing.  As a natural consequence,
V8PersistentCallbackFunction<T> works very well with WrapPersistent
unlike CallbackFunctionBase doesn't.

Note that CallbackFunctionBase::Persistent was a persistent handle
in terms of both of Blink GC and V8 GC, which is totally different
from that V8PersistentCallbackFunction<T> is only a v8::Persistent
and not a blink::Persistent.  This difference should reduce the
chance of memory leak caused by Oilpan reference cycles.

I also have a plan to remove WrapPersistentCallbackFunction entirely
and WrapPersistent for CallbackFunctionBase and its subclasses in
order to prevent misuse of WrapPersistent.

Bug:  779036 ,  810701 
Change-Id: I1c9d98a072d724d2d80141b87e718f06f8aba4ad
Reviewed-on: https://chromium-review.googlesource.com/928783
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538404}
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/core/page/scrolling/ScrollStateCallback.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/core/page/scrolling/ScrollStateCallback.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/mediastream/UserMediaRequest.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionRequestImpl.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionRequestImpl.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/peerconnection/RTCStatsRequestImpl.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/peerconnection/RTCStatsRequestImpl.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/peerconnection/RTCVoidRequestImpl.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/peerconnection/RTCVoidRequestImpl.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/webaudio/AsyncAudioDecoder.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.h
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp
[modify] https://crrev.com/37f11fd71e75bc3110215c11e03a00556be4845a/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 13 by bugdroid1@chromium.org, Feb 28 2018

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

commit 6ee8574fc0c94947246251d50a53ec77c1195c87
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Wed Feb 28 08:36:34 2018

v8binding: Re-implements V8PersistentCallbackFunction.

Following https://crrev.com/c/928783 , refactors
V8PersistentCallbackFunction<T>.

Major improvements:

- V8PersistentCallbackFunction<T> is no longer a subclass of
  T.  There will be no unintentional conversion between
  wrapper-tracing version and v8::Persistent version.

- WrapPersistent(T*) = delete;
  where T is wrapper-tracing versions of callback functions.
  There will be no misuse of WrapPersistent for wrapper-
  tracing versions.

Bug:  779036 ,  810701 
Change-Id: I7b83caa2b064b70e338892c873b1eb258d2a9c99
Reviewed-on: https://chromium-review.googlesource.com/931561
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539758}
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/core/clipboard/DataTransferItem.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/core/clipboard/DataTransferItem.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/core/html/canvas/HTMLCanvasElement.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/core/mojo/MojoWatcher.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/core/page/scrolling/ScrollStateCallback.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/mediastream/UserMediaRequest.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/nfc/NFC.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/nfc/NFC.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/notifications/NotificationManager.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionRequestImpl.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/peerconnection/RTCStatsRequestImpl.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/peerconnection/RTCVoidRequestImpl.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/quota/DeprecatedStorageQuota.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/webdatabase/Database.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/modules/webdatabase/Database.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h
[modify] https://crrev.com/6ee8574fc0c94947246251d50a53ec77c1195c87/third_party/WebKit/Source/platform/heap/Persistent.h

Sign in to add a comment