Allow trusted brokers to restrict connections for spawned applications to whitelisted...
commit2dd70fcff791aa32b77360c9c8ed413d791e5b47
authorben <ben@chromium.org>
Fri, 24 Jul 2015 22:22:09 +0000 (24 15:22 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 24 Jul 2015 22:23:09 +0000 (24 22:23 +0000)
tree00568483c25b7d81c741dbbf4acc913354981c0d
parent610e5de27b9f4bc34c43eb6ee78db1acf49e8ef9
Allow trusted brokers to restrict connections for spawned applications to whitelisted applications and interfaces.

Currently, filters are not inherited when a restricted application starts a new application. If I did that immediately there is an opportunity for races if a restricted app starts a trusted app before the trusted broker can. I need to think through that in more detail. For now, any filters must be explicitly specified with every call to ConnectToApplication.

I'm not handling content handlers properly yet in this round. TBD.

http://crbug.com/510210

Review URL: https://codereview.chromium.org/1244233002

Cr-Commit-Position: refs/heads/master@{#340352}
30 files changed:
components/html_viewer/devtools_agent_impl.cc
components/html_viewer/media_factory.cc
components/resource_provider/public/cpp/resource_loader.cc
content/browser/frame_host/frame_mojo_shell.cc
content/browser/frame_host/frame_mojo_shell.h
content/browser/mojo/mojo_app_connection_impl.cc
content/browser/mojo/mojo_shell_context.cc
content/browser/mojo/mojo_shell_context.h
mandoline/ui/aura/surface_binding.cc
mojo/application/public/cpp/application_connection.h
mojo/application/public/cpp/application_impl.h
mojo/application/public/cpp/lib/application_impl.cc
mojo/application/public/cpp/lib/application_test_base.cc
mojo/application/public/cpp/lib/service_registry.cc
mojo/application/public/cpp/lib/service_registry.h
mojo/application/public/interfaces/application.mojom
mojo/application/public/interfaces/shell.mojom
mojo/mojo_shell.gyp
mojo/runner/context.cc
mojo/runner/native_runner_unittest.cc
mojo/runner/shell_test_base.cc
mojo/shell/BUILD.gn
mojo/shell/application_instance.cc
mojo/shell/application_instance.h
mojo/shell/application_manager.cc
mojo/shell/application_manager.h
mojo/shell/application_manager_unittest.cc
mojo/shell/capability_filter_unittest.cc [new file with mode: 0644]
mojo/shell/capability_filter_unittest.mojom [new file with mode: 0644]
mojo/shell/content_handler_connection.cc