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

Issue 26753005: Adding compositor callbacks to RenderWidgetHostViewAndroid (Closed)

Created:
7 years, 2 months ago by powei
Modified:
7 years, 1 month ago
CC:
chromium-reviews, yusukes+watch_chromium.org, penghuang+watch_chromium.org, joi+watch-content_chromium.org, nona+watch_chromium.org, darin-cc_chromium.org, James Su, miu+watch_chromium.org, jochen (gone - plz use gerrit), jdduke (slow), jam
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Adding compositor callbacks to RenderWidgetHostViewAndroid The coupling between the compositor and the RenderWidgetHostViewAndroid (RWHVA) is weak. This causes problem such as when RWHVA needs to act on a compositor commit (as in the current DidCommitFrameData callback). We create a WindowAndroidObserver class and add a list of observers to the android window, which then forwards the callbacks from the compositor to the observers. android= https://gerrit-int.chromium.org/#/c/44978/ BUG=273250 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=236598

Patch Set 1 #

Patch Set 2 : removed blank lines #

Total comments: 10

Patch Set 3 : Addressed comments #

Patch Set 4 : rebased #

Patch Set 5 : Fixed null pointer problems #

Patch Set 6 : Change RWHVA to add itself to the compositor as per sievers@ comment #

Total comments: 18

Patch Set 7 : Separate Compositor plumbing from SetContentView #

Total comments: 12

Patch Set 8 : Plumb compositor provider through instead of compositor #

Total comments: 10

Patch Set 9 : host observers through WindowAndroid #

Total comments: 10

Patch Set 10 : addressed comments #

Total comments: 10

Patch Set 11 : addressed comments #

Total comments: 17

Patch Set 12 : addressed comments and rebased #

Total comments: 4

Patch Set 13 : addressed one more comment #

Patch Set 14 : rebased and fixed bug with assert #

