New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 634584 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature



Sign in to add a comment

Feature switches should automatically control origin trial

Project Member Reported by cha...@chromium.org, Aug 5 2016

Issue description

Feature implementations can use a base::Feature switch to allow remote disabling (i.e. via Finch). However, the feature can be re-enabled on the Blink side by an origin trial.

See this thread for context:
https://groups.google.com/a/chromium.org/d/msg/experimentation-dev/k6ZdmFp84QE/ASTx3hB0BQAJ

We should have a mechanism to link a base::Feature with the corresponding origin trial, so that features are enabled/disabled appropriately on the Blink side.
 

Comment 1 by cha...@chromium.org, Mar 31 2017

Labels: -M-54
Owner: aval...@chromium.org
Do you have additional detail on what you mean by linking the feature and trial? The example in the thread makes sense concretely: unless the base::feature for webusb is turned on at the command line, the WebRuntimeFeature will be disabled, and only enabled via OriginTrials.

This doesn't seem like a blanket rule for all of the features there.

Comment 4 by cha...@chromium.org, Jul 26 2017

Discussed offline, the initial approach/solution is:
- Define a mapping between origin trial and base::Feature. TBD, but could be in a hand-edited class, or extension to code-generation based on RuntimeEnabledFeatures.json5
- When origin trials tokens are validated, check if there is an associated base::Feature which has been disabled. If so, do not enable the origin trial. i.e. enhance the existing code path that looks for trials that have been disabled.
Status: Started (was: Available)

Sign in to add a comment