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

Issue 1747283003: Remove redundant codepath for webgl api blocking (Closed)

Created:
4 years, 9 months ago by no sievers
Modified:
4 years, 8 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, dglazkov+blink, gavinp+loader_chromium.org, jam, Nate Chapin, loading-reviews_chromium.org, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, tyoshino+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Remove redundant codepath for webgl api blocking https://chromiumcodereview.appspot.com/11434072 handles this more generically and makes the original codepath from https://chromiumcodereview.appspot.com/11378008 obsolete, see GpuProcessHost::OnDidLoseContext(). The motivation for removing this is that it also makes it harder to special-case context losses from the OOM killer on Android if the renderer tries to invoke 3D api blocking (rather than the GPU process itself). There was a subtle interaction wrt the 'exit_on_context' lost logic which manifested itself on Windows. To still raise the infobar reliably, this patch also forces us to go through the BLockLiveOffscreenContexts() logic in ~GpuProcessHost as it was intended, even if we cleanly tear down the GPU process for 'exit_on_context_lost'. This required - blocking offscreen contexts regardless of the status code (TODO crbug.com/598400) (see https://codereview.chromium.org/1749263003/ i.e. need to limit to Android after all) - knowing about live offscreen contexts even when we shutdown cleanly (see https://codereview.chromium.org/1678183003) NOTRY=True (win webkit_tests flaky and slow as usual) BUG=586905 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/d2ef49671ee9db34151c5a3ca03e18a69560f669 Cr-Commit-Position: refs/heads/master@{#386180}

Patch Set 1 #

Patch Set 2 : rebase #

Patch Set 3 : rebase #

Patch Set 4 : better handle 'exit_on_context_lost' #

Total comments: 2

Patch Set 5 : #

Patch Set 6 : rebase #

Patch Set 7 : rebase #

Patch Set 8 : add logging #

Patch Set 9 : more logging #

Patch Set 10 : test fix #

Patch Set 11 : fix race with 'exit_on_context_lost' on Windows #

Patch Set 12 : oops #

Total comments: 1

Patch Set 13 : address comment #45 #

Patch Set 14 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+33 lines, -72 lines) Patch
M content/browser/frame_host/render_frame_message_filter.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M content/browser/frame_host/render_frame_message_filter.cc View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -22 lines 0 comments Download
M content/browser/gpu/gpu_process_host.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -8 lines 0 comments Download
M content/renderer/render_frame_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -6 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +8 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +12 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +9 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/core/loader/FrameLoaderClient.h 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/webgl/WebGLRenderingContextBase.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/web/FrameLoaderClientImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/public/web/WebFrameClient.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -6 lines 0 comments Download

Messages

