New issue
Advanced search Search tips

Issue 857216 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 16
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 851488



Sign in to add a comment

Remove GpuClient dependency on ChildProcessHostImpl

Project Member Reported by moh...@chromium.org, Jun 27 2018

Issue description

This is needed to remove GpuClient dependency on content.

Currently, GpuClient[Impl] use ChildProcessHostImpl to generate a unique id and also to convert it to a tracing id. It doesn't seem necessary though, and GpuClient can probably generate its own unique id sequence separately from ChildProcessHostImpl.
 

Comment 1 by moh...@chromium.org, Jun 27 2018

Cc: -moh...@chromium.org
Owner: moh...@chromium.org
Status: Started (was: Available)
So, my original understanding was wrong in the sense that the GpuClient for a browser child process uses the same client id as its corresponding ChildProcessHostImpl, so it cannot be generated by the GpuClient itself.

Short term, we can still pass in the id to the GpuClient and make GpuClient::Create() function a standalone factory function, so that Ash clients continue to use the same id namespace as renderers and other browser child processes.

Long term, it seems that the unique id generation should happen in //content/viz/host/ where the GpuHost implementation is moving to, in order to make it easier for all gpu clients use a single id namespace. Then we'd need a way to sync/map browser child process and GpuClient ids in content.

Comment 3 Deleted

And, for the tracing id, short term, we can either pass in the tracing id along with the client id, or replicate its calculation in the GpuClient code. I'd prefer the former approach.

CL under review: https://crrev.com/c/1126488.
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/694382d165b59085e7893d2571feb5116f2f2dc6

commit 694382d165b59085e7893d2571feb5116f2f2dc6
Author: Mohsen Izadi <mohsen@chromium.org>
Date: Tue Jul 10 19:21:32 2018

Remove GpuClientImpl dependecny on ChildProcessHostImpl

This is needed to remove GpuClient dependecny on content.
Implementation of GpuClient::Create() still depends on
ChildProcessHostImpl. That's not an issue as it would remain in content
even after GpuClientImpl is moved to //components/viz/host/, probably in
form of a standalone function.

BUG= 857216 
TEST=none

Change-Id: I725a1c13d60417c5b4da636d9789f7b989e9a42f
Reviewed-on: https://chromium-review.googlesource.com/1126488
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Mohsen Izadi <mohsen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#573853}
[modify] https://crrev.com/694382d165b59085e7893d2571feb5116f2f2dc6/content/browser/gpu/gpu_client_impl.cc
[modify] https://crrev.com/694382d165b59085e7893d2571feb5116f2f2dc6/content/browser/gpu/gpu_client_impl.h
[modify] https://crrev.com/694382d165b59085e7893d2571feb5116f2f2dc6/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/694382d165b59085e7893d2571feb5116f2f2dc6/content/browser/service_manager/common_browser_interfaces.cc

Status: Fixed (was: Started)

Sign in to add a comment