New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 658073 link

Starred by 3 users

Issue metadata

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

Blocked on:
issue 569301



Sign in to add a comment

Incorrect and confusing usage of "callback interface" all over the idl

Project Member Reported by esprehn@chromium.org, Oct 21 2016

Issue description

ex. FrameRequestCallback used by requestAnimationFrame has:
https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/dom/FrameRequestCallback.idl?dr=Ss&q=FrameRequestCallback.idl&sq=package:chromium&l=33

lots of new APIs are using "callback interface" incorrectly too, even when the specs say they shouldn't, for example:

requestIdleCallback
ResizeObserver

and others.

Confusingly even though they use "callback interface" in the idl, they don't actually accept the handleEvent style objects and the code generator forces them to be functions, ex.
https://cs.chromium.org/chromium/src/out/Debug/gen/blink/bindings/core/v8/V8Window.cpp?sq=package:chromium&dr=Ss&rcl=1476994466&l=4878

this is because EventListener is special cased inside the idl compiler:
https://cs.chromium.org/chromium/src/third_party/WebKit/Source/bindings/scripts/v8_attributes.py?type=cs&q=lang:py+ensureEventListener&sq=package:chromium&l=454

We should stop special casing interface names inside the compiler and fix all the idl.
 

Comment 1 by foolip@chromium.org, Oct 21 2016

Blockedon: 569301
The confusing bit is also the topic of  issue 630986 .
Owner: bashi@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, May 29 2017

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

commit a143faa3e8c031ba154467045cf8924fd633a6e0
Author: Kenichi Ishibashi <bashi@chromium.org>
Date: Mon May 29 13:11:40 2017

bindings: Use callback function for ResizeObserverCallback

The spec[1] says ResizeObserverCallback should be a callback function,
not a callback interface. Follow the spec.

We can't remove existing ResizeOberverCallback class as some
classes in Blink use ResizeObserver internally. Rename the existing one
to DOMResizeOberverCallback to avoid naming conflict.

[1] https://wicg.github.io/ResizeObserver/#resize-observer-callback

BUG= 658073 

