Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(514)

Issue 962523005: Web MIDI: add open() and close() to MIDIPort (Closed)

Created:
5 years, 10 months ago by Takashi Toyoshima
Modified:
5 years, 9 months ago
CC:
blink-reviews
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Web MIDI: add open() and close() to MIDIPort The latest editor's draft introduces open() and close() interfaces to MIDIPort. This patch implements open() and close() interfaces, and realizes proper MIDIPortState transition on open() and close(). See, http://webaudio.github.io/web-midi-api/#idl-def-MIDIPort, and http://webaudio.github.io/web-midi-api/#idl-def-MIDIPortState. For now, implicit open that should happen on send() and handler set are not implemented yet. But, MIDIPort works even on "connected" state. So, this does not break compatibility. These things will be fixed at the next patch. BUG=462183 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=191259

Patch Set 1 #

Patch Set 2 : cleanup #

Total comments: 4

Patch Set 3 : do not use MIDIPortStateTransition class #

Total comments: 1

Patch Set 4 : cast and win build fix #

Total comments: 4

Patch Set 5 : promise is awesome #

Total comments: 2

Patch Set 6 : review #14 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+299 lines, -81 lines) Patch
A LayoutTests/webmidi/open_close.html View 1 2 3 4 5 1 chunk +84 lines, -0 lines 0 comments Download
A LayoutTests/webmidi/open_close-expected.txt View 1 2 3 4 1 chunk +54 lines, -0 lines 0 comments Download
M LayoutTests/webmidi/requestmidiaccess.html View 2 chunks +2 lines, -6 lines 0 comments Download
M LayoutTests/webmidi/requestmidiaccess-expected.txt View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/modules/webmidi/MIDIAccess.h View 1 2 chunks +10 lines, -10 lines 0 comments Download
M Source/modules/webmidi/MIDIAccess.cpp View 1 2 3 4 5 chunks +14 lines, -12 lines 0 comments Download
M Source/modules/webmidi/MIDIAccessInitializer.h View 1 2 chunks +10 lines, -10 lines 0 comments Download
M Source/modules/webmidi/MIDIAccessInitializer.cpp View 1 3 chunks +8 lines, -6 lines 0 comments Download
M Source/modules/webmidi/MIDIAccessor.cpp View 1 chunk +4 lines, -8 lines 0 comments Download
M Source/modules/webmidi/MIDIAccessorClient.h View 1 1 chunk +5 lines, -4 lines 0 comments Download
M Source/modules/webmidi/MIDIInput.h View 3 chunks +3 lines, -2 lines 0 comments Download
M Source/modules/webmidi/MIDIInput.cpp View 1 chunk +6 lines, -4 lines 0 comments Download
M Source/modules/webmidi/MIDIOutput.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M Source/modules/webmidi/MIDIOutput.cpp View 1 2 chunks +6 lines, -4 lines 0 comments Download
M Source/modules/webmidi/MIDIPort.h View 1 2 3 chunks +12 lines, -4 lines 0 comments Download
M Source/modules/webmidi/MIDIPort.cpp View 1 2 3 3 chunks +73 lines, -6 lines 0 comments Download
M Source/modules/webmidi/MIDIPort.idl View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (2 generated)
Takashi Toyoshima
ptal
5 years, 10 months ago (2015-02-26 12:13:36 UTC) #2
yhirano
Shouldn't we introduce "closed" state?
5 years, 10 months ago (2015-02-26 13:00:49 UTC) #3
Takashi Toyoshima
There is a discussion on MIDIPortState. There, we agreed that "connected" means "closed" state. https://github.com/WebAudio/web-midi-api/issues/105 ...
5 years, 10 months ago (2015-02-26 13:34:35 UTC) #4
yhirano
On 2015/02/26 13:34:35, Takashi Toyoshima (chromium) wrote: > There is a discussion on MIDIPortState. > ...
5 years, 10 months ago (2015-02-26 13:38:32 UTC) #5
Takashi Toyoshima
Oh, yes. That should be a typo. We didn't define "closed" state in MIDIPortState, http://webaudio.github.io/web-midi-api/#idl-def-MIDIPortState.disconnected ...
5 years, 10 months ago (2015-02-26 14:09:50 UTC) #6
Takashi Toyoshima
sent: https://github.com/WebAudio/web-midi-api/pull/121
5 years, 10 months ago (2015-02-26 14:15:00 UTC) #7
yhirano
https://codereview.chromium.org/962523005/diff/20001/Source/modules/webmidi/MIDIPort.cpp File Source/modules/webmidi/MIDIPort.cpp (right): https://codereview.chromium.org/962523005/diff/20001/Source/modules/webmidi/MIDIPort.cpp#newcode45 Source/modules/webmidi/MIDIPort.cpp:45: class MIDIPortStateTransition : public ScriptPromiseResolver { I don't know ...
5 years, 9 months ago (2015-02-27 04:04:41 UTC) #8
Takashi Toyoshima
https://codereview.chromium.org/962523005/diff/20001/Source/modules/webmidi/MIDIPort.cpp File Source/modules/webmidi/MIDIPort.cpp (right): https://codereview.chromium.org/962523005/diff/20001/Source/modules/webmidi/MIDIPort.cpp#newcode45 Source/modules/webmidi/MIDIPort.cpp:45: class MIDIPortStateTransition : public ScriptPromiseResolver { On 2015/02/27 04:04:40, ...
5 years, 9 months ago (2015-02-27 13:15:00 UTC) #9
Takashi Toyoshima
https://codereview.chromium.org/962523005/diff/40001/Source/modules/webmidi/MIDIPort.cpp File Source/modules/webmidi/MIDIPort.cpp (right): https://codereview.chromium.org/962523005/diff/40001/Source/modules/webmidi/MIDIPort.cpp#newcode145 Source/modules/webmidi/MIDIPort.cpp:145: RefPtrWillBeRawPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scriptState); Oh, I just notice that ...
5 years, 9 months ago (2015-02-27 13:20:12 UTC) #10
Takashi Toyoshima
ptal Patch Set 4
5 years, 9 months ago (2015-02-27 14:09:03 UTC) #11
yhirano
https://codereview.chromium.org/962523005/diff/60001/LayoutTests/webmidi/open_close.html File LayoutTests/webmidi/open_close.html (right): https://codereview.chromium.org/962523005/diff/60001/LayoutTests/webmidi/open_close.html#newcode75 LayoutTests/webmidi/open_close.html:75: checkCloseOnConnected(port); How about listing tests here? return Promise.resolve() .then(checkInitialStatus.bind(undefined, ...
5 years, 9 months ago (2015-03-02 05:34:32 UTC) #12
Takashi Toyoshima
https://codereview.chromium.org/962523005/diff/60001/LayoutTests/webmidi/open_close.html File LayoutTests/webmidi/open_close.html (right): https://codereview.chromium.org/962523005/diff/60001/LayoutTests/webmidi/open_close.html#newcode75 LayoutTests/webmidi/open_close.html:75: checkCloseOnConnected(port); that's nice idea, and I went more aggressively ...
5 years, 9 months ago (2015-03-02 15:44:44 UTC) #13
yhirano
https://codereview.chromium.org/962523005/diff/80001/LayoutTests/webmidi/open_close.html File LayoutTests/webmidi/open_close.html (right): https://codereview.chromium.org/962523005/diff/80001/LayoutTests/webmidi/open_close.html#newcode16 LayoutTests/webmidi/open_close.html:16: port.onstatechange = function(e) { Throwing from this function has ...
5 years, 9 months ago (2015-03-03 11:18:31 UTC) #14
Takashi Toyoshima
https://codereview.chromium.org/962523005/diff/80001/LayoutTests/webmidi/open_close.html File LayoutTests/webmidi/open_close.html (right): https://codereview.chromium.org/962523005/diff/80001/LayoutTests/webmidi/open_close.html#newcode16 LayoutTests/webmidi/open_close.html:16: port.onstatechange = function(e) { Oh, nice catch. But, I ...
5 years, 9 months ago (2015-03-03 13:18:39 UTC) #15
yhirano
lgtm
5 years, 9 months ago (2015-03-04 04:12:47 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/962523005/100001
5 years, 9 months ago (2015-03-04 04:49:00 UTC) #18
commit-bot: I haz the power
5 years, 9 months ago (2015-03-04 07:34:04 UTC) #19
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=191259

Powered by Google App Engine
This is Rietveld 408576698