Chromium Code Reviews| Index: third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp |
| diff --git a/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp b/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp |
| index 2c2762a973f596f93d1302ac527f1701319bed3e..1927b66fb83ee1a8cbf5c1942bd95d19a3c54930 100644 |
| --- a/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp |
| +++ b/third_party/WebKit/Source/bindings/core/v8/ConditionalFeatures.cpp |
| @@ -1,85 +1,31 @@ |
| // Copyright 2016 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. |
| +// found in the LICENSE file |
|
Yuki
2017/02/20 09:34:29
nit: No need to drop the last period.
|
| #include "bindings/core/v8/ConditionalFeatures.h" |
| +#include "bindings/core/v8/DOMWrapperWorld.h" |
| #include "bindings/core/v8/ScriptState.h" |
| -#include "bindings/core/v8/V8Document.h" |
| -#include "bindings/core/v8/V8HTMLLinkElement.h" |
| -#include "bindings/core/v8/V8Navigator.h" |
| -#include "bindings/core/v8/V8Window.h" |
| -#include "core/dom/ExecutionContext.h" |
| -#include "core/frame/LocalFrame.h" |
| -#include "core/origin_trials/OriginTrials.h" |
| namespace blink { |
| -void installConditionalFeaturesCore(const WrapperTypeInfo* wrapperTypeInfo, |
| - const ScriptState* scriptState, |
| - v8::Local<v8::Object> prototypeObject, |
| - v8::Local<v8::Function> interfaceObject) { |
| - // TODO(iclelland): Generate all of this logic at compile-time, based on the |
| - // configuration of origin trial enabled attributes and interfaces in IDL |
| - // files. (crbug.com/615060) |
| - ExecutionContext* executionContext = scriptState->getExecutionContext(); |
| - if (!executionContext) |
| - return; |
| - v8::Isolate* isolate = scriptState->isolate(); |
| - const DOMWrapperWorld& world = scriptState->world(); |
| - if (wrapperTypeInfo == &V8HTMLLinkElement::wrapperTypeInfo) { |
| - if (OriginTrials::linkServiceWorkerEnabled(executionContext)) { |
| - V8HTMLLinkElement::installLinkServiceWorker( |
| - isolate, world, v8::Local<v8::Object>(), prototypeObject, |
| - interfaceObject); |
| - } |
| - } else if (wrapperTypeInfo == &V8Document::wrapperTypeInfo) { |
| - if (OriginTrials::setRootScrollerEnabled(executionContext)) { |
| - V8Document::installRootScroller(isolate, world, v8::Local<v8::Object>(), |
| - prototypeObject, interfaceObject); |
| - } |
| - } |
| -} |
| +void installConditionalFeaturesDefault( |
| + const WrapperTypeInfo* wrapperTypeInfo, |
| + const ScriptState* scriptState, |
| + v8::Local<v8::Object> prototypeObject, |
| + v8::Local<v8::Function> interfaceObject) {} |
| -void installPendingConditionalFeatureCore(const String& feature, |
| - const ScriptState* scriptState) { |
| - // TODO(iclelland): Generate all of this logic at compile-time, based on the |
| - // configuration of origin trial enabled attributes and interfaces in IDL |
| - // files. (crbug.com/615060) |
| - v8::Local<v8::Object> prototypeObject; |
| - v8::Local<v8::Function> interfaceObject; |
| - v8::Isolate* isolate = scriptState->isolate(); |
| - const DOMWrapperWorld& world = scriptState->world(); |
| - V8PerContextData* contextData = scriptState->perContextData(); |
| - if (feature == "ForeignFetch") { |
| - if (contextData->getExistingConstructorAndPrototypeForType( |
| - &V8HTMLLinkElement::wrapperTypeInfo, &prototypeObject, |
| - &interfaceObject)) { |
| - V8HTMLLinkElement::installLinkServiceWorker( |
| - isolate, world, v8::Local<v8::Object>(), prototypeObject, |
| - interfaceObject); |
| - } |
| - return; |
| - } |
| - if (feature == "RootScroller") { |
| - if (contextData->getExistingConstructorAndPrototypeForType( |
| - &V8Document::wrapperTypeInfo, &prototypeObject, &interfaceObject)) { |
| - V8Document::installRootScroller(isolate, world, v8::Local<v8::Object>(), |
| - prototypeObject, interfaceObject); |
| - } |
| - return; |
| - } |
| -} |
| +void installPendingConditionalFeatureDefault(const String& feature, |
| + const ScriptState* scriptState) {} |
| namespace { |
| - |
| InstallConditionalFeaturesFunction s_installConditionalFeaturesFunction = |
| - &installConditionalFeaturesCore; |
| + &installConditionalFeaturesDefault; |
| InstallPendingConditionalFeatureFunction |
| s_installPendingConditionalFeatureFunction = |
| - &installPendingConditionalFeatureCore; |
| -} |
| + &installPendingConditionalFeatureDefault; |
| +} // namespace |
| InstallConditionalFeaturesFunction setInstallConditionalFeaturesFunction( |
| InstallConditionalFeaturesFunction newInstallConditionalFeaturesFunction) { |
| @@ -108,16 +54,6 @@ void installConditionalFeatures(const WrapperTypeInfo* type, |
| interfaceObject); |
| } |
| -void installConditionalFeaturesOnWindow(const ScriptState* scriptState) { |
| - DCHECK(scriptState); |
| - DCHECK(scriptState->context() == scriptState->isolate()->GetCurrentContext()); |
| - DCHECK(scriptState->perContextData()); |
| - DCHECK(scriptState->world().isMainWorld()); |
| - (*s_installConditionalFeaturesFunction)(&V8Window::wrapperTypeInfo, |
| - scriptState, v8::Local<v8::Object>(), |
| - v8::Local<v8::Function>()); |
| -} |
| - |
| void installPendingConditionalFeature(const String& feature, |
| const ScriptState* scriptState) { |
| DCHECK(scriptState); |
| @@ -128,22 +64,4 @@ void installPendingConditionalFeature(const String& feature, |
| (*s_installPendingConditionalFeatureFunction)(feature, scriptState); |
| } |
| -bool isFeatureEnabledInFrame(const FeaturePolicy::Feature& feature, |
| - const LocalFrame* frame) { |
| - // If there is no frame, or if feature policy is disabled, use defaults. |
| - bool enabledByDefault = |
| - (feature.defaultPolicy == FeaturePolicy::FeatureDefault::EnableForAll || |
| - (feature.defaultPolicy == FeaturePolicy::FeatureDefault::EnableForSelf && |
| - !frame->isCrossOriginSubframe())); |
| - if (!RuntimeEnabledFeatures::featurePolicyEnabled() || !frame) |
| - return enabledByDefault; |
| - FeaturePolicy* featurePolicy = frame->securityContext()->getFeaturePolicy(); |
| - // The policy should always be initialized before checking it to ensure we |
| - // properly inherit the parent policy. |
| - DCHECK(featurePolicy); |
| - |
| - // Otherwise, check policy. |
| - return featurePolicy->isFeatureEnabled(feature); |
| -} |
| - |
| } // namespace blink |