Patch Set 15 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+181 lines, -68 lines) Patch
M chrome/android/testshell/java/src/org/chromium/chrome/testshell/ChromiumTestShellActivity.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +12 lines, -5 lines 0 comments Download
M chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +8 lines, -8 lines 0 comments Download
M chrome/android/testshell/javatests/src/org/chromium/chrome/testshell/ChromiumTestShellUrlTest.java View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -1 line 0 comments Download
M content/browser/android/content_view_render_view.h View 1 2 3 4 5 6 7 8 9 3 chunks +6 lines, -1 line 0 comments Download
M content/browser/android/content_view_render_view.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +10 lines, -5 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.h View 1 2 3 4 5 6 7 8 9 3 chunks +4 lines, -2 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +15 lines, -4 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +10 lines, -13 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_view_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 10 chunks +26 lines, -15 lines 0 comments Download
M content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +5 lines, -4 lines 0 comments Download
M content/public/browser/android/compositor.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -2 lines 0 comments Download
M content/shell/android/java/src/org/chromium/content_shell/ShellManager.java View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +10 lines, -8 lines 0 comments Download
M ui/base/android/window_android.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +14 lines, -0 lines 0 comments Download
M ui/base/android/window_android.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +29 lines, -0 lines 0 comments Download
A ui/base/android/window_android_observer.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +24 lines, -0 lines 0 comments Download
M ui/ui.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 43 (0 generated)
powei
PTAL. Thanks! Is it now safe to remove the implementation of DelegatedRendererLayerClient from RWHVA?
7 years, 2 months ago (2013-10-10 01:34:12 UTC) #1
piman
On 2013/10/10 01:34:12, powei wrote: > PTAL. Thanks! > > Is it now safe to ...
7 years, 2 months ago (2013-10-10 03:01:21 UTC) #2
aelias_OOO_until_Jul13
ContentViewRenderView is only used by content shell (and some secondary uses like legal docs webview), ...
7 years, 2 months ago (2013-10-10 07:55:47 UTC) #3
no sievers
https://codereview.chromium.org/26753005/diff/2001/content/browser/android/content_view_render_view.cc File content/browser/android/content_view_render_view.cc (right): https://codereview.chromium.org/26753005/diff/2001/content/browser/android/content_view_render_view.cc#newcode60 content/browser/android/content_view_render_view.cc:60: if (rwhva) { This is the sort of logic ...
7 years, 2 months ago (2013-10-10 17:48:03 UTC) #4
powei
+jdduke@ +yfriedman@ for OWNER PTAL. Android-side is up too. Please set me know if I ...
7 years, 2 months ago (2013-10-16 22:42:34 UTC) #5
powei
Also I'll open another CL to address piman@'s comment. This one is plenty as is ...
7 years, 2 months ago (2013-10-16 22:51:10 UTC) #6
jdduke (slow)
https://codereview.chromium.org/26753005/diff/19001/content/browser/android/content_view_core_impl.cc File content/browser/android/content_view_core_impl.cc (right): https://codereview.chromium.org/26753005/diff/19001/content/browser/android/content_view_core_impl.cc#newcode1603 content/browser/android/content_view_core_impl.cc:1603: // Calling SetContentViewCore triggers the call set the ContentViewCore ...
7 years, 2 months ago (2013-10-16 23:12:25 UTC) #7
no sievers
See my comments - I'm wondering if we can simplify things a lot if we ...
7 years, 2 months ago (2013-10-16 23:34:22 UTC) #8
powei
PTAL. New patch separates out the compositor from SetContentView. Now that we're working under the ...
7 years, 2 months ago (2013-10-19 00:05:18 UTC) #9
aelias_OOO_until_Jul13
This looks okay to me, I'll let sievers@ do the final review. https://codereview.chromium.org/26753005/diff/60001/content/browser/android/content_view_core_impl.cc File content/browser/android/content_view_core_impl.cc ...
7 years, 2 months ago (2013-10-19 03:43:21 UTC) #10
David Trainor- moved to gerrit
Just some random nits/suggestions. Leaving the final review to sievers@ https://chromiumcodereview.appspot.com/26753005/diff/60001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://chromiumcodereview.appspot.com/26753005/diff/60001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1269 ...
7 years, 2 months ago (2013-10-21 15:26:08 UTC) #11
powei
This is ready for another look after our offline discussion a few weeks back. Android ...
7 years, 1 month ago (2013-11-08 21:34:47 UTC) #12
no sievers
https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode120 content/browser/renderer_host/render_widget_host_view_android.cc:120: compositor_provider_(NULL) { nit: init to |compositor_provider| here https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1280 content/browser/renderer_host/render_widget_host_view_android.cc:1280: ...
7 years, 1 month ago (2013-11-08 22:14:03 UTC) #13
powei
adding OWNERS +boliu@ for android_webview +jochen@ for content/browser/web_contents/ +jam@ for content/content_browser.gypi +tedchoc@ for content/public/android, content/public/browser/android, ...
7 years, 1 month ago (2013-11-08 22:28:52 UTC) #14
powei
https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode120 content/browser/renderer_host/render_widget_host_view_android.cc:120: compositor_provider_(NULL) { On 2013/11/08 22:14:04, sievers wrote: > nit: ...
7 years, 1 month ago (2013-11-08 22:51:15 UTC) #15
jam
On 2013/11/08 22:28:52, powei wrote: > adding OWNERS > > +boliu@ for android_webview > +jochen@ ...
7 years, 1 month ago (2013-11-09 01:14:02 UTC) #16
jam
for the new single-method interfaces, are they going to have more methods in the future? ...
7 years, 1 month ago (2013-11-09 01:15:12 UTC) #17
boliu
aw lgtm
7 years, 1 month ago (2013-11-09 02:47:44 UTC) #18
no sievers
On 2013/11/08 22:51:15, powei wrote: > https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc > File content/browser/renderer_host/render_widget_host_view_android.cc (right): > > https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode120 > ...
7 years, 1 month ago (2013-11-11 18:32:02 UTC) #19
powei
On 2013/11/11 18:32:02, sievers wrote: > On 2013/11/08 22:51:15, powei wrote: > > > https://codereview.chromium.org/26753005/diff/340001/content/browser/renderer_host/render_widget_host_view_android.cc ...
7 years, 1 month ago (2013-11-11 18:55:41 UTC) #20
powei
On 2013/11/09 01:15:12, jam wrote: > for the new single-method interfaces, are they going to ...
7 years, 1 month ago (2013-11-11 18:57:11 UTC) #21
no sievers
On 2013/11/11 18:55:41, powei wrote: > On 2013/11/11 18:32:02, sievers wrote: > > On 2013/11/08 ...
7 years, 1 month ago (2013-11-11 18:58:53 UTC) #22
powei
Ready for another look. This went through another redesign after some offline discussion. I'm specifically ...
7 years, 1 month ago (2013-11-14 21:43:25 UTC) #23
no sievers
Nice, thanks for doing this! https://codereview.chromium.org/26753005/diff/540001/content/browser/renderer_host/compositor_impl_android.h File content/browser/renderer_host/compositor_impl_android.h (right): https://codereview.chromium.org/26753005/diff/540001/content/browser/renderer_host/compositor_impl_android.h#newcode124 content/browser/renderer_host/compositor_impl_android.h:124: ui::WindowAndroid* window_android_; nit: maybe ...
7 years, 1 month ago (2013-11-14 22:01:00 UTC) #24
powei
comments addressed. PTAL. Thanks. +cc: boliu@, jam@ accidentally removed them in updating the reviewer list. ...
7 years, 1 month ago (2013-11-15 02:18:26 UTC) #25
no sievers
https://codereview.chromium.org/26753005/diff/690001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/26753005/diff/690001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode50 content/browser/renderer_host/render_widget_host_view_android.cc:50: #include "ui/base/android/window_android_observer.h" nit: already included in the header, since ...
7 years, 1 month ago (2013-11-15 20:15:20 UTC) #26
powei
new patchset up. thanks. https://codereview.chromium.org/26753005/diff/690001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/26753005/diff/690001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode50 content/browser/renderer_host/render_widget_host_view_android.cc:50: #include "ui/base/android/window_android_observer.h" On 2013/11/15 20:15:20, ...
7 years, 1 month ago (2013-11-15 22:41:27 UTC) #27
no sievers
LGTM. thanks! https://codereview.chromium.org/26753005/diff/810001/content/browser/android/content_view_render_view.cc File content/browser/android/content_view_render_view.cc (right): https://codereview.chromium.org/26753005/diff/810001/content/browser/android/content_view_render_view.cc#newcode46 content/browser/android/content_view_render_view.cc:46: static jint Init(JNIEnv* env, jobject obj, jlong ...
7 years, 1 month ago (2013-11-15 22:56:18 UTC) #28
boliu
https://codereview.chromium.org/26753005/diff/810001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://codereview.chromium.org/26753005/diff/810001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1260 content/browser/renderer_host/render_widget_host_view_android.cc:1260: if (content_view_core_ && !using_synchronous_compositor_) Why does value of new ...
7 years, 1 month ago (2013-11-16 00:42:55 UTC) #29
Ted C
lgtm w/ some nits https://codereview.chromium.org/26753005/diff/810001/chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java File chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java (right): https://codereview.chromium.org/26753005/diff/810001/chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java#newcode57 chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java:57: protected void onReadyToRender() { -4 ...
7 years, 1 month ago (2013-11-16 01:04:07 UTC) #30
powei
Addressed the comments. Thanks for the reviews! Will try to commit soon. https://codereview.chromium.org/26753005/diff/810001/chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java File chrome/android/testshell/java/src/org/chromium/chrome/testshell/TabManager.java ...
7 years, 1 month ago (2013-11-18 19:29:58 UTC) #31
David Trainor- moved to gerrit
lgtm
7 years, 1 month ago (2013-11-18 19:32:42 UTC) #32
boliu
https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1258 content/browser/renderer_host/render_widget_host_view_android.cc:1258: if (content_view_core != content_view_core_ && content_view_core_ && This still ...
7 years, 1 month ago (2013-11-18 19:39:24 UTC) #33
powei
https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1258 content/browser/renderer_host/render_widget_host_view_android.cc:1258: if (content_view_core != content_view_core_ && content_view_core_ && On 2013/11/18 ...
7 years, 1 month ago (2013-11-18 19:44:01 UTC) #34
powei
https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1258 content/browser/renderer_host/render_widget_host_view_android.cc:1258: if (content_view_core != content_view_core_ && content_view_core_ && On 2013/11/18 ...
7 years, 1 month ago (2013-11-18 19:47:13 UTC) #35
boliu
On 2013/11/18 19:47:13, powei wrote: > https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc > File content/browser/renderer_host/render_widget_host_view_android.cc (right): > > https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1258 > ...
7 years, 1 month ago (2013-11-18 20:16:58 UTC) #36
powei
submitting https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc File content/browser/renderer_host/render_widget_host_view_android.cc (right): https://chromiumcodereview.appspot.com/26753005/diff/1110001/content/browser/renderer_host/render_widget_host_view_android.cc#newcode1258 content/browser/renderer_host/render_widget_host_view_android.cc:1258: if (content_view_core != content_view_core_ && content_view_core_ && On ...
7 years, 1 month ago (2013-11-18 21:40:04 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/powei@chromium.org/26753005/1220001
7 years, 1 month ago (2013-11-18 21:44:08 UTC) #38
commit-bot: I haz the power
Failed to apply patch for content/browser/android/content_view_render_view.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 1 month ago (2013-11-18 21:44:22 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/powei@chromium.org/26753005/1370001
7 years, 1 month ago (2013-11-19 18:48:44 UTC) #40
commit-bot: I haz the power
Retried try job too often on linux_chromeos for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_chromeos&number=176335
7 years, 1 month ago (2013-11-19 21:51:38 UTC) #41
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/powei@chromium.org/26753005/1900003
7 years, 1 month ago (2013-11-21 18:33:48 UTC) #42
commit-bot: I haz the power
7 years, 1 month ago (2013-11-21 21:35:32 UTC) #43
Message was sent while issue was closed.
Change committed as 236598

Powered by Google App Engine
This is Rietveld 408576698