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

Issue 2116763002: Reland: Web MIDI: use mojom::blink::PermissionService directly to ask permission (Closed)

Created:
4 years, 5 months ago by Takashi Toyoshima
Modified:
4 years, 4 months ago
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, creis+watch_chromium.org, toyoshim+midi_chromium.org, posciak+watch_chromium.org, nasko+codewatch_chromium.org, jam, haraken, feature-media-reviews_chromium.org, darin-cc_chromium.org, blink-reviews, kinuko+watch, Lalit Maganti
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland: Web MIDI: use mojom::blink::PermissionService directly to ask permission Changes from the first attempt: - AwPermissionManager::RequestPermissions() was implemented for Android WebView in a separate CL. - Workarounds to avoid touching NOTIMPLEMENTED() was removed Original description follows: SystemWebViewShellLayoutTest failed because of the same reason with other modified tests in this CL. Tests are modified to pass, but now it does not cover {sysex:true} case that needs AwPermissionManager::RequestPermissions implementation. It will be implemented in the next CL soon. Original description follows: Web MIDI asked permissions via public/web interfaces. But now that PermissionService is available in Blink, use the service to ask permissions. This migration makes it possible to remove all MIDI related public/web interfaces. BUG=582328 Committed: https://crrev.com/15c1a1ffd1f4c620b89191209dc76ef5557dd8fc Cr-Commit-Position: refs/heads/master@{#404136} TEST=${OUT}/bin/run_system_webview_shell_layout_test_apk # with a built SystemWebViewGoogle.apk TEST=git cl try Committed: https://crrev.com/8c21bb977b580edb009eb2fe0d3f511fd5ca42f4 Cr-Commit-Position: refs/heads/master@{#408621}

Patch Set 1 #

Patch Set 2 : delete more files #

Patch Set 3 : remove unused method #

Total comments: 6

Patch Set 4 : review #6 and android test fix #

Patch Set 5 : Fix build issue on NDK g++ #

Patch Set 6 : workaround #

Total comments: 4

Patch Set 7 : review #13 #

Total comments: 1

Patch Set 8 : system_webview_shell_layout_test workaround #

Total comments: 2

Patch Set 9 : rebase #

Patch Set 10 : for second attempt #

Unified diffs Side-by-side diffs Delta from patch set Stats (+74 lines, -791 lines) Patch
M android_webview/tools/system_webview_shell/layout_tests/src/org/chromium/webview_shell/test/WebViewLayoutTest.java View 1 2 3 4 5 6 7 8 9 1 chunk +8 lines, -2 lines 0 comments Download
M android_webview/tools/system_webview_shell/test/data/blink-apis/webmidi/requestmidiaccess.html View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
M android_webview/tools/system_webview_shell/test/data/blink-apis/webmidi/requestmidiaccess-expected.txt View 1 2 3 4 5 6 7 1 chunk +3 lines, -5 lines 0 comments Download
D android_webview/tools/system_webview_shell/test/data/blink-apis/webmidi/requestmidiaccess-permission-denied-expected.html View 1 2 3 4 5 6 7 1 chunk +0 lines, -5 lines 0 comments Download
A + android_webview/tools/system_webview_shell/test/data/blink-apis/webmidi/requestmidiaccess-permission-denied-expected.txt View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
A + android_webview/tools/system_webview_shell/test/data/blink-apis/webmidi/requestmidiaccess-with-sysex.html View 1 2 3 4 5 6 7 8 9 0 chunks +-1 lines, --1 lines 0 comments Download
A + android_webview/tools/system_webview_shell/test/data/blink-apis/webmidi/requestmidiaccess-with-sysex-expected.txt View 1 2 3 4 5 6 7 8 9 0 chunks +-1 lines, --1 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -2 lines 0 comments Download
D content/renderer/media/midi_dispatcher.h View 1 chunk +0 lines, -56 lines 0 comments Download
D content/renderer/media/midi_dispatcher.cc View 1 chunk +0 lines, -73 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -4 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 3 chunks +0 lines, -8 lines 0 comments Download
M third_party/WebKit/LayoutTests/webmidi/loopback-receive.html View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webmidi/permission.html View 1 chunk +3 lines, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/webmidi/send-messages.html View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/modules.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/modules/webmidi/MIDIAccess.cpp View 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.h View 1 2 3 4 5 3 chunks +8 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +45 lines, -40 lines 0 comments Download
D third_party/WebKit/Source/modules/webmidi/MIDIClient.h View 1 chunk +0 lines, -56 lines 0 comments Download
D third_party/WebKit/Source/modules/webmidi/MIDIController.h View 1 chunk +0 lines, -67 lines 0 comments Download
D third_party/WebKit/Source/modules/webmidi/MIDIController.cpp View 1 chunk +0 lines, -74 lines 0 comments Download
D third_party/WebKit/Source/web/MIDIClientProxy.h View 1 chunk +0 lines, -64 lines 0 comments Download
D third_party/WebKit/Source/web/MIDIClientProxy.cpp View 1 chunk +0 lines, -62 lines 0 comments Download
M third_party/WebKit/Source/web/WebLocalFrameImpl.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -2 lines 0 comments Download
D third_party/WebKit/Source/web/WebMIDIPermissionRequest.cpp View 1 chunk +0 lines, -69 lines 0 comments Download
M third_party/WebKit/Source/web/web.gypi View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -3 lines 0 comments Download
M third_party/WebKit/public/blink_headers.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M third_party/WebKit/public/web/WebFrameClient.h View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -5 lines 0 comments Download
D third_party/WebKit/public/web/modules/webmidi/OWNERS View 1 1 chunk +0 lines, -3 lines 0 comments Download
D third_party/WebKit/public/web/modules/webmidi/WebMIDIClient.h View 1 1 chunk +0 lines, -58 lines 0 comments Download
D third_party/WebKit/public/web/modules/webmidi/WebMIDIOptions.h View 1 1 chunk +0 lines, -24 lines 0 comments Download
D third_party/WebKit/public/web/modules/webmidi/WebMIDIPermissionRequest.h View 1 1 chunk +0 lines, -89 lines 0 comments Download

