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

Issue 609059 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Feature

Blocking:
issue 606320



Sign in to add a comment

Add a new multi-value VALUE_TYPE for about://flags that allows to override a variation parameter.

Project Member Reported by jkrcal@chromium.org, May 4 2016

Issue description

Feature description: Add a new multi-value type for about://flags that integrates well with finch variation parameters.

The pre-set value is selected by a finch experiment. Nevertheless, the user can easily change the value for herself in about://flags. This way, one code supports well 
 - early feedback (by being easily configurable) as well as 
 - later stage A:B experiments, etc. (via variations parameters).
 
(the first application of this feature is for bug 606320)
Cc: treib@chromium.org

Comment 3 by treib@chromium.org, May 4 2016

Components: -UI>Browser>NewTabPage Internals>Metrics
Labels: -OS-Android OS-All

Comment 4 by jkrcal@chromium.org, May 20 2016

Labels: zine-mr-iter-16
Hope to start next week.

Comment 5 by jkrcal@chromium.org, May 27 2016

Labels: zine-mr-iter-17
I did the first thoughts and discussions for this bug this week. Hope to get to coding next week.
Labels: zine-mr-iter-18
Status: Started (was: Assigned)
After the discussions, the plan is to have a new FEATURE_WITH_VARIATIONS_VALUE type. This enables to switch a feature on and off. When it is on, one can pick from a predefined list of combinations of parameters to configure this feature.

I am pretty far in the first implementation, hope to land it next week.
Blocking: 606320

Comment 8 by jkrcal@chromium.org, Jun 10 2016

Labels: zine-mr-iter-19
The CL is in code review. Really want to land it next week.

Comment 9 by nepper@chromium.org, Jun 13 2016

Labels: M-53
Labels: -Pri-3 Pri-1
Adjusting priority because this blocks Issue 606320
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 17 2016

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

commit 1383d1d3c2b2696f18e2af907915fbd3da5602bd
Author: jkrcal <jkrcal@chromium.org>
Date: Fri Jun 17 12:40:56 2016

Allow overriding variation parameter via chrome://flags.

Introduces a new type of FeatureEntry - FEATURE_WITH_VARIATIONS_VALUE which allows the user for a given feature to choose among predefined variations of its parameters.

When defining such a feature type (using the FEATURE_WITH_VARIATIONS_VALUE_TYPE macro), one also needs to specify the trial name to which the feature belongs.
A new experiment group called "AboutFlags" is selected for the trial and the parameters are associated with this group.

The precedence is as follows (params for a trial are associated from the first source where they appear):
 command-line params          (--force-fieldtrial-params=...)
 about:flags                  (added by this CL)
 field trial testing config
 server config

A minor refactoring change:
In FeatureEntry, renames the notion "choice" to "option" to make it clear it denotes more than just instances of the Choice struct. It has been the case before; now it is even more overloaded covering also FeatureVariations. Added a few functions to make the code less dependent on how we order the options in the UI.

BUG= 609059 

Review-Url: https://codereview.chromium.org/2036193002
Cr-Commit-Position: refs/heads/master@{#400416}

[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/chrome/browser/about_flags.cc
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/chrome/browser/about_flags.h
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/chrome/browser/about_flags_unittest.cc
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/chrome/browser/chrome_browser_main.cc
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/BUILD.gn
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/DEPS
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/feature_entry.cc
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/feature_entry.h
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/feature_entry_macros.h
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/flags_state.cc
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/flags_state.h
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/flags_state_unittest.cc
[modify] https://crrev.com/1383d1d3c2b2696f18e2af907915fbd3da5602bd/components/flags_ui/resources/flags.html

Status: Fixed (was: Started)
The required code change has landed. There are some smaller follow-up tasks but the feature is ready to be exploited by 606320.
Project Member

Comment 14 by bugdroid1@chromium.org, Jul 13 2016

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

commit 05f7ce3363a189c35495863316bb8c1aed91b8c8
Author: jkrcal <jkrcal@chromium.org>
Date: Wed Jul 13 16:42:09 2016

Clean-up the code for default variations in chrome://flags.

The CL 2129543002 introduced an option to override variation parameters
using a feature in chrome://flags. The list of options for the given
feature always includes "Default", "Enabled", and "Disabled". Even
though the semantics of "Enabled" was meant as 'enabled with the default
parameter values', the API forced to specify the variation for "Enabled"
as well.

This is unnecessarily cumbersome and confusing. This CL makes the
"Enabled" option completely automatic - no need to specify its variation
any more.

BUG= 609059 

Review-Url: https://codereview.chromium.org/2146903002
Cr-Commit-Position: refs/heads/master@{#405190}

[modify] https://crrev.com/05f7ce3363a189c35495863316bb8c1aed91b8c8/chrome/browser/about_flags.cc
[modify] https://crrev.com/05f7ce3363a189c35495863316bb8c1aed91b8c8/components/flags_ui/feature_entry.cc
[modify] https://crrev.com/05f7ce3363a189c35495863316bb8c1aed91b8c8/components/flags_ui/feature_entry.h
[modify] https://crrev.com/05f7ce3363a189c35495863316bb8c1aed91b8c8/components/flags_ui/feature_entry_macros.h
[modify] https://crrev.com/05f7ce3363a189c35495863316bb8c1aed91b8c8/components/flags_ui/flags_state.cc
[modify] https://crrev.com/05f7ce3363a189c35495863316bb8c1aed91b8c8/components/flags_ui/flags_state_unittest.cc

Sign in to add a comment