Change-Id: If3ce839aacabc125d7b018726c3783afaadd0134
Reviewed-on: https://chromium-review.googlesource.com/515183
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: 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@{#475341}
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/bindings/bindings.gni
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[delete] https://crrev.com/74ba772e23ab732e4d4f2c2c2bcd76fbff9c78d5/third_party/WebKit/Source/bindings/core/v8/V8ResizeObserverCallbackCustom.cpp
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/core/dom/ResizeObserver.cpp
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/core/dom/ResizeObserver.h
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/core/dom/ResizeObserver.idl
[delete] https://crrev.com/74ba772e23ab732e4d4f2c2c2bcd76fbff9c78d5/third_party/WebKit/Source/core/dom/ResizeObserverCallback.h
[delete] https://crrev.com/74ba772e23ab732e4d4f2c2c2bcd76fbff9c78d5/third_party/WebKit/Source/core/dom/ResizeObserverCallback.idl
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/core/html/track/TextTrackContainer.cpp
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.cpp
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/modules/media_controls/MediaControlsImpl.h
[modify] https://crrev.com/a143faa3e8c031ba154467045cf8924fd633a6e0/third_party/WebKit/Source/web/tests/ResizeObserverTest.cpp

Project Member

Comment 4 by bugdroid1@chromium.org, May 30 2017

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

commit 9a287c65cb8783023fb20a280d54e3a9ab6749aa
Author: Kent Tamura <tkent@chromium.org>
Date: Tue May 30 04:11:39 2017

Switch DatabaseCallback to a callback function.

We applied 'callback interface' to DatabaseCallback accidentally. Before fixing
'callback interface' code generation, DatabaseCallback should be converted to a
callback function because the fix will add object.handleEvent() support for
DatabaseCallback unexpectedly.

* v8_callback_function.py
 NativeValueTraits<IDLBoolean>::NativeValue is necessary to convert the boolean
 return value.

This CL has no behavior changes.

BUG= 658073 

Change-Id: I0a5e105df017da9f9f5500a9fa5628c5e60c43f6
Reviewed-on: https://chromium-review.googlesource.com/517804
Commit-Queue: Kent Tamura <tkent@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#475419}
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/bindings/scripts/v8_callback_function.py
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/BUILD.gn
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/DOMWindowWebDatabase.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/DOMWindowWebDatabase.h
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/Database.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/Database.h
[delete] https://crrev.com/97d66a8a433c161319f875ffd503f49b40cd70f6/third_party/WebKit/Source/modules/webdatabase/DatabaseCallback.h
[delete] https://crrev.com/97d66a8a433c161319f875ffd503f49b40cd70f6/third_party/WebKit/Source/modules/webdatabase/DatabaseCallback.idl
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/DatabaseManager.cpp
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/DatabaseManager.h
[modify] https://crrev.com/9a287c65cb8783023fb20a280d54e3a9ab6749aa/third_party/WebKit/Source/modules/webdatabase/WindowWebDatabase.idl

Project Member

Comment 5 by bugdroid1@chromium.org, Jun 19 2017

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

commit d718153981830addd3136882bd536a67c6fa738f
Author: Kenichi Ishibashi <bashi@chromium.org>
Date: Mon Jun 19 02:16:21 2017

FunctionStringCallback should be a callback function

Not a callback interface.

BUG= 658073 

Change-Id: I99bdd1ec0f5f25bb5718538656b1cc4e3dc96b34
Reviewed-on: https://chromium-review.googlesource.com/538457
Commit-Queue: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480332}
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/bindings/scripts/idl_reader.py
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/core/clipboard/DataTransferItem.cpp
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/core/clipboard/DataTransferItem.h
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/core/dom/BUILD.gn
[delete] https://crrev.com/94f22629bdee3f65163cee9ba89d5d72cdfbe0fb/third_party/WebKit/Source/core/dom/FunctionStringCallback.h
[modify] https://crrev.com/d718153981830addd3136882bd536a67c6fa738f/third_party/WebKit/Source/core/dom/FunctionStringCallback.idl

Cc: stakayama@google.com
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 8 2017

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

commit d4920cc8714d355e6a960984a1ebb3d4d0ee2225
Author: Sayaka Takayama <stakayama@google.com>
Date: Fri Sep 08 11:47:43 2017

v8binding: changed IdleRequestCallback from callback interface to callback function

IdleRequestCallback is defined as callback function by W3C standards.
So I changed IdleRequestCallback from callback interface to callback function.
Also, I declared and defined references for IdleRequestCallback as TraceWrapper.

Bug:  569301 , 658073 
Change-Id: I01040dd0147cf10f773dc1f83a19210a70e821ad
Reviewed-on: https://chromium-review.googlesource.com/652048
Commit-Queue: Sayaka Takayama <stakayama@google.com>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500569}
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/Document.h
[delete] https://crrev.com/7d2935ef993ff01e948b885de4ec1a1f476cb292/third_party/WebKit/Source/core/dom/IdleRequestCallback.h
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/IdleRequestCallback.idl
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/ScriptedIdleTaskController.cpp
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/ScriptedIdleTaskController.h
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/dom/ScriptedIdleTaskControllerTest.cpp
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/editing/spellcheck/IdleSpellCheckCallback.cpp
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/editing/spellcheck/IdleSpellCheckCallback.h
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/d4920cc8714d355e6a960984a1ebb3d4d0ee2225/third_party/WebKit/Source/core/frame/LocalDOMWindow.h

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 20 2017

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

commit 06a6739f10dd81842f4a54509f34519a4f769fa0
Author: Sayaka Takayama <stakayama@google.com>
Date: Wed Sep 20 04:25:13 2017

v8binding: changed FrameRequestCallback from callback interface to callback function

FrameRequestCallback is defined as callback function by W3C standards.
So I changed FrameRequestCallback from callback interface to callback function.
Also, I declared and defined references for FrameRequestCallback as TraceWrapper.

Bug:  569301 , 658073 
Change-Id: I430ab8c44b546cfc71067b0fb55c06524bdc47ed
Reviewed-on: https://chromium-review.googlesource.com/664459
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Commit-Queue: Sayaka Takayama <stakayama@google.com>
Cr-Commit-Position: refs/heads/master@{#503048}
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/core_idl_files.gni
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/Document.h
[delete] https://crrev.com/7b648b4a0067298729dfe1d62ced80e1586c5499/third_party/WebKit/Source/core/dom/FrameRequestCallback.h
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/FrameRequestCallback.idl
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/FrameRequestCallbackCollection.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/FrameRequestCallbackCollection.h
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/ScriptedAnimationController.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/ScriptedAnimationController.h
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/dom/ScriptedAnimationControllerTest.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/frame/DocumentLoadingRenderingTest.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/frame/LocalDOMWindow.h
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/core/html/HTMLMarqueeElement.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerGlobalScope.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/modules/compositorworker/CompositorWorkerGlobalScope.h
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/modules/vr/VRDisplay.cpp
[modify] https://crrev.com/06a6739f10dd81842f4a54509f34519a4f769fa0/third_party/WebKit/Source/modules/vr/VRDisplay.h

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 5 2017

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

commit 0850c61545744b9555c0ab36077df8cc50e1a079
Author: Sayaka Takayama <stakayama@google.com>
Date: Thu Oct 05 10:14:47 2017

v8binding: added CallbackFunctionBase: base class for callback functions

Callback function classes generated by callback_function.h.tmpl
(e.g. V8FrameRequestCallback) have some common objects and
each of classes doesn't have to have them.
CallbackFunctionBase is a base class for callback function classes and
has objects which used to be common for them.

Bug:  658073 
Change-Id: I7a71cf9813b53edbd7b7141ca647508d88c85510
Reviewed-on: https://chromium-review.googlesource.com/697028
Commit-Queue: Sayaka Takayama <stakayama@google.com>
Reviewed-by: 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@{#506692}
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/scripts/v8_callback_function.py
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.cc
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
[modify] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/platform/BUILD.gn
[add] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp
[add] https://crrev.com/0850c61545744b9555c0ab36077df8cc50e1a079/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 10 by bugdroid1@chromium.org, Oct 5 2017

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

commit cbd4a6acefbf1972006067e0b07daf14961e25d4
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Thu Oct 05 18:29:33 2017

wrapper-tracing: Make Supplementable/Supplement support wrapper-tracing.

Makes Supplementable/Supplement support TraceWrapperBase/
TraceWrapperMember appropriately.

Supplementable<T> now holds HeapHashMap of TraceWrapperMember instead
of one of Member, so that (subclasses of) Supplement<T> will be
wrapper-traced.

Bug:  569301 , 658073 
Change-Id: I229eaca761d5d012b58b0aa745fb3e10c45224f6
Reviewed-on: https://chromium-review.googlesource.com/687375
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506797}
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/core/css/FontFaceSetDocument.cpp
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/core/css/FontFaceSetDocument.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/core/imagebitmap/ImageBitmapFactories.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/core/workers/WorkerGlobalScope.cpp
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/core/workers/WorkerGlobalScope.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/modules/filesystem/LocalFileSystem.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/modules/indexeddb/IndexedDBClient.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerContainerClient.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/platform/Supplementable.h
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.cpp
[modify] https://crrev.com/cbd4a6acefbf1972006067e0b07daf14961e25d4/third_party/WebKit/Source/platform/bindings/ScriptWrappableVisitor.h

Project Member

Comment 11 by bugdroid1@chromium.org, Oct 6 2017

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

commit 6d3c2880d2eb139c266d58893ac864ca420f1511
Author: Sayaka Takayama <stakayama@google.com>
Date: Fri Oct 06 05:29:01 2017

v8binding: Made GetIsolate() in callback functions

When we need to get |Isolate| from callback function classes,
there is no means.
|GetIsolate| is a getter which gets |Isolate|
from private |script_state_|.

Bug:  569301 , 658073 
Change-Id: I2fcac997fa995bc020b412977b211e9fa1b5bb40
Reviewed-on: https://chromium-review.googlesource.com/702079
Commit-Queue: Sayaka Takayama <stakayama@google.com>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506982}
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_any_callback_function_optional_any_arg.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_long_callback_function.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_string_sequence_callback_function_long_sequence_arg.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_dictionary_arg.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_enum_arg.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_interface_arg.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_test_interface_sequence_arg.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/core/v8_void_callback_function_typedef.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/bindings/tests/results/modules/v8_void_callback_function_modules.h
[modify] https://crrev.com/6d3c2880d2eb139c266d58893ac864ca420f1511/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 12 by bugdroid1@chromium.org, Oct 6 2017

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

