Commit 72c3fd50 authored by Nate Fischer's avatar Nate Fischer Committed by Commit Bot

[AW][Dev-UI] autogenerate AwFeatures

No change to logic. This autogenerates AwFeatures.java from
aw_features.cc using the java_cpp_features GN rule.

Fixed: 1128789
Test: autoninja -C out/Default system_webview_apk
Change-Id: If3f3f36384e04328428f3feb05bffa62c02fcdf8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2412798
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Reviewed-by: default avatarRichard Coles <torne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#812934}
parent 6451dcf4
......@@ -632,9 +632,15 @@ java_cpp_strings("common_java_switches_srcjar") {
template = "java/src/org/chromium/android_webview/common/AwSwitches.java.tmpl"
}
java_cpp_features("common_java_features_srcjar") {
# External code should depend on "common_java" instead.
visibility = [ ":*" ]
sources = [ "common/aw_features.cc" ]
template = "java/src/org/chromium/android_webview/common/AwFeatures.java.tmpl"
}
android_library("common_java") {
sources = [
"java/src/org/chromium/android_webview/common/AwFeatures.java",
"java/src/org/chromium/android_webview/common/AwResource.java",
"java/src/org/chromium/android_webview/common/CommandLineUtil.java",
"java/src/org/chromium/android_webview/common/DeveloperModeUtils.java",
......@@ -650,7 +656,10 @@ android_library("common_java") {
"//gpu/config:config_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
]
srcjar_deps = [ ":common_java_switches_srcjar" ]
srcjar_deps = [
":common_java_features_srcjar",
":common_java_switches_srcjar",
]
}
android_aidl("common_aidl") {
......
......@@ -146,9 +146,11 @@ WebView also defines its own flags and Features:
[`java_cpp_strings`](/docs/android_accessing_cpp_switches_in_java.md) to
automatically generate Java switch constants from the C++ switches (see
[`AwSwitches.java`](https://source.chromium.org/chromium/chromium/src/+/master:out/android-Debug/gen/android_webview/common_java/generated_java/input_srcjars/org/chromium/android_webview/common/AwSwitches.java)).
* [AwFeatureList.java](https://cs.chromium.org/chromium/src/android_webview/java/src/org/chromium/android_webview/AwFeatureList.java)
(and its [native
counterpart](https://cs.chromium.org/chromium/src/android_webview/common/aw_features.h))
* C++ `base::Features` are defined in
[`aw_features.cc`](/android_webview/common/aw_features.cc). We use
[`java_cpp_features`](/docs/android_accessing_cpp_features_in_java.md) to
automatically generate Java constants from the C++ Features (see
[`AwFeatures.java`](https://source.chromium.org/chromium/chromium/src/+/master:out/android-Debug/gen/android_webview/common_java/generated_java/input_srcjars/org/chromium/android_webview/common/AwFeatures.java)).
## Implementation
......
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.android_webview.common;
/**
* Constants for the names of WebView Features.
*
* These must match the names in aw_features.cc.
*/
public final class AwFeatures {
// Alphabetical:
public static final String WEBVIEW_CONNECTIONLESS_SAFE_BROWSING =
"WebViewConnectionlessSafeBrowsing";
public static final String WEBVIEW_DISPLAY_CUTOUT = "WebViewDisplayCutout";
public static final String WEBVIEW_EXTRA_HEADERS_SAME_DOMAIN_ONLY =
"WebViewExtraHeadersSameDomainOnly";
public static final String WEBVIEW_EXTRA_HEADERS_SAME_ORIGIN_ONLY =
"WebViewExtraHeadersSameOriginOnly";
public static final String WEBVIEW_TEST_FEATURE = "WebViewTestFeature";
private AwFeatures() {}
}
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.android_webview.common;
/**
* Constants for the names of WebView Features.
*/
public final class AwFeatures {{
{NATIVE_FEATURES}
// Do not instantiate this class.
private AwFeatures() {{}}
}}
......@@ -69,8 +69,8 @@ public final class ProductionSupportedFlagList {
Flag.baseFeature(AwFeatures.WEBVIEW_CONNECTIONLESS_SAFE_BROWSING,
"Uses GooglePlayService's 'connectionless' APIs for Safe Browsing "
+ "security checks."),
Flag.baseFeature(
"WebViewBrotliSupport", "Enables brotli compression support in WebView."),
Flag.baseFeature(AwFeatures.WEBVIEW_BROTLI_SUPPORT,
"Enables brotli compression support in WebView."),
Flag.baseFeature(
"AppCache", "Controls AppCache to facilitate testing against future removal."),
Flag.baseFeature(AwFeatures.WEBVIEW_EXTRA_HEADERS_SAME_ORIGIN_ONLY,
......
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