New issue
Advanced search Search tips

Issue 718652 link

Starred by 4 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Task



Sign in to add a comment

Flatten service manifest capabilities

Project Member Reported by roc...@chromium.org, May 4 2017

Issue description

Cc: oksamyt@chromium.org
Components: Internals>Services>ServiceManager
Labels: -OS-Linux
The original thread is a bit out of date. A more current version of this proposal is here: https://docs.google.com/document/d/1e0qqv3ZGQYskE4XhtuGrYJeThjYXu8xozl7zIlwjSD0/edit#

Labels: mojo-improvements
Labels: -mojo-improvements Mojoimprovements
Owner: oksamyt@chromium.org
Hello Ken,
How would you estimate the complexity of this work?
Thanks!
The hard part here is going to be addressing redundancy between frame interface providers and other (e.g. worker context) interface providers, and the fact that there's quite a large volume of existing code relying on the ad hoc utilities we have in place today.

While the technical work may be fairly straightforward, I'd say this is reasonably high organizational complexity due to the sheer number of independent components that will be affected by the work.
Status: Started (was: Assigned)
Labels: ServiceManagerImprovification
Labels: -Pri-3 Pri-2
Labels: -Pri-2 Pri-3
Labels: -Type-Bug -Pri-3 Pri-1 Type-Task
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 7

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

commit 8b88e5718f7c5fcfef7829944761d17029ba41ef
Author: Oksana Zhuravlova <oksamyt@chromium.org>
Date: Mon Jan 07 21:54:00 2019

Add DocumentInterfaceBroker mojom interface

This change adds a new mojom interface DocumentInterfaceBroker and its
implementation in RenderFrameHostImpl. RenderFrameImpl and
LocalFrameClientImpl now store content and blink versions of
pointers to this new interface and add methods that make it available
to other classes.

Bug: 718652
Change-Id: Iad2030a51e7ee2ca6443723f3758d9e53d1f9e9a
Reviewed-on: https://chromium-review.googlesource.com/c/1285324
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Chrome Cunningham <chcunningham@chromium.org>
Reviewed-by: Rebekah Potter <rbpotter@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Ken Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#620490}
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/components/plugins/renderer/webview_plugin.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/components/printing/renderer/print_render_frame_helper.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/bad_message.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/frame_tree.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/frame_tree.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/frame_tree_node_blame_context_unittest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/frame_tree_unittest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/navigation_controller_impl_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/render_frame_host_impl_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/render_frame_host_manager_unittest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/render_frame_message_filter.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/frame_host/render_frame_message_filter.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/navigation_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/portal/portal.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/renderer_host/render_process_host_unittest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/renderer_host/render_view_host_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/security_exploit_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/browser/webauth/webauth_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/common/BUILD.gn
[add] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/common/document_scoped_interface_bundle.mojom
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/common/frame.mojom
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/common/frame_messages.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/common/renderer.mojom
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/renderer/render_frame.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/test/mock_render_thread.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/test/mock_render_thread.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/test/navigation_simulator.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/test/navigation_simulator.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/public/test/render_view_test.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/renderer/render_frame_impl.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/renderer/render_view_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/test/did_commit_provisional_load_interceptor.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/test/did_commit_provisional_load_interceptor.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/test/test_render_frame.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/test/test_render_frame.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/test/test_render_frame_host.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/content/test/test_render_frame_host.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/extensions/renderer/DEPS
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/extensions/renderer/scoped_web_frame.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/media/blink/DEPS
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/media/blink/webmediaplayer_impl_unittest.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/public/mojom/BUILD.gn
[add] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/public/mojom/frame/document_interface_broker.mojom
[add] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/public/mojom/frame/frame_host_test_interface.mojom
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/public/web/web_local_frame.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/public/web/web_remote_frame.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/local_frame_client_impl.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/web_frame_test.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/web_remote_frame_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/web_remote_frame_impl.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/web_view_test.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/exported/worker_shadow_page.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/frame/local_frame.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/frame/local_frame.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/frame/local_frame_client.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/frame/web_local_frame_impl.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/loader/empty_clients.cc
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/third_party/blink/renderer/core/loader/empty_clients.h
[modify] https://crrev.com/8b88e5718f7c5fcfef7829944761d17029ba41ef/tools/metrics/histograms/enums.xml

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 11

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

commit 9a9ddbda1675c68ec4573517084804cc5e9b5236
Author: Oksana Zhuravlova <oksamyt@chromium.org>
Date: Fri Jan 11 17:31:13 2019

Output FrameHostMsg_CreateChildFrame parameters  -> reply struct

This change moves the remaining output FrameHostMsg_CreateChildFrame parameters
into the FrameHostMsg_CreateChildFrame_Params_Reply struct.

Bug: 718652
Change-Id: I50678321dc49e2c449452292decf71dae8b90db3
Reviewed-on: https://chromium-review.googlesource.com/c/1405878
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622048}
[modify] https://crrev.com/9a9ddbda1675c68ec4573517084804cc5e9b5236/content/browser/frame_host/render_frame_message_filter.cc
[modify] https://crrev.com/9a9ddbda1675c68ec4573517084804cc5e9b5236/content/browser/frame_host/render_frame_message_filter.h
[modify] https://crrev.com/9a9ddbda1675c68ec4573517084804cc5e9b5236/content/common/frame_messages.h
[modify] https://crrev.com/9a9ddbda1675c68ec4573517084804cc5e9b5236/content/public/test/mock_render_thread.cc
[modify] https://crrev.com/9a9ddbda1675c68ec4573517084804cc5e9b5236/content/public/test/mock_render_thread.h
[modify] https://crrev.com/9a9ddbda1675c68ec4573517084804cc5e9b5236/content/renderer/render_frame_impl.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 14

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

commit 1012c81a90bcfa380b897c96786d2a85e5d4e2b7
Author: Oksana Zhuravlova <oksamyt@chromium.org>
Date: Mon Jan 14 21:48:33 2019

Revert "Output FrameHostMsg_CreateChildFrame parameters  -> reply struct"

This reverts commit 9a9ddbda1675c68ec4573517084804cc5e9b5236.

Reason for revert: it's unclear what causes the issue in  https://crbug.com/921159 , so reverting to see if it reproduces without this change.

Original change's description:
> Output FrameHostMsg_CreateChildFrame parameters  -> reply struct
> 
> This change moves the remaining output FrameHostMsg_CreateChildFrame parameters
> into the FrameHostMsg_CreateChildFrame_Params_Reply struct.
> 
> Bug: 718652
> Change-Id: I50678321dc49e2c449452292decf71dae8b90db3
> Reviewed-on: https://chromium-review.googlesource.com/c/1405878
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#622048}

TBR=dgozman@chromium.org,dcheng@chromium.org,oksamyt@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 718652
Change-Id: Iba55d37040a75730eb77714b7aa93ffabd9ae9e5
Reviewed-on: https://chromium-review.googlesource.com/c/1409701
Reviewed-by: Oksana Zhuravlova <oksamyt@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622615}
[modify] https://crrev.com/1012c81a90bcfa380b897c96786d2a85e5d4e2b7/content/browser/frame_host/render_frame_message_filter.cc
[modify] https://crrev.com/1012c81a90bcfa380b897c96786d2a85e5d4e2b7/content/browser/frame_host/render_frame_message_filter.h
[modify] https://crrev.com/1012c81a90bcfa380b897c96786d2a85e5d4e2b7/content/common/frame_messages.h
[modify] https://crrev.com/1012c81a90bcfa380b897c96786d2a85e5d4e2b7/content/public/test/mock_render_thread.cc
[modify] https://crrev.com/1012c81a90bcfa380b897c96786d2a85e5d4e2b7/content/public/test/mock_render_thread.h
[modify] https://crrev.com/1012c81a90bcfa380b897c96786d2a85e5d4e2b7/content/renderer/render_frame_impl.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 17 (6 days ago)

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

commit b8adf6b390d23707ba4667eb3a2c6a7efc09afc8
Author: Oksana Zhuravlova <oksamyt@chromium.org>
Date: Thu Jan 17 19:40:11 2019

Eliminate WebGlobalObjectReusePolicy from WebLocalFrameClient

This change removes the WebGlobalObjectReusePolicy parameter from
WebLocalFrameClient::DidCommitProvisionalLoad(). RenderFrameImpl now
checks the validity of the blink handle instead.

Bug: 718652
Change-Id: Ifa535c873699d72a2b38c569e16b62514f19a0eb
Reviewed-on: https://chromium-review.googlesource.com/c/1401048
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623802}
[modify] https://crrev.com/b8adf6b390d23707ba4667eb3a2c6a7efc09afc8/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/b8adf6b390d23707ba4667eb3a2c6a7efc09afc8/content/renderer/render_frame_impl.h
[modify] https://crrev.com/b8adf6b390d23707ba4667eb3a2c6a7efc09afc8/content/renderer/render_frame_impl_browsertest.cc
[modify] https://crrev.com/b8adf6b390d23707ba4667eb3a2c6a7efc09afc8/third_party/blink/public/web/web_local_frame_client.h
[modify] https://crrev.com/b8adf6b390d23707ba4667eb3a2c6a7efc09afc8/third_party/blink/renderer/core/exported/local_frame_client_impl.cc
[modify] https://crrev.com/b8adf6b390d23707ba4667eb3a2c6a7efc09afc8/third_party/blink/renderer/core/exported/web_frame_test.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Jan 17 (6 days ago)

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

commit 79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8
Author: Oksana Zhuravlova <oksamyt@chromium.org>
Date: Thu Jan 17 22:48:19 2019

Reland "Output FrameHostMsg_CreateChildFrame parameters  -> reply struct"

This is a reland of 9a9ddbda1675c68ec4573517084804cc5e9b5236

The original change omitted the initialization of child_routing_id with
MSG_ROUTING_NONE, which likely caused crashes (https://crbug.com/922103,
 https://crbug.com/921159 ). This changes replaces the check for
MSG_ROUTING_NONE with a check for Send() result.

Original change's description:
> Output FrameHostMsg_CreateChildFrame parameters  -> reply struct
>
> This change moves the remaining output FrameHostMsg_CreateChildFrame parameters
> into the FrameHostMsg_CreateChildFrame_Params_Reply struct.
>
> Bug: 718652
> Change-Id: I50678321dc49e2c449452292decf71dae8b90db3
> Reviewed-on: https://chromium-review.googlesource.com/c/1405878
> Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#622048}

Bug: 718652
Change-Id: Ia24c55a1a90a933d99d9be02edf0cc6fb6a5de0e
Reviewed-on: https://chromium-review.googlesource.com/c/1412245
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623883}
[modify] https://crrev.com/79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8/content/browser/frame_host/render_frame_message_filter.cc
[modify] https://crrev.com/79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8/content/browser/frame_host/render_frame_message_filter.h
[modify] https://crrev.com/79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8/content/common/frame_messages.h
[modify] https://crrev.com/79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8/content/public/test/mock_render_thread.cc
[modify] https://crrev.com/79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8/content/public/test/mock_render_thread.h
[modify] https://crrev.com/79b5ae6d4dd5cebe9f10c48df8e54ed8f251f8f8/content/renderer/render_frame_impl.cc

Sign in to add a comment