New issue
Advanced search Search tips

Issue 862310 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 19
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocking:
issue 862309



Sign in to add a comment

Extenisons: Restructure feature registration to allow multiple registration points

Project Member Reported by rdevlin....@chromium.org, Jul 10

Issue description

In order to pull out app registration features, we should loosen how features are registered.  Having the single generated file for all features won't work, since apps and extensions features should be registered separately.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 13

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

commit 9ee032f8792af2890ae713a38db945059de42c70
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Fri Jul 13 19:30:25 2018

[Extensions] Allow multiple feature registration methods

Currently, we have a single generated class that registers all the
extension features in the constructor. For instance,
ChromeAPIFeatureProvider registers both features from both //chrome
and //extensions.

Refactor this to generate a method that takes a FeatureProvider and adds
features to it, rather than generating a FeatureProvider subclass. This
allows us to have multiple feature registration methods called for a
single provider, rather than needing a single class per build.

This is necessary in order to split out app and extension feature
registration.

Bug:  862310 

Change-Id: I9fba5ea57d8b14ca9f893a2694661163c8bc4140
Reviewed-on: https://chromium-review.googlesource.com/1132124
Reviewed-by: Stephen Lanham <slan@chromium.org>
Reviewed-by: Albert Chaulk <achaulk@chromium.org>
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575018}
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/chrome/common/extensions/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/chrome/common/extensions/api/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/chrome/common/extensions/api/common_extension_api_unittest.cc
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/chrome/common/extensions/chrome_extensions_client.cc
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/chromecast/common/cast_extensions_client.cc
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/chromecast/common/extensions_api/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/extensions/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/extensions/common/api/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/extensions/shell/common/api/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/extensions/shell/common/shell_extensions_client.cc
[delete] https://crrev.com/4eccb97241e84f0e3a0463974788df550870b425/extensions/test/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/extensions/test/test_extensions_client.cc
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/tools/json_schema_compiler/feature_compiler.py
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/tools/json_schema_compiler/json_features.gni
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/tools/json_schema_compiler/test/BUILD.gn
[modify] https://crrev.com/9ee032f8792af2890ae713a38db945059de42c70/tools/json_schema_compiler/test/features_generation_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment