|
|
DescriptionEnable GRC
(landing for zhenw@; original CL: https://codereview.chromium.org/2943563002)
This CL enables GlobalResourceCoordinator by default. Several projects are
depending on GRC service. For features using GRC, they should be guarded
by their own feature flags and run their own finch trials.
R=zhenw@chromium.org,lpy@chromium.org
TBR=oysteine@chromium.org
BUG=691886
Patch Set 1 #
Total comments: 1
Patch Set 2 : Modify check #Patch Set 3 : Rebase #
Total comments: 4
Patch Set 4 : Fix service name comparison #Patch Set 5 : Revert to original CL #Patch Set 6 : Remove NOTREACHED macro #Patch Set 7 : Add resource_coordinator dep #Patch Set 8 : Rebase #Patch Set 9 : Initialize dummy mojo interface #Patch Set 10 : Test disabling unused code #Patch Set 11 : Rebase #Patch Set 12 : Register mojo interface on correct thread #Patch Set 13 : Disable process coordination unit #Patch Set 14 : Disable cpu profiling for non-linux platforms #Patch Set 15 : Add more platform guards #Patch Set 16 : Rebase #Patch Set 17 : Add more platform-specific guards #Patch Set 18 : Add more platform-specific guards #Patch Set 19 : Rebase #Patch Set 20 : Rebase #Patch Set 21 : Improve check for creating FrameResourceCoordinator #Patch Set 22 : Change FrameResourceCoordinator creation semantics #Patch Set 23 : Fix syntax error #Patch Set 24 : Disable FrameResourceCoordinator #Patch Set 25 : Add content_plugin to registry #Patch Set 26 : Rebase #Patch Set 27 : Remove CPU profiling from ProcessCoordinationUnitImpl #Patch Set 28 : Remove unused code #Patch Set 29 : Disable resource_coordinator #Patch Set 30 : Only enable the resource_coordinator service #Patch Set 31 : Add ResourceCoordinatorWebContentsObserver back (slowly) #Patch Set 32 : Allow tab interface to be created #Patch Set 33 : Add back service callbacks #Patch Set 34 : Add back service callbacks #Patch Set 35 : Add frame resource coordinator interface back #Patch Set 36 : Add process resource coordinator interface back #Patch Set 37 : Rebase #Patch Set 38 : Rebase #Patch Set 39 : Add dependent CL and rebase #Patch Set 40 : Fix browser manifest #Patch Set 41 : Remove newline #Patch Set 42 : Rebase #Messages
Total messages: 148 (131 generated)
Description was changed from ========== Add ServiceManager check Enable GRC This CL enables GlobalResourceCoordinator by default. Several projects are depending on GRC service. For features using GRC, they should be guarded by their own feature flags and run their own finch trials. BUG=691886 patch from issue 2943563002 at patchset 1 (http://crrev.com/2943563002#ps1) ========== to ========== Enable GRC (landing for zhenw@; original CL: https://codereview.chromium.org/2943563002) This CL enables GlobalResourceCoordinator by default. Several projects are depending on GRC service. For features using GRC, they should be guarded by their own feature flags and run their own finch trials. R=zhenw@chromium.org,lpy@chromium.org TBR=oysteine@chromium.org BUG=691886 ==========
matthalp@google.com changed reviewers: + lpy@chromium.org, oysteine@chromium.org, zhenw@chromium.org
matthalp@google.com changed required reviewers: + zhenw@chromium.org
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
lgtm Does it mean IsEnable always returns false for unittest? Why did it fail before?
zhenw@google.com changed reviewers: + zhenw@google.com
Are currently failing ones still related to enabling GRC? https://codereview.chromium.org/2958133003/diff/1/chrome/browser/resource_coo... File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): https://codereview.chromium.org/2958133003/diff/1/chrome/browser/resource_coo... chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:80: content::ServiceManagerConnection* service_manager_connection = content::ServiceManagerConnection::GetForProcess(); nit: the line is too long.
On 2017/06/28 at 18:06:57, zhenw wrote: > Are currently failing ones still related to enabling GRC? > > https://codereview.chromium.org/2958133003/diff/1/chrome/browser/resource_coo... > File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): > > https://codereview.chromium.org/2958133003/diff/1/chrome/browser/resource_coo... > chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:80: content::ServiceManagerConnection* service_manager_connection = content::ServiceManagerConnection::GetForProcess(); > nit: the line is too long. The tests are failing back the ResourceCoordinatorWebContentsObserver is being created when the resource_coordinator service has not been created. The |content::ServiceManagerConnection::GetForProcess()| check I added is not conservative enough as the |service_manager| can be created without the |resource_coordinator| service being there.
The CQ bit was checked by matthalp@google.com to run a CQ dry run
matthalp@google.com changed reviewers: - zhenw@google.com
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_compile_dbg_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_comp...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
PTAL: I found a simple way to check if the content_browser service is active. This is the service that the ResourceCoordinatorWebContentsObserver is meant to live in, so I think it's a reasonable check. If you two agree, we can confirm with rockot.
zhenw@google.com changed reviewers: + zhenw@google.com
https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:84: content::mojom::kBrowserServiceName && Just to confirm my understanding. So this indicates that the child identity name is empty string in the test? https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... Are there other cases where a WebContents can be associated with other types of services? https://cs.chromium.org/chromium/src/out/Debug/gen/content/public/common/serv...
https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:84: content::mojom::kBrowserServiceName && On 2017/06/29 at 16:28:30, zhenw wrote: > Just to confirm my understanding. So this indicates that the child identity name is empty string in the test? > https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... Yes. The mocks leave this as an empty string for now. > Are there other cases where a WebContents can be associated with other types of services? > https://cs.chromium.org/chromium/src/out/Debug/gen/content/public/common/serv... The check is not checking what service the WebContents is in. It is checking to make sure that the ResourceCoordinatorWebContents observer is being created in the content_browser service. Currently, content_browser is the only service that utilizes resource_coordinator service's capabilities: https://cs.chromium.org/chromium/src/content/public/app/mojo/content_browser_...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
zhenw@chromium.org changed reviewers: + rockot@chromium.org
lgtm +rockot https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.h (right): https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.h:24: static bool ShouldCreate(content::WebContents* web_contents); nit: The name does not sound correct to me in grammar sense. I see people usually use ShouldCreateXYZ instead of ShouldCreate. In this case, maybe ShouldBeCreated is better?
https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:84: content::mojom::kBrowserServiceName && On 2017/06/29 at 16:35:08, matthalp wrote: > On 2017/06/29 at 16:28:30, zhenw wrote: > > Just to confirm my understanding. So this indicates that the child identity name is empty string in the test? > > https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... > > Yes. The mocks leave this as an empty string for now. > > > Are there other cases where a WebContents can be associated with other types of services? > > https://cs.chromium.org/chromium/src/out/Debug/gen/content/public/common/serv... > > The check is not checking what service the WebContents is in. It is checking to make sure that the ResourceCoordinatorWebContents observer is being created in the content_browser service. Currently, content_browser is the only service that utilizes resource_coordinator service's capabilities: https://cs.chromium.org/chromium/src/content/public/app/mojo/content_browser_... This is not correct -- a child's identity is never content_browser, so this condition will always evaluate to false (if you have a case where it doesn't, please file a bug, that's definitely wrong.) You are thus effectively never creating this WebContentsObserver, which may explain why you don't see test failures despite not fixing the MockRenderProcessHost behavior. Furthermore RPH::GetChildIdentity must always return a content_renderer identity, so the check is redundant anyway.
On 2017/06/29 at 16:51:24, rockot wrote: > https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... > File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): > > https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... > chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:84: content::mojom::kBrowserServiceName && > On 2017/06/29 at 16:35:08, matthalp wrote: > > On 2017/06/29 at 16:28:30, zhenw wrote: > > > Just to confirm my understanding. So this indicates that the child identity name is empty string in the test? > > > https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... > > > > Yes. The mocks leave this as an empty string for now. > > > > > Are there other cases where a WebContents can be associated with other types of services? > > > https://cs.chromium.org/chromium/src/out/Debug/gen/content/public/common/serv... > > > > The check is not checking what service the WebContents is in. It is checking to make sure that the ResourceCoordinatorWebContents observer is being created in the content_browser service. Currently, content_browser is the only service that utilizes resource_coordinator service's capabilities: https://cs.chromium.org/chromium/src/content/public/app/mojo/content_browser_... > > This is not correct -- a child's identity is never content_browser, so this condition will always evaluate to false (if you have a case where it doesn't, please file a bug, that's definitely wrong.) You are thus effectively never creating this WebContentsObserver, which may explain why you don't see test failures despite not fixing the MockRenderProcessHost behavior. > > Furthermore RPH::GetChildIdentity must always return a content_renderer identity, so the check is redundant anyway. My mistake, I had kBrowserServiceName instead of kRendererService name in the check. That has been fixed. Sorry about that. Maybe this is not the desired behavior but the MockRenderProcessHost::GetIdentity does not return a content_renderer identity. It is empty: https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2017/06/29 at 17:14:20, matthalp wrote: > On 2017/06/29 at 16:51:24, rockot wrote: > > https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... > > File chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc (right): > > > > https://codereview.chromium.org/2958133003/diff/40001/chrome/browser/resource... > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_observer.cc:84: content::mojom::kBrowserServiceName && > > On 2017/06/29 at 16:35:08, matthalp wrote: > > > On 2017/06/29 at 16:28:30, zhenw wrote: > > > > Just to confirm my understanding. So this indicates that the child identity name is empty string in the test? > > > > https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... > > > > > > Yes. The mocks leave this as an empty string for now. > > > > > > > Are there other cases where a WebContents can be associated with other types of services? > > > > https://cs.chromium.org/chromium/src/out/Debug/gen/content/public/common/serv... > > > > > > The check is not checking what service the WebContents is in. It is checking to make sure that the ResourceCoordinatorWebContents observer is being created in the content_browser service. Currently, content_browser is the only service that utilizes resource_coordinator service's capabilities: https://cs.chromium.org/chromium/src/content/public/app/mojo/content_browser_... > > > > This is not correct -- a child's identity is never content_browser, so this condition will always evaluate to false (if you have a case where it doesn't, please file a bug, that's definitely wrong.) You are thus effectively never creating this WebContentsObserver, which may explain why you don't see test failures despite not fixing the MockRenderProcessHost behavior. > > > > Furthermore RPH::GetChildIdentity must always return a content_renderer identity, so the check is redundant anyway. > > My mistake, I had kBrowserServiceName instead of kRendererService name in the check. That has been fixed. Sorry about that. > > Maybe this is not the desired behavior but the MockRenderProcessHost::GetIdentity does not return a content_renderer identity. It is empty: > https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... I see. OK, but I still don't think this is a great idea. Now you have a weird subtle dependency on a detail of MockRPH that nobody can change without fixing your code. What's wrong with the solution we discussed yesterday?
I agree that this introduces an implicit dependency on the MockRPH, but just wanted to gauge this before the other approach. The advantage here is that we don't run the code at all. It's useless computation and, while not the case now, someone's future code here has to be extra careful about inducing side-effects like what was run into here. Nonetheless I switch to the empty CoordinationUnitPtr for now and revisit this if and when it becomes an issue. On Thu, Jun 29, 2017 at 10:26 AM, <rockot@chromium.org> wrote: > On 2017/06/29 at 17:14:20, matthalp wrote: > > On 2017/06/29 at 16:51:24, rockot wrote: > > > > https://codereview.chromium.org/2958133003/diff/40001/ > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > observer.cc > > > File > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > observer.cc > (right): > > > > > > > https://codereview.chromium.org/2958133003/diff/40001/ > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > observer.cc#newcode84 > > > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > observer.cc:84: > content::mojom::kBrowserServiceName && > > > On 2017/06/29 at 16:35:08, matthalp wrote: > > > > On 2017/06/29 at 16:28:30, zhenw wrote: > > > > > Just to confirm my understanding. So this indicates that the child > identity name is empty string in the test? > > > > > > https://cs.chromium.org/chromium/src/content/public/ > test/mock_render_process_host.h?l=184 > > > > > > > > Yes. The mocks leave this as an empty string for now. > > > > > > > > > Are there other cases where a WebContents can be associated with > other > types of services? > > > > > > https://cs.chromium.org/chromium/src/out/Debug/gen/ > content/public/common/service_names.mojom.cc > > > > > > > > The check is not checking what service the WebContents is in. It is > checking to make sure that the ResourceCoordinatorWebContents observer is > being > created in the content_browser service. Currently, content_browser is the > only > service that utilizes resource_coordinator service's capabilities: > https://cs.chromium.org/chromium/src/content/public/ > app/mojo/content_browser_manifest.json?q=content_browser_ma&l=86 > > > > > > This is not correct -- a child's identity is never content_browser, so > this > condition will always evaluate to false (if you have a case where it > doesn't, > please file a bug, that's definitely wrong.) You are thus effectively never > creating this WebContentsObserver, which may explain why you don't see test > failures despite not fixing the MockRenderProcessHost behavior. > > > > > > Furthermore RPH::GetChildIdentity must always return a content_renderer > identity, so the check is redundant anyway. > > > > My mistake, I had kBrowserServiceName instead of kRendererService name > in the > check. That has been fixed. Sorry about that. > > > > Maybe this is not the desired behavior but the > MockRenderProcessHost::GetIdentity does not return a content_renderer > identity. > It is empty: > > > https://cs.chromium.org/chromium/src/content/public/ > test/mock_render_process_host.h?dr=C&q=mock_render_process_host&l=184 > > I see. OK, but I still don't think this is a great idea. Now you have a > weird > subtle dependency on a detail of MockRPH that nobody can change without > fixing > your code. What's wrong with the solution we discussed yesterday? > > > https://codereview.chromium.org/2958133003/ > -- Matthew Halpern Intern, Chrome Speed Infrastructure -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
On 2017/06/29 at 17:33:57, chromium-reviews wrote: > I agree that this introduces an implicit dependency on the MockRPH, but > just wanted to gauge this before the other approach. The advantage here is > that we don't run the code at all. It's useless computation and, while not > the case now, someone's future code here has to be extra careful about > inducing side-effects like what was run into here. > > Nonetheless I switch to the empty CoordinationUnitPtr for now and revisit > this if and when it becomes an issue. > > On Thu, Jun 29, 2017 at 10:26 AM, <rockot@chromium.org> wrote: > > > On 2017/06/29 at 17:14:20, matthalp wrote: > > > On 2017/06/29 at 16:51:24, rockot wrote: > > > > > > https://codereview.chromium.org/2958133003/diff/40001/ > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > observer.cc > > > > File > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > observer.cc > > (right): > > > > > > > > > > https://codereview.chromium.org/2958133003/diff/40001/ > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > observer.cc#newcode84 > > > > > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > observer.cc:84: > > content::mojom::kBrowserServiceName && > > > > On 2017/06/29 at 16:35:08, matthalp wrote: > > > > > On 2017/06/29 at 16:28:30, zhenw wrote: > > > > > > Just to confirm my understanding. So this indicates that the child > > identity name is empty string in the test? > > > > > > > > https://cs.chromium.org/chromium/src/content/public/ > > test/mock_render_process_host.h?l=184 > > > > > > > > > > Yes. The mocks leave this as an empty string for now. > > > > > > > > > > > Are there other cases where a WebContents can be associated with > > other > > types of services? > > > > > > > > https://cs.chromium.org/chromium/src/out/Debug/gen/ > > content/public/common/service_names.mojom.cc > > > > > > > > > > The check is not checking what service the WebContents is in. It is > > checking to make sure that the ResourceCoordinatorWebContents observer is > > being > > created in the content_browser service. Currently, content_browser is the > > only > > service that utilizes resource_coordinator service's capabilities: > > https://cs.chromium.org/chromium/src/content/public/ > > app/mojo/content_browser_manifest.json?q=content_browser_ma&l=86 > > > > > > > > This is not correct -- a child's identity is never content_browser, so > > this > > condition will always evaluate to false (if you have a case where it > > doesn't, > > please file a bug, that's definitely wrong.) You are thus effectively never > > creating this WebContentsObserver, which may explain why you don't see test > > failures despite not fixing the MockRenderProcessHost behavior. > > > > > > > > Furthermore RPH::GetChildIdentity must always return a content_renderer > > identity, so the check is redundant anyway. > > > > > > My mistake, I had kBrowserServiceName instead of kRendererService name > > in the > > check. That has been fixed. Sorry about that. > > > > > > Maybe this is not the desired behavior but the > > MockRenderProcessHost::GetIdentity does not return a content_renderer > > identity. > > It is empty: > > > > > https://cs.chromium.org/chromium/src/content/public/ > > test/mock_render_process_host.h?dr=C&q=mock_render_process_host&l=184 > > > > I see. OK, but I still don't think this is a great idea. Now you have a > > weird > > subtle dependency on a detail of MockRPH that nobody can change without > > fixing > > your code. What's wrong with the solution we discussed yesterday? > > > > > > https://codereview.chromium.org/2958133003/ > > > > > > -- > > Matthew Halpern > Intern, Chrome Speed Infrastructure > > -- > You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. > To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org. > On second glance, it does not seem like the empty interface pointer approach will work due to software layering issues. All of the resource_coordinator service code is in services/* while the MockRenderProcessHost is in content/*. As a reminder, the delinquent code is here: https://cs.chromium.org/chromium/src/content/public/test/mock_render_process_... which is called from: https://cs.chromium.org/chromium/src/chrome/browser/resource_coordinator/reso... What are your thoughts?
I'm not understanding something: what's wrong with content depending on the resource_coordinator client library? Isn't that all that's required here? On Thu, Jun 29, 2017 at 11:30 AM, <matthalp@google.com> wrote: > On 2017/06/29 at 17:33:57, chromium-reviews wrote: > > I agree that this introduces an implicit dependency on the MockRPH, but > > just wanted to gauge this before the other approach. The advantage here > is > > that we don't run the code at all. It's useless computation and, while > not > > the case now, someone's future code here has to be extra careful about > > inducing side-effects like what was run into here. > > > > Nonetheless I switch to the empty CoordinationUnitPtr for now and revisit > > this if and when it becomes an issue. > > > > On Thu, Jun 29, 2017 at 10:26 AM, <rockot@chromium.org> wrote: > > > > > On 2017/06/29 at 17:14:20, matthalp wrote: > > > > On 2017/06/29 at 16:51:24, rockot wrote: > > > > > > > > https://codereview.chromium.org/2958133003/diff/40001/ > > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > > observer.cc > > > > > File > > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > > observer.cc > > > (right): > > > > > > > > > > > > > https://codereview.chromium.org/2958133003/diff/40001/ > > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > > observer.cc#newcode84 > > > > > > > > chrome/browser/resource_coordinator/resource_coordinator_web_contents_ > > > observer.cc:84: > > > content::mojom::kBrowserServiceName && > > > > > On 2017/06/29 at 16:35:08, matthalp wrote: > > > > > > On 2017/06/29 at 16:28:30, zhenw wrote: > > > > > > > Just to confirm my understanding. So this indicates that the > child > > > identity name is empty string in the test? > > > > > > > > > > https://cs.chromium.org/chromium/src/content/public/ > > > test/mock_render_process_host.h?l=184 > > > > > > > > > > > > Yes. The mocks leave this as an empty string for now. > > > > > > > > > > > > > Are there other cases where a WebContents can be associated > with > > > other > > > types of services? > > > > > > > > > > https://cs.chromium.org/chromium/src/out/Debug/gen/ > > > content/public/common/service_names.mojom.cc > > > > > > > > > > > > The check is not checking what service the WebContents is in. It > is > > > checking to make sure that the ResourceCoordinatorWebContents observer > is > > > being > > > created in the content_browser service. Currently, content_browser is > the > > > only > > > service that utilizes resource_coordinator service's capabilities: > > > https://cs.chromium.org/chromium/src/content/public/ > > > app/mojo/content_browser_manifest.json?q=content_browser_ma&l=86 > > > > > > > > > > This is not correct -- a child's identity is never > content_browser, so > > > this > > > condition will always evaluate to false (if you have a case where it > > > doesn't, > > > please file a bug, that's definitely wrong.) You are thus effectively > never > > > creating this WebContentsObserver, which may explain why you don't see > test > > > failures despite not fixing the MockRenderProcessHost behavior. > > > > > > > > > > Furthermore RPH::GetChildIdentity must always return a > content_renderer > > > identity, so the check is redundant anyway. > > > > > > > > My mistake, I had kBrowserServiceName instead of kRendererService > name > > > in the > > > check. That has been fixed. Sorry about that. > > > > > > > > Maybe this is not the desired behavior but the > > > MockRenderProcessHost::GetIdentity does not return a content_renderer > > > identity. > > > It is empty: > > > > > > > https://cs.chromium.org/chromium/src/content/public/ > > > test/mock_render_process_host.h?dr=C&q=mock_render_process_host&l=184 > > > > > > I see. OK, but I still don't think this is a great idea. Now you have a > > > weird > > > subtle dependency on a detail of MockRPH that nobody can change without > > > fixing > > > your code. What's wrong with the solution we discussed yesterday? > > > > > > > > > https://codereview.chromium.org/2958133003/ > > > > > > > > > > > -- > > > > Matthew Halpern > > Intern, Chrome Speed Infrastructure > > > > -- > > You received this message because you are subscribed to the Google Groups > "Chromium-reviews" group. > > To unsubscribe from this group and stop receiving emails from it, send an > email to chromium-reviews+unsubscribe@chromium.org. > > > > On second glance, it does not seem like the empty interface pointer > approach > will work due to software layering issues. All of the resource_coordinator > service code is in services/* while the MockRenderProcessHost is in > content/*. > > As a reminder, the delinquent code is here: > https://cs.chromium.org/chromium/src/content/public/ > test/mock_render_process_host.cc?type=cs&l=349 > which is called from: > https://cs.chromium.org/chromium/src/chrome/browser/ > resource_coordinator/resource_coordinator_web_contents_ > observer.cc?type=cs&q=ResourceCoordinatorWebCon&l=108 > > What are your thoughts? > > https://codereview.chromium.org/2958133003/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
rockot: (1) Adding services/* code to content/* was not a problem. Could you check that the changes to MockRenderProcessHost::GetProcessResourceCoordinator are consistent with what you were thinking? (2) I forgot to mention in our meeting, but it seems like there are cases where content::ServiceManagerConnection::GetForProcess returns a nullptr. I'm not too familiar with the LazyInstance class, but I was surprised that nullptr was returned. This is really where much of the unittest breakage is occuring from. Are you okay with the nullptr check in ResourceCoordinatorWebContentsObserver::IsEnabled? It does have a hackiness associated with it. Once you feel comfortable with what is going on here, I'll add a reviewer for the changes to MockRenderProcessHost, etc. I just want to get us in sync first.
lgtm
On 2017/06/30 at 22:37:11, Ken Rockot(use gerrit already) wrote: > lgtm (All seems fine to me)
Thanks, Matt! lgtm stamp
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: 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/bui...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?)) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_TIMED_OUT, build has not started yet; builder either lacks capacity or does not exist (misspelled?))
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: 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/bui...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_a...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm6...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: cast_shell_linux on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linu...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by matthalp@google.com
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: 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_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
matthalp@google.com changed reviewers: + nasko@chromium.org - zhenw@google.com
The CQ bit was checked by matthalp@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...) |