New issue
Advanced search Search tips

Issue 831384 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 6
Components:
EstimatedDays: ----
NextAction: ----
OS: Fuchsia
Pri: 2
Type: Bug

Blocking:
issue 822474
issue 800156
issue 829980



Sign in to add a comment

[Fuchsia] Make it possible to use FIDL interfaces in chromium

Project Member Reported by sergeyu@chromium.org, Apr 10 2018

Issue description

1. Add async dispatcher for UI and IO threads.
2. Add build targets for FIDL libs and interfaces in the SDK 
 

Comment 1 by w...@chromium.org, Apr 10 2018

Labels: -Pri-3 M-68 Pri-2
Blocking: 822474
Blocking: 829980
Blocking: 800156
Project Member

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

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

commit da1adc7009a4b286a51859de6315df082c4438f2
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu Apr 12 23:46:52 2018

[Fuchsia] Add AsyncDispatcher.

Added AsyncDispatcher class which implements async dispatcher interface
for Fuchsia. It will be used in MessagePumpFuchsia. This will allow to
run FIDL on Chromium threads.

The implementation is based largely on the default async loop. That code
has been translated to C++ with all features that we don't need in
chromium removed.

Bug:  831384 
Change-Id: I76459d364e1a4864dbe6f76f582b9fb87c79e027
Reviewed-on: https://chromium-review.googlesource.com/1003073
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550416}
[modify] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/BUILD.gn
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/fuchsia/async_dispatcher.cc
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/fuchsia/async_dispatcher.h
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/fuchsia/async_dispatcher_unittest.cc
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/third_party/fuchsia-sdk/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 13 2018

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

commit 086657535970f0b93b470d4052cd7af25a34826a
Author: Wez <wez@chromium.org>
Date: Fri Apr 13 18:40:00 2018

Add missing BASE_EXPORT to base::AsyncDispatcher declaration.

This fixes the component build for Fuchsia.

TBR: sergeyu
Bug:  831384 
Change-Id: Ifd335abe1f1013e28b0c266b525312b704b021e6
Reviewed-on: https://chromium-review.googlesource.com/1012587
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550697}
[modify] https://crrev.com/086657535970f0b93b470d4052cd7af25a34826a/base/fuchsia/async_dispatcher.h

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 17 2018

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

commit d75a9dc1b22ec456c57673c5efa9d8be3ee4da77
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue Apr 17 03:09:30 2018

Add //base as public_dep in headless_shell_lib.

headless_example fails to compile on fuchsia with
https://chromium-review.googlesource.com/c/chromium/src/+/985648/15 .
The problem is that headless_shell_lib implicitly depended on
//base but that dependency wasn't in the gn file. Added //base to
public_deps for headless_shell_lib to fix this problem.

Bug:  831384 
Change-Id: Ib4664a33a3c649063434911e0a4ee074233c3319
Reviewed-on: https://chromium-review.googlesource.com/1011631
Reviewed-by: Sami Kyöstilä <skyostil@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551227}
[modify] https://crrev.com/d75a9dc1b22ec456c57673c5efa9d8be3ee4da77/headless/BUILD.gn

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/da1adc7009a4b286a51859de6315df082c4438f2

commit da1adc7009a4b286a51859de6315df082c4438f2
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu Apr 12 23:46:52 2018

[Fuchsia] Add AsyncDispatcher.

Added AsyncDispatcher class which implements async dispatcher interface
for Fuchsia. It will be used in MessagePumpFuchsia. This will allow to
run FIDL on Chromium threads.

The implementation is based largely on the default async loop. That code
has been translated to C++ with all features that we don't need in
chromium removed.

Bug:  831384 
Change-Id: I76459d364e1a4864dbe6f76f582b9fb87c79e027
Reviewed-on: https://chromium-review.googlesource.com/1003073
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550416}
[modify] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/BUILD.gn
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/fuchsia/async_dispatcher.cc
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/fuchsia/async_dispatcher.h
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/base/fuchsia/async_dispatcher_unittest.cc
[add] https://crrev.com/da1adc7009a4b286a51859de6315df082c4438f2/third_party/fuchsia-sdk/BUILD.gn

Project Member

Comment 9 by bugdroid1@chromium.org, Apr 17 2018

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

commit 086657535970f0b93b470d4052cd7af25a34826a
Author: Wez <wez@chromium.org>
Date: Fri Apr 13 18:40:00 2018

Add missing BASE_EXPORT to base::AsyncDispatcher declaration.

