New issue
Advanced search Search tips

Issue 822474 link

Starred by 3 users

Issue metadata

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


Sign in to add a comment

Implement web.ContextProvider for Fuchsia

Project Member Reported by sergeyu@chromium.org, Mar 15 2018

Issue description

Currently Fuchsia uses WebKit-based WebView implementation. It needs to be replaced with a chromium-based WebView.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 30 2018

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

commit e9afd2b4ca42ff0644d2282669241f6ccf02f448
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Fri Mar 30 00:18:41 2018

[Fuchsia] Add top-level webrunner directory and webrunner skeleton.

WebRunner will be used on Fuchsia to run web applications.

Bug: 822474
Change-Id: I56b2fd4bf653bb2c77a013b3134f6dba8065289a
Reviewed-on: https://chromium-review.googlesource.com/965255
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Ben Goodger <ben@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547039}
[modify] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/BUILD.gn
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/BUILD.gn
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/DEPS
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/OWNERS
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/README.md
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/app/DEPS
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/app/webrunner_main.cc
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/app/webrunner_main_delegate.cc
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/app/webrunner_main_delegate.h
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/browser/DEPS
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/browser/webrunner_browser_main.cc
[add] https://crrev.com/e9afd2b4ca42ff0644d2282669241f6ccf02f448/webrunner/browser/webrunner_browser_main.h

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 30 2018

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

commit bd5706c0e1dada0bc24bf5310d5e6307e6907f43
Author: Wez <wez@chromium.org>
Date: Fri Mar 30 02:27:34 2018

Add missing "exe_and_shlib_deps" dependency to webrunner target.

Without this dependency component builds will fail to link.

TBR: sergeyu
Bug: 822474
Change-Id: Ieb8d7309117e6e55c5fa3c8866920e1495dbbc3b
Reviewed-on: https://chromium-review.googlesource.com/987395
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547075}
[modify] https://crrev.com/bd5706c0e1dada0bc24bf5310d5e6307e6907f43/webrunner/BUILD.gn

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 30 2018

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

commit d93beff970dee614a9b6b63c4cc225cb16858fc9
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Fri Mar 30 18:24:36 2018

[fuchsia] Add resources package for WebRunner.

1. Added build target for webrunner.pak.
2. Added WebRunnerContentDelegate that provides resources (strings,
   images, etc) for the content layer.

Bug: 822474
Change-Id: I5277935b23c505e9b59a884859fd95e21fdd4b48
Reviewed-on: https://chromium-review.googlesource.com/982937
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547213}
[modify] https://crrev.com/d93beff970dee614a9b6b63c4cc225cb16858fc9/webrunner/BUILD.gn
[modify] https://crrev.com/d93beff970dee614a9b6b63c4cc225cb16858fc9/webrunner/app/webrunner_main_delegate.cc
[modify] https://crrev.com/d93beff970dee614a9b6b63c4cc225cb16858fc9/webrunner/app/webrunner_main_delegate.h
[add] https://crrev.com/d93beff970dee614a9b6b63c4cc225cb16858fc9/webrunner/common/DEPS
[add] https://crrev.com/d93beff970dee614a9b6b63c4cc225cb16858fc9/webrunner/common/webrunner_content_client.cc
[add] https://crrev.com/d93beff970dee614a9b6b63c4cc225cb16858fc9/webrunner/common/webrunner_content_client.h

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 2 2018

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

commit c9af172618b13922923f39fc1d614624398a3564
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Mon Apr 02 19:07:51 2018

[Fuchsia] Add display::Screen implementation for WebRunner

Aura requires that display::Screen::GetScreen() returns a valid object.
1. Added WebRunnerContentBrowserClient,
2. Added WebRunnerBrowserMainParts,
3. Added display::Screen, created by WebRunnerBrowserMainParts.

Bug: 822474
Change-Id: Id22a6a369b89ed0f911513adb17f33ed8b503f26
Reviewed-on: https://chromium-review.googlesource.com/988841
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547481}
[modify] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/BUILD.gn
[modify] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/app/webrunner_main_delegate.cc
[modify] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/app/webrunner_main_delegate.h
[modify] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/DEPS
[add] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/webrunner_browser_main_parts.cc
[add] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/webrunner_browser_main_parts.h
[add] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/webrunner_content_browser_client.cc
[add] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/webrunner_content_browser_client.h
[add] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/webrunner_screen.cc
[add] https://crrev.com/c9af172618b13922923f39fc1d614624398a3564/webrunner/browser/webrunner_screen.h

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 2 2018

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

commit e53b017433deead01bc049a65e611029d8c736ef
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Mon Apr 02 19:59:43 2018

[Fuchsia] Add basic content::BrowserContext implementation for WebRunner

Added simple BrowserContext, NetLog and UrlRequestContextGetter
implementations for WebRunner on Fuchsia.

Bug: 822474
Change-Id: I15e894b9909253146ab6bb2450ec3ffea2c8ea10
Reviewed-on: https://chromium-review.googlesource.com/988933
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547499}
[modify] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/BUILD.gn
[modify] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/DEPS
[add] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_browser_context.cc
[add] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_browser_context.h
[modify] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_browser_main_parts.cc
[modify] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_browser_main_parts.h
[add] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_net_log.cc
[add] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_net_log.h
[add] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_url_request_context_getter.cc
[add] https://crrev.com/e53b017433deead01bc049a65e611029d8c736ef/webrunner/browser/webrunner_url_request_context_getter.h

Blockedon: 829980
Blockedon: 800156
Current WebView prototype: prototype implementation here:
https://chromium-review.googlesource.com/c/chromium/src/+/999820 . It depends on FIDL wrapper from https://fuchsia-review.googlesource.com/c/topaz/+/131382 .

