New issue
Advanced search Search tips

Issue 893229 link

Starred by 2 users

Issue metadata

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


Sign in to add a comment

Implement a Cast "Runner" based on the web.ContextProvider

Project Member Reported by w...@chromium.org, Oct 8

Issue description

The web.ContextProvider service is intended to allow callers to create containers to use content built using web technologies, and to customize the containers as necessary to support different use-cases, similar to WebView.

We agreed to build out a Cast Audio container based on web.ContextProvider, capable of e.g. being passed the URL to a Cast application's content and launching it, with the correct navigation properties, any required API bindings (e.g. cast channel API), etc, as a proof-of-concept of web.ContextProvider extensibility.
 
Blockedon: 883496
Blockedon: 893230
Labels: -Pri-3 M-72 Pri-1
Owner: w...@chromium.org
Status: Assigned (was: Untriaged)
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 25

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

commit c5e201312c91b21b9c7a3ef5be3d2e26b147893a
Author: Wez <wez@chromium.org>
Date: Thu Oct 25 20:44:47 2018

Rename //webrunner:fidl and file paths for standard web FIDL.

We plan to add some non-web-standard FIDLs to illustrate building custom
containers using the web.ContextProvider, so move the web-standard FIDL
files to a dedicated path, to keep them separate from upcoming ones.

Bug: 893229
Change-Id: Ife46192a7da0d497b9ccf6aadfdc46ab37d6f29d
Reviewed-on: https://chromium-review.googlesource.com/c/1298644
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602843}
[modify] https://crrev.com/c5e201312c91b21b9c7a3ef5be3d2e26b147893a/webrunner/BUILD.gn
[rename] https://crrev.com/c5e201312c91b21b9c7a3ef5be3d2e26b147893a/webrunner/fidl/web/context.fidl
[rename] https://crrev.com/c5e201312c91b21b9c7a3ef5be3d2e26b147893a/webrunner/fidl/web/context_provider.fidl
[rename] https://crrev.com/c5e201312c91b21b9c7a3ef5be3d2e26b147893a/webrunner/fidl/web/frame.fidl
[rename] https://crrev.com/c5e201312c91b21b9c7a3ef5be3d2e26b147893a/webrunner/fidl/web/navigation_controller.fidl
[rename] https://crrev.com/c5e201312c91b21b9c7a3ef5be3d2e26b147893a/webrunner/fidl/web/navigation_event_observer.fidl

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 30

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

commit 4f64b82677f39d0b8feb880e781fd0d5c7efa75d
Author: Wez <wez@chromium.org>
Date: Tue Oct 30 20:46:08 2018

Move web Runner implementation to //webrunner/app/{web,common}.

- Expose WebContentRunner's constructor to derived classes.
- Move the common Runner and Component implementations under "common".
- Move the scoped service publishing binding into WebContentRunner.
- Move the default web.Context creation helper to the WebContentRunner.
- Rename the ComponentControllerImpl to WebComponent.
- Rename WebComponent::RequestTermination to ...::DestroyComponent.

Bug: 893229, 856416
Change-Id: Ia4b8036d5f1b6f00472d201b7cb9dcf063377122
Reviewed-on: https://chromium-review.googlesource.com/c/1301114
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604002}
[modify] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/BUILD.gn
[add] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/app/common/web_component.cc
[add] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/app/common/web_component.h
[add] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/app/common/web_content_runner.cc
[add] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/app/common/web_content_runner.h
[delete] https://crrev.com/f5ee8af906c44c35d85b2294ffd05cb26218b111/webrunner/app/component_controller_impl.cc
[delete] https://crrev.com/f5ee8af906c44c35d85b2294ffd05cb26218b111/webrunner/app/component_controller_impl.h
[delete] https://crrev.com/f5ee8af906c44c35d85b2294ffd05cb26218b111/webrunner/app/main.cc
[add] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/app/web/main.cc
[rename] https://crrev.com/4f64b82677f39d0b8feb880e781fd0d5c7efa75d/webrunner/app/web/sandbox_policy
[delete] https://crrev.com/f5ee8af906c44c35d85b2294ffd05cb26218b111/webrunner/app/web_content_runner.cc
[delete] https://crrev.com/f5ee8af906c44c35d85b2294ffd05cb26218b111/webrunner/app/web_content_runner.h

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 31

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

commit 8161c5f459589a7d1e1e790827fb4d69b0ec7d5b
Author: Wez <wez@chromium.org>
Date: Wed Oct 31 00:10:36 2018

Start a Cast app Runner based on the web.ContextProvider.

- Add a CastRunner and main() under //webrunner/app/cast.
- Add "castrunner" executable, package and runner targets to GN.

This rudimentary Runner handles caller requests for cast:// URIs,
extracts the application-Id from them, and if the Id matches a dummy
Id for testing, then it instantiates a component hosting a standard
web URL, for now.

Bug: 893229
Change-Id: Ia2cb5d7c1f69ff0a828af9e5c71b7f4422ce58d3
Reviewed-on: https://chromium-review.googlesource.com/c/1303646
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604071}
[modify] https://crrev.com/8161c5f459589a7d1e1e790827fb4d69b0ec7d5b/webrunner/BUILD.gn
[add] https://crrev.com/8161c5f459589a7d1e1e790827fb4d69b0ec7d5b/webrunner/app/cast/cast_runner.cc
[add] https://crrev.com/8161c5f459589a7d1e1e790827fb4d69b0ec7d5b/webrunner/app/cast/cast_runner.h
[add] https://crrev.com/8161c5f459589a7d1e1e790827fb4d69b0ec7d5b/webrunner/app/cast/main.cc
[add] https://crrev.com/8161c5f459589a7d1e1e790827fb4d69b0ec7d5b/webrunner/app/cast/sandbox_policy

Cc: fdegans@chromium.org
Blockedon: 901955
Blockedon: 901964
Project Member

Comment 11 by bugdroid1@chromium.org, Nov 5

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

commit 42a59d6a7cd785719ab964245113e85982b0d4af
Author: Wez <wez@chromium.org>
Date: Mon Nov 05 22:09:32 2018

[Fuchsia] Add CIPD package specification for the CastRunner archive.

Bug: 893229
Change-Id: I509c18dcc30c7962bd5a496396556dd8cbf9af06
Reviewed-on: https://chromium-review.googlesource.com/c/1318578
Reviewed-by: James Robinson <jamesr@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605486}
[add] https://crrev.com/42a59d6a7cd785719ab964245113e85982b0d4af/webrunner/cipd/castrunner.yaml

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 12

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

commit 39a044c930495dc43cfeeb8c50821907b16071d5
Author: Wez <wez@chromium.org>
Date: Mon Nov 12 21:03:31 2018

[Fuchsia] Fix CastRunner decoding of app-Id from cast: URIs.

Previously we were incorrectly attempting to use the "host" portion of
the URI, rather than treating the whole "content" as the app-Id.

Bug: 893229
Change-Id: I5c95a828a28834449292b1cfec70a9974f3efef4
Reviewed-on: https://chromium-review.googlesource.com/c/1331169
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607327}
[modify] https://crrev.com/39a044c930495dc43cfeeb8c50821907b16071d5/webrunner/app/cast/cast_runner.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 13

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

commit 85403e29bf147b97e814d591dc6502ff28bea612
Author: Wez <wez@chromium.org>
Date: Tue Nov 13 22:53:03 2018

[Fuchsia] Add ScopedDefaultComponentContext helper.

This can be used to replace the current default ComponentContext with
one backed by a supplied |service_root| channel, e.g. for testing.

Bug: 893229
Change-Id: Ib08caf7527066c5b269d756a1726e1843c6431f5
Reviewed-on: https://chromium-review.googlesource.com/c/1333113
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607788}
[modify] https://crrev.com/85403e29bf147b97e814d591dc6502ff28bea612/base/fuchsia/component_context.cc
[modify] https://crrev.com/85403e29bf147b97e814d591dc6502ff28bea612/base/fuchsia/component_context.h

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 27

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

commit d0e6bcc4a99df827b43ba2a5b79b49cee437d2be
Author: Wez <wez@chromium.org>
Date: Tue Nov 27 17:51:39 2018

Move FakeContext & FakeFrame test helpers out to their own header.

Enable re-use of these helpers across different test suites, by putting
them in their own header & cc.

Bug: 893229
Change-Id: I1d239baf708226d08a25a0aa741e8c5f6d0cf1a8
Reviewed-on: https://chromium-review.googlesource.com/c/1334559
Commit-Queue: Wez <wez@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611178}
[modify] https://crrev.com/d0e6bcc4a99df827b43ba2a5b79b49cee437d2be/webrunner/BUILD.gn
[modify] https://crrev.com/d0e6bcc4a99df827b43ba2a5b79b49cee437d2be/webrunner/service/context_provider_impl_unittest.cc
[add] https://crrev.com/d0e6bcc4a99df827b43ba2a5b79b49cee437d2be/webrunner/test/fake_context.cc
[add] https://crrev.com/d0e6bcc4a99df827b43ba2a5b79b49cee437d2be/webrunner/test/fake_context.h

Project Member

Comment 15 by bugdroid1@chromium.org, Dec 7

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

commit 9e307cf85b3d5b48355fab445fe6daa60d923623
Author: Wez <wez@chromium.org>
Date: Fri Dec 07 19:20:02 2018

[Fuchsia] Add a castrunner_unittests target and some basic tests.

Also adds ability for test to supply a mock NavigationController to
FakeFrame instances.

Bug: 893229
Change-Id: I63ddffcd4a13b49b9e67232161255bd72a11a0cb
Reviewed-on: https://chromium-review.googlesource.com/c/1334561
Reviewed-by: Fabrice de Gans-Riberi <fdegans@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614776}
[modify] https://crrev.com/9e307cf85b3d5b48355fab445fe6daa60d923623/webrunner/BUILD.gn
[add] https://crrev.com/9e307cf85b3d5b48355fab445fe6daa60d923623/webrunner/app/cast/cast_runner_unittest.cc
[modify] https://crrev.com/9e307cf85b3d5b48355fab445fe6daa60d923623/webrunner/test/fake_context.cc
[modify] https://crrev.com/9e307cf85b3d5b48355fab445fe6daa60d923623/webrunner/test/fake_context.h

Blockedon: 914610

Comment 17 by w...@chromium.org, Jan 19 (4 days ago)

Blockedon: -883496 910799

Comment 18 by w...@chromium.org, Jan 19 (4 days ago)

Blockedon: 893236

Sign in to add a comment