This fixes the component build for Fuchsia.

TBR: sergeyu
Bug:  831384 
Change-Id: Ifd335abe1f1013e28b0c266b525312b704b021e6
Reviewed-on: https://chromium-review.googlesource.com/1012587
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550697}
[modify] https://crrev.com/086657535970f0b93b470d4052cd7af25a34826a/base/fuchsia/async_dispatcher.h

Project Member

Comment 10 by bugdroid1@chromium.org, Apr 17 2018

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

commit 66f866c4d4d9bd54997660eb7c1c3afe0eb47663
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue Apr 17 18:18:25 2018

[Fuchsia] Rewrite MessagePumpFuchsia based on AsyncDispatcher

Now MessagePumpFuchsia runs AsyncDispatcher to handle IO events. This will
allow to use async lib and libraries that depend on it (such as FIDL) on
UI and IO threads.

Bug:  831384 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I981d18f9e07d25a5cd4f6006714af91557c0c795
Reviewed-on: https://chromium-review.googlesource.com/985648
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#551399}
[modify] https://crrev.com/66f866c4d4d9bd54997660eb7c1c3afe0eb47663/base/message_loop/message_pump_fuchsia.cc
[modify] https://crrev.com/66f866c4d4d9bd54997660eb7c1c3afe0eb47663/base/message_loop/message_pump_fuchsia.h

Project Member

Comment 11 by bugdroid1@chromium.org, Apr 19 2018

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

commit 164bfa1e5bb53b2a26af90820868a0618b2eb983
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu Apr 19 21:07:06 2018

[Fuchsia] Add GN template for Fuchsia SDK packages

1. Added GN template for Fuchsia SDK packages,
2. Added targets for packages that are currently included in the SDK

Bug:  831384 
Change-Id: I7fabeab0814a099006aaa16fd119b4cd15fe0633
Reviewed-on: https://chromium-review.googlesource.com/1013284
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: James Robinson <jamesr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552154}
[modify] https://crrev.com/164bfa1e5bb53b2a26af90820868a0618b2eb983/base/BUILD.gn
[modify] https://crrev.com/164bfa1e5bb53b2a26af90820868a0618b2eb983/base/fuchsia/async_dispatcher.cc
[modify] https://crrev.com/164bfa1e5bb53b2a26af90820868a0618b2eb983/base/fuchsia/async_dispatcher.h
[modify] https://crrev.com/164bfa1e5bb53b2a26af90820868a0618b2eb983/third_party/fuchsia-sdk/BUILD.gn
[add] https://crrev.com/164bfa1e5bb53b2a26af90820868a0618b2eb983/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni
[add] https://crrev.com/164bfa1e5bb53b2a26af90820868a0618b2eb983/third_party/fuchsia-sdk/gen_fidl_response_file.py

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 27 2018

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

commit f65e31264d11b06644dd6efae1d2c4e5e9d5200d
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Fri Apr 27 00:27:23 2018

Add base::fuchsia::ComponentContext

The new base::fuchsia::ComponentContext is analogous to
component::ApplicationContext in garnet. It will be responsible for
managing imported and exported services. Currently it only supports
outgoing service connections.

Bug:  831384 
Change-Id: If5b383089ef0b88847aa76a14f7029a1a94a8a42
Reviewed-on: https://chromium-review.googlesource.com/1023119
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Reviewed-by: James Robinson <jamesr@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554216}
[modify] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/BUILD.gn
[add] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/fuchsia/component_context.cc
[add] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/fuchsia/component_context.h
[add] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/fuchsia/fidl_interface_request.cc
[add] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/fuchsia/fidl_interface_request.h
[add] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/fuchsia/scoped_zx_handle.cc
[modify] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/base/fuchsia/scoped_zx_handle.h
[modify] https://crrev.com/f65e31264d11b06644dd6efae1d2c4e5e9d5200d/third_party/fuchsia-sdk/BUILD.gn

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 30 2018

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

commit b29fc269716e556be6b4e999bb4b24332cc43c6e
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Mon Apr 30 20:48:32 2018

[Fuchsia] Use Netstack FIDL interface to get network interfaces.

1. Updated FILD GN template to generate and compile tables file, FIDL
   generated code was failing to link without them.
2. Updated GetNetworkList() for Fuchsia to FIDL API instead of ioctl().

