Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: chrome/browser/android/chrome_feature_list.cc

Issue 2441243003: Use feature architecture as kill switch for WebAPKs instead of field trial (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/android/chrome_feature_list.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/chrome_feature_list.h" 5 #include "chrome/browser/android/chrome_feature_list.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 &ntp_snippets::kSaveToOfflineFeature, 44 &ntp_snippets::kSaveToOfflineFeature,
45 &ntp_snippets::kSectionDismissalFeature, 45 &ntp_snippets::kSectionDismissalFeature,
46 &kNTPFakeOmniboxTextFeature, 46 &kNTPFakeOmniboxTextFeature,
47 &kNTPOfflinePagesFeature, 47 &kNTPOfflinePagesFeature,
48 &kPhysicalWebFeature, 48 &kPhysicalWebFeature,
49 &kPhysicalWebIgnoreOtherClientsFeature, 49 &kPhysicalWebIgnoreOtherClientsFeature,
50 &kScanCardsInWebPayments, 50 &kScanCardsInWebPayments,
51 &kSpecialLocaleFeature, 51 &kSpecialLocaleFeature,
52 &kSpecialLocaleWrapper, 52 &kSpecialLocaleWrapper,
53 &kTabReparenting, 53 &kTabReparenting,
54 &kWebApk,
54 &kCCTExternalLinkHandling, 55 &kCCTExternalLinkHandling,
55 &offline_pages::kOfflinePagesBackgroundLoadingFeature, 56 &offline_pages::kOfflinePagesBackgroundLoadingFeature,
56 &offline_pages::kBackgroundLoaderForDownloadsFeature, 57 &offline_pages::kBackgroundLoaderForDownloadsFeature,
57 &offline_pages::kOfflinePagesCTFeature, // See crbug.com/620421. 58 &offline_pages::kOfflinePagesCTFeature, // See crbug.com/620421.
58 &offline_pages::kOfflinePagesSharingFeature, 59 &offline_pages::kOfflinePagesSharingFeature,
59 &password_manager::features::kViewPasswords, 60 &password_manager::features::kViewPasswords,
60 }; 61 };
61 62
62 } // namespace 63 } // namespace
63 64
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 97
97 const base::Feature kTabReparenting{"TabReparenting", 98 const base::Feature kTabReparenting{"TabReparenting",
98 base::FEATURE_ENABLED_BY_DEFAULT}; 99 base::FEATURE_ENABLED_BY_DEFAULT};
99 100
100 const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling", 101 const base::Feature kCCTExternalLinkHandling{"CCTExternalLinkHandling",
101 base::FEATURE_ENABLED_BY_DEFAULT}; 102 base::FEATURE_ENABLED_BY_DEFAULT};
102 103
103 const base::Feature kUserMediaScreenCapturing{ 104 const base::Feature kUserMediaScreenCapturing{
104 "UserMediaScreenCapturing", base::FEATURE_DISABLED_BY_DEFAULT}; 105 "UserMediaScreenCapturing", base::FEATURE_DISABLED_BY_DEFAULT};
105 106
107 // Makes "Add to Home screen" in the app menu generate an APK for the shortcut
108 // URL which opens Chrome in fullscreen.
109 // For WebAPKs to be enabled, the WebAPK feature must be enabled and the
dominickn 2016/10/24 04:04:17 Is it strictly necessary for the feature to be ena
110 // --enable-webapk command line flag must be set.
111 const base::Feature kWebApk{"WebAPK", base::FEATURE_ENABLED_BY_DEFAULT};
112
106 static jboolean IsEnabled(JNIEnv* env, 113 static jboolean IsEnabled(JNIEnv* env,
107 const JavaParamRef<jclass>& clazz, 114 const JavaParamRef<jclass>& clazz,
108 const JavaParamRef<jstring>& jfeature_name) { 115 const JavaParamRef<jstring>& jfeature_name) {
109 const std::string feature_name = ConvertJavaStringToUTF8(env, jfeature_name); 116 const std::string feature_name = ConvertJavaStringToUTF8(env, jfeature_name);
110 for (size_t i = 0; i < arraysize(kFeaturesExposedToJava); ++i) { 117 for (size_t i = 0; i < arraysize(kFeaturesExposedToJava); ++i) {
111 if (kFeaturesExposedToJava[i]->name == feature_name) 118 if (kFeaturesExposedToJava[i]->name == feature_name)
112 return base::FeatureList::IsEnabled(*kFeaturesExposedToJava[i]); 119 return base::FeatureList::IsEnabled(*kFeaturesExposedToJava[i]);
113 } 120 }
114 // Features queried via this API must be present in |kFeaturesExposedToJava|. 121 // Features queried via this API must be present in |kFeaturesExposedToJava|.
115 NOTREACHED(); 122 NOTREACHED();
116 return false; 123 return false;
117 } 124 }
118 125
119 bool RegisterChromeFeatureListJni(JNIEnv* env) { 126 bool RegisterChromeFeatureListJni(JNIEnv* env) {
120 return RegisterNativesImpl(env); 127 return RegisterNativesImpl(env);
121 } 128 }
122 129
123 } // namespace android 130 } // namespace android
124 } // namespace chrome 131 } // namespace chrome
OLDNEW
« no previous file with comments | « chrome/browser/android/chrome_feature_list.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698