Total messages: 70 (28 generated)
no sievers
kbr, ptal
4 years, 9 months ago (2016-03-01 22:50:06 UTC) #6
Ken Russell (switch to Gerrit)
Doesn't this CL also have the implication that if the KHR_robustness or ARB_robustness extensions report ...
4 years, 9 months ago (2016-03-02 01:39:29 UTC) #7
no sievers
On 2016/03/02 01:39:29, Ken Russell wrote: > Doesn't this CL also have the implication that ...
4 years, 9 months ago (2016-03-09 21:49:07 UTC) #8
Ken Russell (switch to Gerrit)
On 2016/03/09 21:49:07, sievers wrote: > On 2016/03/02 01:39:29, Ken Russell wrote: > > Doesn't ...
4 years, 9 months ago (2016-03-10 01:47:08 UTC) #9
Ken Russell (switch to Gerrit)
On 2016/03/10 01:47:08, Ken Russell wrote: > On 2016/03/09 21:49:07, sievers wrote: > > On ...
4 years, 9 months ago (2016-03-14 21:56:19 UTC) #10
no sievers
On 2016/03/14 21:56:19, Ken Russell wrote: > On 2016/03/10 01:47:08, Ken Russell wrote: > > ...
4 years, 9 months ago (2016-03-15 23:20:19 UTC) #11
Ken Russell (switch to Gerrit)
On 2016/03/15 23:20:19, sievers (slow) wrote: > On 2016/03/14 21:56:19, Ken Russell wrote: > > ...
4 years, 9 months ago (2016-03-16 00:51:19 UTC) #12
no sievers
On 2016/03/16 00:51:19, Ken Russell wrote: > On 2016/03/15 23:20:19, sievers (slow) wrote: > > ...
4 years, 9 months ago (2016-03-18 21:54:36 UTC) #13
Ken Russell (switch to Gerrit)
On 2016/03/18 21:54:36, sievers wrote: > On 2016/03/16 00:51:19, Ken Russell wrote: > > On ...
4 years, 9 months ago (2016-03-19 00:52:05 UTC) #14
no sievers
I wonder if it has to do with the fact that windows uses the 'exit_on_context_lost' ...
4 years, 9 months ago (2016-03-21 17:37:56 UTC) #15
no sievers
On 2016/03/21 17:37:56, sievers wrote: > I wonder if it has to do with the ...
4 years, 9 months ago (2016-03-21 18:28:50 UTC) #16
no sievers
https://codereview.chromium.org/1747283003/diff/60001/content/common/gpu/gpu_command_buffer_stub.cc File content/common/gpu/gpu_command_buffer_stub.cc (right): https://codereview.chromium.org/1747283003/diff/60001/content/common/gpu/gpu_command_buffer_stub.cc#newcode732 content/common/gpu/gpu_command_buffer_stub.cc:732: // shutdown, so make sure it treats it seriously ...
4 years, 9 months ago (2016-03-21 18:31:15 UTC) #17
Ken Russell (switch to Gerrit)
Excellent. Thank you for persisting with this fix. LGTM https://codereview.chromium.org/1747283003/diff/60001/content/common/gpu/gpu_command_buffer_stub.cc File content/common/gpu/gpu_command_buffer_stub.cc (right): https://codereview.chromium.org/1747283003/diff/60001/content/common/gpu/gpu_command_buffer_stub.cc#newcode732 content/common/gpu/gpu_command_buffer_stub.cc:732: ...
4 years, 9 months ago (2016-03-21 23:53:01 UTC) #18
no sievers
On 2016/03/21 23:53:01, Ken Russell wrote: > Tested by > doing the following steps repeatedly: ...
4 years, 9 months ago (2016-03-22 00:13:00 UTC) #19
Ken Russell (switch to Gerrit)
On 2016/03/22 00:13:00, sievers wrote: > On 2016/03/21 23:53:01, Ken Russell wrote: > > Tested ...
4 years, 9 months ago (2016-03-22 00:15:18 UTC) #20
no sievers
On 2016/03/22 00:15:18, Ken Russell wrote: > On 2016/03/22 00:13:00, sievers wrote: > > On ...
4 years, 9 months ago (2016-03-22 20:03:18 UTC) #21
Ken Russell (switch to Gerrit)
The most recent patch set doesn't bring up the "Rats!" infobar on Windows as it ...
4 years, 8 months ago (2016-03-28 22:00:38 UTC) #22
Ken Russell (switch to Gerrit)
On 2016/03/28 22:00:38, Ken Russell wrote: > The most recent patch set doesn't bring up ...
4 years, 8 months ago (2016-03-28 22:09:59 UTC) #23
Ken Russell (switch to Gerrit)
On 2016/03/28 22:09:59, Ken Russell wrote: > On 2016/03/28 22:00:38, Ken Russell wrote: > > ...
4 years, 8 months ago (2016-03-28 22:12:21 UTC) #24
no sievers
Sorry for the delay. Patch set 8 adds a bunch of logging around the domain ...
4 years, 8 months ago (2016-04-01 22:26:39 UTC) #25
no sievers
On 2016/04/01 22:26:39, sievers wrote: > Sorry for the delay. Patch set 8 adds a ...
4 years, 8 months ago (2016-04-04 19:20:46 UTC) #26
Ken Russell (switch to Gerrit)
On 2016/04/04 19:20:46, sievers wrote: > On 2016/04/01 22:26:39, sievers wrote: > > Sorry for ...
4 years, 8 months ago (2016-04-04 23:00:14 UTC) #27
no sievers
On 2016/04/04 23:00:14, Ken Russell wrote: > On 2016/04/04 19:20:46, sievers wrote: > > On ...
4 years, 8 months ago (2016-04-04 23:03:53 UTC) #28
Ken Russell (switch to Gerrit)
On 2016/04/04 23:03:53, sievers wrote: > On 2016/04/04 23:00:14, Ken Russell wrote: > > On ...
4 years, 8 months ago (2016-04-04 23:04:38 UTC) #29
no sievers
On 2016/04/04 23:04:38, Ken Russell wrote: > Thanks, please let me know what you find ...
4 years, 8 months ago (2016-04-07 20:23:50 UTC) #30
no sievers
> that often on Windows seems to be not recognized as 'guilty || unknown' In ...
4 years, 8 months ago (2016-04-07 20:26:23 UTC) #31
Ken Russell (switch to Gerrit)
Tested patch set 12 on Windows and it reliably brings up the infobar for stress ...
4 years, 8 months ago (2016-04-08 01:16:41 UTC) #36
Ken Russell (switch to Gerrit)
Reviewed the latest code -- looks good. Thanks again for persevering with this cleanup.
4 years, 8 months ago (2016-04-08 01:21:31 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1747283003/200002 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1747283003/200002
4 years, 8 months ago (2016-04-08 01:33:51 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/166160)
4 years, 8 months ago (2016-04-08 01:56:39 UTC) #41
Ken Russell (switch to Gerrit)
+esprehn for OWNERS review of WebFrameClient.h
4 years, 8 months ago (2016-04-08 02:16:35 UTC) #44
esprehn
lgtm https://codereview.chromium.org/1747283003/diff/200002/content/common/gpu/gpu_channel_manager.h File content/common/gpu/gpu_channel_manager.h (right): https://codereview.chromium.org/1747283003/diff/200002/content/common/gpu/gpu_channel_manager.h#newcode150 content/common/gpu/gpu_channel_manager.h:150: bool IsExitingForContextLost() { why isn't this override or ...
4 years, 8 months ago (2016-04-08 02:17:16 UTC) #45
Ken Russell (switch to Gerrit)
On 2016/04/08 02:17:16, esprehn wrote: > lgtm > > https://codereview.chromium.org/1747283003/diff/200002/content/common/gpu/gpu_channel_manager.h > File content/common/gpu/gpu_channel_manager.h (right): > ...
4 years, 8 months ago (2016-04-08 02:20:25 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1747283003/200002 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1747283003/200002
4 years, 8 months ago (2016-04-08 02:21:23 UTC) #48
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/166171)
4 years, 8 months ago (2016-04-08 02:36:33 UTC) #50
no sievers
On 2016/04/08 02:17:16, esprehn wrote: > lgtm > > https://codereview.chromium.org/1747283003/diff/200002/content/common/gpu/gpu_channel_manager.h > File content/common/gpu/gpu_channel_manager.h (right): > ...
4 years, 8 months ago (2016-04-08 17:12:36 UTC) #52
nasko
IPC LGTM.
4 years, 8 months ago (2016-04-08 17:16:56 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1747283003/250001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1747283003/250001
4 years, 8 months ago (2016-04-08 17:27:03 UTC) #56
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1747283003/250001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1747283003/250001
4 years, 8 months ago (2016-04-08 19:50:19 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1747283003/250001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1747283003/250001
4 years, 8 months ago (2016-04-08 19:58:37 UTC) #66
commit-bot: I haz the power
Committed patchset #14 (id:250001)
4 years, 8 months ago (2016-04-08 20:05:48 UTC) #68
commit-bot: I haz the power
4 years, 8 months ago (2016-04-08 20:07:11 UTC) #70
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/d2ef49671ee9db34151c5a3ca03e18a69560f669
Cr-Commit-Position: refs/heads/master@{#386180}

Powered by Google App Engine
This is Rietveld 408576698