Next steps:
 1. Ozone platform for Fuchsia that integrates with Mozart and Scenic, i.e. direct FIDL deps instead if web_view_impl_wrapper I'm using in that CL.  Bug 829980 .
 2. Add ViewProvider and View implementation that renders WebContents. It's similar to the changes in https://chromium-review.googlesource.com/c/chromium/src/+/999820/1/webrunner/browser/webrunner_browser_main_parts.cc , but with all code moved from the FIDL wrapper to chromium. 
 3. Implement Skia Font Manager that talks to Fuchsia's font service ( bug 800156 ). In the prototype I'm loading fonts directly from the FS.
 4. Figure out a plan to replace WebView in Topaz. 
Blockedon: 831384
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 7 2018

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

commit 7cebf83102d8685cb93c0b7714635d3178f35091
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Thu Jun 07 00:22:07 2018

Fuchsia: Initial "web" library interface definitions.

Defines the initial high-level structure for the "web" library, and
as a starting point, defines enough functionality that it can
be used in place of the existing WebView component in Fuchsia.


Bug: 822474
Change-Id: I870b217b8b3fbd4581ca511403c7759491a8d35d
Reviewed-on: https://chromium-review.googlesource.com/1083414
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565116}
[modify] https://crrev.com/7cebf83102d8685cb93c0b7714635d3178f35091/webrunner/BUILD.gn
[add] https://crrev.com/7cebf83102d8685cb93c0b7714635d3178f35091/webrunner/fidl/context.fidl
[add] https://crrev.com/7cebf83102d8685cb93c0b7714635d3178f35091/webrunner/fidl/context_provider.fidl
[add] https://crrev.com/7cebf83102d8685cb93c0b7714635d3178f35091/webrunner/fidl/frame.fidl
[add] https://crrev.com/7cebf83102d8685cb93c0b7714635d3178f35091/webrunner/fidl/frame_observer.fidl
[add] https://crrev.com/7cebf83102d8685cb93c0b7714635d3178f35091/webrunner/fidl/navigation_controller.fidl

Blockedon: 850743
Cc: kmarshall@chromium.org
Blockedon: 852145
Blockedon: 855242
Owner: kmarshall@chromium.org
Project Member

Comment 14 by bugdroid1@chromium.org, Jun 25 2018

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

commit 8b25a96808c1cde2f867d5d160287208d9088f00
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Mon Jun 25 22:37:30 2018

Fuchsia: Add support for legacy "flat" service directory type.

Services (applications run by "svcmgr") and components obey different
service directory semantics. Services export their services to a
flat service namespace, whereas components export services to a
hierarchy, organized into groups like "public" or "debug".

This CL adds support for both types. The chromium service must
export to the legacy/flat type, and webrunner must export to the
structured directory type.

Bug: 822474
Change-Id: I14abf74fa528c13c0cbfafa23b169b430dea1c0b
Reviewed-on: https://chromium-review.googlesource.com/1112627
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570207}
[modify] https://crrev.com/8b25a96808c1cde2f867d5d160287208d9088f00/base/fuchsia/services_directory.cc
[modify] https://crrev.com/8b25a96808c1cde2f867d5d160287208d9088f00/base/fuchsia/services_directory_unittest.cc

Blocking: 856416
Project Member

Comment 16 by bugdroid1@chromium.org, Jun 29 2018

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

commit 83e28b76a3cd96cc2e03c53644ad025741d2b6e5
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Fri Jun 29 22:22:22 2018

Fuchsia: Move service portions of "webrunner" to "webrunner/service".

The revised structure better reflects the separation between the
chromium::web Context service and the Runner app.

Also created a group() so that :gn_all can indirectly depend on
all things webrunner without having to exhaustively specify
all targets.

jam@ TBR'd because checkdeps is confused by FIDL includes which don't map
to the Chromium source tree structure.

TBR=jam@chromium.org

Bug: 822474
Change-Id: I3216fae6c5417d01acfd32a6280f985dfc9f043c
Reviewed-on: https://chromium-review.googlesource.com/1106646
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: John Budorick <jbudorick@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#571675}
[modify] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/BUILD.gn
[modify] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/BUILD.gn
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/DEPS
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/context_provider/context_provider_impl.cc
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/context_provider/context_provider_impl.h
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/context_provider/context_provider_impl_unittest.cc
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/switches.cc
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/switches.h
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/webrunner_main.cc
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/webrunner_main_delegate.cc
[rename] https://crrev.com/83e28b76a3cd96cc2e03c53644ad025741d2b6e5/webrunner/service/webrunner_main_delegate.h

Blockedon: -800156
Summary: Implement WebRunner for Fuchsia (was: Implement WebView for Fuchsia)
Summary: Implement web.ContextProvider for Fuchsia (was: Implement WebRunner for Fuchsia)
Project Member

Comment 20 by bugdroid1@chromium.org, Dec 6

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

commit 2045d6846b10ef0f671ee73e604697bf896bf473
Author: Wez <wez@chromium.org>
Date: Thu Dec 06 01:42:29 2018

[Fuchsia] Fix placement of FIDL method implementations in FrameImpl.

New methods were added to chromium.web.Frame but these were placed under
the section for chromium.web.NavigationController by mistake.

Also move the NavigationController overrides to the "private" section,
since the FrameImpl's providing that interface directly is an
implementation detail that callers should not be relying on.

Bug: 822474
Change-Id: I8d9884fd6006f851cba468a6198c76e248d1f76f
Reviewed-on: https://chromium-review.googlesource.com/c/1364216
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#614225}
[modify] https://crrev.com/2045d6846b10ef0f671ee73e604697bf896bf473/webrunner/browser/frame_impl.h

Sign in to add a comment