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

Issue 2716193002: android: Add draw completion for CompositorView (Closed)

Created:
3 years, 9 months ago by boliu
Modified:
3 years, 9 months ago
CC:
agrieve+watch_chromium.org, chromium-reviews, darin-cc_chromium.org, jam
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[Reland] android: Add draw completion for CompositorView Add a new callback from native CompositorImpl that corresponds to all swap buffers. Then plumb it up to CompositorView and use it to implement the draw completion imlementation for the SurfaceView. Reland: fix bug causing crash when argument is evaluated out of order. BUG=512636 Review-Url: https://codereview.chromium.org/2716193002 Cr-Original-Commit-Position: refs/heads/master@{#453965} Committed: https://chromium.googlesource.com/chromium/src/+/eddd0d4f361b16d62eae38b198d6cedde1626186 Review-Url: https://codereview.chromium.org/2716193002 Cr-Commit-Position: refs/heads/master@{#456004} Committed: https://chromium.googlesource.com/chromium/src/+/e07c48a43cd71db4e575a370f787b36fee6b643d

Patch Set 1 #

Total comments: 2

Patch Set 2 : review, handle recursion #

Patch Set 3 : null check #

Patch Set 4 : rebase #

Patch Set 5 : compile fix after rebase #

Patch Set 6 : another fix, doing a bad job rebasing here.. #

Total comments: 4

Patch Set 7 : fix x86 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+59 lines, -6 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java View 1 2 3 4 5 6 6 chunks +32 lines, -1 line 0 comments Download
M chrome/browser/android/compositor/compositor_view.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/android/compositor/compositor_view.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/compositor_impl_android.cc View 1 2 3 4 5 6 4 chunks +14 lines, -4 lines 0 comments Download
M content/public/browser/android/compositor_client.h View 1 chunk +6 lines, -1 line 0 comments Download

Messages

Total messages: 47 (25 generated)
boliu
ptal part 1 is https://codereview.chromium.org/2718903002/
3 years, 9 months ago (2017-02-27 16:34:46 UTC) #6
aelias_OOO_until_Jul13
https://codereview.chromium.org/2716193002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java File chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java (right): https://codereview.chromium.org/2716193002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java#newcode209 chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java:209: if (!mDrawingFinishedCallback.isEmpty()) nativeSetNeedsComposite(mNativeCompositorView); Is this if statement needed? I'd ...
3 years, 9 months ago (2017-02-28 00:20:03 UTC) #7
boliu
also rewrote the list a bit to handle potentially android somehow recursively calling RedrawNeeded in ...
3 years, 9 months ago (2017-02-28 02:02:51 UTC) #8
aelias_OOO_until_Jul13
lgtm
3 years, 9 months ago (2017-02-28 02:08:46 UTC) #9
boliu
changwan, this needs your review for chrome compositor as well
3 years, 9 months ago (2017-02-28 06:07:28 UTC) #10
boliu
+dtrainor for chrome/*compositor*
3 years, 9 months ago (2017-03-01 00:43:04 UTC) #12
Changwan Ryu
lgtm sorry it took a while!
3 years, 9 months ago (2017-03-01 06:55:01 UTC) #13
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/2716193002/40001
3 years, 9 months ago (2017-03-01 14:07:01 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/164371) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 9 months ago (2017-03-01 14:09:10 UTC) #17
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/2716193002/60001
3 years, 9 months ago (2017-03-01 14:29:32 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_swarming_rel/builds/128621)
3 years, 9 months ago (2017-03-01 14:52:18 UTC) #22
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/2716193002/80001
3 years, 9 months ago (2017-03-01 15:53:01 UTC) #25
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/2716193002/100001
3 years, 9 months ago (2017-03-01 17:37:25 UTC) #29
commit-bot: I haz the power
Committed patchset #6 (id:100001) as https://chromium.googlesource.com/chromium/src/+/eddd0d4f361b16d62eae38b198d6cedde1626186
3 years, 9 months ago (2017-03-01 17:54:14 UTC) #32
Ted C
https://codereview.chromium.org/2716193002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java File chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java (right): https://codereview.chromium.org/2716193002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java#newcode339 chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java:339: for (Runnable r : runnables) { drive by nit ...
3 years, 9 months ago (2017-03-03 21:00:16 UTC) #34
boliu
https://codereview.chromium.org/2716193002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java File chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java (right): https://codereview.chromium.org/2716193002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java#newcode339 chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java:339: for (Runnable r : runnables) { On 2017/03/03 21:00:16, ...
3 years, 9 months ago (2017-03-03 21:04:05 UTC) #35
Ted C
On 2017/03/03 21:04:05, boliu wrote: > https://codereview.chromium.org/2716193002/diff/100001/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java > File > chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java > (right): > > ...
3 years, 9 months ago (2017-03-03 21:10:02 UTC) #36
BigBossZhiling
A revert of this CL (patchset #6 id:100001) has been created in https://codereview.chromium.org/2732213008/ by hzl@google.com. ...
3 years, 9 months ago (2017-03-08 22:31:01 UTC) #37
boliu
https://codereview.chromium.org/2716193002/diff/100001/content/browser/renderer_host/compositor_impl_android.cc File content/browser/renderer_host/compositor_impl_android.cc (right): https://codereview.chromium.org/2716193002/diff/100001/content/browser/renderer_host/compositor_impl_android.cc#newcode692 content/browser/renderer_host/compositor_impl_android.cc:692: context_provider, ahh, for anyone wondering why this is x86 ...
3 years, 9 months ago (2017-03-09 20:24:09 UTC) #38
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/2716193002/120001
3 years, 9 months ago (2017-03-10 05:08:51 UTC) #42
commit-bot: I haz the power
Committed patchset #7 (id:120001) as https://chromium.googlesource.com/chromium/src/+/e07c48a43cd71db4e575a370f787b36fee6b643d
3 years, 9 months ago (2017-03-10 05:47:41 UTC) #45
Peter Wen
3 years, 9 months ago (2017-03-13 14:07:55 UTC) #47
Message was sent while issue was closed.
https://codereview.chromium.org/2716193002/diff/100001/content/browser/render...
File content/browser/renderer_host/compositor_impl_android.cc (right):

https://codereview.chromium.org/2716193002/diff/100001/content/browser/render...
content/browser/renderer_host/compositor_impl_android.cc:692: context_provider,
On 2017/03/09 20:24:09, boliu wrote:
> ahh, for anyone wondering why this is x86 crash only, this is the problem.
> 
> std::move(context_provider) and context_provider in the same argument list.
c++
> does not guarantee argument evaluation order, and looks like on x86, it's
> backwards!
> 
> std::move happens first, so by the time it gets to here, context_provider is
> null already
> 
> I'll reland, and then merge after other m58 issues have been settled.

Thanks for getting to the root of this bug and the explanation, Bo! It makes
sense now why it's just x86.

Powered by Google App Engine
This is Rietveld 408576698