Messages

Total messages: 63 (24 generated)
Takashi Toyoshima
Hi Shiino-san, can you take a look, or help me to find a reviewer for ...
4 years, 5 months ago (2016-07-01 12:44:51 UTC) #3
Yuki
+R=sammc@, Sam, could you review this CL as a Mojo expert?
4 years, 5 months ago (2016-07-04 06:42:36 UTC) #5
Sam McNally
https://codereview.chromium.org/2116763002/diff/40001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp File third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp (right): https://codereview.chromium.org/2116763002/diff/40001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp#newcode54 third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp:54: permissions.PassStorage(), On 2016/07/01 12:44:51, toyoshim wrote: > I don't ...
4 years, 5 months ago (2016-07-05 01:17:55 UTC) #6
Takashi Toyoshima
https://codereview.chromium.org/2116763002/diff/40001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp File third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp (right): https://codereview.chromium.org/2116763002/diff/40001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp#newcode54 third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp:54: permissions.PassStorage(), On 2016/07/05 01:17:54, Sam McNally wrote: > On ...
4 years, 5 months ago (2016-07-05 08:03:19 UTC) #7
Takashi Toyoshima
cc: Lalit who wrote android_webview/javatests/src/org/chromium/android_webview/test/AwPermissionManagerTest.java org.chromium.android_webview.test.AwPermissionManagerTest#testRequestMultiple is still failing. Lalit, can you help me to ...
4 years, 5 months ago (2016-07-05 09:53:44 UTC) #8
Takashi Toyoshima
I learned how to run AndroidWebViewTest on the real device, and find what happens in ...
4 years, 5 months ago (2016-07-06 14:10:29 UTC) #9
Takashi Toyoshima
In this patch, I just added a workaround for the AndroidWebView test because it would ...
4 years, 5 months ago (2016-07-06 14:50:33 UTC) #10
Takashi Toyoshima
FYI, WebView side change is here, https://codereview.chromium.org/2125893002/. I will ask code review once this CL ...
4 years, 5 months ago (2016-07-06 17:12:26 UTC) #11
Takashi Toyoshima
Hum... Android tests fail randomly, but it looks not related to this CL. Sam, can ...
4 years, 5 months ago (2016-07-07 03:49:00 UTC) #12
Sam McNally
LGTM https://codereview.chromium.org/2116763002/diff/100001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp File third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp (right): https://codereview.chromium.org/2116763002/diff/100001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp#newcode25 third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp:25: using mojom::blink::PermissionName; using mojom::blink::PermissionStatus; That should allow you ...
4 years, 5 months ago (2016-07-07 04:47:10 UTC) #13
Takashi Toyoshima
https://codereview.chromium.org/2116763002/diff/100001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp File third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp (right): https://codereview.chromium.org/2116763002/diff/100001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp#newcode25 third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp:25: On 2016/07/07 04:47:09, Sam McNally wrote: > using mojom::blink::PermissionName; ...
4 years, 5 months ago (2016-07-07 05:28:26 UTC) #14
Takashi Toyoshima
Add some OWNERS. kinuko for content tkent for WebKit API torne for Android WebView Please ...
4 years, 5 months ago (2016-07-07 05:31:48 UTC) #18
tkent
third_party/WebKit/public and third_party/WebKit/Source/web lgtm
4 years, 5 months ago (2016-07-07 05:34:53 UTC) #19
kinuko
content/ lgtm
4 years, 5 months ago (2016-07-07 06:07:29 UTC) #20
haraken
The mojo interaction LGTM. This looks like a great simplification!
4 years, 5 months ago (2016-07-07 08:21:58 UTC) #22
Takashi Toyoshima
This is a nice takeaway from the last BlinkOn :) +tobiasjs for WebView because torne ...
4 years, 5 months ago (2016-07-07 09:55:30 UTC) #24
Tobias Sargeant
On 2016/07/07 09:55:30, toyoshim wrote: > This is a nice takeaway from the last BlinkOn ...
4 years, 5 months ago (2016-07-07 10:50:29 UTC) #25
Takashi Toyoshima
https://codereview.chromium.org/2116763002/diff/120001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp File third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp (right): https://codereview.chromium.org/2116763002/diff/120001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp#newcode60 third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp:60: // TODO(toyoshim): Merge this MIDI only code path to ...
4 years, 5 months ago (2016-07-07 11:03:11 UTC) #26
Tobias Sargeant
On 2016/07/07 11:03:11, toyoshim wrote: > https://codereview.chromium.org/2116763002/diff/120001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp > File third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp > (right): > > https://codereview.chromium.org/2116763002/diff/120001/third_party/WebKit/Source/modules/webmidi/MIDIAccessInitializer.cpp#newcode60 ...
4 years, 5 months ago (2016-07-07 11:06:52 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2116763002/120001
4 years, 5 months ago (2016-07-07 11:08:50 UTC) #30
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 5 months ago (2016-07-07 12:33:02 UTC) #32
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-07 12:33:10 UTC) #33
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/15c1a1ffd1f4c620b89191209dc76ef5557dd8fc Cr-Commit-Position: refs/heads/master@{#404136}
4 years, 5 months ago (2016-07-07 12:35:41 UTC) #35
hush (inactive)
A revert of this CL (patchset #7 id:120001) has been created in https://codereview.chromium.org/2129913005/ by hush@chromium.org. ...
4 years, 5 months ago (2016-07-07 18:04:13 UTC) #36
Takashi Toyoshima
reopen to fix broken tests and to submit again.
4 years, 5 months ago (2016-07-08 04:10:45 UTC) #38
Takashi Toyoshima
Tobias, I updated WebView code with workaround. Right fix to implement RequestPermissions is ready for ...
4 years, 5 months ago (2016-07-08 07:26:53 UTC) #40
Takashi Toyoshima
ping: torne and tobias
4 years, 5 months ago (2016-07-11 05:34:36 UTC) #41
Tobias Sargeant
On 2016/07/11 05:34:36, toyoshim wrote: > ping: torne and tobias I ran system_webview_shell_layout_test_apk locally, and ...
4 years, 5 months ago (2016-07-11 15:26:12 UTC) #42
Takashi Toyoshima
Did you replace SystemWebViewGoogle.apk with one of this patch applied? Your results looks like one ...
4 years, 5 months ago (2016-07-12 05:45:37 UTC) #43
Takashi Toyoshima
I flashed a userdebug build to a Nexus 4, and followed steps below. % adb ...
4 years, 5 months ago (2016-07-12 07:19:42 UTC) #44
Takashi Toyoshima
Ah, build target and installed apk was unmatched in the log. But I built both ...
4 years, 5 months ago (2016-07-12 07:25:32 UTC) #45
Tobias Sargeant
PS8 is missing a definition for createBaseCallback.
4 years, 5 months ago (2016-07-12 13:45:53 UTC) #46
Tobias Sargeant
On 2016/07/12 13:45:53, Tobias Sargeant wrote: > PS8 is missing a definition for createBaseCallback. Looks ...
4 years, 5 months ago (2016-07-12 13:57:53 UTC) #47
Takashi Toyoshima
PS9 is one simply rebased to compile. But probably we prefer to revisit this CL ...
4 years, 5 months ago (2016-07-13 07:04:45 UTC) #48
Takashi Toyoshima
Tobias: Could you take another look for reland this CL? Now all workarounds are removed ...
4 years, 4 months ago (2016-07-29 11:11:23 UTC) #53
Tobias Sargeant
On 2016/07/29 11:11:23, toyoshim wrote: > Tobias: Could you take another look for reland this ...
4 years, 4 months ago (2016-07-29 11:17:14 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2116763002/180001
4 years, 4 months ago (2016-07-29 12:23:10 UTC) #59
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 4 months ago (2016-07-29 12:27:22 UTC) #61
commit-bot: I haz the power
4 years, 4 months ago (2016-07-29 12:28:37 UTC) #63
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/8c21bb977b580edb009eb2fe0d3f511fd5ca42f4
Cr-Commit-Position: refs/heads/master@{#408621}

Powered by Google App Engine
This is Rietveld 408576698