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

Issue 132233042: Enable the embedded L1/EME support in WebView. (Closed)

Created:
6 years, 11 months ago by ycheo (away)
Modified:
6 years, 10 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, Jinsuk Kim, qinmin, Ignacio Solla, Yaron
Visibility:
Public.

Description

Enable the embedded L1/EME support in WebView. - Add ExternalVideoSurfaceContainer which handles the external surface for the hole punching in WebView. - Refactor the callbacks of ContentViewClient on the hole-punching to make them have the single purpose per each function. BUG=329447 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=252571

Patch Set 1 : ExternalVideoSurfaceContainer.java from Clank.git for the reference. #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 10

Patch Set 4 : Addressed boliu's comments. #

Patch Set 5 : Upload error. #

Patch Set 6 : #

Total comments: 25

Patch Set 7 : Addressed boliu's comments. #

Total comments: 18

Patch Set 8 : Addressed boliu's comments. #

Total comments: 23

Patch Set 9 : Addressed boliu's comments. #

Total comments: 13

Patch Set 10 : Addressed boliu's comments and rebased. #

Total comments: 11

Patch Set 11 : Addressed tedchoc's comments. #

Patch Set 12 : Added ExternalVideoSurfaceDelegate.java. #

Total comments: 8

Patch Set 13 : Addressed tedchoc's comments. #

Patch Set 14 : Fix nits. #

Total comments: 6

Patch Set 15 : Addressed tedchoc's comments. #

Patch Set 16 : Rebased. #

Patch Set 17 #

Patch Set 18 : Fixed the findbugs warning. #

Total comments: 4

Patch Set 19 : Addressed boliu's comments. #

Patch Set 20 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+553 lines, -118 lines) Patch
A android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +259 lines, -0 lines 0 comments Download
M android_webview/lib/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -0 lines 0 comments Download
M android_webview/lib/main/aw_main_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +6 lines, -0 lines 0 comments Download
M android_webview/native/android_webview_jni_registrar.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +4 lines, -0 lines 0 comments Download
A android_webview/native/external_video_surface_container_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +57 lines, -0 lines 0 comments Download
A android_webview/native/external_video_surface_container_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +112 lines, -0 lines 0 comments Download
M android_webview/native/webview_native.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -0 lines 0 comments Download
M build/common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +6 lines, -0 lines 0 comments Download
M content/browser/android/content_view_core_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +0 lines, -10 lines 0 comments Download
M content/browser/android/content_view_core_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +7 lines, -46 lines 0 comments Download
M content/browser/media/android/browser_media_player_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +30 lines, -12 lines 0 comments Download
M content/browser/web_contents/web_contents_view_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -6 lines 0 comments Download
M content/browser/web_contents/web_contents_view_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -8 lines 0 comments Download
M content/content_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java View 1 2 3 4 5 6 7 8 9 10 2 chunks +0 lines, -7 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +0 lines, -29 lines 0 comments Download
A content/public/browser/android/external_video_surface_container.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +61 lines, -0 lines 0 comments Download

Messages