Bug:  831384 
Change-Id: Ib90303a5110a465ea5f2bad787a7b63a2bf13f61
Reviewed-on: https://chromium-review.googlesource.com/1023124
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: James Robinson <jamesr@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554868}
[modify] https://crrev.com/b29fc269716e556be6b4e999bb4b24332cc43c6e/net/BUILD.gn
[modify] https://crrev.com/b29fc269716e556be6b4e999bb4b24332cc43c6e/net/base/network_interfaces_fuchsia.cc
[modify] https://crrev.com/b29fc269716e556be6b4e999bb4b24332cc43c6e/third_party/fuchsia-sdk/BUILD.gn
[modify] https://crrev.com/b29fc269716e556be6b4e999bb4b24332cc43c6e/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 30 2018

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

commit d0689dce81824be4a7dece8fe6a4e4e76723878b
Author: Kevin Marshall <kmarshall@chromium.org>
Date: Mon Apr 30 21:34:41 2018

Revert "[Fuchsia] Use Netstack FIDL interface to get network interfaces."

This reverts commit b29fc269716e556be6b4e999bb4b24332cc43c6e.

Reason for revert: Generated code lacks export directives, causing linker errors on component/debug builds. https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.fyi%2FFuchsia__dbg_%2F18935%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout

Original change's description:
> [Fuchsia] Use Netstack FIDL interface to get network interfaces.
> 
> 1. Updated FILD GN template to generate and compile tables file, FIDL
>    generated code was failing to link without them.
> 2. Updated GetNetworkList() for Fuchsia to FIDL API instead of ioctl().
> 
> Bug:  831384 
> Change-Id: Ib90303a5110a465ea5f2bad787a7b63a2bf13f61
> Reviewed-on: https://chromium-review.googlesource.com/1023124
> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> Reviewed-by: James Robinson <jamesr@chromium.org>
> Reviewed-by: Matt Menke <mmenke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554868}

TBR=jamesr@chromium.org,mmenke@chromium.org,sergeyu@chromium.org

Change-Id: Iaaa6e563c90acced9c87bd1adccd2e313c57292e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  831384 
Reviewed-on: https://chromium-review.googlesource.com/1036383
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Commit-Queue: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554885}
[modify] https://crrev.com/d0689dce81824be4a7dece8fe6a4e4e76723878b/net/BUILD.gn
[modify] https://crrev.com/d0689dce81824be4a7dece8fe6a4e4e76723878b/net/base/network_interfaces_fuchsia.cc
[modify] https://crrev.com/d0689dce81824be4a7dece8fe6a4e4e76723878b/third_party/fuchsia-sdk/BUILD.gn
[modify] https://crrev.com/d0689dce81824be4a7dece8fe6a4e4e76723878b/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni

Project Member

Comment 15 by bugdroid1@chromium.org, May 1 2018

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

commit f7b2214a08547e0d28b1a2fef3c19ee0f9febd19
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue May 01 00:58:32 2018

Reland "[Fuchsia] Use Netstack FIDL interface to get network interfaces."

This is a reland of b29fc269716e556be6b4e999bb4b24332cc43c6e

Original change's description:
> [Fuchsia] Use Netstack FIDL interface to get network interfaces.
>
> 1. Updated FILD GN template to generate and compile tables file, FIDL
>    generated code was failing to link without them.
> 2. Updated GetNetworkList() for Fuchsia to FIDL API instead of ioctl().
>
> Bug:  831384 
> Change-Id: Ib90303a5110a465ea5f2bad787a7b63a2bf13f61
> Reviewed-on: https://chromium-review.googlesource.com/1023124
> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> Reviewed-by: James Robinson <jamesr@chromium.org>
> Reviewed-by: Matt Menke <mmenke@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#554868}

TBR=mmenke@chromium.org

Bug:  831384 
Change-Id: Iabb29661680b835b947b2780d169e204fd5e2559
Reviewed-on: https://chromium-review.googlesource.com/1036484
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#554946}
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/base/fuchsia/component_context.h
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/base/fuchsia/fidl_interface_request.h
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/base/fuchsia/scoped_zx_handle.h
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/net/BUILD.gn
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/net/base/network_interfaces_fuchsia.cc
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/third_party/fuchsia-sdk/BUILD.gn
[modify] https://crrev.com/f7b2214a08547e0d28b1a2fef3c19ee0f9febd19/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni

Project Member

Comment 16 by bugdroid1@chromium.org, May 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/166bc4ceedaf972ed01b8ea5cb5f453e4b7e2f18

commit 166bc4ceedaf972ed01b8ea5cb5f453e4b7e2f18
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue May 01 04:20:58 2018

Add mojom and fidl files to DEFAULT_WHITE_LIST

This will allow to ensure that fidl and mojom files have proper
copyright header.

Bug:  831384 
Change-Id: I5e41bbf27f2e3f2c6749a52de7463d651d033b81
Reviewed-on: https://chromium-review.googlesource.com/1036606
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>

[modify] https://crrev.com/166bc4ceedaf972ed01b8ea5cb5f453e4b7e2f18/presubmit_support.py
[modify] https://crrev.com/166bc4ceedaf972ed01b8ea5cb5f453e4b7e2f18/tests/presubmit_unittest.py

Project Member

Comment 17 by bugdroid1@chromium.org, May 1 2018

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

commit 77e47ee48bc339454a0610d8bfcdd05647a2a164
Author: depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue May 01 06:50:05 2018

Roll src/third_party/depot_tools/ 43d72759f..166bc4cee (1 commit)

https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/43d72759fed1..166bc4ceedaf

$ git log 43d72759f..166bc4cee --date=short --no-merges --format='%ad %ae %s'
2018-04-30 sergeyu Add mojom and fidl files to DEFAULT_WHITE_LIST

Created with:
  roll-dep src/third_party/depot_tools
BUG= chromium:831384 


The AutoRoll server is located here: https://depot-tools-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=agable@chromium.org

Change-Id: I1ba5cfa5850b6d954e987ac4f1e2a887b51f88a5
Reviewed-on: https://chromium-review.googlesource.com/1036845
Reviewed-by: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#555008}
[modify] https://crrev.com/77e47ee48bc339454a0610d8bfcdd05647a2a164/DEPS

Project Member

Comment 18 by bugdroid1@chromium.org, May 1 2018

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

commit a0f814a35dce9bc0eaa64a1f568cb5f94a054504
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue May 01 23:01:57 2018

[Fuchsia] Add ServiceDirectory class.

The new ServiceDirectory can be used to publish services for other
processes to consumer.
Also refactored GN templates in fuchsia-sdk to allow building FIDL
interfaces defined outside of the SDK and added a unittest that verifies
that a service published in ServicesDirectory can be consumed in
ComponentContext.

TBR=jam@chromium.org

Bug:  831384 
Change-Id: Ie82e8cd6ff7c02a791ec8b5534f55a527b08a571
Reviewed-on: https://chromium-review.googlesource.com/1027126
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555215}
[modify] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/DEPS
[modify] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/BUILD.gn
[modify] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/component_context.cc
[modify] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/component_context.h
[add] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/scoped_service_binding.h
[add] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/services_directory.cc
[add] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/services_directory.h
[add] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/services_directory_unittest.cc
[add] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/base/fuchsia/test.fidl
[modify] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/third_party/fuchsia-sdk/BUILD.gn
[add] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/third_party/fuchsia-sdk/fidl_library.gni
[modify] https://crrev.com/a0f814a35dce9bc0eaa64a1f568cb5f94a054504/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni

Project Member

Comment 19 by bugdroid1@chromium.org, May 8 2018

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

commit 8b972f42ae070f4ba06ba4ac39379d14d714c373
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue May 08 18:23:24 2018

[Fuchsia] Update namespace in generated FIDL files.

Currently fidlgen uses the namespace that's specified in the .fidl file.
As result the generated code may collide with other code in
chromium. This CL implements a temporary workaround for this problem:
generated code is updated to use a namespaces nested in fuchsia::
namespace. The script won't be necessary after FIDL-160 is resolved.

Bug:  831384 
Change-Id: I3648f89f44a8e0148b1cc6b58d6f3a8de82a684e
Reviewed-on: https://chromium-review.googlesource.com/1045257
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556882}
[modify] https://crrev.com/8b972f42ae070f4ba06ba4ac39379d14d714c373/base/BUILD.gn
[modify] https://crrev.com/8b972f42ae070f4ba06ba4ac39379d14d714c373/net/base/network_interfaces_fuchsia.cc
[modify] https://crrev.com/8b972f42ae070f4ba06ba4ac39379d14d714c373/third_party/fuchsia-sdk/fidl_library.gni
[add] https://crrev.com/8b972f42ae070f4ba06ba4ac39379d14d714c373/third_party/fuchsia-sdk/update_namespace.py

Project Member

Comment 20 by bugdroid1@chromium.org, May 8 2018

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

