Add FieldTrialsRegistry that verifies looked up field trials
This new class implements the existing FieldTrialsView interface, extending it with the verification functionality. For now, the verification will only be performed if the rtc_strict_field_trials GN arg is set. Most classes extending FieldTrialsView today have been converted to extend from FieldTrialsRegistry instead to automatically perform verification. Bug: webrtc:14154 Change-Id: I4819724cd66a04507e62fcc2bb1019187b6ba8c7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276270 Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Emil Lundmark <lndmrk@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38453}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
9707f579ae
commit
1c8103d4db
@ -15,7 +15,7 @@
|
||||
#include <string>
|
||||
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "api/field_trials_view.h"
|
||||
#include "api/field_trials_registry.h"
|
||||
#include "rtc_base/containers/flat_map.h"
|
||||
|
||||
namespace webrtc {
|
||||
@ -34,7 +34,7 @@ namespace webrtc {
|
||||
// NOTE: Creating multiple FieldTrials-object is currently prohibited
|
||||
// until we remove the global string (TODO(bugs.webrtc.org/10335))
|
||||
// (unless using CreateNoGlobal):
|
||||
class FieldTrials : public FieldTrialsView {
|
||||
class FieldTrials : public FieldTrialsRegistry {
|
||||
public:
|
||||
explicit FieldTrials(const std::string& s);
|
||||
~FieldTrials();
|
||||
@ -43,10 +43,11 @@ class FieldTrials : public FieldTrialsView {
|
||||
// global variable (i.e can not be used for all parts of webrtc).
|
||||
static std::unique_ptr<FieldTrials> CreateNoGlobal(const std::string& s);
|
||||
|
||||
std::string Lookup(absl::string_view key) const override;
|
||||
|
||||
private:
|
||||
explicit FieldTrials(const std::string& s, bool);
|
||||
|
||||
std::string GetValue(absl::string_view key) const override;
|
||||
|
||||
const bool uses_global_;
|
||||
const std::string field_trial_string_;
|
||||
const char* const previous_field_trial_string_;
|
||||
|
||||
Reference in New Issue
Block a user