Chromium Code Reviews| Index: third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp |
| diff --git a/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp b/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp |
| index fcda0d9c899a093071a1f2c75c8acdbd5a1a64c4..2b2ee86ebc1b2ce6943e5250121aff084ae0f4d4 100644 |
| --- a/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp |
| +++ b/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp |
| @@ -36,6 +36,7 @@ |
| #include "bindings/core/v8/V8BindingMacros.h" |
| #include "bindings/core/v8/V8Element.h" |
| #include "bindings/core/v8/V8EventTarget.h" |
| +#include "bindings/core/v8/V8HTMLLinkElement.h" |
| #include "bindings/core/v8/V8NodeFilter.h" |
| #include "bindings/core/v8/V8NodeFilterCondition.h" |
| #include "bindings/core/v8/V8ObjectConstructor.h" |
| @@ -809,8 +810,17 @@ void installOriginTrialsCore(ScriptState* scriptState) |
| // configuration of origin trial enabled attibutes and interfaces in IDL |
| // files. (crbug.com/615060) |
| - // Initialization code for origin trials for core bindings, if necessary, |
| - // should go here. |
| + v8::Local<v8::Context> context = scriptState->context(); |
| + ExecutionContext* executionContext = toExecutionContext(context); |
| + OriginTrialContext* originTrialContext = OriginTrialContext::from(executionContext, OriginTrialContext::DontCreateIfNotExists); |
| + if (!originTrialContext) |
| + return; |
| + |
| + if (!originTrialContext->featureBindingsInstalled("LinkServiceWorker") && (RuntimeEnabledFeatures::linkServiceWorkerEnabled() || originTrialContext->isFeatureEnabled("ForeignFetch"))) { |
|
iclelland
2016/07/26 20:32:06
I thing you could replace this with
if (!orig
|
| + if (executionContext->isDocument()) { |
| + V8HTMLLinkElement::installLinkServiceWorker(scriptState); |
| + } |
| + } |
| } |
| namespace { |
| @@ -837,6 +847,14 @@ void installOriginTrials(ScriptState* scriptState) |
| if (!originTrialContext->featureBindingsInstalled("WebBluetooth") && (RuntimeEnabledFeatures::webBluetoothEnabled() || originTrialContext->isFeatureEnabled("WebBluetooth"))) { |
| originTrialContext->setFeatureBindingsInstalled("WebBluetooth"); |
| } |
| + |
| + if (!originTrialContext->featureBindingsInstalled("LinkServiceWorker") && (RuntimeEnabledFeatures::webBluetoothEnabled() || originTrialContext->isFeatureEnabled("ForeignFetch"))) { |
| + originTrialContext->setFeatureBindingsInstalled("LinkServiceWorker"); |
| + } |
| + |
| + if (!originTrialContext->featureBindingsInstalled("ForeignFetch") && (RuntimeEnabledFeatures::webBluetoothEnabled() || originTrialContext->isFeatureEnabled("ForeignFetch"))) { |
| + originTrialContext->setFeatureBindingsInstalled("ForeignFetch"); |
| + } |
| } |
| InstallOriginTrialsFunction setInstallOriginTrialsFunction(InstallOriginTrialsFunction newInstallOriginTrialsFunction) |