commit 37c01931beb7bf08728a97d885ad37807dfe6309
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Tue May 08 20:08:48 2018

[Fuchsia] Fix fidl_deps handling in fidl_library() GN template

fidl_deps parameter in fidl_library() was broken by
https://crrev.com/555215 .

Bug:  831384 
Change-Id: Iecda3f545f6818561422b556315175d1f4df1ec4
Reviewed-on: https://chromium-review.googlesource.com/1045405
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556939}
[modify] https://crrev.com/37c01931beb7bf08728a97d885ad37807dfe6309/third_party/fuchsia-sdk/fidl_library.gni
[modify] https://crrev.com/37c01931beb7bf08728a97d885ad37807dfe6309/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni

Status: Fixed (was: Assigned)
Project Member

Comment 22 by bugdroid1@chromium.org, May 10 2018

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

commit a51179331869a648b701a030340981958290e3e7
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Thu May 10 18:41:31 2018

Revert "[Fuchsia] Update namespace in generated FIDL files."

This reverts commit 8b972f42ae070f4ba06ba4ac39379d14d714c373.

Reason for revert: Incompatible with the latest fidlgen

Original change's description:
> [Fuchsia] Update namespace in generated FIDL files.
> 
> Currently fidlgen uses the namespace that's specified in the .fidl file.
> As result the generated code may collide with other code in
> chromium. This CL implements a temporary workaround for this problem:
> generated code is updated to use a namespaces nested in fuchsia::
> namespace. The script won't be necessary after FIDL-160 is resolved.
> 
> Bug:  831384 
> Change-Id: I3648f89f44a8e0148b1cc6b58d6f3a8de82a684e
> Reviewed-on: https://chromium-review.googlesource.com/1045257
> Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
> Reviewed-by: Matt Menke <mmenke@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#556882}

TBR=dcheng@chromium.org,kmarshall@chromium.org,mmenke@chromium.org,sergeyu@chromium.org

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

Bug:  831384 
Change-Id: Icde5c76db4abd1730e525bbd4f44bb8553caa409
Reviewed-on: https://chromium-review.googlesource.com/1054111
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557599}
[modify] https://crrev.com/a51179331869a648b701a030340981958290e3e7/base/BUILD.gn
[modify] https://crrev.com/a51179331869a648b701a030340981958290e3e7/net/base/network_interfaces_fuchsia.cc
[modify] https://crrev.com/a51179331869a648b701a030340981958290e3e7/third_party/fuchsia-sdk/fidl_library.gni
[delete] https://crrev.com/b6370aecafa241206aa031d26344effbb2d8b50f/third_party/fuchsia-sdk/update_namespace.py

Status: Started (was: Fixed)
Still need some work to add support for FIDL namespaces.
Project Member

Comment 24 by bugdroid1@chromium.org, May 23 2018

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

commit 3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Wed May 23 02:27:10 2018

[Fuchsia] Add FIDL namespaces support

Lack of namespace support in FIDL was breaking some libraries when
using them in chromium due to name conflicts. fidlgen now supports
namespaces. That change requires some updates in GN files because
fidlgen now assumes a different location for generated headers
(<namespace>/<name>/cpp/fidl.h instead of fuchsia/cpp/<name>.h).

1. Updated FIDL GN templates to support FIDL files with namespaces.
2. Updated existing FIDL deps in //base and //net.
3. Removed fuchsia/cpp from global include_rules.
4. Added SDK packages for Scenic in //third_party/fuchsia-sdk/BUILD.gn
5. Marked base::ServicesDirectory::GetDefault() static (was omitted
   initially by mistake).

Bug:  831384 
Change-Id: Iabae4887733b4a78e3de6781069cf029bdcc8c92
Reviewed-on: https://chromium-review.googlesource.com/1068203
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Reviewed-by: Kevin Marshall <kmarshall@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560899}
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/DEPS
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/base/BUILD.gn
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/base/fuchsia/services_directory.h
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/base/fuchsia/services_directory_unittest.cc
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/base/fuchsia/test.fidl
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/net/base/network_interfaces_fuchsia.cc
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/third_party/fuchsia-sdk/BUILD.gn
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/third_party/fuchsia-sdk/fidl_library.gni
[modify] https://crrev.com/3d9e71e4f48040cb2901388f5a71cdf41ae9cdc3/third_party/fuchsia-sdk/fuchsia_sdk_pkg.gni

Status: Fixed (was: Started)

Sign in to add a comment