Total messages: 52 (0 generated)
ycheo (away)
6 years, 11 months ago (2014-01-22 06:30:42 UTC) #1
ycheo (away)
PTAL. @qinmin: overall @yfriedman: content/public/android/ @boliue: android_webview/ @erikwright: android_webview/DEPS Thanks!
6 years, 11 months ago (2014-01-22 11:32:48 UTC) #2
boliu
+benm I wasn't in that meeting last November so don't know what we agreed on, ...
6 years, 11 months ago (2014-01-22 20:00:26 UTC) #3
boliu
One consequence of this is that the video does not stay in sync with the ...
6 years, 11 months ago (2014-01-22 23:01:06 UTC) #4
boliu
Also how do you manually test EME video?
6 years, 11 months ago (2014-01-22 23:18:35 UTC) #5
ycheo (away)
On 2014/01/22 23:18:35, boliu wrote: > Also how do you manually test EME video? Hi ...
6 years, 11 months ago (2014-01-23 13:07:07 UTC) #6
ycheo (away)
Hi Bo, For the sync issue during scroll/zoom, we're very well aware of your concerns. ...
6 years, 11 months ago (2014-01-24 11:14:34 UTC) #7
boliu
This can be split into 3 parts: 1) Define VIDEO_HOLE. Split that out into a ...
6 years, 11 months ago (2014-01-24 21:56:31 UTC) #8
boliu
https://codereview.chromium.org/132233042/diff/260001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/260001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode43 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:43: // TODO(wonsik): extend it to multiple surfaces. On 2014/01/24 ...
6 years, 11 months ago (2014-01-25 01:27:38 UTC) #9
boliu
https://codereview.chromium.org/132233042/diff/260001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java File content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java (left): https://codereview.chromium.org/132233042/diff/260001/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java#oldcode2450 content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java:2450: getContentViewClient().onGeometryChanged(-1, null); On 2014/01/25 01:27:39, boliu wrote: > On ...
6 years, 11 months ago (2014-01-25 04:50:12 UTC) #10
ycheo (away)
Hi Bo, I refactored the whole code according to your guidance. Could you take a ...
6 years, 10 months ago (2014-01-28 13:08:52 UTC) #11
ycheo (away)
On 2014/01/24 21:56:31, boliu wrote: > This can be split into 3 parts: > > ...
6 years, 10 months ago (2014-01-28 13:10:46 UTC) #12
ycheo (away)
https://codereview.chromium.org/132233042/diff/260001/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java File content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java (right): https://codereview.chromium.org/132233042/diff/260001/content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java#newcode165 content/public/android/java/src/org/chromium/content/browser/ContentViewClient.java:165: ContentViewCore contentViewCore, int playerId, boolean isRequest, RectF rect) { ...
6 years, 10 months ago (2014-01-28 13:23:13 UTC) #13
boliu
Getting there. My sandwiching question in #8 is still unanswered. https://codereview.chromium.org/132233042/diff/410001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/410001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode39 ...
6 years, 10 months ago (2014-01-28 19:54:30 UTC) #14
qinmin
https://codereview.chromium.org/132233042/diff/260001/content/browser/media/android/browser_media_player_manager.cc File content/browser/media/android/browser_media_player_manager.cc (right): https://codereview.chromium.org/132233042/diff/260001/content/browser/media/android/browser_media_player_manager.cc#newcode590 content/browser/media/android/browser_media_player_manager.cc:590: ReleaseExternalVideoSurface(player_id); OnReleaseResources happens at tab switching, or app goes ...
6 years, 10 months ago (2014-01-28 21:17:04 UTC) #15
wonsik
On 2014/01/28 13:10:46, Yuncheol Heo wrote: > On 2014/01/24 21:56:31, boliu wrote: > > This ...
6 years, 10 months ago (2014-01-28 23:17:16 UTC) #16
ycheo (away)
https://codereview.chromium.org/132233042/diff/410001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/410001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode39 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:39: // Disable the hole-punching in SurfaceView.dispatchDraw(). On 2014/01/28 19:54:31, ...
6 years, 10 months ago (2014-02-04 11:12:10 UTC) #17
boliu
Almost there. Only blocking thing is dealing with switching ContentViewCore in pop up webview case. ...
6 years, 10 months ago (2014-02-04 21:10:07 UTC) #18
ycheo (away)
https://codereview.chromium.org/132233042/diff/410001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/410001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode39 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:39: // Disable the hole-punching in SurfaceView.dispatchDraw(). On 2014/02/04 21:10:08, ...
6 years, 10 months ago (2014-02-05 06:17:04 UTC) #19
boliu
lgtm % last few comments https://codereview.chromium.org/132233042/diff/430001/android_webview/java/src/org/chromium/android_webview/AwContents.java File android_webview/java/src/org/chromium/android_webview/AwContents.java (right): https://codereview.chromium.org/132233042/diff/430001/android_webview/java/src/org/chromium/android_webview/AwContents.java#newcode530 android_webview/java/src/org/chromium/android_webview/AwContents.java:530: contentViewCore.setZoomControlsDelegate(zoomControlsDelegate); On 2014/02/05 06:17:05, ...
6 years, 10 months ago (2014-02-05 07:19:14 UTC) #20
ycheo (away)
https://codereview.chromium.org/132233042/diff/430001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/430001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode47 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:47: private int mPlayerId = INVALID_PLAYER_ID; On 2014/02/05 07:19:14, boliu ...
6 years, 10 months ago (2014-02-05 08:37:44 UTC) #21
ycheo (away)
PTAL. @yfriedman: content/browser/android/ content/public/android/java/src/org/chromium/content/browser/ @sky: content/browser/media/android/browser_media_player_manager.cc content/browser/web_contents/
6 years, 10 months ago (2014-02-05 10:58:41 UTC) #22
sky
I'm not a good owner for the android side of things. There should be android ...
6 years, 10 months ago (2014-02-05 15:39:56 UTC) #23
Ignacio Solla
Just a question. https://codereview.chromium.org/132233042/diff/650001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/650001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode30 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:30: // So we need to disable ...
6 years, 10 months ago (2014-02-05 23:46:59 UTC) #24
boliu
https://codereview.chromium.org/132233042/diff/650001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/650001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode30 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:30: // So we need to disable its hole-punching logic. ...
6 years, 10 months ago (2014-02-06 00:12:06 UTC) #25
ycheo (away)
PTAL, tedchoc@ content/browser/android/ content/browser/web_contents/ xhwang@ content/browser/media/android/
6 years, 10 months ago (2014-02-08 03:16:07 UTC) #26
xhwang
You need more CL description about what you are doing in this CL. content/browser/media/android/ rubberstamp ...
6 years, 10 months ago (2014-02-08 05:16:37 UTC) #27
ycheo (away)
On 2014/02/08 05:16:37, xhwang wrote: > You need more CL description about what you are ...
6 years, 10 months ago (2014-02-08 05:30:35 UTC) #28
Ted C
+qinmin because this touches media stuff. overall, this seems fine. Nits, but lgtm for OWNERS ...
6 years, 10 months ago (2014-02-11 18:05:47 UTC) #29
ycheo (away)
@boliu, @tedchoc, After refactoring, ContentViewCore owns ExternalVideoSurfaceContainers now. IMO, it looks fine. Could you double-check ...
6 years, 10 months ago (2014-02-14 07:41:04 UTC) #30
boliu
Missing ExternalVideoSurfaceDelegate.java file?
6 years, 10 months ago (2014-02-14 17:40:39 UTC) #31
ycheo (away)
On 2014/02/14 17:40:39, boliu wrote: > Missing ExternalVideoSurfaceDelegate.java file? Oops!, Sorry, I added the missing ...
6 years, 10 months ago (2014-02-14 17:49:48 UTC) #32
boliu
Still lgtm Nice clena up :)
6 years, 10 months ago (2014-02-14 17:53:33 UTC) #33
Ted C
The plumbing through WebContentsViewAndroid is the one remaining thing I think maybe should be fixed ...
6 years, 10 months ago (2014-02-14 18:32:51 UTC) #34
ycheo (away)
To reviewers, Please hold the review for a while, I'm refactoring the code as Ted ...
6 years, 10 months ago (2014-02-17 13:36:46 UTC) #35
ycheo (away)
To reviews, Thanks to tedchoc, I refactored the code, and IMO it looks quite better. ...
6 years, 10 months ago (2014-02-18 08:35:56 UTC) #36
qinmin
lgtm
6 years, 10 months ago (2014-02-18 14:58:09 UTC) #37
Ted C
lgtm w/ a few comments https://codereview.chromium.org/132233042/diff/1090001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/1090001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode19 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:19: import java.lang.ref.WeakReference; one too ...
6 years, 10 months ago (2014-02-18 20:03:13 UTC) #38
ycheo (away)
https://codereview.chromium.org/132233042/diff/1090001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java File android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java (right): https://codereview.chromium.org/132233042/diff/1090001/android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java#newcode19 android_webview/java/src/org/chromium/android_webview/ExternalVideoSurfaceContainer.java:19: import java.lang.ref.WeakReference; On 2014/02/18 20:03:14, Ted C wrote: > ...
6 years, 10 months ago (2014-02-18 22:28:39 UTC) #39
benm (inactive)
Doesn't need to block this CL landing, but is it possible for a user agent ...
6 years, 10 months ago (2014-02-19 12:31:05 UTC) #40
ycheo (away)
On 2014/02/19 12:31:05, benm wrote: > Doesn't need to block this CL landing, but is ...
6 years, 10 months ago (2014-02-19 13:53:32 UTC) #41
ycheo (away)
@brettw, ping!
6 years, 10 months ago (2014-02-20 22:15:56 UTC) #42
brettw
.gypi lgtm
6 years, 10 months ago (2014-02-20 22:44:22 UTC) #43
ycheo (away)
erickwright@ seems OOO. @joth, Could you check the change on android_webview/DEPS? Thanks, Yuncheol
6 years, 10 months ago (2014-02-20 23:17:19 UTC) #44
ycheo (away)
@joi, Could you check the change on android_webview/DEPS? Thanks, Yuncheol
6 years, 10 months ago (2014-02-20 23:37:02 UTC) #45
boliu
https://codereview.chromium.org/132233042/diff/1360001/android_webview/DEPS File android_webview/DEPS (right): https://codereview.chromium.org/132233042/diff/1360001/android_webview/DEPS#newcode1 android_webview/DEPS:1: # Please include joth@ and (joi@ or erikwright@) on ...
6 years, 10 months ago (2014-02-20 23:43:09 UTC) #46
ycheo (away)
https://codereview.chromium.org/132233042/diff/1360001/android_webview/DEPS File android_webview/DEPS (right): https://codereview.chromium.org/132233042/diff/1360001/android_webview/DEPS#newcode1 android_webview/DEPS:1: # Please include joth@ and (joi@ or erikwright@) on ...
6 years, 10 months ago (2014-02-21 01:25:10 UTC) #47
boliu
aw DEPS lgtm. I think you don't need to wait for Joi for DEPS, but ...
6 years, 10 months ago (2014-02-21 02:38:05 UTC) #48
Jói
android_webview/lib/DEPS LGTM
6 years, 10 months ago (2014-02-21 11:40:14 UTC) #49
ycheo (away)
The CQ bit was checked by ycheo@chromium.org
6 years, 10 months ago (2014-02-21 12:39:08 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ycheo@chromium.org/132233042/1480001
6 years, 10 months ago (2014-02-21 12:39:21 UTC) #51
commit-bot: I haz the power
6 years, 10 months ago (2014-02-21 16:08:27 UTC) #52
Message was sent while issue was closed.
Change committed as 252571

Powered by Google App Engine
This is Rietveld 408576698