Commit edde2dda authored by Darin Fisher's avatar Darin Fisher Committed by Chromium LUCI CQ

Unify runtime enabled features and origin trials for Ash and Lacros.

This also helps fix <select> drop down menus to have taller items for
Lacros as expected on Chrome OS.

Bug: 1157228, 1141261
Change-Id: I9d3df7083823184c683e782fe5e9d3bf90e08bef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2590364
Commit-Queue: Darin Fisher <darin@chromium.org>
Reviewed-by: default avatarErik Chen <erikchen@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836906}
parent 3a6935e1
......@@ -76,3 +76,13 @@ case {{ length }}:
{% macro print_if(predicate, str) -%}
{% if predicate %}{{str}}{% endif %}
{%- endmacro %}
{# See //docs/lacros.md for details on these Chrome OS defines. #}
{%- macro platform_define(platform) -%}
{%- if platform|lower == 'chromeos' -%}
(BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS))
{%- else -%}
defined(OS_{{platform | upper}})
{%- endif -%}
{%- endmacro -%}
{% from 'templates/macros.tmpl' import license, source_files_for_generated_file %}
{% from 'templates/macros.tmpl' import license, source_files_for_generated_file, platform_define %}
{{license()}}
{{source_files_for_generated_file(template_file, input_files)}}
......@@ -9,6 +9,7 @@
#include <array>
#include <iterator>
#include "base/containers/contains.h"
#include "build/chromeos_buildflags.h"
#include "third_party/blink/renderer/core/origin_trials/origin_trial_context.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
......@@ -100,7 +101,7 @@ bool origin_trials::FeatureEnabledForOS(OriginTrialFeature feature) {
#if
{%- for os in feature.origin_trial_os %}
{%- if not loop.first %} ||{% endif %}
defined(OS_{{os | upper}})
{{platform_define(os)}}
{%- endfor %}
return true;
......
{% from 'templates/macros.tmpl' import license, source_files_for_generated_file %}
{% from 'templates/macros.tmpl' import license, source_files_for_generated_file, platform_define %}
{{license()}}
{{source_files_for_generated_file(template_file, input_files)}}
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "third_party/blink/renderer/platform/runtime_enabled_features.h"
......@@ -33,7 +34,7 @@ void RuntimeEnabledFeatures::Set{{feature_set|capitalize}}FeaturesEnabled(bool e
// Platform-dependent features
{% for platform in platforms %}
#if defined(OS_{{platform | upper}})
#if {{platform_define(platform)}}
{% for feature in features if feature.status_type == 'dict' and feature.status[platform] == feature_set %}
Set{{feature.name}}Enabled(enable);
{% endfor %}
......@@ -44,7 +45,7 @@ void RuntimeEnabledFeatures::Set{{feature_set|capitalize}}FeaturesEnabled(bool e
#if
{%- for platform in platforms %}
{%- if not loop.first %} &&{% endif %}
!defined(OS_{{platform | upper}})
!{{platform_define(platform)}}
{%- endfor %}
{% for feature in features if feature.status_type == 'dict' and feature.status['default'] == feature_set %}
......@@ -112,7 +113,7 @@ bool RuntimeEnabledFeatures::{{feature.data_member_name}} = {{'true' if feature.
// Platform-dependent features
{% for platform in platforms %}
#if defined(OS_{{platform | upper}})
#if {{platform_define(platform)}}
{% for feature in features %}
{% if feature.status_type == 'dict' %}
bool RuntimeEnabledFeatures::{{feature.data_member_name}} = {{'true' if feature.status[platform] == 'stable' else 'false'}};
......@@ -125,7 +126,7 @@ bool RuntimeEnabledFeatures::{{feature.data_member_name}} = {{'true' if feature.
#if
{%- for platform in platforms %}
{%- if not loop.first %} &&{% endif %}
!defined(OS_{{platform | upper}})
!{{platform_define(platform)}}
{%- endfor %}
{% for feature in features %}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment