• Xianzhu Wang's avatar
    Correct multiple levels of depends_on and implied_by of runtime enabled features · 4ea65f28
    Xianzhu Wang authored
    Previously RuntimeEnabledFeatures::*Enabled() was incorrect when there
    were multiple levels of depends_on or implied_by.
    
    Now call *Enabled() of the depends_on/implied_by features instead of
    getting their bool variables (which don't reflect the features' status
    if there are depends_on/implied_by).
    
    Add cycle detection of implied_by because that situation would otherwise
    cause infinite recursion with this CL.
    
    Add detection of non-origin-trial feature implied by origin trial
    feature because that situation is invalid (see crbug.com/1061959)
    and would otherwise cause compilation error with this CL.
    
    Bug: 1061443, 1061959
    Change-Id: I7b6cda1076f0c2a81edb5567a745d237c88259ca
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2104019Reviewed-by: default avatarJason Chase <chasej@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#751544}
    4ea65f28
BUILD.gn 80.2 KB