commit 0887baae4b60e8cb27dc1cdf1774abea0d2cde61
Author: Sayaka Takayama <stakayama@google.com>
Date: Fri Oct 06 11:41:22 2017

V8binding: changed PositionCallback from callback interface to callback function

PositionCallback is defined as callback function by W3C standards.
So I changed PositionCallback from callback interface to callback function.
Also, I declared and defined references for PositionCallback as TraceWrapper.

Bug:  569301 , 658073 
Change-Id: If2575ec348850881beccb208d2d233e2561525f1
Reviewed-on: https://chromium-review.googlesource.com/677999
Commit-Queue: Sayaka Takayama <stakayama@google.com>
Reviewed-by: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kenichi Ishibashi <bashi@chromium.org>
Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507031}
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/core/frame/LocalDOMWindow.h
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/core/frame/Navigator.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/core/frame/Navigator.h
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/BUILD.gn
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/GeoNotifier.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/GeoNotifier.h
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/Geolocation.h
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/Geolocation.idl
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/GeolocationWatchers.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/GeolocationWatchers.h
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/NavigatorGeolocation.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/geolocation/NavigatorGeolocation.h
[delete] https://crrev.com/077374eafc3252db5df33395650a01758cf4c16b/third_party/WebKit/Source/modules/geolocation/PositionCallback.idl
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp
[modify] https://crrev.com/0887baae4b60e8cb27dc1cdf1774abea0d2cde61/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 13 by bugdroid1@chromium.org, Oct 25 2017

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

commit a198fc24fe25a6f04bbe2264b28571f580bfe579
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Wed Oct 25 13:05:15 2017

v8binding: Makes PositionErrorCallback a callback function.

As https://www.w3.org/TR/geolocation-API/#error-callback says,
PositionErrorCallback should be a callback function instead of
a callback interface.

This patch simply follows Sayaka's work at
https://crrev.com/c/677999
and most of part have already been done in Sayaka's patch.

This patch supports optional arguments of type callback
function as it's needed for
  interface Geolocation {
    void getCurrentPosition(
        PositionCallback successCallback,
        optional PositionErrorCallback errorCallback,
        optional PositionOptions options);
  }

Bug:  569301 ,  658073 
Change-Id: If676bfcf9a5b1eb3d5810b28bc32f348e9056c46
Reviewed-on: https://chromium-review.googlesource.com/738009
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511431}
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/templates/methods.cpp.tmpl
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/geolocation/BUILD.gn
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/geolocation/GeoNotifier.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/geolocation/GeoNotifier.h
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/geolocation/Geolocation.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/geolocation/Geolocation.h
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/geolocation/Geolocation.idl
[delete] https://crrev.com/b025f38e480ca0964457142ac7f805c70c0a084d/third_party/WebKit/Source/modules/geolocation/PositionCallback.h
[delete] https://crrev.com/b025f38e480ca0964457142ac7f805c70c0a084d/third_party/WebKit/Source/modules/geolocation/PositionErrorCallback.h
[delete] https://crrev.com/b025f38e480ca0964457142ac7f805c70c0a084d/third_party/WebKit/Source/modules/geolocation/PositionErrorCallback.idl
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.cpp
[modify] https://crrev.com/a198fc24fe25a6f04bbe2264b28571f580bfe579/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h

Project Member

Comment 14 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 15 by bugdroid1@chromium.org, Dec 11 2017

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

commit 61453dff32d108bb227fe1f9ee024b70fae612a4
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Mon Dec 11 08:09:17 2017

v8binding: Makes NavigatorUserMedia{Success,Error}Callback callback functions.

Converts NavigatorUserMediaSuccessCallback and
NavigatorUserMediaErrorCallback into callback functions as
the spec specifies.

Bug:  569301 ,  658073 
Change-Id: I0b866348f53981d202055fdb141ade00842b051a
Reviewed-on: https://chromium-review.googlesource.com/789212
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523056}
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/bindings/scripts/code_generator_v8.py
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/BUILD.gn
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/MediaDevices.cpp
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/NavigatorMediaStream.cpp
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/NavigatorMediaStream.h
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/NavigatorMediaStream.idl
[delete] https://crrev.com/9189bb2d21d2c502da543fc5bdf77fb0abb42624/third_party/WebKit/Source/modules/mediastream/NavigatorUserMediaErrorCallback.h
[delete] https://crrev.com/9189bb2d21d2c502da543fc5bdf77fb0abb42624/third_party/WebKit/Source/modules/mediastream/NavigatorUserMediaErrorCallback.idl
[delete] https://crrev.com/9189bb2d21d2c502da543fc5bdf77fb0abb42624/third_party/WebKit/Source/modules/mediastream/NavigatorUserMediaSuccessCallback.h
[delete] https://crrev.com/9189bb2d21d2c502da543fc5bdf77fb0abb42624/third_party/WebKit/Source/modules/mediastream/NavigatorUserMediaSuccessCallback.idl
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/UserMediaRequest.cpp
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/mediastream/UserMediaRequest.h
[modify] https://crrev.com/61453dff32d108bb227fe1f9ee024b70fae612a4/third_party/WebKit/Source/modules/modules_idl_files.gni

Project Member

Comment 16 by bugdroid1@chromium.org, Dec 11 2017

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

commit 2f3ab83a7a2363e70b2509abd2150268adc9fda4
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Mon Dec 11 14:00:40 2017

v8binding: Converts NFC's MessageCallback to callback function.

Converts NFC's MessageCallback to callback function type due to
NFC spec.

As NFC::OnWatch needs special argument construction, i.e.
needs to create a JSON object, which is out of scope of Web IDL
type conversions, NFC::OnWatch needs a ScriptState of callback
function's argument's context.  Thus, this patch makes
CallbackFunctionBase::CallbackRelevantScriptState() public.
CallbackInterfaceBase::CallbackRelevantScriptState() is made
public, too, just in order to be symmetric.

Bug:  569301 ,  658073 
Change-Id: Ieebbf3c8d317a70b7d5045494fed9360fe41070c
Reviewed-on: https://chromium-review.googlesource.com/818867
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523089}
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/nfc/BUILD.gn
[delete] https://crrev.com/96e0b6dfa35b843592a40829c5b0178f97cc1bce/third_party/WebKit/Source/modules/nfc/MessageCallback.h
[delete] https://crrev.com/96e0b6dfa35b843592a40829c5b0178f97cc1bce/third_party/WebKit/Source/modules/nfc/MessageCallback.idl
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/nfc/NFC.cpp
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/nfc/NFC.h
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/nfc/NFC.idl
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/nfc/NavigatorNFC.cpp
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/modules/nfc/NavigatorNFC.h
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/platform/bindings/CallbackFunctionBase.h
[modify] https://crrev.com/2f3ab83a7a2363e70b2509abd2150268adc9fda4/third_party/WebKit/Source/platform/bindings/CallbackInterfaceBase.h

Project Member

Comment 17 by bugdroid1@chromium.org, Dec 12 2017

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

commit 1afe49be06a30ad81f5832cdd4d28b141ea34c41
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Tue Dec 12 11:46:54 2017

v8binding: Converts NotificationPermissionCallback to callback function.

Converts NotificationPermissionCallback from callback interface
to callback function according to Notifications API spec.
https://notifications.spec.whatwg.org/#api

Bug:  569301 ,  658073 
Change-Id: I113b20009304009a2fe00eb7c4fd9f4a54b4c67f
Reviewed-on: https://chromium-review.googlesource.com/821152
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@{#523407}
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/notifications/BUILD.gn
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/notifications/Notification.cpp
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/notifications/Notification.h
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/notifications/Notification.idl
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/notifications/NotificationManager.cpp
[modify] https://crrev.com/1afe49be06a30ad81f5832cdd4d28b141ea34c41/third_party/WebKit/Source/modules/notifications/NotificationManager.h
[delete] https://crrev.com/a1429cbb8479c5255e5521fa9ada419d27eec9d1/third_party/WebKit/Source/modules/notifications/NotificationPermissionCallback.h
[delete] https://crrev.com/a1429cbb8479c5255e5521fa9ada419d27eec9d1/third_party/WebKit/Source/modules/notifications/NotificationPermissionCallback.idl

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 25 2017

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

commit aae98a6e14795d2bbe7fe1ccca9c1f27c2ab9a6a
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Mon Dec 25 12:02:03 2017

v8binding: Supports VoidFunction in Web IDL.

This patch supports VoidFunction defined in Web IDL.
https://heycam.github.io/webidl/#VoidFunction

The callback function type VoidFunction will be used at
RTCPeerConnection at least, but not limited to it.

Bug:  569301 ,  658073 
Change-Id: Ie92f672e874b0064177609d889573e72610148e1
Reviewed-on: https://chromium-review.googlesource.com/844005
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526173}
[modify] https://crrev.com/aae98a6e14795d2bbe7fe1ccca9c1f27c2ab9a6a/third_party/WebKit/Source/bindings/core/v8/BUILD.gn
[modify] https://crrev.com/aae98a6e14795d2bbe7fe1ccca9c1f27c2ab9a6a/third_party/WebKit/Source/core/core_idl_files.gni
[add] https://crrev.com/aae98a6e14795d2bbe7fe1ccca9c1f27c2ab9a6a/third_party/WebKit/Source/core/dom/VoidFunction.idl

Project Member

Comment 19 by bugdroid1@chromium.org, Dec 26 2017

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

commit ec450143fd08c25783a4a126a98bf5a0283651bd
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Tue Dec 26 10:57:18 2017

v8binding: Removes unnecessary special handling of VoidFunction.

Removes unnecessary special handling of VoidFunction.  This is a
leftover of https://crrev.com/844005

Bug:  569301 ,  658073 
Change-Id: I0316196417844654c5d70ceb733563bed6b4206d
Reviewed-on: https://chromium-review.googlesource.com/844294
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@{#526190}
[modify] https://crrev.com/ec450143fd08c25783a4a126a98bf5a0283651bd/third_party/WebKit/Source/bindings/scripts/idl_types.py

Project Member

Comment 20 by bugdroid1@chromium.org, Dec 26 2017

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

commit 7c1bd347472dd9de01656e424d461f0d62983f2b
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Tue Dec 26 11:31:08 2017

v8binding: Converts RTCPeerConnection's callback into callback functions.

Converts RTCPeerConnection's callback from callback interfaces to
callback functions.  The target types are:

- RTCPeerConnectionErrorCallback
- RTCSessionDescriptionCallback
- RTCStatsCallback
- VoidFunction

It's all callbacks used in RTCPeerConnection interface.

Bug:  569301 ,  658073 
Change-Id: I328ab1f3d3048aaeffa5a4cf42e58568f24057cb
Reviewed-on: https://chromium-review.googlesource.com/844259
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526193}
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/BUILD.gn
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.h
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.idl
[delete] https://crrev.com/6af5102fe6983ec3d68000e9c96c2db34f9311f9/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnectionErrorCallback.h
[delete] https://crrev.com/6af5102fe6983ec3d68000e9c96c2db34f9311f9/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnectionErrorCallback.idl
[delete] https://crrev.com/6af5102fe6983ec3d68000e9c96c2db34f9311f9/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionCallback.h
[delete] https://crrev.com/6af5102fe6983ec3d68000e9c96c2db34f9311f9/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionCallback.idl
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionRequestImpl.cpp
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCSessionDescriptionRequestImpl.h
[delete] https://crrev.com/6af5102fe6983ec3d68000e9c96c2db34f9311f9/third_party/WebKit/Source/modules/peerconnection/RTCStatsCallback.h
[delete] https://crrev.com/6af5102fe6983ec3d68000e9c96c2db34f9311f9/third_party/WebKit/Source/modules/peerconnection/RTCStatsCallback.idl
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCStatsRequestImpl.cpp
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCStatsRequestImpl.h
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCVoidRequestImpl.cpp
[modify] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/peerconnection/RTCVoidRequestImpl.h

Project Member

Comment 21 by bugdroid1@chromium.org, Dec 26 2017

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

commit c766a1336181992e6152d2d65dde917b2eef3ba1
Author: Yuki Shiino <yukishiino@chromium.org>
Date: Tue Dec 26 13:09:08 2017

v8binding: Converts StorageQuota's callbacks into callback functions.

Converts StorageQuota and StorageInfo's callbacks from callback
interfaces to callback functions.

Bug:  569301 ,  658073 
Change-Id: I4c57ee5dc39dc1002f295c22b4ead8f01da0cd28
Reviewed-on: https://chromium-review.googlesource.com/844264
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526194}
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/bindings/modules/v8/generated.gni
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/modules_idl_files.gni
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/BUILD.gn
[add] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageCallbacks.idl
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageInfo.cpp
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageInfo.h
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageQuota.cpp
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageQuota.h
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageQuotaCallbacksImpl.cpp
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/DeprecatedStorageQuotaCallbacksImpl.h
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageErrorCallback.cpp
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageErrorCallback.h
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageErrorCallback.idl
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageQuotaCallback.h
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageQuotaCallback.idl
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/StorageQuotaClient.cpp
[modify] https://crrev.com/c766a1336181992e6152d2d65dde917b2eef3ba1/third_party/WebKit/Source/modules/quota/StorageQuotaClient.h
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageUsageCallback.h
[delete] https://crrev.com/7c1bd347472dd9de01656e424d461f0d62983f2b/third_party/WebKit/Source/modules/quota/StorageUsageCallback.idl

Status: Fixed (was: Assigned)
We still have some issues around callback interfaces, and I'm still working on  Issue 778580 , however, the confusion about "to be callback function or to be callback interface" is now resolved.  I've converted what should be callback functions into callback functions.

The current status is:

EventListener = specially handled (I'll work on this separately.)
NodeFilter = specially handled (I'll work on this separately.)

ScrollStateCallback = callback interface (No spec.  Maybe we'll convert this one, too, in future.)

Filesystem API callbacks = callback interface (spec'ed)
SQL (WebDatabase) API callbacks = callback interface (spec'ed)

The rest of callbacks = callback functions

So, I close this issue as Fixed.

Cc: yukishiino@chromium.org

Sign in to add a comment