| Index: third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| diff --git a/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp b/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| index fb45fcff2d457c0d57c2564ec07cdb1d42272382..f1ebff46dd942f07729c3d4e8e872e680067b7a7 100644
|
| --- a/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| +++ b/third_party/WebKit/Source/core/origin_trials/OriginTrialContext.cpp
|
| @@ -158,6 +158,7 @@ void OriginTrialContext::addToken(const String& token) {
|
| m_tokens.append(token);
|
| validateToken(token);
|
| }
|
| + initializePendingFeatures();
|
| }
|
|
|
| void OriginTrialContext::addTokens(const Vector<String>& tokens) {
|
| @@ -167,6 +168,24 @@ void OriginTrialContext::addTokens(const Vector<String>& tokens) {
|
| validateToken(token);
|
| }
|
| }
|
| + initializePendingFeatures();
|
| +}
|
| +
|
| +void OriginTrialContext::initializePendingFeatures() {
|
| + if (!m_host->isDocument())
|
| + return;
|
| + LocalFrame* frame = toDocument(m_host.get())->frame();
|
| + if (!frame)
|
| + return;
|
| + ScriptState* scriptState = ScriptState::forMainWorld(frame);
|
| + if (!scriptState)
|
| + return;
|
| + if (!frame->script()
|
| + .windowProxy(scriptState->world())
|
| + ->isContextInitialized())
|
| + return;
|
| + v8::HandleScope handleScope(scriptState->isolate());
|
| + installPendingConditionalFeaturesOnWindow(scriptState);
|
| }
|
|
|
| bool OriginTrialContext::isTrialEnabled(const String& trialName) {
|
|
|