Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp

Issue 2260113002: Lazily install origin trial features on V8 objects (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase after parent CL landed Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 575d73a98ddae38de5a9626b26289cf1a043d2e4..02eaf1dc4f3f1c59a31183d43f41f091f3b0aa90 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8Binding.cpp
@@ -58,7 +58,6 @@
#include "core/inspector/InspectorTraceEvents.h"
#include "core/loader/FrameLoader.h"
#include "core/loader/FrameLoaderClient.h"
-#include "core/origin_trials/OriginTrialContext.h"
#include "core/workers/WorkerGlobalScope.h"
#include "core/workers/WorkletGlobalScope.h"
#include "core/xml/XPathNSResolver.h"
@@ -784,73 +783,6 @@ v8::Local<v8::Context> toV8ContextEvenIfDetached(Frame* frame, DOMWrapperWorld&
return frame->windowProxy(world)->contextIfInitialized();
}
-void installOriginTrialsCore(ScriptState* scriptState)
-{
- // TODO(iclelland): Generate all of this logic at compile-time, based on the
- // configuration of origin trial enabled attibutes and interfaces in IDL
- // files. (crbug.com/615060)
-
- ExecutionContext* executionContext = scriptState->getExecutionContext();
- OriginTrialContext* originTrialContext = OriginTrialContext::from(executionContext, OriginTrialContext::DontCreateIfNotExists);
- if (!originTrialContext)
- return;
-
- if (!originTrialContext->featureBindingsInstalled("LinkServiceWorker") && (RuntimeEnabledFeatures::linkServiceWorkerEnabled() || originTrialContext->isFeatureEnabled("ForeignFetch"))) {
- if (executionContext->isDocument()) {
- V8HTMLLinkElement::installLinkServiceWorker(scriptState);
- }
- }
-}
-
-namespace {
-InstallOriginTrialsFunction s_installOriginTrialsFunction = &installOriginTrialsCore;
-}
-
-void installOriginTrials(ScriptState* scriptState)
-{
- v8::Local<v8::Context> context = scriptState->context();
- ExecutionContext* executionContext = toExecutionContext(context);
- OriginTrialContext* originTrialContext = OriginTrialContext::from(executionContext, OriginTrialContext::DontCreateIfNotExists);
- if (!originTrialContext)
- return;
-
- ScriptState::Scope scope(scriptState);
-
- (*s_installOriginTrialsFunction)(scriptState);
-
- // Mark each enabled feature as having been installed.
- if (!originTrialContext->featureBindingsInstalled("DurableStorage") && (RuntimeEnabledFeatures::durableStorageEnabled() || originTrialContext->isFeatureEnabled("DurableStorage"))) {
- originTrialContext->setFeatureBindingsInstalled("DurableStorage");
- }
-
- if (!originTrialContext->featureBindingsInstalled("WebBluetooth") && (RuntimeEnabledFeatures::webBluetoothEnabled() || originTrialContext->isFeatureEnabled("WebBluetooth"))) {
- originTrialContext->setFeatureBindingsInstalled("WebBluetooth");
- }
-
- if (!originTrialContext->featureBindingsInstalled("WebShare") && (RuntimeEnabledFeatures::webShareEnabled() || originTrialContext->isFeatureEnabled("WebShare"))) {
- originTrialContext->setFeatureBindingsInstalled("WebShare");
- }
-
- if (!originTrialContext->featureBindingsInstalled("WebUSB") && (RuntimeEnabledFeatures::webUSBEnabled() || originTrialContext->isFeatureEnabled("WebUSB"))) {
- originTrialContext->setFeatureBindingsInstalled("WebUSB");
- }
-
- if (!originTrialContext->featureBindingsInstalled("LinkServiceWorker") && (RuntimeEnabledFeatures::linkServiceWorkerEnabled() || originTrialContext->isFeatureEnabled("ForeignFetch"))) {
- originTrialContext->setFeatureBindingsInstalled("LinkServiceWorker");
- }
-
- if (!originTrialContext->featureBindingsInstalled("ForeignFetch") && (RuntimeEnabledFeatures::foreignFetchEnabled() || originTrialContext->isFeatureEnabled("ForeignFetch"))) {
- originTrialContext->setFeatureBindingsInstalled("ForeignFetch");
- }
-}
-
-InstallOriginTrialsFunction setInstallOriginTrialsFunction(InstallOriginTrialsFunction newInstallOriginTrialsFunction)
-{
- InstallOriginTrialsFunction originalFunction = s_installOriginTrialsFunction;
- s_installOriginTrialsFunction = newInstallOriginTrialsFunction;
- return originalFunction;
-}
-
void crashIfIsolateIsDead(v8::Isolate* isolate)
{
if (isolate->IsDead()) {

Powered by Google App Engine
This is Rietveld 408576698