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

Unified Diff: third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp

Issue 2891953002: Ship and experiment with the Budget API (Closed)
Patch Set: one more result file Created 3 years, 7 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/modules/v8/ConditionalFeaturesForModules.cpp
diff --git a/third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp b/third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp
index 18a37fffd00bcefbb153b67bf38e5f51a2e1fc09..5304afe4dc4d883206220b85d79d6b85afea1aed 100644
--- a/third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp
+++ b/third_party/WebKit/Source/bindings/modules/v8/ConditionalFeaturesForModules.cpp
@@ -10,6 +10,7 @@
#include "bindings/core/v8/V8SharedWorkerGlobalScope.h"
#include "bindings/core/v8/V8Window.h"
#include "bindings/core/v8/V8WorkerNavigator.h"
+#include "bindings/modules/v8/V8BudgetService.h"
#include "bindings/modules/v8/V8DedicatedWorkerGlobalScopePartial.h"
#include "bindings/modules/v8/V8Gamepad.h"
#include "bindings/modules/v8/V8GamepadButton.h"
@@ -86,6 +87,25 @@ void InstallConditionalFeaturesForModules(
V8WindowPartial::installGamepadExtensions(
isolate, world, instance_object, prototype_object, interface_object);
}
+ if (OriginTrials::budgetQueryEnabled(execution_context)) {
+ V8WindowPartial::installBudgetQuery(isolate, world, instance_object,
+ prototype_object, interface_object);
+ }
+ } else if (wrapper_type_info ==
+ &V8DedicatedWorkerGlobalScope::wrapperTypeInfo) {
+ v8::Local<v8::Object> instance_object =
+ script_state->GetContext()->Global();
+ if (OriginTrials::budgetQueryEnabled(execution_context)) {
+ V8DedicatedWorkerGlobalScopePartial::installBudgetQuery(
+ isolate, world, instance_object, prototype_object, interface_object);
+ }
+ } else if (wrapper_type_info == &V8SharedWorkerGlobalScope::wrapperTypeInfo) {
+ v8::Local<v8::Object> instance_object =
+ script_state->GetContext()->Global();
+ if (OriginTrials::budgetQueryEnabled(execution_context)) {
+ V8SharedWorkerGlobalScopePartial::installBudgetQuery(
+ isolate, world, instance_object, prototype_object, interface_object);
+ }
} else if (wrapper_type_info ==
&V8ServiceWorkerGlobalScope::wrapperTypeInfo) {
v8::Local<v8::Object> instance_object =
@@ -94,12 +114,22 @@ void InstallConditionalFeaturesForModules(
V8ServiceWorkerGlobalScope::installForeignFetch(
isolate, world, instance_object, prototype_object, interface_object);
}
+ if (OriginTrials::budgetQueryEnabled(execution_context)) {
+ V8ServiceWorkerGlobalScope::installBudgetQuery(
+ isolate, world, instance_object, prototype_object, interface_object);
+ }
} else if (wrapper_type_info == &V8InstallEvent::wrapperTypeInfo) {
if (OriginTrials::foreignFetchEnabled(execution_context)) {
V8InstallEvent::installForeignFetch(isolate, world,
v8::Local<v8::Object>(),
prototype_object, interface_object);
}
+ } else if (wrapper_type_info == &V8BudgetService::wrapperTypeInfo) {
+ if (OriginTrials::budgetQueryEnabled(execution_context)) {
+ V8BudgetService::installBudgetQuery(isolate, world,
+ v8::Local<v8::Object>(),
+ prototype_object, interface_object);
+ }
} else if (wrapper_type_info == &V8Gamepad::wrapperTypeInfo) {
if (OriginTrials::gamepadExtensionsEnabled(execution_context)) {
V8Gamepad::installGamepadExtensions(isolate, world,
@@ -202,6 +232,37 @@ void InstallPendingConditionalFeatureForModules(
}
return;
}
+ if (feature == "BudgetQuery") {
+ global_instance_object = script_state->GetContext()->Global();
+
+ ExecutionContext* execution_context = ExecutionContext::From(script_state);
+ if (execution_context->IsDocument()) {
+ V8WindowPartial::installBudgetQuery(
+ isolate, world, global_instance_object, v8::Local<v8::Object>(),
+ v8::Local<v8::Function>());
+ } else if (execution_context->IsDedicatedWorkerGlobalScope()) {
+ V8DedicatedWorkerGlobalScopePartial::installBudgetQuery(
+ isolate, world, global_instance_object, v8::Local<v8::Object>(),
+ v8::Local<v8::Function>());
+ } else if (execution_context->IsSharedWorkerGlobalScope()) {
+ V8SharedWorkerGlobalScopePartial::installBudgetQuery(
+ isolate, world, global_instance_object, v8::Local<v8::Object>(),
+ v8::Local<v8::Function>());
+ } else if (execution_context->IsServiceWorkerGlobalScope()) {
+ V8ServiceWorkerGlobalScope::installBudgetQuery(
+ isolate, world, global_instance_object, v8::Local<v8::Object>(),
+ v8::Local<v8::Function>());
+ }
+
+ if (context_data->GetExistingConstructorAndPrototypeForType(
+ &V8BudgetService::wrapperTypeInfo, &prototype_object,
+ &interface_object)) {
+ V8BudgetService::installBudgetQuery(isolate, world,
+ v8::Local<v8::Object>(),
+ prototype_object, interface_object);
+ }
+ return;
+ }
}
void RegisterInstallConditionalFeaturesForModules() {

Powered by Google App Engine
This is Rietveld 408576698