Import Cobalt 2.10999 2016-09-15
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousIndexedGetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousIndexedGetterInterface.cc
index 50d42d0..5eedc39 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousIndexedGetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::AnonymousIndexedGetterInterface;
using cobalt::bindings::testing::JSCAnonymousIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedGetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedGetterInterface.cc
index 9aea555..6609882 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedGetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/jsc_property_enumerator.h"
@@ -55,7 +55,7 @@
using cobalt::bindings::testing::AnonymousNamedGetterInterface;
using cobalt::bindings::testing::JSCAnonymousNamedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,18 +75,18 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSCPropertyEnumerator;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedIndexedGetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedIndexedGetterInterface.cc
index 9bc585c..c480879 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCAnonymousNamedIndexedGetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/jsc_property_enumerator.h"
@@ -55,7 +55,7 @@
using cobalt::bindings::testing::AnonymousNamedIndexedGetterInterface;
using cobalt::bindings::testing::JSCAnonymousNamedIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,18 +75,18 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSCPropertyEnumerator;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCArbitraryInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCArbitraryInterface.cc
index f76b17c..eca2811 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCArbitraryInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCArbitraryInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCBaseInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCBaseInterface.cc
index 44ab166..a213d74 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCBaseInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCBaseInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::BaseInterface;
using cobalt::bindings::testing::JSCBaseInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCBooleanTypeTestInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCBooleanTypeTestInterface.cc
index f43fee7..2475f5c 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCBooleanTypeTestInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCBooleanTypeTestInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::BooleanTypeTestInterface;
using cobalt::bindings::testing::JSCBooleanTypeTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCCallbackFunctionInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCCallbackFunctionInterface.cc
index 166d3b5..76a3234 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCCallbackFunctionInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCCallbackFunctionInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCCallbackInterfaceInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCCallbackInterfaceInterface.cc
index 389cc42..9341213 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCCallbackInterfaceInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCCallbackInterfaceInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCSingleOperationInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::JSCSingleOperationInterface;
using cobalt::bindings::testing::SingleOperationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCConditionalInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCConditionalInterface.cc
index d33347b..0089ce1 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCConditionalInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCConditionalInterface.cc
@@ -27,7 +27,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -56,7 +56,7 @@
using cobalt::bindings::testing::ConditionalInterface;
using cobalt::bindings::testing::JSCConditionalInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -76,17 +76,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCConstantsInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCConstantsInterface.cc
index 9349ec7..5d3edd7 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCConstantsInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCConstantsInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::ConstantsInterface;
using cobalt::bindings::testing::JSCConstantsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCConstructorInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCConstructorInterface.cc
index 469ad81..6b3a7b5 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCConstructorInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCConstructorInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::ConstructorInterface;
using cobalt::bindings::testing::JSCConstructorInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCConstructorWithArgumentsInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCConstructorWithArgumentsInterface.cc
index 5bd8415..7b6daf2 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCConstructorWithArgumentsInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCConstructorWithArgumentsInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::ConstructorWithArgumentsInterface;
using cobalt::bindings::testing::JSCConstructorWithArgumentsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCDOMStringTestInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCDOMStringTestInterface.cc
index 6db2e1d..548363d 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCDOMStringTestInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCDOMStringTestInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::DOMStringTestInterface;
using cobalt::bindings::testing::JSCDOMStringTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCDerivedGetterSetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCDerivedGetterSetterInterface.cc
index dea3e49..232db13 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCDerivedGetterSetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCDerivedGetterSetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/jsc_property_enumerator.h"
@@ -55,7 +55,7 @@
using cobalt::bindings::testing::DerivedGetterSetterInterface;
using cobalt::bindings::testing::JSCDerivedGetterSetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,18 +75,18 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSCPropertyEnumerator;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCDerivedInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCDerivedInterface.cc
index 5a523e7..593115f 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCDerivedInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCDerivedInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::DerivedInterface;
using cobalt::bindings::testing::JSCDerivedInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCDisabledInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCDisabledInterface.cc
index 509c844..5777066 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCDisabledInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCDisabledInterface.cc
@@ -27,7 +27,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -56,7 +56,7 @@
using cobalt::bindings::testing::DisabledInterface;
using cobalt::bindings::testing::JSCDisabledInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -76,17 +76,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCEnumerationInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCEnumerationInterface.cc
index ef85297..71cdd9c 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCEnumerationInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCEnumerationInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::EnumerationInterface;
using cobalt::bindings::testing::JSCEnumerationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCExceptionObjectInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCExceptionObjectInterface.cc
index c3da33c..181d9cd 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCExceptionObjectInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCExceptionObjectInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -55,7 +55,7 @@
using cobalt::bindings::testing::ExceptionObjectInterface;
using cobalt::bindings::testing::JSCExceptionObjectInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,17 +75,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCExceptionsInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCExceptionsInterface.cc
index 52ff3d2..85d38bf 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCExceptionsInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCExceptionsInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::ExceptionsInterface;
using cobalt::bindings::testing::JSCExceptionsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCExtendedIDLAttributesInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCExtendedIDLAttributesInterface.cc
index 9a96bbb..76d5efe 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCExtendedIDLAttributesInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCExtendedIDLAttributesInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::ExtendedIDLAttributesInterface;
using cobalt::bindings::testing::JSCExtendedIDLAttributesInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCGarbageCollectionTestInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCGarbageCollectionTestInterface.cc
index 1be5fcd..baad3b5 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCGarbageCollectionTestInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCGarbageCollectionTestInterface.cc
@@ -25,9 +25,11 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
+#include "JSCGarbageCollectionTestInterface.h"
+#include "cobalt/bindings/testing/garbage_collection_test_interface.h"
#include "cobalt/script/javascriptcore/constructor_base.h"
#include "cobalt/script/javascriptcore/conversion_helpers.h"
@@ -35,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -53,8 +55,10 @@
namespace {
using cobalt::bindings::testing::GarbageCollectionTestInterface;
using cobalt::bindings::testing::JSCGarbageCollectionTestInterface;
+using cobalt::bindings::testing::GarbageCollectionTestInterface;
+using cobalt::bindings::testing::JSCGarbageCollectionTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
@@ -95,6 +99,22 @@
namespace testing {
namespace {
+JSC::JSValue getJSprevious(
+ JSC::ExecState* exec_state,
+ JSC::JSValue slot_base,
+ JSC::PropertyName property_name);
+void setJSprevious(
+ JSC::ExecState* exec,
+ JSC::JSObject* this_object,
+ JSC::JSValue value);
+JSC::JSValue getJSnext(
+ JSC::ExecState* exec_state,
+ JSC::JSValue slot_base,
+ JSC::PropertyName property_name);
+void setJSnext(
+ JSC::ExecState* exec,
+ JSC::JSObject* this_object,
+ JSC::JSValue value);
JSC::EncodedJSValue constructorJSGarbageCollectionTestInterface(JSC::ExecState*);
// These are declared unconditionally, but only defined if needed by the
@@ -119,6 +139,13 @@
#else
const bool s_use_debug_missing_property_handler = false;
#endif
+scoped_refptr<Wrappable> GetOpaqueRootFromWrappable(
+ const scoped_refptr<Wrappable>& wrappable) {
+ GarbageCollectionTestInterface* impl =
+ base::polymorphic_downcast<GarbageCollectionTestInterface*>(wrappable.get());
+ Wrappable* opaque_root = impl->GetHead();
+ return make_scoped_refptr<Wrappable>(opaque_root);
+}
} // namespace
// Class that defines a JS Object representing this interface's Interface Object
@@ -396,13 +423,25 @@
// End of JSCGarbageCollectionTestInterface::Prototype class
const JSC::HashTableValue JSCGarbageCollectionTestInterface::property_table_values[] = {
+ { "previous",
+ JSC::DontDelete ,
+ reinterpret_cast<intptr_t>(getJSprevious),
+ reinterpret_cast<intptr_t>(setJSprevious),
+ JSC::NoIntrinsic
+ },
+ { "next",
+ JSC::DontDelete ,
+ reinterpret_cast<intptr_t>(getJSnext),
+ reinterpret_cast<intptr_t>(setJSnext),
+ JSC::NoIntrinsic
+ },
{ 0, 0, 0, 0, static_cast<JSC::Intrinsic>(0) }
}; // JSCGarbageCollectionTestInterface::property_table_values
// static
const JSC::HashTable JSCGarbageCollectionTestInterface::property_table_prototype = {
- 2, // compactSize
- 1, // compactSizeMask
+ 9, // compactSize
+ 7, // compactSizeMask
property_table_values,
NULL // table allocated at runtime
}; // JSCGarbageCollectionTestInterface::property_table_prototype
@@ -491,6 +530,7 @@
ScriptObjectRegistry* script_object_registry,
const scoped_refptr<GarbageCollectionTestInterface>& impl)
: BaseClass(global_data, structure, script_object_registry, impl) {
+ set_get_opaque_root_function(base::Bind(&GetOpaqueRootFromWrappable));
}
void JSCGarbageCollectionTestInterface::finishCreation(JSC::JSGlobalData& global_data) {
@@ -606,6 +646,98 @@
namespace {
+JSC::JSValue getJSprevious(
+ JSC::ExecState* exec_state,
+ JSC::JSValue slot_base,
+ JSC::PropertyName property_name) {
+ TRACE_EVENT0("JSCGarbageCollectionTestInterface", "get previous");
+ JSCGlobalObject* global_object =
+ JSC::jsCast<JSCGlobalObject*>(exec_state->lexicalGlobalObject());
+ GarbageCollectionTestInterface* impl =
+ GetWrappableOrSetException<GarbageCollectionTestInterface>(exec_state, slot_base);
+ if (!impl) {
+ return exec_state->exception();
+ }
+
+ JSC::JSValue result = ToJSValue(
+ global_object,
+ impl->previous());
+ return result;
+}
+
+void setJSprevious(
+ JSC::ExecState* exec_state,
+ JSC::JSObject* this_object,
+ JSC::JSValue value) {
+ TRACE_EVENT0("JSCGarbageCollectionTestInterface", "set previous");
+ JSCGlobalObject* global_object =
+ JSC::jsCast<JSCGlobalObject*>(exec_state->lexicalGlobalObject());
+ JSCExceptionState exception_state(global_object);
+ GarbageCollectionTestInterface* impl =
+ GetWrappableOrSetException<GarbageCollectionTestInterface>(exec_state, this_object);
+ if (!impl) {
+ return;
+ }
+ TypeTraits<scoped_refptr<GarbageCollectionTestInterface> >::ConversionType cobalt_value;
+ FromJSValue(exec_state, value,
+ (kConversionFlagNullable), &exception_state,
+ &cobalt_value);
+ if (exception_state.is_exception_set()) {
+ JSC::throwError(exec_state, exception_state.exception_object());
+ return;
+ }
+ // Check if argument conversion raised an exception.
+ if (!exec_state->hadException()) {
+ impl->set_previous(cobalt_value);
+ }
+}
+
+JSC::JSValue getJSnext(
+ JSC::ExecState* exec_state,
+ JSC::JSValue slot_base,
+ JSC::PropertyName property_name) {
+ TRACE_EVENT0("JSCGarbageCollectionTestInterface", "get next");
+ JSCGlobalObject* global_object =
+ JSC::jsCast<JSCGlobalObject*>(exec_state->lexicalGlobalObject());
+ GarbageCollectionTestInterface* impl =
+ GetWrappableOrSetException<GarbageCollectionTestInterface>(exec_state, slot_base);
+ if (!impl) {
+ return exec_state->exception();
+ }
+
+ JSC::JSValue result = ToJSValue(
+ global_object,
+ impl->next());
+ return result;
+}
+
+void setJSnext(
+ JSC::ExecState* exec_state,
+ JSC::JSObject* this_object,
+ JSC::JSValue value) {
+ TRACE_EVENT0("JSCGarbageCollectionTestInterface", "set next");
+ JSCGlobalObject* global_object =
+ JSC::jsCast<JSCGlobalObject*>(exec_state->lexicalGlobalObject());
+ JSCExceptionState exception_state(global_object);
+ GarbageCollectionTestInterface* impl =
+ GetWrappableOrSetException<GarbageCollectionTestInterface>(exec_state, this_object);
+ if (!impl) {
+ return;
+ }
+ TypeTraits<scoped_refptr<GarbageCollectionTestInterface> >::ConversionType cobalt_value;
+ FromJSValue(exec_state, value,
+ (kConversionFlagNullable), &exception_state,
+ &cobalt_value);
+ if (exception_state.is_exception_set()) {
+ JSC::throwError(exec_state, exception_state.exception_object());
+ return;
+ }
+ // Check if argument conversion raised an exception.
+ if (!exec_state->hadException()) {
+ impl->set_next(cobalt_value);
+ }
+}
+
JSC::EncodedJSValue constructorJSGarbageCollectionTestInterface(JSC::ExecState* exec_state) {
JSCGlobalObject* global_object =
JSC::jsCast<JSCGlobalObject*>(exec_state->lexicalGlobalObject());
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCGetOpaqueRootInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCGetOpaqueRootInterface.cc
index f03be81..fc23cda 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCGetOpaqueRootInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCGetOpaqueRootInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::GetOpaqueRootInterface;
using cobalt::bindings::testing::JSCGetOpaqueRootInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCGlobalInterfaceParent.cc b/src/cobalt/bindings/generated/jsc/testing/JSCGlobalInterfaceParent.cc
index e5fe2e0..2f652df 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCGlobalInterfaceParent.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCGlobalInterfaceParent.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::GlobalInterfaceParent;
using cobalt::bindings::testing::JSCGlobalInterfaceParent;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCIndexedGetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCIndexedGetterInterface.cc
index 550c106..5e4331f 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCIndexedGetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::IndexedGetterInterface;
using cobalt::bindings::testing::JSCIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCInterfaceWithUnsupportedProperties.cc b/src/cobalt/bindings/generated/jsc/testing/JSCInterfaceWithUnsupportedProperties.cc
index 120fe3e..9630469 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCInterfaceWithUnsupportedProperties.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCInterfaceWithUnsupportedProperties.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::InterfaceWithUnsupportedProperties;
using cobalt::bindings::testing::JSCInterfaceWithUnsupportedProperties;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNamedConstructorInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNamedConstructorInterface.cc
index 2bc9bbe..cc0dd24 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNamedConstructorInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNamedConstructorInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::NamedConstructorInterface;
using cobalt::bindings::testing::JSCNamedConstructorInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNamedGetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNamedGetterInterface.cc
index 63bcfde..798d0bb 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNamedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNamedGetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/jsc_property_enumerator.h"
@@ -55,7 +55,7 @@
using cobalt::bindings::testing::NamedGetterInterface;
using cobalt::bindings::testing::JSCNamedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,18 +75,18 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSCPropertyEnumerator;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNamedIndexedGetterInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNamedIndexedGetterInterface.cc
index 35ff21d..2a51847 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNamedIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNamedIndexedGetterInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/jsc_property_enumerator.h"
@@ -55,7 +55,7 @@
using cobalt::bindings::testing::NamedIndexedGetterInterface;
using cobalt::bindings::testing::JSCNamedIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,18 +75,18 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSCPropertyEnumerator;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNestedPutForwardsInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNestedPutForwardsInterface.cc
index 8e87456..513cf41 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNestedPutForwardsInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNestedPutForwardsInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCPutForwardsInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::JSCPutForwardsInterface;
using cobalt::bindings::testing::PutForwardsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNoConstructorInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNoConstructorInterface.cc
index c903142..00e0958 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNoConstructorInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNoConstructorInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::NoConstructorInterface;
using cobalt::bindings::testing::JSCNoConstructorInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNoInterfaceObjectInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNoInterfaceObjectInterface.cc
index 9d10bc1..4b881d4 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNoInterfaceObjectInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNoInterfaceObjectInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::NoInterfaceObjectInterface;
using cobalt::bindings::testing::JSCNoInterfaceObjectInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNullableTypesTestInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNullableTypesTestInterface.cc
index c6ef2d6..d761485 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNullableTypesTestInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNullableTypesTestInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCNumericTypesTestInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCNumericTypesTestInterface.cc
index e76d0d6..37c3b08 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCNumericTypesTestInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCNumericTypesTestInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::NumericTypesTestInterface;
using cobalt::bindings::testing::JSCNumericTypesTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCObjectTypeBindingsInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCObjectTypeBindingsInterface.cc
index f51cb79..805a983 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCObjectTypeBindingsInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCObjectTypeBindingsInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -41,8 +41,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -66,7 +66,7 @@
using cobalt::bindings::testing::JSCBaseInterface;
using cobalt::bindings::testing::JSCDerivedInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -86,17 +86,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCOperationsTestInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCOperationsTestInterface.cc
index 2f95415..6f93029 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCOperationsTestInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCOperationsTestInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCPutForwardsInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCPutForwardsInterface.cc
index dd16e18..dd276b7 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCPutForwardsInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCPutForwardsInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCStaticPropertiesInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCStaticPropertiesInterface.cc
index 4270480..96a29ac 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCStaticPropertiesInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCStaticPropertiesInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -37,8 +37,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -58,7 +58,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -78,17 +78,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAnonymousOperationInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAnonymousOperationInterface.cc
index 9dd818d..c69637a 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAnonymousOperationInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAnonymousOperationInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::StringifierAnonymousOperationInterface;
using cobalt::bindings::testing::JSCStringifierAnonymousOperationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAttributeInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAttributeInterface.cc
index 1d17a76..a12e243 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAttributeInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCStringifierAttributeInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::StringifierAttributeInterface;
using cobalt::bindings::testing::JSCStringifierAttributeInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCStringifierOperationInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCStringifierOperationInterface.cc
index a0d5bfe..d6d7367 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCStringifierOperationInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCStringifierOperationInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::StringifierOperationInterface;
using cobalt::bindings::testing::JSCStringifierOperationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCTargetInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCTargetInterface.cc
index d6f2838..60d81da 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCTargetInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCTargetInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,8 +35,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -54,7 +54,7 @@
using cobalt::bindings::testing::TargetInterface;
using cobalt::bindings::testing::JSCTargetInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -74,17 +74,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCUnionTypesInterface.cc b/src/cobalt/bindings/generated/jsc/testing/JSCUnionTypesInterface.cc
index 2b7afe1..cf5c3d4 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCUnionTypesInterface.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCUnionTypesInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCArbitraryInterface.h"
@@ -39,8 +39,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -62,7 +62,7 @@
using cobalt::bindings::testing::JSCArbitraryInterface;
using cobalt::bindings::testing::JSCBaseInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -82,17 +82,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
diff --git a/src/cobalt/bindings/generated/jsc/testing/JSCWindow.cc b/src/cobalt/bindings/generated/jsc/testing/JSCWindow.cc
index 45c9bf3..967933d 100644
--- a/src/cobalt/bindings/generated/jsc/testing/JSCWindow.cc
+++ b/src/cobalt/bindings/generated/jsc/testing/JSCWindow.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "JSCAnonymousIndexedGetterInterface.h"
@@ -125,8 +125,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/type_traits.h"
@@ -242,7 +242,7 @@
using cobalt::bindings::testing::UnionTypesInterface;
using cobalt::bindings::testing::Window;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -262,17 +262,17 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
@@ -1192,17 +1192,17 @@
namespace script {
template<>
-void GlobalObjectProxy::CreateGlobalObject<Window>(
+void GlobalEnvironment::CreateGlobalObject<Window>(
const scoped_refptr<Window>& global_interface,
EnvironmentSettings* environment_settings) {
- JSCGlobalObjectProxy* jsc_global_object_proxy =
- base::polymorphic_downcast<JSCGlobalObjectProxy*>(this);
- JSCEngine* jsc_engine = jsc_global_object_proxy->engine();
+ JSCGlobalEnvironment* jsc_global_environment =
+ base::polymorphic_downcast<JSCGlobalEnvironment*>(this);
+ JSCEngine* jsc_engine = jsc_global_environment->engine();
JSCGlobalObject* global_object = JSCWindow::Create(
global_interface, environment_settings,
jsc_engine->global_data(), jsc_engine->script_object_registry());
- jsc_global_object_proxy->SetGlobalObject(global_object);
+ jsc_global_environment->SetGlobalObject(global_object);
}
// MSVS compiler does not need this explicit instantiation, and generates a
@@ -1212,7 +1212,7 @@
// This is needed to prevent link errors when trying to resolve the template
// instantiation.
template
-void GlobalObjectProxy::CreateGlobalObject<Window>(
+void GlobalEnvironment::CreateGlobalObject<Window>(
const scoped_refptr<Window>& global_interface,
EnvironmentSettings* environment_settings);
#endif
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc
index 8e92cae..be7915c 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousIndexedGetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::AnonymousIndexedGetterInterface;
using cobalt::bindings::testing::MozjsAnonymousIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -391,17 +391,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -411,10 +411,10 @@
// static
JSObject* MozjsAnonymousIndexedGetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -433,10 +433,10 @@
//static
const JSClass* MozjsAnonymousIndexedGetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedGetterInterface.cc
index 5b5af82..5431665 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedGetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::AnonymousNamedGetterInterface;
using cobalt::bindings::testing::MozjsAnonymousNamedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -363,17 +363,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -383,10 +383,10 @@
// static
JSObject* MozjsAnonymousNamedGetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -405,10 +405,10 @@
//static
const JSClass* MozjsAnonymousNamedGetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc
index 04c9194..388c186 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsAnonymousNamedIndexedGetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::AnonymousNamedIndexedGetterInterface;
using cobalt::bindings::testing::MozjsAnonymousNamedIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -482,17 +482,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -502,10 +502,10 @@
// static
JSObject* MozjsAnonymousNamedIndexedGetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -524,10 +524,10 @@
//static
const JSClass* MozjsAnonymousNamedIndexedGetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc
index 1bc5cc0..71b31f2 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsArbitraryInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -369,17 +369,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -389,10 +389,10 @@
// static
JSObject* MozjsArbitraryInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -411,10 +411,10 @@
//static
const JSClass* MozjsArbitraryInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc
index 7f786d8..bf4b5a3 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsBaseInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::BaseInterface;
using cobalt::bindings::testing::MozjsBaseInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -347,17 +347,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -367,10 +367,10 @@
// static
JSObject* MozjsBaseInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -389,10 +389,10 @@
//static
const JSClass* MozjsBaseInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc
index 190790f..1796c62 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsBooleanTypeTestInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::BooleanTypeTestInterface;
using cobalt::bindings::testing::MozjsBooleanTypeTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -416,17 +416,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -436,10 +436,10 @@
// static
JSObject* MozjsBooleanTypeTestInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -458,10 +458,10 @@
//static
const JSClass* MozjsBooleanTypeTestInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc
index 60f4a71..0b7e907 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackFunctionInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -641,17 +641,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -661,10 +661,10 @@
// static
JSObject* MozjsCallbackFunctionInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -683,10 +683,10 @@
//static
const JSClass* MozjsCallbackFunctionInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc
index a827b91..d4321ff 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsCallbackInterfaceInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsSingleOperationInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::MozjsSingleOperationInterface;
using cobalt::bindings::testing::SingleOperationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -414,17 +414,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -434,10 +434,10 @@
// static
JSObject* MozjsCallbackInterfaceInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -456,10 +456,10 @@
//static
const JSClass* MozjsCallbackInterfaceInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc
index 5b3a117..e8e5a7d 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsConditionalInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -51,7 +51,7 @@
using cobalt::bindings::testing::ConditionalInterface;
using cobalt::bindings::testing::MozjsConditionalInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -69,7 +69,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -460,17 +460,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -480,10 +480,10 @@
// static
JSObject* MozjsConditionalInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -502,10 +502,10 @@
//static
const JSClass* MozjsConditionalInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstantsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstantsInterface.cc
index a874765..ee42e57 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstantsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstantsInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::ConstantsInterface;
using cobalt::bindings::testing::MozjsConstantsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -325,17 +325,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -345,10 +345,10 @@
// static
JSObject* MozjsConstantsInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -367,10 +367,10 @@
//static
const JSClass* MozjsConstantsInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorInterface.cc
index 4a0d825..af482d8 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::ConstructorInterface;
using cobalt::bindings::testing::MozjsConstructorInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -284,17 +284,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -304,10 +304,10 @@
// static
JSObject* MozjsConstructorInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -326,10 +326,10 @@
//static
const JSClass* MozjsConstructorInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc
index c10d31d..09ccf2a 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsConstructorWithArgumentsInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::ConstructorWithArgumentsInterface;
using cobalt::bindings::testing::MozjsConstructorWithArgumentsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -368,17 +368,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -388,10 +388,10 @@
// static
JSObject* MozjsConstructorWithArgumentsInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -410,10 +410,10 @@
//static
const JSClass* MozjsConstructorWithArgumentsInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc
index 9492765..7fb410b 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDOMStringTestInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::DOMStringTestInterface;
using cobalt::bindings::testing::MozjsDOMStringTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -528,17 +528,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -548,10 +548,10 @@
// static
JSObject* MozjsDOMStringTestInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -570,10 +570,10 @@
//static
const JSClass* MozjsDOMStringTestInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc
index 0831779..9d7f281 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedGetterSetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::DerivedGetterSetterInterface;
using cobalt::bindings::testing::MozjsDerivedGetterSetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -691,17 +691,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -711,10 +711,10 @@
// static
JSObject* MozjsDerivedGetterSetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -733,10 +733,10 @@
//static
const JSClass* MozjsDerivedGetterSetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc
index 51928b3..8d64be2 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDerivedInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::DerivedInterface;
using cobalt::bindings::testing::MozjsDerivedInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -347,17 +347,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -367,10 +367,10 @@
// static
JSObject* MozjsDerivedInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -389,10 +389,10 @@
//static
const JSClass* MozjsDerivedInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc
index 0e86696..3f3d4a7 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsDisabledInterface.cc
@@ -25,7 +25,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -51,7 +51,7 @@
using cobalt::bindings::testing::DisabledInterface;
using cobalt::bindings::testing::MozjsDisabledInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -69,7 +69,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -359,17 +359,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -379,10 +379,10 @@
// static
JSObject* MozjsDisabledInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -401,10 +401,10 @@
//static
const JSClass* MozjsDisabledInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc
index 6810f89..c54bde2 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsEnumerationInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::EnumerationInterface;
using cobalt::bindings::testing::MozjsEnumerationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -343,17 +343,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -363,10 +363,10 @@
// static
JSObject* MozjsEnumerationInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -385,10 +385,10 @@
//static
const JSClass* MozjsEnumerationInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc
index 4a0476a..64e3ca6 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionObjectInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -50,7 +50,7 @@
using cobalt::bindings::testing::ExceptionObjectInterface;
using cobalt::bindings::testing::MozjsExceptionObjectInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -68,7 +68,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -332,17 +332,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -352,10 +352,10 @@
// static
JSObject* MozjsExceptionObjectInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -374,10 +374,10 @@
//static
const JSClass* MozjsExceptionObjectInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc
index cc462b9..5f1a396 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsExceptionsInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::ExceptionsInterface;
using cobalt::bindings::testing::MozjsExceptionsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -369,17 +369,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -389,10 +389,10 @@
// static
JSObject* MozjsExceptionsInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -411,10 +411,10 @@
//static
const JSClass* MozjsExceptionsInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc
index ea9bef6..07cceda 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsExtendedIDLAttributesInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::ExtendedIDLAttributesInterface;
using cobalt::bindings::testing::MozjsExtendedIDLAttributesInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -208,10 +208,10 @@
WrapperPrivate::GetFromObject(context, object);
ExtendedIDLAttributesInterface* impl =
wrapper_private->wrappable<ExtendedIDLAttributesInterface>().get();
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
- impl->CallWithSettings(global_object_proxy->GetEnvironmentSettings());
+ impl->CallWithSettings(global_environment->GetEnvironmentSettings());
result_value.set(JS::UndefinedHandleValue);
return !exception_state.is_exception_set();
}
@@ -309,17 +309,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -329,10 +329,10 @@
// static
JSObject* MozjsExtendedIDLAttributesInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -351,10 +351,10 @@
//static
const JSClass* MozjsExtendedIDLAttributesInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc
index 98eff0f..16e4b25 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsGarbageCollectionTestInterface.cc
@@ -23,9 +23,11 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
+#include "MozjsGarbageCollectionTestInterface.h"
+#include "cobalt/bindings/testing/garbage_collection_test_interface.h"
#include "base/lazy_instance.h"
#include "cobalt/script/mozjs/callback_function_conversion.h"
@@ -33,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -48,8 +50,10 @@
namespace {
using cobalt::bindings::testing::GarbageCollectionTestInterface;
using cobalt::bindings::testing::MozjsGarbageCollectionTestInterface;
+using cobalt::bindings::testing::GarbageCollectionTestInterface;
+using cobalt::bindings::testing::MozjsGarbageCollectionTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -84,6 +88,13 @@
namespace {
+Wrappable* GetOpaqueRootFromWrappable(
+ const scoped_refptr<Wrappable>& wrappable) {
+ GarbageCollectionTestInterface* impl =
+ base::polymorphic_downcast<GarbageCollectionTestInterface*>(wrappable.get());
+ return impl->GetHead();
+}
+
class MozjsGarbageCollectionTestInterfaceHandler : public ProxyHandler {
public:
MozjsGarbageCollectionTestInterfaceHandler()
@@ -188,8 +199,108 @@
return interface_data;
}
+JSBool get_previous(
+ JSContext* context, JS::HandleObject object, JS::HandleId id,
+ JS::MutableHandleValue vp) {
+ MozjsExceptionState exception_state(context);
+ JS::RootedValue result_value(context);
+
+ WrapperPrivate* wrapper_private =
+ WrapperPrivate::GetFromObject(context, object);
+ GarbageCollectionTestInterface* impl =
+ wrapper_private->wrappable<GarbageCollectionTestInterface>().get();
+
+ if (!exception_state.is_exception_set()) {
+ ToJSValue(context,
+ impl->previous(),
+ &result_value);
+ }
+ if (!exception_state.is_exception_set()) {
+ vp.set(result_value);
+ }
+ return !exception_state.is_exception_set();
+}
+
+JSBool set_previous(
+ JSContext* context, JS::HandleObject object, JS::HandleId id,
+ JSBool strict, JS::MutableHandleValue vp) {
+ MozjsExceptionState exception_state(context);
+ JS::RootedValue result_value(context);
+
+ WrapperPrivate* wrapper_private =
+ WrapperPrivate::GetFromObject(context, object);
+ GarbageCollectionTestInterface* impl =
+ wrapper_private->wrappable<GarbageCollectionTestInterface>().get();
+ TypeTraits<scoped_refptr<GarbageCollectionTestInterface> >::ConversionType value;
+ FromJSValue(context, vp, (kConversionFlagNullable), &exception_state,
+ &value);
+ if (exception_state.is_exception_set()) {
+ return false;
+ }
+
+ impl->set_previous(value);
+ result_value.set(JS::UndefinedHandleValue);
+ return !exception_state.is_exception_set();
+}
+
+JSBool get_next(
+ JSContext* context, JS::HandleObject object, JS::HandleId id,
+ JS::MutableHandleValue vp) {
+ MozjsExceptionState exception_state(context);
+ JS::RootedValue result_value(context);
+
+ WrapperPrivate* wrapper_private =
+ WrapperPrivate::GetFromObject(context, object);
+ GarbageCollectionTestInterface* impl =
+ wrapper_private->wrappable<GarbageCollectionTestInterface>().get();
+
+ if (!exception_state.is_exception_set()) {
+ ToJSValue(context,
+ impl->next(),
+ &result_value);
+ }
+ if (!exception_state.is_exception_set()) {
+ vp.set(result_value);
+ }
+ return !exception_state.is_exception_set();
+}
+
+JSBool set_next(
+ JSContext* context, JS::HandleObject object, JS::HandleId id,
+ JSBool strict, JS::MutableHandleValue vp) {
+ MozjsExceptionState exception_state(context);
+ JS::RootedValue result_value(context);
+
+ WrapperPrivate* wrapper_private =
+ WrapperPrivate::GetFromObject(context, object);
+ GarbageCollectionTestInterface* impl =
+ wrapper_private->wrappable<GarbageCollectionTestInterface>().get();
+ TypeTraits<scoped_refptr<GarbageCollectionTestInterface> >::ConversionType value;
+ FromJSValue(context, vp, (kConversionFlagNullable), &exception_state,
+ &value);
+ if (exception_state.is_exception_set()) {
+ return false;
+ }
+
+ impl->set_next(value);
+ result_value.set(JS::UndefinedHandleValue);
+ return !exception_state.is_exception_set();
+}
+
const JSPropertySpec prototype_properties[] = {
+ { // Read/Write property
+ "previous", 0,
+ JSPROP_SHARED | JSPROP_ENUMERATE,
+ JSOP_WRAPPER(&get_previous),
+ JSOP_WRAPPER(&set_previous),
+ },
+ { // Read/Write property
+ "next", 0,
+ JSPROP_SHARED | JSPROP_ENUMERATE,
+ JSOP_WRAPPER(&get_next),
+ JSOP_WRAPPER(&set_next),
+ },
JS_PS_END
};
@@ -284,17 +395,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -304,10 +415,10 @@
// static
JSObject* MozjsGarbageCollectionTestInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -319,17 +430,19 @@
JS::RootedObject proxy(context,
ProxyHandler::NewProxy(context, new_object, prototype, NULL,
proxy_handler.Pointer()));
- WrapperPrivate::AddPrivateData(context, proxy, wrappable);
+ WrapperPrivate::GetOpaqueRootFunction get_root =
+ base::Bind(&GetOpaqueRootFromWrappable);
+ WrapperPrivate::AddPrivateData(context, proxy, wrappable, get_root);
return proxy;
}
//static
const JSClass* MozjsGarbageCollectionTestInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsGetOpaqueRootInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsGetOpaqueRootInterface.cc
index 1ac39e0..fbb57b3 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsGetOpaqueRootInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsGetOpaqueRootInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::GetOpaqueRootInterface;
using cobalt::bindings::testing::MozjsGetOpaqueRootInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -84,6 +84,13 @@
namespace {
+Wrappable* GetOpaqueRootFromWrappable(
+ const scoped_refptr<Wrappable>& wrappable) {
+ GetOpaqueRootInterface* impl =
+ base::polymorphic_downcast<GetOpaqueRootInterface*>(wrappable.get());
+ return impl->get_opaque_root_function_name();
+}
+
class MozjsGetOpaqueRootInterfaceHandler : public ProxyHandler {
public:
MozjsGetOpaqueRootInterfaceHandler()
@@ -284,17 +291,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -304,10 +311,10 @@
// static
JSObject* MozjsGetOpaqueRootInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -319,17 +326,19 @@
JS::RootedObject proxy(context,
ProxyHandler::NewProxy(context, new_object, prototype, NULL,
proxy_handler.Pointer()));
- WrapperPrivate::AddPrivateData(context, proxy, wrappable);
+ WrapperPrivate::GetOpaqueRootFunction get_root =
+ base::Bind(&GetOpaqueRootFromWrappable);
+ WrapperPrivate::AddPrivateData(context, proxy, wrappable, get_root);
return proxy;
}
//static
const JSClass* MozjsGetOpaqueRootInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc
index 462c526..d742500 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsGlobalInterfaceParent.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::GlobalInterfaceParent;
using cobalt::bindings::testing::MozjsGlobalInterfaceParent;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -307,17 +307,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -327,10 +327,10 @@
// static
JSObject* MozjsGlobalInterfaceParent::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -349,10 +349,10 @@
//static
const JSClass* MozjsGlobalInterfaceParent::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc
index b998abc..752334e 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsIndexedGetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::IndexedGetterInterface;
using cobalt::bindings::testing::MozjsIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -583,17 +583,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -603,10 +603,10 @@
// static
JSObject* MozjsIndexedGetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -625,10 +625,10 @@
//static
const JSClass* MozjsIndexedGetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc
index 3253e9d..a578e9c 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsInterfaceWithUnsupportedProperties.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::InterfaceWithUnsupportedProperties;
using cobalt::bindings::testing::MozjsInterfaceWithUnsupportedProperties;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -300,17 +300,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -320,10 +320,10 @@
// static
JSObject* MozjsInterfaceWithUnsupportedProperties::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -342,10 +342,10 @@
//static
const JSClass* MozjsInterfaceWithUnsupportedProperties::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedConstructorInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedConstructorInterface.cc
index 82151fb..0bc85ff 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedConstructorInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedConstructorInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::NamedConstructorInterface;
using cobalt::bindings::testing::MozjsNamedConstructorInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -284,17 +284,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -304,10 +304,10 @@
// static
JSObject* MozjsNamedConstructorInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -326,10 +326,10 @@
//static
const JSClass* MozjsNamedConstructorInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc
index 90f7900..918f252 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedGetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::NamedGetterInterface;
using cobalt::bindings::testing::MozjsNamedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -555,17 +555,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -575,10 +575,10 @@
// static
JSObject* MozjsNamedGetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -597,10 +597,10 @@
//static
const JSClass* MozjsNamedGetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc
index da310df..2965f0f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNamedIndexedGetterInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::NamedIndexedGetterInterface;
using cobalt::bindings::testing::MozjsNamedIndexedGetterInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -815,17 +815,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -835,10 +835,10 @@
// static
JSObject* MozjsNamedIndexedGetterInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -857,10 +857,10 @@
//static
const JSClass* MozjsNamedIndexedGetterInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc
index 07cf2d8..69fab04 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNestedPutForwardsInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsPutForwardsInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::MozjsPutForwardsInterface;
using cobalt::bindings::testing::PutForwardsInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -348,17 +348,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -368,10 +368,10 @@
// static
JSObject* MozjsNestedPutForwardsInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -390,10 +390,10 @@
//static
const JSClass* MozjsNestedPutForwardsInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNoConstructorInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNoConstructorInterface.cc
index 5780f10..acd16cd 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNoConstructorInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNoConstructorInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::NoConstructorInterface;
using cobalt::bindings::testing::MozjsNoConstructorInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -272,17 +272,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -292,10 +292,10 @@
// static
JSObject* MozjsNoConstructorInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -314,10 +314,10 @@
//static
const JSClass* MozjsNoConstructorInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNoInterfaceObjectInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNoInterfaceObjectInterface.cc
index fc4d206..48f2709 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNoInterfaceObjectInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNoInterfaceObjectInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::NoInterfaceObjectInterface;
using cobalt::bindings::testing::MozjsNoInterfaceObjectInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -232,17 +232,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -252,10 +252,10 @@
// static
JSObject* MozjsNoInterfaceObjectInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -274,10 +274,10 @@
//static
const JSClass* MozjsNoInterfaceObjectInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc
index bd4bfc0..c0010f4 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNullableTypesTestInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -852,17 +852,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -872,10 +872,10 @@
// static
JSObject* MozjsNullableTypesTestInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -894,10 +894,10 @@
//static
const JSClass* MozjsNullableTypesTestInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc
index d686d2b..4bf1c6e 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsNumericTypesTestInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::NumericTypesTestInterface;
using cobalt::bindings::testing::MozjsNumericTypesTestInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -1712,17 +1712,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -1732,10 +1732,10 @@
// static
JSObject* MozjsNumericTypesTestInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -1754,10 +1754,10 @@
//static
const JSClass* MozjsNumericTypesTestInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc
index 286a091..1b20995 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsObjectTypeBindingsInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -39,7 +39,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -61,7 +61,7 @@
using cobalt::bindings::testing::MozjsBaseInterface;
using cobalt::bindings::testing::MozjsDerivedInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -79,7 +79,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -462,17 +462,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -482,10 +482,10 @@
// static
JSObject* MozjsObjectTypeBindingsInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -504,10 +504,10 @@
//static
const JSClass* MozjsObjectTypeBindingsInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc
index aac9e9a..b30eecb 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsOperationsTestInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -735,9 +735,9 @@
// Overload resolution algorithm details found here:
// http://heycam.github.io/webidl/#dfn-overload-resolution-algorithm
JS::RootedValue arg(context, args[0]);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_object_proxy->wrapper_factory();
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
if (arg.isNumber()) {
return fcn_overloadedFunction2(
context, argc, vp);
@@ -756,9 +756,9 @@
// Overload resolution algorithm details found here:
// http://heycam.github.io/webidl/#dfn-overload-resolution-algorithm
JS::RootedValue arg(context, args[2]);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_object_proxy->wrapper_factory();
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
if (arg.isObject() ? wrapper_factory->DoesObjectImplementInterface(
JSVAL_TO_OBJECT(arg), base::GetTypeId<ArbitraryInterface>()) :
false) {
@@ -880,9 +880,9 @@
// Overload resolution algorithm details found here:
// http://heycam.github.io/webidl/#dfn-overload-resolution-algorithm
JS::RootedValue arg(context, args[0]);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_object_proxy->wrapper_factory();
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
if (arg.isNullOrUndefined()) {
return fcn_overloadedNullable2(
context, argc, vp);
@@ -1530,17 +1530,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -1550,10 +1550,10 @@
// static
JSObject* MozjsOperationsTestInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -1572,10 +1572,10 @@
//static
const JSClass* MozjsOperationsTestInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc
index 12b04af..870e3a3 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsPutForwardsInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -389,17 +389,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -409,10 +409,10 @@
// static
JSObject* MozjsPutForwardsInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -431,10 +431,10 @@
//static
const JSClass* MozjsPutForwardsInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsStaticPropertiesInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsStaticPropertiesInterface.cc
index e913609..02ad356 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsStaticPropertiesInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsStaticPropertiesInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -35,7 +35,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -53,7 +53,7 @@
using cobalt::bindings::testing::ArbitraryInterface;
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -71,7 +71,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -422,9 +422,9 @@
// Overload resolution algorithm details found here:
// http://heycam.github.io/webidl/#dfn-overload-resolution-algorithm
JS::RootedValue arg(context, args[0]);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_object_proxy->wrapper_factory();
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
if (arg.isNumber()) {
return staticfcn_staticFunction2(
context, argc, vp);
@@ -443,9 +443,9 @@
// Overload resolution algorithm details found here:
// http://heycam.github.io/webidl/#dfn-overload-resolution-algorithm
JS::RootedValue arg(context, args[2]);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_object_proxy->wrapper_factory();
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
if (arg.isObject() ? wrapper_factory->DoesObjectImplementInterface(
JSVAL_TO_OBJECT(arg), base::GetTypeId<ArbitraryInterface>()) :
false) {
@@ -566,17 +566,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -586,10 +586,10 @@
// static
JSObject* MozjsStaticPropertiesInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -608,10 +608,10 @@
//static
const JSClass* MozjsStaticPropertiesInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAnonymousOperationInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAnonymousOperationInterface.cc
index 0646f33..73b9c2f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAnonymousOperationInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAnonymousOperationInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::StringifierAnonymousOperationInterface;
using cobalt::bindings::testing::MozjsStringifierAnonymousOperationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -310,17 +310,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -330,10 +330,10 @@
// static
JSObject* MozjsStringifierAnonymousOperationInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -352,10 +352,10 @@
//static
const JSClass* MozjsStringifierAnonymousOperationInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc
index 552e45b..b1b8349 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierAttributeInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::StringifierAttributeInterface;
using cobalt::bindings::testing::MozjsStringifierAttributeInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -360,17 +360,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -380,10 +380,10 @@
// static
JSObject* MozjsStringifierAttributeInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -402,10 +402,10 @@
//static
const JSClass* MozjsStringifierAttributeInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc
index db390ad..6b6dd67 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsStringifierOperationInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::StringifierOperationInterface;
using cobalt::bindings::testing::MozjsStringifierOperationInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -351,17 +351,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -371,10 +371,10 @@
// static
JSObject* MozjsStringifierOperationInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -393,10 +393,10 @@
//static
const JSClass* MozjsStringifierOperationInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc
index 3f3110e..644db8f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsTargetInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -33,7 +33,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -49,7 +49,7 @@
using cobalt::bindings::testing::TargetInterface;
using cobalt::bindings::testing::MozjsTargetInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -67,7 +67,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -342,17 +342,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -362,10 +362,10 @@
// static
JSObject* MozjsTargetInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -384,10 +384,10 @@
//static
const JSClass* MozjsTargetInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc
index df03fdc..5c9b31f 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsUnionTypesInterface.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsArbitraryInterface.h"
@@ -37,7 +37,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -57,7 +57,7 @@
using cobalt::bindings::testing::MozjsArbitraryInterface;
using cobalt::bindings::testing::MozjsBaseInterface;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -75,7 +75,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -480,17 +480,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -500,10 +500,10 @@
// static
JSObject* MozjsUnionTypesInterface::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -522,10 +522,10 @@
//static
const JSClass* MozjsUnionTypesInterface::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
diff --git a/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc b/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc
index 59ff86f..0a5ddd1 100644
--- a/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc
+++ b/src/cobalt/bindings/generated/mozjs/testing/MozjsWindow.cc
@@ -23,7 +23,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "MozjsAnonymousIndexedGetterInterface.h"
@@ -123,7 +123,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -237,7 +237,7 @@
using cobalt::bindings::testing::UnionTypesInterface;
using cobalt::bindings::testing::Window;
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -255,7 +255,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -467,12 +467,12 @@
WrapperPrivate::GetFromObject(context, object);
Window* impl =
wrapper_private->wrappable<Window>().get();
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
if (!exception_state.is_exception_set()) {
ToJSValue(context,
- impl->GetStackTrace(global_object_proxy->GetStackTrace()),
+ impl->GetStackTrace(global_environment->GetStackTrace()),
&result_value);
}
if (!exception_state.is_exception_set()) {
@@ -621,17 +621,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -668,18 +668,18 @@
// Set the global object proxy pointer, so we can access the standard classes
// such as the base Object prototype when looking up our prototype.
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- global_object_proxy->SetGlobalObjectProxyAndWrapper(proxy, wrappable);
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ global_environment->SetGlobalObjectProxyAndWrapper(proxy, wrappable);
return proxy;
}
//static
const JSClass* MozjsWindow::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
@@ -727,20 +727,20 @@
namespace script {
template<>
-void GlobalObjectProxy::CreateGlobalObject<Window>(
+void GlobalEnvironment::CreateGlobalObject<Window>(
const scoped_refptr<Window>& global_interface,
EnvironmentSettings* environment_settings) {
- MozjsGlobalObjectProxy* mozjs_global_object_proxy =
- base::polymorphic_downcast<MozjsGlobalObjectProxy*>(this);
- JSContext* context = mozjs_global_object_proxy->context();
+ MozjsGlobalEnvironment* mozjs_global_environment =
+ base::polymorphic_downcast<MozjsGlobalEnvironment*>(this);
+ JSContext* context = mozjs_global_environment->context();
JSAutoRequest auto_request(context);
MozjsWindow::CreateProxy(
context, global_interface);
- mozjs_global_object_proxy->SetEnvironmentSettings(environment_settings);
+ mozjs_global_environment->SetEnvironmentSettings(environment_settings);
WrapperFactory* wrapper_factory =
- mozjs_global_object_proxy->wrapper_factory();
+ mozjs_global_environment->wrapper_factory();
wrapper_factory->RegisterWrappableType(
AnonymousIndexedGetterInterface::AnonymousIndexedGetterInterfaceWrappableType(),
base::Bind(MozjsAnonymousIndexedGetterInterface::CreateProxy),
@@ -931,7 +931,7 @@
// This is needed to prevent link errors when trying to resolve the template
// instantiation.
template
-void GlobalObjectProxy::CreateGlobalObject<Window>(
+void GlobalEnvironment::CreateGlobalObject<Window>(
const scoped_refptr<Window>& global_interface,
EnvironmentSettings* environment_settings);
#endif
diff --git a/src/cobalt/bindings/javascriptcore/templates/interface.cc.template b/src/cobalt/bindings/javascriptcore/templates/interface.cc.template
index d8d37f1..4958230 100644
--- a/src/cobalt/bindings/javascriptcore/templates/interface.cc.template
+++ b/src/cobalt/bindings/javascriptcore/templates/interface.cc.template
@@ -24,8 +24,8 @@
#include "cobalt/script/javascriptcore/jsc_callback_function.h"
#include "cobalt/script/javascriptcore/jsc_callback_interface_holder.h"
#include "cobalt/script/javascriptcore/jsc_exception_state.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
{% if named_property_getter %}
@@ -61,20 +61,20 @@
using cobalt::script::javascriptcore::JSCCallbackInterfaceHolder;
using cobalt::script::javascriptcore::JSCEngine;
using cobalt::script::javascriptcore::JSCExceptionState;
+using cobalt::script::javascriptcore::JSCGlobalEnvironment;
+using cobalt::script::javascriptcore::JSCGlobalObject;
using cobalt::script::javascriptcore::JSCObjectHandle;
using cobalt::script::javascriptcore::JSCObjectHandleHolder;
-using cobalt::script::javascriptcore::JSCGlobalObject;
-using cobalt::script::javascriptcore::JSCGlobalObjectProxy;
{% if named_property_getter %}
using cobalt::script::javascriptcore::JSCPropertyEnumerator;
{% endif %}
using cobalt::script::javascriptcore::JSObjectToWrappable;
+using cobalt::script::javascriptcore::PrototypeBase;
using cobalt::script::javascriptcore::ScriptObjectRegistry;
+using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::ToJSValue;
using cobalt::script::javascriptcore::ToWTFString;
using cobalt::script::javascriptcore::TypeTraits;
-using cobalt::script::javascriptcore::PrototypeBase;
-using cobalt::script::javascriptcore::ThreadLocalHashTable;
using cobalt::script::javascriptcore::WrapperBase;
using cobalt::script::javascriptcore::util::HasPropertyOnPrototype;
using cobalt::script::javascriptcore::util::GetStackTrace;
@@ -1076,14 +1076,14 @@
{% endblock implementation %}
{% block create_global_object_impl %}
- JSCGlobalObjectProxy* jsc_global_object_proxy =
- base::polymorphic_downcast<JSCGlobalObjectProxy*>(this);
- JSCEngine* jsc_engine = jsc_global_object_proxy->engine();
+ JSCGlobalEnvironment* jsc_global_environment =
+ base::polymorphic_downcast<JSCGlobalEnvironment*>(this);
+ JSCEngine* jsc_engine = jsc_global_environment->engine();
JSCGlobalObject* global_object = {{binding_class}}::Create(
global_interface, environment_settings,
jsc_engine->global_data(), jsc_engine->script_object_registry());
- jsc_global_object_proxy->SetGlobalObject(global_object);
+ jsc_global_environment->SetGlobalObject(global_object);
{% endblock create_global_object_impl %}
{% block enumeration_definitions %}
diff --git a/src/cobalt/bindings/mozjs/templates/interface.cc.template b/src/cobalt/bindings/mozjs/templates/interface.cc.template
index 4d4cf06..19eddeb 100644
--- a/src/cobalt/bindings/mozjs/templates/interface.cc.template
+++ b/src/cobalt/bindings/mozjs/templates/interface.cc.template
@@ -31,7 +31,7 @@
#include "cobalt/script/mozjs/conversion_helpers.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
#include "cobalt/script/mozjs/mozjs_callback_function.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_property_enumerator.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
@@ -60,7 +60,7 @@
using cobalt::script::mozjs::InterfaceData;
using cobalt::script::mozjs::MozjsCallbackFunction;
using cobalt::script::mozjs::MozjsExceptionState;
-using cobalt::script::mozjs::MozjsGlobalObjectProxy;
+using cobalt::script::mozjs::MozjsGlobalEnvironment;
using cobalt::script::mozjs::MozjsUserObjectHolder;
using cobalt::script::mozjs::MozjsPropertyEnumerator;
using cobalt::script::mozjs::ProxyHandler;
@@ -98,6 +98,15 @@
{% block implementation %}
namespace {
+{% if get_opaque_root %}
+Wrappable* GetOpaqueRootFromWrappable(
+ const scoped_refptr<Wrappable>& wrappable) {
+ {{impl_class}}* impl =
+ base::polymorphic_downcast<{{impl_class}}*>(wrappable.get());
+ return impl->{{get_opaque_root}}();
+}
+
+{% endif %}
{% if named_property_getter %}
bool IsSupportedNamedProperty(JSContext* context, JS::HandleObject object,
const std::string& property_name) {
@@ -752,17 +761,17 @@
}
InterfaceData* GetInterfaceData(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
// Use the address of the properties definition for this interface as a
// unique key for looking up the InterfaceData for this interface.
intptr_t key = reinterpret_cast<intptr_t>(&own_properties);
- InterfaceData* interface_data = global_object_proxy->GetInterfaceData(key);
+ InterfaceData* interface_data = global_environment->GetInterfaceData(key);
if (!interface_data) {
interface_data = CreateCachedInterfaceData();
DCHECK(interface_data);
- global_object_proxy->CacheInterfaceData(key, interface_data);
- DCHECK_EQ(interface_data, global_object_proxy->GetInterfaceData(key));
+ global_environment->CacheInterfaceData(key, interface_data);
+ DCHECK_EQ(interface_data, global_environment->GetInterfaceData(key));
}
return interface_data;
}
@@ -800,19 +809,19 @@
// Set the global object proxy pointer, so we can access the standard classes
// such as the base Object prototype when looking up our prototype.
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- global_object_proxy->SetGlobalObjectProxyAndWrapper(proxy, wrappable);
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ global_environment->SetGlobalObjectProxyAndWrapper(proxy, wrappable);
return proxy;
}
{% else %}
// static
JSObject* {{binding_class}}::CreateProxy(
JSContext* context, const scoped_refptr<Wrappable>& wrappable) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
InterfaceData* interface_data = GetInterfaceData(context);
@@ -824,7 +833,12 @@
JS::RootedObject proxy(context,
ProxyHandler::NewProxy(context, new_object, prototype, NULL,
proxy_handler.Pointer()));
- WrapperPrivate::AddPrivateData(context, proxy, wrappable);
+{% if get_opaque_root %}
+ WrapperPrivate::GetOpaqueRootFunction get_root =
+ base::Bind(&GetOpaqueRootFromWrappable);
+{% endif %}
+ WrapperPrivate::AddPrivateData(context, proxy, wrappable{{
+ ", get_root" if get_opaque_root }});
return proxy;
}
@@ -832,10 +846,10 @@
//static
const JSClass* {{binding_class}}::PrototypeClass(
JSContext* context) {
- DCHECK(MozjsGlobalObjectProxy::GetFromContext(context));
+ DCHECK(MozjsGlobalEnvironment::GetFromContext(context));
JS::RootedObject global_object(
context,
- MozjsGlobalObjectProxy::GetFromContext(context)->global_object());
+ MozjsGlobalEnvironment::GetFromContext(context)->global_object());
DCHECK(global_object);
JS::RootedObject prototype(context, GetPrototype(context, global_object));
@@ -896,17 +910,17 @@
{% endblock implementation %}
{% block create_global_object_impl %}
- MozjsGlobalObjectProxy* mozjs_global_object_proxy =
- base::polymorphic_downcast<MozjsGlobalObjectProxy*>(this);
- JSContext* context = mozjs_global_object_proxy->context();
+ MozjsGlobalEnvironment* mozjs_global_environment =
+ base::polymorphic_downcast<MozjsGlobalEnvironment*>(this);
+ JSContext* context = mozjs_global_environment->context();
JSAutoRequest auto_request(context);
{{binding_class}}::CreateProxy(
context, global_interface);
- mozjs_global_object_proxy->SetEnvironmentSettings(environment_settings);
+ mozjs_global_environment->SetEnvironmentSettings(environment_settings);
WrapperFactory* wrapper_factory =
- mozjs_global_object_proxy->wrapper_factory();
+ mozjs_global_environment->wrapper_factory();
{% for interface in all_interfaces %}
{% if interface.conditional %}
#if defined({{interface.conditional}})
diff --git a/src/cobalt/bindings/mozjs/templates/macros.cc.template b/src/cobalt/bindings/mozjs/templates/macros.cc.template
index 2eac967..f9153c7 100644
--- a/src/cobalt/bindings/mozjs/templates/macros.cc.template
+++ b/src/cobalt/bindings/mozjs/templates/macros.cc.template
@@ -256,10 +256,10 @@
#}
{% macro add_extra_arguments(arguments_list, raises_exception, call_with) %}
{% if call_with %}
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
{% do arguments_list.insert(0,
- 'global_object_proxy->Get%s()'|format(call_with)) %}
+ 'global_environment->Get%s()'|format(call_with)) %}
{% endif %}
{% do arguments_list.append('&exception_state') if raises_exception %}
{%- endmacro %}
@@ -369,9 +369,9 @@
{# In the case there is only one resolution condition, we don't need the arg. #}
{% if resolution_tests|length > 1 %}
JS::RootedValue arg(context, args[{{distinguishing_argument_index}}]);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
- WrapperFactory* wrapper_factory = global_object_proxy->wrapper_factory();
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
+ WrapperFactory* wrapper_factory = global_environment->wrapper_factory();
{% endif %}
{% for test, overload in resolution_tests %}
if ({{test("arg")}}) {
diff --git a/src/cobalt/bindings/templates/interface-base.cc.template b/src/cobalt/bindings/templates/interface-base.cc.template
index 5da3faa..cd0b3ba 100644
--- a/src/cobalt/bindings/templates/interface-base.cc.template
+++ b/src/cobalt/bindings/templates/interface-base.cc.template
@@ -43,7 +43,7 @@
#include "base/debug/trace_event.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
{% for include in implementation_includes %}
@@ -65,7 +65,7 @@
{% endif %}
{% endfor %}
using cobalt::script::CallbackInterfaceTraits;
-using cobalt::script::GlobalObjectProxy;
+using cobalt::script::GlobalEnvironment;
using cobalt::script::OpaqueHandle;
using cobalt::script::OpaqueHandleHolder;
using cobalt::script::ScriptObject;
@@ -95,7 +95,7 @@
namespace script {
template<>
-void GlobalObjectProxy::CreateGlobalObject<{{impl_class}}>(
+void GlobalEnvironment::CreateGlobalObject<{{impl_class}}>(
const scoped_refptr<{{impl_class}}>& global_interface,
EnvironmentSettings* environment_settings) {
{% block create_global_object_impl %}
@@ -109,7 +109,7 @@
// This is needed to prevent link errors when trying to resolve the template
// instantiation.
template
-void GlobalObjectProxy::CreateGlobalObject<{{impl_class}}>(
+void GlobalEnvironment::CreateGlobalObject<{{impl_class}}>(
const scoped_refptr<{{impl_class}}>& global_interface,
EnvironmentSettings* environment_settings);
#endif
diff --git a/src/cobalt/bindings/testing/GarbageCollectionTestInterface.idl b/src/cobalt/bindings/testing/GarbageCollectionTestInterface.idl
index e60c747..5e357d2 100644
--- a/src/cobalt/bindings/testing/GarbageCollectionTestInterface.idl
+++ b/src/cobalt/bindings/testing/GarbageCollectionTestInterface.idl
@@ -13,6 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-[Constructor]
+[
+ Constructor,
+ // The head of the list is the "opaque root" of all nodes in the list.
+ GetOpaqueRoot=GetHead,
+]
interface GarbageCollectionTestInterface {
+ // This interface represents a simple linked-list implementation used for
+ // tests around reachability of objects from opaque roots.
+ attribute GarbageCollectionTestInterface? previous;
+ attribute GarbageCollectionTestInterface? next;
};
diff --git a/src/cobalt/bindings/testing/bindings_sandbox_main.cc b/src/cobalt/bindings/testing/bindings_sandbox_main.cc
index 35ba1f1..c8fe7ad 100644
--- a/src/cobalt/bindings/testing/bindings_sandbox_main.cc
+++ b/src/cobalt/bindings/testing/bindings_sandbox_main.cc
@@ -19,11 +19,6 @@
#include "cobalt/base/wrap_main.h"
#include "cobalt/bindings/testing/window.h"
-#include "cobalt/script/environment_settings.h"
-#include "cobalt/script/global_object_proxy.h"
-#include "cobalt/script/javascript_engine.h"
-#include "cobalt/script/source_code.h"
-
#include "cobalt/script/standalone_javascript_runner.h"
using cobalt::bindings::testing::Window;
diff --git a/src/cobalt/bindings/testing/bindings_test_base.h b/src/cobalt/bindings/testing/bindings_test_base.h
index 3d01305..25e9ea2 100644
--- a/src/cobalt/bindings/testing/bindings_test_base.h
+++ b/src/cobalt/bindings/testing/bindings_test_base.h
@@ -22,7 +22,7 @@
#include "base/memory/ref_counted.h"
#include "cobalt/bindings/testing/window.h"
#include "cobalt/script/environment_settings.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/javascript_engine.h"
#include "cobalt/script/source_code.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -48,19 +48,19 @@
BindingsTestBase()
: environment_settings_(new script::EnvironmentSettings),
engine_(script::JavaScriptEngine::CreateEngine()),
- global_object_proxy_(engine_->CreateGlobalObjectProxy()),
+ global_environment_(engine_->CreateGlobalEnvironment()),
window_(new Window()) {
- global_object_proxy_->CreateGlobalObject(window_,
- environment_settings_.get());
+ global_environment_->CreateGlobalObject(window_,
+ environment_settings_.get());
}
explicit BindingsTestBase(const scoped_refptr<Window> window)
: environment_settings_(new script::EnvironmentSettings),
engine_(script::JavaScriptEngine::CreateEngine()),
- global_object_proxy_(engine_->CreateGlobalObjectProxy()),
+ global_environment_(engine_->CreateGlobalEnvironment()),
window_(window) {
- global_object_proxy_->CreateGlobalObject(window_,
- environment_settings_.get());
+ global_environment_->CreateGlobalObject(window_,
+ environment_settings_.get());
}
bool EvaluateScript(const std::string& script,
@@ -68,7 +68,7 @@
scoped_refptr<script::SourceCode> source =
script::SourceCode::CreateSourceCode(
script, base::SourceLocation("[object BindingsTestBase]", 1, 1));
- return global_object_proxy_->EvaluateScript(source, out_result);
+ return global_environment_->EvaluateScript(source, out_result);
}
void CollectGarbage() { engine_->CollectGarbage(); }
@@ -76,7 +76,7 @@
protected:
const scoped_ptr<script::EnvironmentSettings> environment_settings_;
const scoped_ptr<script::JavaScriptEngine> engine_;
- const scoped_refptr<script::GlobalObjectProxy> global_object_proxy_;
+ const scoped_refptr<script::GlobalEnvironment> global_environment_;
const scoped_refptr<Window> window_;
};
@@ -88,8 +88,8 @@
InterfaceBindingsTest()
// Use StrictMock so TESTING will fail if unexpected method is called.
: test_mock_(new ::testing::StrictMock<MockT>()) {
- global_object_proxy_->Bind("test",
- make_scoped_refptr<BaseClass>((test_mock_)));
+ global_environment_->Bind("test",
+ make_scoped_refptr<BaseClass>((test_mock_)));
}
MockT& test_mock() { return *test_mock_.get(); }
diff --git a/src/cobalt/bindings/testing/garbage_collection_test.cc b/src/cobalt/bindings/testing/garbage_collection_test.cc
index b73dce0..2c992a9 100644
--- a/src/cobalt/bindings/testing/garbage_collection_test.cc
+++ b/src/cobalt/bindings/testing/garbage_collection_test.cc
@@ -53,7 +53,7 @@
// Keep this instance alive using PreventGarbageCollection
ASSERT_EQ(GarbageCollectionTestInterface::instances().size(), 1);
- global_object_proxy_->PreventGarbageCollection(
+ global_environment_->PreventGarbageCollection(
make_scoped_refptr<script::Wrappable>(
GarbageCollectionTestInterface::instances()[0]));
// Remove the only reference to this object from JavaScript.
@@ -64,7 +64,7 @@
ASSERT_EQ(GarbageCollectionTestInterface::instances().size(), 1);
// Allow this object to be garbage collected once more.
- global_object_proxy_->AllowGarbageCollection(
+ global_environment_->AllowGarbageCollection(
make_scoped_refptr<script::Wrappable>(
GarbageCollectionTestInterface::instances()[0]));
@@ -75,6 +75,54 @@
#endif
}
+TEST_F(GarbageCollectionTest, ReachableObjectsKeptAlive) {
+ // Build a linked-list structure.
+ EXPECT_EQ(GarbageCollectionTestInterface::instances().size(), 0);
+ EXPECT_TRUE(EvaluateScript(
+ "var head = new GarbageCollectionTestInterface();"
+ "head.next = new GarbageCollectionTestInterface();"
+ "head.next.next = new GarbageCollectionTestInterface();"
+ "head.next.next.next = new GarbageCollectionTestInterface();"));
+ ASSERT_EQ(GarbageCollectionTestInterface::instances().size(), 4);
+
+ // A reference to anything in the list should keep the rest of the structure
+ // alive.
+ EXPECT_TRUE(
+ EvaluateScript("var tail = head.next.next.next;"
+ "var head = undefined;"));
+ CollectGarbage();
+ ASSERT_EQ(GarbageCollectionTestInterface::instances().size(), 4);
+
+ // The old tail is not reachable, so the nodes should get garbage collected.
+ EXPECT_TRUE(
+ EvaluateScript("var tail = tail.previous.previous;"
+ "tail.next = null;"));
+ CollectGarbage();
+#if !defined(ENGINE_USES_CONSERVATIVE_ROOTING)
+ ASSERT_EQ(GarbageCollectionTestInterface::instances().size(), 2);
+#endif
+}
+
+TEST_F(GarbageCollectionTest, JSObjectRetainsCustomProperty) {
+ // Build a linked-list structure.
+ EXPECT_EQ(GarbageCollectionTestInterface::instances().size(), 0);
+ EXPECT_TRUE(EvaluateScript(
+ "var head = new GarbageCollectionTestInterface();"
+ "head.next = new GarbageCollectionTestInterface();"
+ "head.next.next = new GarbageCollectionTestInterface();"
+ "head.next.next.next = new GarbageCollectionTestInterface();"));
+ ASSERT_EQ(GarbageCollectionTestInterface::instances().size(), 4);
+
+ // Add a custom property to an object that is not directly reachable from JS.
+ EXPECT_TRUE(EvaluateScript("head.next.bicycle = 7;"));
+
+ // Collect garbage and ensure that the custom property persisted.
+ CollectGarbage();
+ std::string result;
+ EXPECT_TRUE(EvaluateScript("head.next.bicycle;", &result));
+ EXPECT_STREQ("7", result.c_str());
+}
+
} // namespace testing
} // namespace bindings
} // namespace cobalt
diff --git a/src/cobalt/bindings/testing/garbage_collection_test_interface.cc b/src/cobalt/bindings/testing/garbage_collection_test_interface.cc
index 5b25309..6f515eb 100644
--- a/src/cobalt/bindings/testing/garbage_collection_test_interface.cc
+++ b/src/cobalt/bindings/testing/garbage_collection_test_interface.cc
@@ -27,7 +27,8 @@
instances;
} // namespace
-GarbageCollectionTestInterface::GarbageCollectionTestInterface() {
+GarbageCollectionTestInterface::GarbageCollectionTestInterface()
+ : previous_(NULL) {
instances().push_back(this);
}
@@ -41,6 +42,60 @@
}
}
+void GarbageCollectionTestInterface::set_previous(
+ const scoped_refptr<GarbageCollectionTestInterface>& previous) {
+ // Make the current previous_ the tail of its own list.
+ if (previous_) {
+ previous_->MakeTail();
+ }
+ Join(previous.get(), this);
+}
+
+void GarbageCollectionTestInterface::set_next(
+ const scoped_refptr<GarbageCollectionTestInterface>& next) {
+ // Make the current next_ the head of its own list.
+ if (next_) {
+ next_->MakeHead();
+ }
+ Join(this, next.get());
+}
+
+// The value of |GetOpaqueRoot| in the .idl. This ensures that nodes in the
+// same list have the same "root".
+script::Wrappable* GarbageCollectionTestInterface::GetHead() {
+ if (previous_) {
+ return previous_->GetHead();
+ }
+ return this;
+}
+
+void GarbageCollectionTestInterface::MakeHead() {
+ if (previous_) {
+ DCHECK(previous_->next_ == this);
+ previous_->next_ = NULL;
+ }
+ previous_ = NULL;
+}
+
+void GarbageCollectionTestInterface::MakeTail() {
+ if (next_) {
+ DCHECK(next_->previous_ == this);
+ next_->previous_ = NULL;
+ }
+ next_ = NULL;
+}
+
+void GarbageCollectionTestInterface::Join(
+ GarbageCollectionTestInterface* first,
+ GarbageCollectionTestInterface* second) {
+ if (first) {
+ first->next_ = second;
+ }
+ if (second) {
+ second->previous_ = first;
+ }
+}
+
GarbageCollectionTestInterface::GarbageCollectionTestInterfaceVector&
GarbageCollectionTestInterface::instances() {
return ::cobalt::bindings::testing::instances.Get();
diff --git a/src/cobalt/bindings/testing/garbage_collection_test_interface.h b/src/cobalt/bindings/testing/garbage_collection_test_interface.h
index e4c0456..e0e0571 100644
--- a/src/cobalt/bindings/testing/garbage_collection_test_interface.h
+++ b/src/cobalt/bindings/testing/garbage_collection_test_interface.h
@@ -25,16 +25,47 @@
namespace bindings {
namespace testing {
+// GarbageCollectionTestInterface maintains strong references from head -> tail,
+// and raw pointers from tail -> head to prevent reference cycles, similar to
+// how references between Nodes are handled in Cobalt.
class GarbageCollectionTestInterface : public script::Wrappable {
public:
+ typedef std::vector<GarbageCollectionTestInterface*>
+ GarbageCollectionTestInterfaceVector;
+
GarbageCollectionTestInterface();
~GarbageCollectionTestInterface();
- typedef std::vector<GarbageCollectionTestInterface*>
- GarbageCollectionTestInterfaceVector;
+ // The current |previous| node will become the tail of its list.
+ void set_previous(
+ const scoped_refptr<GarbageCollectionTestInterface>& previous);
+ scoped_refptr<GarbageCollectionTestInterface> previous() {
+ return make_scoped_refptr(previous_);
+ }
+
+ // The current |next| node will become the head of a new list.
+ void set_next(const scoped_refptr<GarbageCollectionTestInterface>& next);
+ scoped_refptr<GarbageCollectionTestInterface> next() { return next_; }
+
+ // The value of |GetOpaqueRoot| in the .idl. This ensures that nodes in the
+ // same list have the same "root".
+ script::Wrappable* GetHead();
+
static GarbageCollectionTestInterfaceVector& instances();
DEFINE_WRAPPABLE_TYPE(GarbageCollectionTestInterface);
+
+ private:
+ void MakeHead();
+ void MakeTail();
+
+ static void Join(GarbageCollectionTestInterface* first,
+ GarbageCollectionTestInterface* second);
+
+ // Raw pointers going upstream, strong pointers going downstream to prevent
+ // reference cycles.
+ GarbageCollectionTestInterface* previous_;
+ scoped_refptr<GarbageCollectionTestInterface> next_;
};
} // namespace testing
diff --git a/src/cobalt/bindings/testing/getter_setter_test.cc b/src/cobalt/bindings/testing/getter_setter_test.cc
index 24654d5..94fa4b6 100644
--- a/src/cobalt/bindings/testing/getter_setter_test.cc
+++ b/src/cobalt/bindings/testing/getter_setter_test.cc
@@ -44,7 +44,7 @@
public:
GetterSetterBindingsTestBase()
: test_mock_(new ::testing::NiceMock<MockT>()) {
- global_object_proxy_->Bind("test", make_scoped_refptr<MockT>((test_mock_)));
+ global_environment_->Bind("test", make_scoped_refptr<MockT>((test_mock_)));
}
MockT& test_mock() { return *test_mock_.get(); }
diff --git a/src/cobalt/bindings/testing/window.h b/src/cobalt/bindings/testing/window.h
index 0bc8115..b680d9d 100644
--- a/src/cobalt/bindings/testing/window.h
+++ b/src/cobalt/bindings/testing/window.h
@@ -22,7 +22,7 @@
#include "cobalt/bindings/testing/global_interface_parent.h"
#include "cobalt/script/environment_settings.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
namespace cobalt {
namespace bindings {
diff --git a/src/cobalt/browser/application.cc b/src/cobalt/browser/application.cc
index ff3ddef..0006b33 100644
--- a/src/cobalt/browser/application.cc
+++ b/src/cobalt/browser/application.cc
@@ -359,6 +359,14 @@
DLOG(INFO) << "Use null audio";
options.media_module_options.use_null_audio_streamer = true;
}
+ if (command_line->HasSwitch(switches::kVideoContainerSizeOverride)) {
+ std::string size_override = command_line->GetSwitchValueASCII(
+ browser::switches::kVideoContainerSizeOverride);
+ DLOG(INFO) << "Set video container size override from command line to "
+ << size_override;
+ deprecated::PlatformDelegate::Get()->SetVideoContainerSizeOverride(
+ size_override);
+ }
if (command_line->HasSwitch(switches::kVideoDecoderStub)) {
DLOG(INFO) << "Use ShellRawVideoDecoderStub";
options.media_module_options.use_video_decoder_stub = true;
diff --git a/src/cobalt/browser/switches.cc b/src/cobalt/browser/switches.cc
index 7ebcce6..b6a41c1 100644
--- a/src/cobalt/browser/switches.cc
+++ b/src/cobalt/browser/switches.cc
@@ -88,6 +88,10 @@
// "timed_trace.json" in the log output directory.
const char kTimedTrace[] = "timed_trace";
+// Set the video container size override.
+extern const char kVideoContainerSizeOverride[] =
+ "video_container_size_override";
+
// Decode video data using ShellRawVideoDecoderStub.
extern const char kVideoDecoderStub[] = "video_decoder_stub";
diff --git a/src/cobalt/browser/switches.h b/src/cobalt/browser/switches.h
index 025841b..3531931 100644
--- a/src/cobalt/browser/switches.h
+++ b/src/cobalt/browser/switches.h
@@ -40,6 +40,7 @@
extern const char kShutdownAfter[];
extern const char kStubImageDecoder[];
extern const char kTimedTrace[];
+extern const char kVideoContainerSizeOverride[];
extern const char kVideoDecoderStub[];
extern const char kWebDriverPort[];
#endif // ENABLE_DEBUG_COMMAND_LINE_SWITCHES
diff --git a/src/cobalt/browser/web_module.cc b/src/cobalt/browser/web_module.cc
index 0ad6dc9..372db0d 100644
--- a/src/cobalt/browser/web_module.cc
+++ b/src/cobalt/browser/web_module.cc
@@ -124,9 +124,9 @@
void OnCspPolicyChanged();
- scoped_refptr<script::GlobalObjectProxy> global_object_proxy() {
+ scoped_refptr<script::GlobalEnvironment> global_environment() {
DCHECK(thread_checker_.CalledOnValidThread());
- return global_object_proxy_;
+ return global_environment_;
}
void OnError(const std::string& error) {
@@ -170,7 +170,7 @@
// JavaScript Global Object for the browser. There should be one per window,
// but since there is only one window, we can have one per browser.
- scoped_refptr<script::GlobalObjectProxy> global_object_proxy_;
+ scoped_refptr<script::GlobalEnvironment> global_environment_;
// Used by |Console| to obtain a JavaScript stack trace.
scoped_ptr<script::ExecutionState> execution_state_;
@@ -281,15 +281,15 @@
javascript_engine_ = script::JavaScriptEngine::CreateEngine();
DCHECK(javascript_engine_);
- global_object_proxy_ = javascript_engine_->CreateGlobalObjectProxy();
- DCHECK(global_object_proxy_);
+ global_environment_ = javascript_engine_->CreateGlobalEnvironment();
+ DCHECK(global_environment_);
execution_state_ =
- script::ExecutionState::CreateExecutionState(global_object_proxy_);
+ script::ExecutionState::CreateExecutionState(global_environment_);
DCHECK(execution_state_);
script_runner_ =
- script::ScriptRunner::CreateScriptRunner(global_object_proxy_);
+ script::ScriptRunner::CreateScriptRunner(global_environment_);
DCHECK(script_runner_);
media_source_registry_.reset(new dom::MediaSource::Registry);
@@ -318,11 +318,10 @@
environment_settings_.reset(new dom::DOMSettings(
kDOMMaxElementDepth, fetcher_factory_.get(), data.network_module, window_,
media_source_registry_.get(), javascript_engine_.get(),
- global_object_proxy_.get(), data.options.dom_settings_options));
+ global_environment_.get(), data.options.dom_settings_options));
DCHECK(environment_settings_);
- global_object_proxy_->CreateGlobalObject(window_,
- environment_settings_.get());
+ global_environment_->CreateGlobalObject(window_, environment_settings_.get());
render_tree_produced_callback_ = data.render_tree_produced_callback;
DCHECK(!render_tree_produced_callback_.is_null());
@@ -348,11 +347,11 @@
if (data.options.csp_enforcement_mode == dom::kCspEnforcementDisable) {
// If CSP is disabled, enable eval(). Otherwise, it will be enabled by
// a CSP directive.
- global_object_proxy_->EnableEval();
+ global_environment_->EnableEval();
}
#endif
- global_object_proxy_->SetReportEvalCallback(
+ global_environment_->SetReportEvalCallback(
base::Bind(&dom::CspDelegate::ReportEval,
base::Unretained(window_->document()->csp_delegate())));
@@ -371,7 +370,7 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(is_running_);
is_running_ = false;
- global_object_proxy_->SetReportEvalCallback(base::Closure());
+ global_environment_->SetReportEvalCallback(base::Closure());
window_->DispatchEvent(new dom::Event(base::Tokens::unload()));
document_load_observer_.reset();
@@ -387,7 +386,7 @@
media_source_registry_.reset();
script_runner_.reset();
execution_state_.reset();
- global_object_proxy_ = NULL;
+ global_environment_ = NULL;
javascript_engine_.reset();
web_module_stat_tracker_.reset();
local_storage_database_.reset();
@@ -470,9 +469,9 @@
bool allow_eval =
window_->document()->csp_delegate()->AllowEval(&eval_disabled_message);
if (allow_eval) {
- global_object_proxy_->EnableEval();
+ global_environment_->EnableEval();
} else {
- global_object_proxy_->DisableEval(eval_disabled_message);
+ global_environment_->DisableEval(eval_disabled_message);
}
}
@@ -485,11 +484,11 @@
DCHECK(window_);
DCHECK(window_weak_);
DCHECK(window_->document());
- DCHECK(global_object_proxy_);
+ DCHECK(global_environment_);
window_driver_out->reset(new webdriver::WindowDriver(
window_id, window_weak_,
- base::Bind(&WebModule::Impl::global_object_proxy, base::Unretained(this)),
+ base::Bind(&WebModule::Impl::global_environment, base::Unretained(this)),
base::MessageLoopProxy::current()));
}
#endif // defined(ENABLE_WEBDRIVER)
@@ -499,7 +498,7 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(is_running_);
DCHECK(window_);
- DCHECK(global_object_proxy_);
+ DCHECK(global_environment_);
DCHECK(resource_provider_);
if (debug_server_module_) {
@@ -507,7 +506,7 @@
}
debug_server_module_.reset(new debug::DebugServerModule(
- window_->console(), global_object_proxy_, debug_overlay_.get(),
+ window_->console(), global_environment_, debug_overlay_.get(),
resource_provider_, window_));
}
#endif // defined(ENABLE_DEBUG_CONSOLE)
@@ -515,12 +514,12 @@
void WebModule::Impl::InjectCustomWindowAttributes(
const Options::InjectedWindowAttributes& attributes) {
DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK(global_object_proxy_);
+ DCHECK(global_environment_);
for (Options::InjectedWindowAttributes::const_iterator iter =
attributes.begin();
iter != attributes.end(); ++iter) {
- global_object_proxy_->Bind(iter->first, iter->second.Run());
+ global_environment_->Bind(iter->first, iter->second.Run());
}
}
diff --git a/src/cobalt/browser/web_module.h b/src/cobalt/browser/web_module.h
index 07fc9b4..854579a 100644
--- a/src/cobalt/browser/web_module.h
+++ b/src/cobalt/browser/web_module.h
@@ -47,7 +47,7 @@
#include "cobalt/media/media_module.h"
#include "cobalt/network/network_module.h"
#include "cobalt/render_tree/resource_provider.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/javascript_engine.h"
#include "cobalt/script/script_runner.h"
#include "cobalt/webdriver/session_driver.h"
diff --git a/src/cobalt/build/build.id b/src/cobalt/build/build.id
index 7eac871..f179e93 100644
--- a/src/cobalt/build/build.id
+++ b/src/cobalt/build/build.id
@@ -1 +1 @@
-10943
\ No newline at end of file
+10999
\ No newline at end of file
diff --git a/src/cobalt/debug/debug_script_runner.cc b/src/cobalt/debug/debug_script_runner.cc
index 325ab72..ea330dd 100644
--- a/src/cobalt/debug/debug_script_runner.cc
+++ b/src/cobalt/debug/debug_script_runner.cc
@@ -33,15 +33,15 @@
} // namespace
DebugScriptRunner::DebugScriptRunner(
- script::GlobalObjectProxy* global_object_proxy,
+ script::GlobalEnvironment* global_environment,
const dom::CspDelegate* csp_delegate,
const OnEventCallback& on_event_callback)
- : global_object_proxy_(global_object_proxy),
+ : global_environment_(global_environment),
csp_delegate_(csp_delegate),
on_event_callback_(on_event_callback) {
// Bind this object to the global object so it can persist state and be
// accessed from any of the debug components.
- global_object_proxy_->Bind(kObjectIdentifier, make_scoped_refptr(this));
+ global_environment_->Bind(kObjectIdentifier, make_scoped_refptr(this));
}
base::optional<std::string> DebugScriptRunner::CreateRemoteObject(
@@ -78,13 +78,13 @@
bool DebugScriptRunner::EvaluateScript(const std::string& js_code,
std::string* result) {
- DCHECK(global_object_proxy_);
+ DCHECK(global_environment_);
DCHECK(result);
scoped_refptr<script::SourceCode> source_code =
script::SourceCode::CreateSourceCode(js_code, GetInlineSourceLocation());
ForceEnableEval();
- bool succeeded = global_object_proxy_->EvaluateScript(source_code, result);
+ bool succeeded = global_environment_->EvaluateScript(source_code, result);
SetEvalAllowedFromCsp();
return succeeded;
}
@@ -113,20 +113,20 @@
}
void DebugScriptRunner::ForceEnableEval() {
- global_object_proxy_->EnableEval();
- global_object_proxy_->SetReportEvalCallback(base::Closure());
+ global_environment_->EnableEval();
+ global_environment_->SetReportEvalCallback(base::Closure());
}
void DebugScriptRunner::SetEvalAllowedFromCsp() {
std::string eval_disabled_message;
bool allow_eval = csp_delegate_->AllowEval(&eval_disabled_message);
if (allow_eval) {
- global_object_proxy_->EnableEval();
+ global_environment_->EnableEval();
} else {
- global_object_proxy_->DisableEval(eval_disabled_message);
+ global_environment_->DisableEval(eval_disabled_message);
}
- global_object_proxy_->SetReportEvalCallback(base::Bind(
+ global_environment_->SetReportEvalCallback(base::Bind(
&dom::CspDelegate::ReportEval, base::Unretained(csp_delegate_)));
}
diff --git a/src/cobalt/debug/debug_script_runner.h b/src/cobalt/debug/debug_script_runner.h
index c82600f..a076098 100644
--- a/src/cobalt/debug/debug_script_runner.h
+++ b/src/cobalt/debug/debug_script_runner.h
@@ -23,7 +23,7 @@
#include "base/optional.h"
#include "cobalt/dom/csp_delegate.h"
#include "cobalt/script/callback_function.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
#include "cobalt/script/wrappable.h"
@@ -55,7 +55,7 @@
typedef script::ScriptObject<CreateRemoteObjectCallback>
CreateRemoteObjectCallbackHolder;
- DebugScriptRunner(script::GlobalObjectProxy* global_object_proxy,
+ DebugScriptRunner(script::GlobalEnvironment* global_environment,
const dom::CspDelegate* csp_delegate,
const OnEventCallback& on_event_callback);
@@ -97,7 +97,7 @@
void SetEvalAllowedFromCsp();
// No ownership.
- script::GlobalObjectProxy* global_object_proxy_;
+ script::GlobalEnvironment* global_environment_;
// Non-owned reference to let this object query whether CSP allows eval.
const dom::CspDelegate* csp_delegate_;
diff --git a/src/cobalt/debug/debug_server.cc b/src/cobalt/debug/debug_server.cc
index 3b95234..9057f77 100644
--- a/src/cobalt/debug/debug_server.cc
+++ b/src/cobalt/debug/debug_server.cc
@@ -37,10 +37,10 @@
void DebugServer::RemoveClient(DebugClient* client) { clients_.erase(client); }
-DebugServer::DebugServer(script::GlobalObjectProxy* global_object_proxy,
+DebugServer::DebugServer(script::GlobalEnvironment* global_environment,
const dom::CspDelegate* csp_delegate)
: ALLOW_THIS_IN_INITIALIZER_LIST(script_runner_(new DebugScriptRunner(
- global_object_proxy, csp_delegate,
+ global_environment, csp_delegate,
base::Bind(&DebugServer::OnEventInternal, base::Unretained(this))))),
message_loop_(MessageLoop::current()),
is_paused_(false),
diff --git a/src/cobalt/debug/debug_server.h b/src/cobalt/debug/debug_server.h
index c10a9f1..d9fd8f9 100644
--- a/src/cobalt/debug/debug_server.h
+++ b/src/cobalt/debug/debug_server.h
@@ -34,7 +34,7 @@
#include "cobalt/debug/debug_script_runner.h"
#include "cobalt/debug/json_object.h"
#include "cobalt/dom/csp_delegate.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/opaque_handle.h"
#include "cobalt/script/script_object.h"
@@ -97,7 +97,7 @@
// A command execution function stored in the command registry.
typedef base::Callback<JSONObject(const JSONObject& params)> Command;
- DebugServer(script::GlobalObjectProxy* global_object_proxy,
+ DebugServer(script::GlobalEnvironment* global_environment,
const dom::CspDelegate* csp_delegate);
// Adds a client to this object. This object does not own the client, but
diff --git a/src/cobalt/debug/debug_server_module.cc b/src/cobalt/debug/debug_server_module.cc
index 4a69361..d656d93 100644
--- a/src/cobalt/debug/debug_server_module.cc
+++ b/src/cobalt/debug/debug_server_module.cc
@@ -22,20 +22,20 @@
namespace debug {
DebugServerModule::DebugServerModule(
- dom::Console* console, script::GlobalObjectProxy* global_object_proxy,
+ dom::Console* console, script::GlobalEnvironment* global_environment,
RenderOverlay* render_overlay,
render_tree::ResourceProvider* resource_provider, dom::Window* window) {
- ConstructionData data(console, global_object_proxy, MessageLoop::current(),
+ ConstructionData data(console, global_environment, MessageLoop::current(),
render_overlay, resource_provider, window);
Build(data);
}
DebugServerModule::DebugServerModule(
- dom::Console* console, script::GlobalObjectProxy* global_object_proxy,
+ dom::Console* console, script::GlobalEnvironment* global_environment,
RenderOverlay* render_overlay,
render_tree::ResourceProvider* resource_provider, dom::Window* window,
MessageLoop* message_loop) {
- ConstructionData data(console, global_object_proxy, message_loop,
+ ConstructionData data(console, global_environment, message_loop,
render_overlay, resource_provider, window);
Build(data);
}
@@ -63,14 +63,14 @@
base::WaitableEvent* created) {
DCHECK(MessageLoop::current() == data.message_loop);
DCHECK(data.console);
- DCHECK(data.global_object_proxy);
+ DCHECK(data.global_environment);
DCHECK(data.render_overlay);
DCHECK(data.resource_provider);
DCHECK(data.window);
// Create the debug server itself.
debug_server_.reset(new debug::DebugServer(
- data.global_object_proxy, data.window->document()->csp_delegate()));
+ data.global_environment, data.window->document()->csp_delegate()));
// Create render layers for the components that need them and chain them
// together. Ownership will be passed to the component that uses each layer.
@@ -84,7 +84,7 @@
// Create the script debugger. This is owned by this object, and is
// accessible to all the debugger components.
script_debugger_ =
- script::ScriptDebugger::CreateDebugger(data.global_object_proxy, this);
+ script::ScriptDebugger::CreateDebugger(data.global_environment, this);
// Create the connector object that provides functionality for each
// component to interact with the debug server, script debugger, etc.
diff --git a/src/cobalt/debug/debug_server_module.h b/src/cobalt/debug/debug_server_module.h
index d3bbd3c..3cfa355 100644
--- a/src/cobalt/debug/debug_server_module.h
+++ b/src/cobalt/debug/debug_server_module.h
@@ -32,7 +32,7 @@
#include "cobalt/dom/console.h"
#include "cobalt/dom/window.h"
#include "cobalt/render_tree/resource_provider.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/script_debugger.h"
namespace cobalt {
@@ -47,14 +47,14 @@
public:
// Construct the debug server on the current message loop.
DebugServerModule(dom::Console* console,
- script::GlobalObjectProxy* global_object_proxy,
+ script::GlobalEnvironment* global_environment,
RenderOverlay* render_overlay,
render_tree::ResourceProvider* resource_provider,
dom::Window* window);
// Construct the debug server on the specified message loop.
DebugServerModule(dom::Console* console,
- script::GlobalObjectProxy* global_object_proxy,
+ script::GlobalEnvironment* global_environment,
RenderOverlay* render_overlay,
render_tree::ResourceProvider* resource_provider,
dom::Window* window, MessageLoop* message_loop);
@@ -68,19 +68,19 @@
// persisted.
struct ConstructionData {
ConstructionData(dom::Console* console,
- script::GlobalObjectProxy* global_object_proxy,
+ script::GlobalEnvironment* global_environment,
MessageLoop* message_loop, RenderOverlay* render_overlay,
render_tree::ResourceProvider* resource_provider,
dom::Window* window)
: console(console),
- global_object_proxy(global_object_proxy),
+ global_environment(global_environment),
message_loop(message_loop),
render_overlay(render_overlay),
resource_provider(resource_provider),
window(window) {}
dom::Console* console;
- script::GlobalObjectProxy* global_object_proxy;
+ script::GlobalEnvironment* global_environment;
MessageLoop* message_loop;
RenderOverlay* render_overlay;
render_tree::ResourceProvider* resource_provider;
diff --git a/src/cobalt/deprecated/platform_delegate.cc b/src/cobalt/deprecated/platform_delegate.cc
index 6e7baaf..41befce 100644
--- a/src/cobalt/deprecated/platform_delegate.cc
+++ b/src/cobalt/deprecated/platform_delegate.cc
@@ -108,6 +108,14 @@
return false;
}
+void PlatformDelegate::SetVideoContainerSizeOverride(
+ const std::string& video_container_size_override) {
+ DLOG(INFO) << "Change VideoContainerSizeOverride from \""
+ << video_container_size_override_ << "\" to \""
+ << video_container_size_override << "\"";
+ video_container_size_override_ = video_container_size_override;
+}
+
PlatformDelegate::~PlatformDelegate() {}
} // namespace deprecated
diff --git a/src/cobalt/deprecated/platform_delegate.h b/src/cobalt/deprecated/platform_delegate.h
index 8e64aa7..42d4ba1 100644
--- a/src/cobalt/deprecated/platform_delegate.h
+++ b/src/cobalt/deprecated/platform_delegate.h
@@ -61,6 +61,15 @@
const void* address, size_t size) const;
virtual bool DeregisterUserLog(int user_log_index) const;
+ // Returns a string in the form of "1920x1080" to inform the player to use the
+ // returned resolution instead of the window size as the maximum resolution of
+ // video being played.
+ std::string GetVideoContainerSizeOverride() const {
+ return video_container_size_override_;
+ }
+ void SetVideoContainerSizeOverride(
+ const std::string& video_container_size_override);
+
const std::string& dir_source_root() const { return dir_source_root_; }
const std::string& game_content_path() const { return game_content_path_; }
const std::string& screenshot_output_path() const {
@@ -81,6 +90,7 @@
std::string screenshot_output_path_;
std::string logging_output_path_;
std::string temp_path_;
+ std::string video_container_size_override_;
private:
// Each platform implements the Create() function to return its own
diff --git a/src/cobalt/dom/DOMImplementation.idl b/src/cobalt/dom/DOMImplementation.idl
index c1d72a3..4dce7eb 100644
--- a/src/cobalt/dom/DOMImplementation.idl
+++ b/src/cobalt/dom/DOMImplementation.idl
@@ -16,6 +16,7 @@
// https://www.w3.org/TR/dom/#domimplementation
+[ConstructorCallWith=EnvironmentSettings]
interface DOMImplementation {
[NewObject] XMLDocument createDocument(DOMString? namespaceName, [TreatNullAs=EmptyString] DOMString qualifiedName, optional DocumentType? doctype = null);
};
diff --git a/src/cobalt/dom/csp_violation_reporter.cc b/src/cobalt/dom/csp_violation_reporter.cc
index 1a9599f..619fc8c 100644
--- a/src/cobalt/dom/csp_violation_reporter.cc
+++ b/src/cobalt/dom/csp_violation_reporter.cc
@@ -23,7 +23,7 @@
#include "cobalt/dom/html_element_context.h"
#include "cobalt/dom/security_policy_violation_event.h"
#include "cobalt/network/net_poster.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "googleurl/src/gurl.h"
namespace cobalt {
@@ -94,10 +94,10 @@
event_data->effective_directive = violation_info.effective_directive;
event_data->original_policy = violation_info.header;
- script::GlobalObjectProxy* global_object_proxy =
- document->html_element_context()->script_runner()->GetGlobalObjectProxy();
+ script::GlobalEnvironment* global_environment =
+ document->html_element_context()->script_runner()->GetGlobalEnvironment();
const std::vector<script::StackFrame>& stack_trace =
- global_object_proxy->GetStackTrace(1);
+ global_environment->GetStackTrace(1);
if (stack_trace.size() > 0) {
event_data->line_number = stack_trace[0].line_number;
event_data->column_number = stack_trace[0].column_number;
diff --git a/src/cobalt/dom/document.cc b/src/cobalt/dom/document.cc
index 8e3c80d..928ba1f 100644
--- a/src/cobalt/dom/document.cc
+++ b/src/cobalt/dom/document.cc
@@ -42,7 +42,6 @@
#include "cobalt/dom/html_body_element.h"
#include "cobalt/dom/html_collection.h"
#include "cobalt/dom/html_element.h"
-#include "cobalt/dom/html_element_context.h"
#include "cobalt/dom/html_element_factory.h"
#include "cobalt/dom/html_head_element.h"
#include "cobalt/dom/html_html_element.h"
@@ -63,29 +62,25 @@
: ALLOW_THIS_IN_INITIALIZER_LIST(Node(this)),
html_element_context_(html_element_context),
window_(options.window),
- implementation_(new DOMImplementation()),
+ implementation_(new DOMImplementation(html_element_context)),
ALLOW_THIS_IN_INITIALIZER_LIST(
style_sheets_(new cssom::StyleSheetList(this))),
- ALLOW_THIS_IN_INITIALIZER_LIST(font_cache_(new FontCache(
- html_element_context_ ? html_element_context_->resource_provider()
- : NULL,
- html_element_context_ ? html_element_context_->remote_typeface_cache()
- : NULL,
- base::Bind(&Document::OnTypefaceLoadEvent, base::Unretained(this)),
- html_element_context_ ? html_element_context_->language()
- : "en-US"))),
loading_counter_(0),
should_dispatch_load_event_(true),
is_selector_tree_dirty_(true),
is_computed_style_dirty_(true),
are_font_faces_dirty_(true),
are_keyframes_dirty_(true),
+#if defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
+ partial_layout_is_enabled_(true),
+#endif // defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
navigation_start_clock_(options.navigation_start_clock),
ALLOW_THIS_IN_INITIALIZER_LIST(
default_timeline_(new DocumentTimeline(this, 0))),
user_agent_style_sheet_(options.user_agent_style_sheet),
initial_computed_style_declaration_(
new cssom::CSSComputedStyleDeclaration()) {
+ DCHECK(html_element_context_);
DCHECK(options.url.is_empty() || options.url.is_valid());
if (options.viewport_size) {
@@ -109,29 +104,30 @@
base::Bind(&CspDelegate::CanLoad, base::Unretained(csp_delegate_.get()),
CspDelegate::kLocation));
- if (IsActiveDocument()) {
- if (html_element_context_ &&
- html_element_context_->remote_typeface_cache()) {
+ font_cache_.reset(new FontCache(
+ html_element_context_->resource_provider(),
+ html_element_context_->remote_typeface_cache(),
+ base::Bind(&Document::OnTypefaceLoadEvent, base::Unretained(this)),
+ html_element_context_->language()));
+
+ if (HasBrowsingContext()) {
+ if (html_element_context_->remote_typeface_cache()) {
html_element_context_->remote_typeface_cache()->set_security_callback(
base::Bind(&CspDelegate::CanLoad,
base::Unretained(csp_delegate_.get()),
CspDelegate::kFont));
}
- if (html_element_context_ && html_element_context_->image_cache()) {
+ if (html_element_context_->image_cache()) {
html_element_context_->image_cache()->set_security_callback(base::Bind(
&CspDelegate::CanLoad, base::Unretained(csp_delegate_.get()),
CspDelegate::kImage));
}
-
-#if defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
- partial_layout_is_enabled_ = true;
-#endif // defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
-
- // Sample the timeline upon initialization.
- SampleTimelineTime();
}
+ // Sample the timeline upon initialization.
+ SampleTimelineTime();
+
// Call OnInsertedIntoDocument() immediately to ensure that the Document
// object itself is considered to be "in the document".
OnInsertedIntoDocument();
@@ -179,7 +175,6 @@
} else {
std::string lower_local_name = local_name;
StringToLowerASCII(&lower_local_name);
- DCHECK(html_element_context_);
DCHECK(html_element_context_->html_element_factory());
return html_element_context_->html_element_factory()->CreateHTMLElement(
this, base::Token(lower_local_name));
@@ -531,8 +526,6 @@
void Document::UpdateComputedStyles() {
TRACE_EVENT0("cobalt::dom", "Document::UpdateComputedStyles()");
- DCHECK(IsActiveDocument());
-
UpdateSelectorTree();
UpdateKeyframes();
UpdateFontFaces();
@@ -650,7 +643,7 @@
void Document::DispatchOnLoadEvent() {
TRACE_EVENT0("cobalt::dom", "Document::DispatchOnLoadEvent()");
- if (IsActiveDocument()) {
+ if (HasBrowsingContext()) {
// Update the current timeline sample time and then update computed styles
// before dispatching the onload event. This guarantees that computed
// styles have been calculated before JavaScript executes onload event
diff --git a/src/cobalt/dom/document.h b/src/cobalt/dom/document.h
index 4d45315..aee887f 100644
--- a/src/cobalt/dom/document.h
+++ b/src/cobalt/dom/document.h
@@ -36,6 +36,7 @@
#include "cobalt/dom/csp_delegate_type.h"
#include "cobalt/dom/document_timeline.h"
#include "cobalt/dom/event.h"
+#include "cobalt/dom/html_element_context.h"
#include "cobalt/dom/location.h"
#include "cobalt/dom/node.h"
#include "cobalt/math/size.h"
@@ -79,14 +80,13 @@
// (the DOM tree, including elements such as <head> and <body>) and provides
// functionality which is global to the document.
// https://www.w3.org/TR/dom/#document
-//
-// In the spec, "A document is assumed to be an XML document unless it is
-// flagged as being an HTML document". In Cobalt it is always considered as HTML
-// document.
class Document : public Node, public cssom::MutationObserver {
public:
struct Options {
- Options() : cookie_jar(NULL), csp_enforcement_mode(kCspEnforcementEnable) {}
+ Options()
+ : window(NULL),
+ cookie_jar(NULL),
+ csp_enforcement_mode(kCspEnforcementEnable) {}
explicit Options(const GURL& url_value)
: url(url_value),
window(NULL),
@@ -338,30 +338,21 @@
// Animations, using all the style sheets in the document.
void UpdateKeyframes();
- // Returns whether the document is the active document shown in the window.
- // TODO: Currently implemented by looking up whether viewport size is set,
- // ideally it should depend on whether browser context exists.
- bool IsActiveDocument() { return !!viewport_size_; }
+ // Returns whether the document has browsing context. Having the browsing
+ // context means the document is shown on the screen.
+ // https://www.w3.org/TR/html5/browsers.html#browsing-context
+ bool HasBrowsingContext() { return !!window_; }
// Reference to HTML element context.
HTMLElementContext* const html_element_context_;
- // Reference to the Window object. We cannot hold a strong reference,
- // otherwise we create a reference loop.
+ // Reference to the associated window object.
Window* window_;
// Associated DOM implementation object.
scoped_refptr<DOMImplementation> implementation_;
- // Associated location object.
- scoped_refptr<Location> location_;
-
- // Content Security Policy enforcement for this document.
- scoped_ptr<CspDelegate> csp_delegate_;
-
// List of CSS style sheets.
scoped_refptr<cssom::StyleSheetList> style_sheets_;
// List of scripts that will execute in order as soon as possible.
std::deque<HTMLScriptElement*> scripts_to_be_executed_;
- // The font cache for this document.
- scoped_ptr<FontCache> font_cache_;
// A mapping from keyframes declaration names to their parsed structure.
cssom::CSSKeyframesRule::NameMap keyframes_map_;
// The number of ongoing loadings.
@@ -374,6 +365,19 @@
bool is_computed_style_dirty_;
bool are_font_faces_dirty_;
bool are_keyframes_dirty_;
+#if defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
+ bool partial_layout_is_enabled_;
+#endif // defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
+
+ // Viewport size.
+ base::optional<math::Size> viewport_size_;
+ // Content Security Policy enforcement for this document.
+ scoped_ptr<CspDelegate> csp_delegate_;
+ network_bridge::CookieJar* cookie_jar_;
+ // Associated location object.
+ scoped_refptr<Location> location_;
+ // The font cache for this document.
+ scoped_ptr<FontCache> font_cache_;
// Weak reference to the active element.
base::WeakPtr<Element> active_element_;
@@ -381,24 +385,15 @@
ObserverList<DocumentObserver> observers_;
// Selector Tree.
cssom::SelectorTree selector_tree_;
- network_bridge::CookieJar* cookie_jar_;
-
// The document's latest sample from the global clock, used for updating
// animations.
const scoped_refptr<base::Clock> navigation_start_clock_;
scoped_refptr<DocumentTimeline> default_timeline_;
-#if defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
- bool partial_layout_is_enabled_;
-#endif // defined(ENABLE_PARTIAL_LAYOUT_CONTROL)
-
base::Closure synchronous_layout_callback_;
scoped_refptr<cssom::CSSStyleSheet> user_agent_style_sheet_;
- // Viewport size.
- base::optional<math::Size> viewport_size_;
-
// Computed style of the initial containing block, width and height come from
// the viewport size.
scoped_refptr<cssom::CSSComputedStyleDeclaration>
diff --git a/src/cobalt/dom/dom_implementation.cc b/src/cobalt/dom/dom_implementation.cc
index b79da21..de9cd44 100644
--- a/src/cobalt/dom/dom_implementation.cc
+++ b/src/cobalt/dom/dom_implementation.cc
@@ -16,9 +16,18 @@
#include "cobalt/dom/dom_implementation.h"
+#include "cobalt/dom/dom_settings.h"
+#include "cobalt/dom/window.h"
+
namespace cobalt {
namespace dom {
+DOMImplementation::DOMImplementation(script::EnvironmentSettings* settings) {
+ html_element_context_ = base::polymorphic_downcast<DOMSettings*>(settings)
+ ->window()
+ ->html_element_context();
+}
+
scoped_refptr<XMLDocument> DOMImplementation::CreateDocument(
base::optional<std::string> namespace_name,
const std::string& qualified_name) {
@@ -31,7 +40,7 @@
UNREFERENCED_PARAMETER(namespace_name);
UNREFERENCED_PARAMETER(qualified_name);
DCHECK(!doctype);
- return new XMLDocument();
+ return new XMLDocument(html_element_context_);
}
} // namespace dom
diff --git a/src/cobalt/dom/dom_implementation.h b/src/cobalt/dom/dom_implementation.h
index 20a2f3b..654af71 100644
--- a/src/cobalt/dom/dom_implementation.h
+++ b/src/cobalt/dom/dom_implementation.h
@@ -23,18 +23,24 @@
#include "base/optional.h"
#include "cobalt/dom/document_type.h"
#include "cobalt/dom/xml_document.h"
+#include "cobalt/script/environment_settings.h"
#include "cobalt/script/wrappable.h"
namespace cobalt {
namespace dom {
+class DOMSettings;
+class HTMLElementContext;
+
// The DOMImplementation interface represent an object providing methods which
// are not dependent on any particular document. Such an object is returned by
// the Document.implementation property.
// https://www.w3.org/TR/2015/WD-dom-20150618/#interface-domimplementation
class DOMImplementation : public script::Wrappable {
public:
- DOMImplementation() {}
+ explicit DOMImplementation(script::EnvironmentSettings* settings);
+ explicit DOMImplementation(HTMLElementContext* html_element_context)
+ : html_element_context_(html_element_context) {}
~DOMImplementation() OVERRIDE {}
// Web API: DOMImplementation
@@ -48,6 +54,8 @@
DEFINE_WRAPPABLE_TYPE(DOMImplementation);
private:
+ HTMLElementContext* html_element_context_;
+
DISALLOW_COPY_AND_ASSIGN(DOMImplementation);
};
diff --git a/src/cobalt/dom/dom_implementation_test.cc b/src/cobalt/dom/dom_implementation_test.cc
index f03bc7e..6226a89 100644
--- a/src/cobalt/dom/dom_implementation_test.cc
+++ b/src/cobalt/dom/dom_implementation_test.cc
@@ -18,6 +18,7 @@
#include "base/memory/ref_counted.h"
#include "cobalt/dom/document.h"
+#include "cobalt/dom/html_element_context.h"
#include "cobalt/dom/xml_document.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -25,7 +26,10 @@
namespace dom {
TEST(DOMImplementationTest, CreateDocumentShouldCreateXMLDocument) {
- scoped_refptr<DOMImplementation> dom_implementation = new DOMImplementation();
+ HTMLElementContext html_element_context(NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, "");
+ scoped_refptr<DOMImplementation> dom_implementation =
+ new DOMImplementation(&html_element_context);
scoped_refptr<Document> document =
dom_implementation->CreateDocument(base::optional<std::string>(""), "");
EXPECT_TRUE(document->IsXMLDocument());
diff --git a/src/cobalt/dom/dom_parser.cc b/src/cobalt/dom/dom_parser.cc
index c70d4e2..e7c8cd4 100644
--- a/src/cobalt/dom/dom_parser.cc
+++ b/src/cobalt/dom/dom_parser.cc
@@ -46,7 +46,7 @@
case kApplicationXhtmlXml:
case kImageSvgXml:
return html_element_context_->dom_parser()->ParseXMLDocument(
- str, GetInlineSourceLocation());
+ str, html_element_context_, GetInlineSourceLocation());
case kMaxSupportedType:
default:
LOG(WARNING) << "DOMParse.ParseFromString received invalid type value.";
diff --git a/src/cobalt/dom/dom_settings.cc b/src/cobalt/dom/dom_settings.cc
index 894d524..6588e93 100644
--- a/src/cobalt/dom/dom_settings.cc
+++ b/src/cobalt/dom/dom_settings.cc
@@ -27,7 +27,7 @@
const scoped_refptr<Window>& window,
MediaSource::Registry* media_source_registry,
script::JavaScriptEngine* engine,
- script::GlobalObjectProxy* global_object_proxy,
+ script::GlobalEnvironment* global_environment,
const Options& options)
: max_dom_element_depth_(max_dom_element_depth),
fetcher_factory_(fetcher_factory),
@@ -37,7 +37,7 @@
array_buffer_cache_(options.array_buffer_cache),
media_source_registry_(media_source_registry),
javascript_engine_(engine),
- global_object_proxy_(global_object_proxy) {
+ global_environment_(global_environment) {
if (array_buffer_allocator_) {
DCHECK(options.array_buffer_cache);
} else {
diff --git a/src/cobalt/dom/dom_settings.h b/src/cobalt/dom/dom_settings.h
index ea6f74b..8366e67 100644
--- a/src/cobalt/dom/dom_settings.h
+++ b/src/cobalt/dom/dom_settings.h
@@ -33,7 +33,7 @@
class NetworkModule;
}
namespace script {
-class GlobalObjectProxy;
+class GlobalEnvironment;
class JavaScriptEngine;
}
namespace dom {
@@ -63,7 +63,7 @@
const scoped_refptr<Window>& window,
MediaSource::Registry* media_source_registry,
script::JavaScriptEngine* engine,
- script::GlobalObjectProxy* global_object_proxy,
+ script::GlobalEnvironment* global_environment_proxy,
const Options& options = Options());
~DOMSettings() OVERRIDE;
@@ -89,8 +89,8 @@
script::JavaScriptEngine* javascript_engine() const {
return javascript_engine_;
}
- script::GlobalObjectProxy* global_object() const {
- return global_object_proxy_;
+ script::GlobalEnvironment* global_environment() const {
+ return global_environment_;
}
MediaSource::Registry* media_source_registry() const {
return media_source_registry_;
@@ -108,7 +108,7 @@
ArrayBuffer::Cache* array_buffer_cache_;
MediaSource::Registry* media_source_registry_;
script::JavaScriptEngine* javascript_engine_;
- script::GlobalObjectProxy* global_object_proxy_;
+ script::GlobalEnvironment* global_environment_;
DISALLOW_COPY_AND_ASSIGN(DOMSettings);
};
diff --git a/src/cobalt/dom/html_image_element.cc b/src/cobalt/dom/html_image_element.cc
index ac05e75..007192d 100644
--- a/src/cobalt/dom/html_image_element.cc
+++ b/src/cobalt/dom/html_image_element.cc
@@ -25,7 +25,7 @@
#include "cobalt/dom/document.h"
#include "cobalt/dom/dom_settings.h"
#include "cobalt/dom/html_element_context.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "googleurl/src/gurl.h"
namespace cobalt {
@@ -190,12 +190,11 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK_GE(prevent_garbage_collection_count_, 0);
if (prevent_garbage_collection_count_++ == 0) {
- DCHECK(html_element_context());
DCHECK(html_element_context()->script_runner());
- DCHECK(html_element_context()->script_runner()->GetGlobalObjectProxy());
+ DCHECK(html_element_context()->script_runner()->GetGlobalEnvironment());
html_element_context()
->script_runner()
- ->GetGlobalObjectProxy()
+ ->GetGlobalEnvironment()
->PreventGarbageCollection(make_scoped_refptr(this));
}
}
@@ -204,9 +203,11 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK_GT(prevent_garbage_collection_count_, 0);
if (--prevent_garbage_collection_count_ == 0) {
+ DCHECK(html_element_context()->script_runner());
+ DCHECK(html_element_context()->script_runner()->GetGlobalEnvironment());
html_element_context()
->script_runner()
- ->GetGlobalObjectProxy()
+ ->GetGlobalEnvironment()
->AllowGarbageCollection(make_scoped_refptr(this));
}
}
diff --git a/src/cobalt/dom/html_script_element.cc b/src/cobalt/dom/html_script_element.cc
index 16acbde..0b6d3a9 100644
--- a/src/cobalt/dom/html_script_element.cc
+++ b/src/cobalt/dom/html_script_element.cc
@@ -29,7 +29,7 @@
#include "cobalt/loader/fetcher_factory.h"
#include "cobalt/loader/sync_loader.h"
#include "cobalt/loader/text_decoder.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/script_runner.h"
#include "googleurl/src/gurl.h"
@@ -525,12 +525,11 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK_GE(prevent_garbage_collection_count_, 0);
if (prevent_garbage_collection_count_++ == 0) {
- DCHECK(html_element_context());
DCHECK(html_element_context()->script_runner());
- DCHECK(html_element_context()->script_runner()->GetGlobalObjectProxy());
+ DCHECK(html_element_context()->script_runner()->GetGlobalEnvironment());
html_element_context()
->script_runner()
- ->GetGlobalObjectProxy()
+ ->GetGlobalEnvironment()
->PreventGarbageCollection(make_scoped_refptr(this));
}
}
@@ -539,9 +538,11 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK_GT(prevent_garbage_collection_count_, 0);
if (--prevent_garbage_collection_count_ == 0) {
+ DCHECK(html_element_context()->script_runner());
+ DCHECK(html_element_context()->script_runner()->GetGlobalEnvironment());
html_element_context()
->script_runner()
- ->GetGlobalObjectProxy()
+ ->GetGlobalEnvironment()
->AllowGarbageCollection(make_scoped_refptr(this));
}
}
diff --git a/src/cobalt/dom/node_test.cc b/src/cobalt/dom/node_test.cc
index 3b674a2..57153ae 100644
--- a/src/cobalt/dom/node_test.cc
+++ b/src/cobalt/dom/node_test.cc
@@ -22,6 +22,7 @@
#include "cobalt/dom/element.h"
#include "cobalt/dom/global_stats.h"
#include "cobalt/dom/html_collection.h"
+#include "cobalt/dom/html_element_context.h"
#include "cobalt/dom/node_list.h"
#include "cobalt/dom/testing/gtest_workarounds.h"
#include "cobalt/dom/text.h"
@@ -71,12 +72,16 @@
NodeTest();
~NodeTest() OVERRIDE;
+ HTMLElementContext html_element_context_;
scoped_refptr<Document> document_;
};
-NodeTest::NodeTest() {
+NodeTest::NodeTest()
+ : html_element_context_(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, "") {
EXPECT_TRUE(GlobalStats::GetInstance()->CheckNoLeaks());
- document_ = new Document(NULL);
+
+ document_ = new Document(&html_element_context_);
}
NodeTest::~NodeTest() {
@@ -225,7 +230,7 @@
scoped_refptr<Node> root = new Element(document_);
EXPECT_EQ(document_, root->node_document());
- scoped_refptr<Document> new_document = new Document(NULL);
+ scoped_refptr<Document> new_document = new Document(&html_element_context_);
new_document->AppendChild(root);
EXPECT_EQ(new_document, root->node_document());
}
@@ -361,7 +366,7 @@
document_->AppendChild(element);
EXPECT_EQ(document_, element->node_document());
- scoped_refptr<Document> new_document = new Document(NULL);
+ scoped_refptr<Document> new_document = new Document(&html_element_context_);
element->AdoptIntoDocument(new_document);
EXPECT_EQ(new_document, element->node_document());
EXPECT_EQ(NULL, element->parent_node());
diff --git a/src/cobalt/dom/parser.h b/src/cobalt/dom/parser.h
index a418ae8..554643e 100644
--- a/src/cobalt/dom/parser.h
+++ b/src/cobalt/dom/parser.h
@@ -52,7 +52,8 @@
// Parses an XML document and returns the created XMLDocument.
virtual scoped_refptr<XMLDocument> ParseXMLDocument(
- const std::string& input, const base::SourceLocation& input_location) = 0;
+ const std::string& input, HTMLElementContext* html_element_context,
+ const base::SourceLocation& input_location) = 0;
// Parses an HTML input and inserts new nodes in document under parent_node
// before reference_node.
diff --git a/src/cobalt/dom/window.cc b/src/cobalt/dom/window.cc
index e901752..295c8f9 100644
--- a/src/cobalt/dom/window.cc
+++ b/src/cobalt/dom/window.cc
@@ -199,7 +199,6 @@
}
scoped_refptr<MediaQueryList> Window::MatchMedia(const std::string& query) {
- DCHECK(html_element_context_);
DCHECK(html_element_context_->css_parser());
scoped_refptr<cssom::MediaList> media_list =
html_element_context_->css_parser()->ParseMediaList(
diff --git a/src/cobalt/dom/xml_document.h b/src/cobalt/dom/xml_document.h
index 819c0eb..afb6346 100644
--- a/src/cobalt/dom/xml_document.h
+++ b/src/cobalt/dom/xml_document.h
@@ -24,12 +24,14 @@
class XMLDocument : public Document {
public:
- explicit XMLDocument(const Options& options = Options())
- : Document(NULL, options) {}
+ XMLDocument(HTMLElementContext* html_element_context,
+ const Options& options = Options())
+ : Document(html_element_context, options) {}
// Custom, not in any spec: Node.
scoped_refptr<Node> Duplicate() const OVERRIDE {
- return new XMLDocument(Document::Options(url_as_gurl()));
+ return new XMLDocument(html_element_context(),
+ Document::Options(url_as_gurl()));
}
// Custom, not in any spec: Document.
diff --git a/src/cobalt/dom/xml_document_test.cc b/src/cobalt/dom/xml_document_test.cc
index 888f226..34d8e11 100644
--- a/src/cobalt/dom/xml_document_test.cc
+++ b/src/cobalt/dom/xml_document_test.cc
@@ -18,13 +18,16 @@
#include "base/memory/ref_counted.h"
#include "cobalt/dom/document.h"
+#include "cobalt/dom/html_element_context.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace cobalt {
namespace dom {
TEST(XMLDocumentTest, IsXMLDocument) {
- scoped_refptr<Document> document = new XMLDocument();
+ HTMLElementContext html_element_context(NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, NULL, NULL, "");
+ scoped_refptr<Document> document = new XMLDocument(&html_element_context);
EXPECT_TRUE(document->IsXMLDocument());
}
diff --git a/src/cobalt/dom_parser/parser.cc b/src/cobalt/dom_parser/parser.cc
index 1c8c1ee..507c187 100644
--- a/src/cobalt/dom_parser/parser.cc
+++ b/src/cobalt/dom_parser/parser.cc
@@ -28,6 +28,7 @@
scoped_refptr<dom::Document> Parser::ParseDocument(
const std::string& input, dom::HTMLElementContext* html_element_context,
const base::SourceLocation& input_location) {
+ DCHECK(html_element_context);
scoped_refptr<dom::Document> document =
new dom::Document(html_element_context, dom::Document::Options());
HTMLDecoder html_decoder(document, document, NULL, dom_max_element_depth_,
@@ -38,8 +39,11 @@
}
scoped_refptr<dom::XMLDocument> Parser::ParseXMLDocument(
- const std::string& input, const base::SourceLocation& input_location) {
- scoped_refptr<dom::XMLDocument> xml_document = new dom::XMLDocument();
+ const std::string& input, dom::HTMLElementContext* html_element_context,
+ const base::SourceLocation& input_location) {
+ DCHECK(html_element_context);
+ scoped_refptr<dom::XMLDocument> xml_document =
+ new dom::XMLDocument(html_element_context);
XMLDecoder xml_decoder(
xml_document, xml_document, NULL, dom_max_element_depth_, input_location,
base::Closure(),
diff --git a/src/cobalt/dom_parser/parser.h b/src/cobalt/dom_parser/parser.h
index cefbf7f..e9de526 100644
--- a/src/cobalt/dom_parser/parser.h
+++ b/src/cobalt/dom_parser/parser.h
@@ -49,7 +49,7 @@
const base::SourceLocation& input_location) OVERRIDE;
scoped_refptr<dom::XMLDocument> ParseXMLDocument(
- const std::string& input,
+ const std::string& input, dom::HTMLElementContext* html_element_context,
const base::SourceLocation& input_location) OVERRIDE;
void ParseDocumentFragment(
diff --git a/src/cobalt/dom_parser/xml_decoder_test.cc b/src/cobalt/dom_parser/xml_decoder_test.cc
index ecc6b41..a7540c0 100644
--- a/src/cobalt/dom_parser/xml_decoder_test.cc
+++ b/src/cobalt/dom_parser/xml_decoder_test.cc
@@ -20,6 +20,7 @@
#include "cobalt/dom/attr.h"
#include "cobalt/dom/cdata_section.h"
#include "cobalt/dom/element.h"
+#include "cobalt/dom/html_element_context.h"
#include "cobalt/dom/named_node_map.h"
#include "cobalt/dom/text.h"
#include "cobalt/dom/xml_document.h"
@@ -41,6 +42,7 @@
XMLDecoderTest();
~XMLDecoderTest() OVERRIDE {}
+ dom::HTMLElementContext html_element_context_;
scoped_refptr<dom::XMLDocument> document_;
base::SourceLocation source_location_;
MockErrorCallback mock_error_callback_;
@@ -48,7 +50,9 @@
};
XMLDecoderTest::XMLDecoderTest()
- : document_(new dom::XMLDocument(dom::Document::Options())),
+ : html_element_context_(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+ NULL, NULL, NULL, ""),
+ document_(new dom::XMLDocument(&html_element_context_)),
source_location_(base::SourceLocation("[object XMLDecoderTest]", 1, 1)) {}
TEST_F(XMLDecoderTest, ShouldNotAddImpliedTags) {
diff --git a/src/cobalt/h5vcc/H5vccSystem.idl b/src/cobalt/h5vcc/H5vccSystem.idl
index 15b6235..25bbe3b 100644
--- a/src/cobalt/h5vcc/H5vccSystem.idl
+++ b/src/cobalt/h5vcc/H5vccSystem.idl
@@ -21,4 +21,5 @@
readonly attribute DOMString region;
readonly attribute DOMString version;
boolean triggerHelp();
+ DOMString getVideoContainerSizeOverride();
};
diff --git a/src/cobalt/h5vcc/h5vcc_system.cc b/src/cobalt/h5vcc/h5vcc_system.cc
index 6775ae5..3bf8cf3 100644
--- a/src/cobalt/h5vcc/h5vcc_system.cc
+++ b/src/cobalt/h5vcc/h5vcc_system.cc
@@ -52,5 +52,12 @@
// return false to indicate the client should launch their own dialog.
bool H5vccSystem::TriggerHelp() const { return false; }
+// Returns a string in the form of "1920x1080" to inform the player to use the
+// returned resolution instead of the window size as the maximum resolution of
+// video being played.
+std::string H5vccSystem::GetVideoContainerSizeOverride() const {
+ return deprecated::PlatformDelegate::Get()->GetVideoContainerSizeOverride();
+}
+
} // namespace h5vcc
} // namespace cobalt
diff --git a/src/cobalt/h5vcc/h5vcc_system.h b/src/cobalt/h5vcc/h5vcc_system.h
index 3a1f4ac..be0db79 100644
--- a/src/cobalt/h5vcc/h5vcc_system.h
+++ b/src/cobalt/h5vcc/h5vcc_system.h
@@ -35,6 +35,7 @@
std::string version() const;
bool TriggerHelp() const;
+ std::string GetVideoContainerSizeOverride() const;
DEFINE_WRAPPABLE_TYPE(H5vccSystem);
diff --git a/src/cobalt/layout/block_formatting_context.cc b/src/cobalt/layout/block_formatting_context.cc
index 92fc3c2..1203c34 100644
--- a/src/cobalt/layout/block_formatting_context.cc
+++ b/src/cobalt/layout/block_formatting_context.cc
@@ -100,7 +100,8 @@
// positive adjoining margins.
// When there is only one negative and one positive margin, that translates
// to: The margins are summed.
- DCHECK(collapsing_margin_ >= LayoutUnit() || margin_top >= LayoutUnit());
+ DCHECK(collapsing_margin_.GreaterEqualOrNaN(LayoutUnit()) ||
+ margin_top.GreaterEqualOrNaN(LayoutUnit()));
collapsed_margin = collapsing_margin_ + margin_top;
}
diff --git a/src/cobalt/layout/inline_container_box.cc b/src/cobalt/layout/inline_container_box.cc
index 2215a46..751a3b4 100644
--- a/src/cobalt/layout/inline_container_box.cc
+++ b/src/cobalt/layout/inline_container_box.cc
@@ -455,7 +455,7 @@
WrapOpportunityPolicy wrap_opportunity_policy,
bool is_line_existence_justified, LayoutUnit available_width,
bool should_collapse_trailing_white_space) {
- DCHECK_GT(GetMarginBoxWidth(), available_width);
+ DCHECK(GetMarginBoxWidth().GreaterThanOrNaN(available_width));
// Calculate the available width where the content begins. If the content
// does not begin within the available width, then the wrap can only occur
diff --git a/src/cobalt/layout/layout_unit.h b/src/cobalt/layout/layout_unit.h
index ba53e11..2083a23 100644
--- a/src/cobalt/layout/layout_unit.h
+++ b/src/cobalt/layout/layout_unit.h
@@ -24,6 +24,7 @@
#include <utility>
#include "base/basictypes.h"
+#include "base/logging.h"
#include "cobalt/base/math.h"
namespace cobalt {
@@ -35,24 +36,47 @@
// The ratio of the LayoutUnit fixed point value to integers.
static const int kFixedPointRatio = 64;
- LayoutUnit() : value_(0) {}
+ LayoutUnit() : value_(0) {
+#ifdef _DEBUG
+ is_nan_ = false;
+#endif
+ }
~LayoutUnit() {}
// Constructors.
- explicit LayoutUnit(int value) : value_(value * kFixedPointRatio) {}
+ explicit LayoutUnit(int value) : value_(value * kFixedPointRatio) {
+#ifdef _DEBUG
+ int64_t value64 = value * kFixedPointRatio;
+ is_nan_ = value_ != value64;
+#endif
+ }
explicit LayoutUnit(float value)
: value_(static_cast<int32_t>(
- floorf(value * static_cast<float>(kFixedPointRatio)))) {}
+ floorf(value * static_cast<float>(kFixedPointRatio)))) {
+#ifdef _DEBUG
+ int64_t value64 = static_cast<int64_t>(
+ floorf(value * static_cast<float>(kFixedPointRatio)));
+ is_nan_ = value_ != value64;
+#endif
+ }
float toFloat() const {
return static_cast<float>(value_) / kFixedPointRatio;
}
- void swap(LayoutUnit& value) { std::swap(value_, value.value_); }
+ void swap(LayoutUnit& value) {
+ std::swap(value_, value.value_);
+#ifdef _DEBUG
+ std::swap(is_nan_, value.is_nan_);
+#endif
+ }
// Copy assignment operator.
LayoutUnit& operator=(LayoutUnit value) {
value_ = value.value_;
+#ifdef _DEBUG
+ is_nan_ = is_nan_ || value.is_nan_;
+#endif
return *this;
}
@@ -63,6 +87,57 @@
bool operator==(LayoutUnit other) const { return value_ == other.value_; }
bool operator!=(LayoutUnit other) const { return value_ != other.value_; }
+#ifdef _DEBUG
+ bool LessThanOrNaN(LayoutUnit other) const {
+ return is_nan_ || other.is_nan_ || *this < other;
+ }
+ bool LessEqualOrNaN(LayoutUnit other) const {
+ return is_nan_ || other.is_nan_ || *this <= other;
+ }
+ bool GreaterThanOrNaN(LayoutUnit other) const {
+ return is_nan_ || other.is_nan_ || *this > other;
+ }
+ bool GreaterEqualOrNaN(LayoutUnit other) const {
+ return is_nan_ || other.is_nan_ || *this >= other;
+ }
+ bool EqualOrNaN(LayoutUnit other) const {
+ return is_nan_ || other.is_nan_ || *this == other;
+ }
+ bool NotEqualOrNaN(LayoutUnit other) const {
+ return is_nan_ || other.is_nan_ || *this != other;
+ }
+ bool IsNaN() const { return is_nan_; }
+#else
+ bool LessThanOrNaN(LayoutUnit other) const {
+ NOTREACHED();
+ return *this < other;
+ }
+ bool LessEqualOrNaN(LayoutUnit other) const {
+ NOTREACHED();
+ return *this <= other;
+ }
+ bool GreaterThanOrNaN(LayoutUnit other) const {
+ NOTREACHED();
+ return *this > other;
+ }
+ bool GreaterEqualOrNaN(LayoutUnit other) const {
+ NOTREACHED();
+ return *this >= other;
+ }
+ bool EqualOrNaN(LayoutUnit other) const {
+ NOTREACHED();
+ return *this == other;
+ }
+ bool NotEqualOrNaN(LayoutUnit other) const {
+ NOTREACHED();
+ return *this != other;
+ }
+ bool IsNaN() const {
+ NOTREACHED();
+ return false;
+ }
+#endif
+
LayoutUnit operator+() const { return LayoutUnit(*this); }
LayoutUnit operator-() const {
LayoutUnit res;
@@ -71,7 +146,14 @@
}
LayoutUnit& operator+=(LayoutUnit other) {
+#ifdef _DEBUG
+ int64_t value64 = value_;
+#endif
value_ += other.value_;
+#ifdef _DEBUG
+ is_nan_ = is_nan_ || other.is_nan_ ||
+ (value_ != (value64 + static_cast<int64_t>(other.value_)));
+#endif
return *this;
}
LayoutUnit operator+(LayoutUnit other) const {
@@ -79,7 +161,14 @@
return res += other;
}
LayoutUnit& operator-=(LayoutUnit other) {
+#ifdef _DEBUG
+ int64_t value64 = value_;
+#endif
value_ -= other.value_;
+#ifdef _DEBUG
+ is_nan_ = is_nan_ || other.is_nan_ ||
+ (value_ != (value64 - static_cast<int64_t>(other.value_)));
+#endif
return *this;
}
LayoutUnit operator-(LayoutUnit other) const {
@@ -100,13 +189,26 @@
private:
int32_t value_;
+#ifdef _DEBUG
+ // When value_ overflows or underflows during construction or during an
+ // operation, it's value is undefined. This flags is used to track when that
+ // happens. The value propagates to the result of operations where any
+ // operand has this flag set, to indicate that there is undefined behavior.
+ bool is_nan_;
+#endif
};
// Integer scaling math operators.
// NOLINTNEXTLINE(runtime/references)
inline LayoutUnit& operator*=(LayoutUnit& a, int b) {
+#ifdef _DEBUG
+ int64_t value64 = a.value_;
+#endif
a.value_ *= b;
+#ifdef _DEBUG
+ a.is_nan_ = a.is_nan_ || (a.value_ != (value64 * b));
+#endif
return a;
}
@@ -116,7 +218,13 @@
// NOLINTNEXTLINE(runtime/references)
inline LayoutUnit& operator/=(LayoutUnit& a, int b) {
+#ifdef _DEBUG
+ int64_t value64 = a.value_;
+#endif
a.value_ /= b;
+#ifdef _DEBUG
+ a.is_nan_ = a.is_nan_ || (a.value_ != (value64 / b));
+#endif
return a;
}
@@ -126,7 +234,15 @@
// NOLINTNEXTLINE(runtime/references)
inline LayoutUnit& operator*=(LayoutUnit& a, float b) {
+#ifdef _DEBUG
+ int64_t value64 = a.value_;
+#endif
a.value_ = static_cast<int32_t>(floorf(static_cast<float>(a.value_) * b));
+#ifdef _DEBUG
+ a.is_nan_ = a.is_nan_ ||
+ (a.value_ !=
+ static_cast<int64_t>(floorf(static_cast<float>(value64) * b)));
+#endif
return a;
}
@@ -143,6 +259,11 @@
inline LayoutUnit operator/(LayoutUnit a, float b) { return a /= b; }
inline std::ostream& operator<<(std::ostream& out, const LayoutUnit& x) {
+#ifdef _DEBUG
+ if (x.IsNaN()) {
+ return out << "NaN(" << x.toFloat() << ")";
+ }
+#endif
return out << x.toFloat();
}
diff --git a/src/cobalt/layout/line_box.cc b/src/cobalt/layout/line_box.cc
index 7a72a16..92940d1 100644
--- a/src/cobalt/layout/line_box.cc
+++ b/src/cobalt/layout/line_box.cc
@@ -260,7 +260,7 @@
last_non_collapsed_child_box->UpdateSize(layout_params_);
LayoutUnit collapsed_white_space_width =
child_box_pre_collapse_width - last_non_collapsed_child_box->width();
- DCHECK_GT(collapsed_white_space_width, LayoutUnit());
+ DCHECK(collapsed_white_space_width.GreaterThanOrNaN(LayoutUnit()));
shrink_to_fit_width_ -= collapsed_white_space_width;
}
@@ -274,7 +274,7 @@
last_non_collapsed_child_box->UpdateSize(layout_params_);
LayoutUnit restored_white_space_width =
last_non_collapsed_child_box->width() - child_box_pre_restore_width;
- DCHECK_GT(restored_white_space_width, LayoutUnit());
+ DCHECK(restored_white_space_width.GreaterThanOrNaN(LayoutUnit()));
shrink_to_fit_width_ += restored_white_space_width;
}
diff --git a/src/cobalt/layout/text_box.cc b/src/cobalt/layout/text_box.cc
index c0cb5fb..9dad35b 100644
--- a/src/cobalt/layout/text_box.cc
+++ b/src/cobalt/layout/text_box.cc
@@ -88,18 +88,18 @@
void TextBox::UpdateContentSizeAndMargins(const LayoutParams& layout_params) {
// Anonymous boxes do not have margins.
- DCHECK_EQ(LayoutUnit(),
- GetUsedMarginLeftIfNotAuto(computed_style(),
- layout_params.containing_block_size));
- DCHECK_EQ(LayoutUnit(),
- GetUsedMarginTopIfNotAuto(computed_style(),
- layout_params.containing_block_size));
- DCHECK_EQ(LayoutUnit(),
- GetUsedMarginRightIfNotAuto(computed_style(),
- layout_params.containing_block_size));
- DCHECK_EQ(LayoutUnit(),
- GetUsedMarginBottomIfNotAuto(computed_style(),
- layout_params.containing_block_size));
+ DCHECK(GetUsedMarginLeftIfNotAuto(computed_style(),
+ layout_params.containing_block_size)
+ ->EqualOrNaN(LayoutUnit()));
+ DCHECK(GetUsedMarginTopIfNotAuto(computed_style(),
+ layout_params.containing_block_size)
+ ->EqualOrNaN(LayoutUnit()));
+ DCHECK(GetUsedMarginRightIfNotAuto(computed_style(),
+ layout_params.containing_block_size)
+ ->EqualOrNaN(LayoutUnit()));
+ DCHECK(GetUsedMarginBottomIfNotAuto(computed_style(),
+ layout_params.containing_block_size)
+ ->EqualOrNaN(LayoutUnit()));
// The non-collapsible content size only needs to be calculated if
// |non_collapsible_text_width_| is unset. This indicates that either the
@@ -371,8 +371,8 @@
return;
}
- DCHECK_EQ(LayoutUnit(), border_left_width() + padding_left());
- DCHECK_EQ(LayoutUnit(), border_top_width() + padding_top());
+ DCHECK((border_left_width() + padding_left()).EqualOrNaN(LayoutUnit()));
+ DCHECK((border_top_width() + padding_top()).EqualOrNaN(LayoutUnit()));
// Only add the text node to the render tree if it actually has visible
// content that isn't simply collapsible whitespace and a font isn't loading.
diff --git a/src/cobalt/network/cookie_jar_impl.cc b/src/cobalt/network/cookie_jar_impl.cc
index 8669b8d..5ad5205 100644
--- a/src/cobalt/network/cookie_jar_impl.cc
+++ b/src/cobalt/network/cookie_jar_impl.cc
@@ -18,6 +18,7 @@
#include "base/bind.h"
#include "base/synchronization/waitable_event.h"
+#include "base/threading/thread.h"
namespace cobalt {
namespace network {
@@ -26,20 +27,29 @@
class CookiesGetter {
public:
- CookiesGetter() : event_(true, false) {}
+ CookiesGetter(const GURL& origin, net::CookieStore* cookie_store)
+ : getter_thread_("CookiesGetter"), event_(true, false) {
+ getter_thread_.Start();
+ getter_thread_.message_loop()->PostTask(
+ FROM_HERE, base::Bind(&net::CookieStore::GetCookiesWithOptionsAsync,
+ cookie_store, origin, net::CookieOptions(),
+ base::Bind(&CookiesGetter::CompletionCallback,
+ base::Unretained(this))));
+ }
const std::string& WaitForCookies() {
event_.Wait();
return cookies_;
}
- void GetCookiesAsync(const std::string& cookies) {
+ private:
+ void CompletionCallback(const std::string& cookies) {
cookies_ = cookies;
event_.Signal();
}
- private:
std::string cookies_;
+ base::Thread getter_thread_;
base::WaitableEvent event_;
};
@@ -51,11 +61,7 @@
}
std::string CookieJarImpl::GetCookies(const GURL& origin) {
- CookiesGetter cookies_getter;
- cookie_store_->GetCookiesWithOptionsAsync(
- origin, net::CookieOptions(),
- base::Bind(&CookiesGetter::GetCookiesAsync,
- base::Unretained(&cookies_getter)));
+ CookiesGetter cookies_getter(origin, cookie_store_);
return cookies_getter.WaitForCookies();
}
diff --git a/src/cobalt/script/execution_state.cc b/src/cobalt/script/execution_state.cc
index 34992a8..0d53cf3 100644
--- a/src/cobalt/script/execution_state.cc
+++ b/src/cobalt/script/execution_state.cc
@@ -16,7 +16,7 @@
#include "cobalt/script/execution_state.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
namespace cobalt {
namespace script {
@@ -26,25 +26,24 @@
class ExecutionStateImpl : public ExecutionState {
public:
explicit ExecutionStateImpl(
- const scoped_refptr<GlobalObjectProxy>& global_object_proxy)
- : global_object_proxy_(global_object_proxy) {}
+ const scoped_refptr<GlobalEnvironment>& global_environment)
+ : global_environment_(global_environment) {}
std::string GetStackTrace() const OVERRIDE;
private:
- scoped_refptr<GlobalObjectProxy> global_object_proxy_;
+ scoped_refptr<GlobalEnvironment> global_environment_;
};
std::string ExecutionStateImpl::GetStackTrace() const {
- return StackTraceToString(global_object_proxy_->GetStackTrace());
+ return StackTraceToString(global_environment_->GetStackTrace());
}
} // namespace
scoped_ptr<ExecutionState> ExecutionState::CreateExecutionState(
- const scoped_refptr<GlobalObjectProxy>& global_object_proxy) {
- return scoped_ptr<ExecutionState>(
- new ExecutionStateImpl(global_object_proxy));
+ const scoped_refptr<GlobalEnvironment>& global_environment) {
+ return scoped_ptr<ExecutionState>(new ExecutionStateImpl(global_environment));
}
} // namespace script
diff --git a/src/cobalt/script/execution_state.h b/src/cobalt/script/execution_state.h
index 063a5bd..2f394c3 100644
--- a/src/cobalt/script/execution_state.h
+++ b/src/cobalt/script/execution_state.h
@@ -24,13 +24,13 @@
namespace cobalt {
namespace script {
-class GlobalObjectProxy;
+class GlobalEnvironment;
// Provides access to the state of JavaScript execution.
class ExecutionState {
public:
static scoped_ptr<ExecutionState> CreateExecutionState(
- const scoped_refptr<GlobalObjectProxy>& global_object_proxy);
+ const scoped_refptr<GlobalEnvironment>& global_environment);
virtual std::string GetStackTrace() const = 0;
virtual ~ExecutionState() {}
diff --git a/src/cobalt/script/fake_global_object_proxy.h b/src/cobalt/script/fake_global_environment.h
similarity index 87%
rename from src/cobalt/script/fake_global_object_proxy.h
rename to src/cobalt/script/fake_global_environment.h
index bc110d8..532d709 100644
--- a/src/cobalt/script/fake_global_object_proxy.h
+++ b/src/cobalt/script/fake_global_environment.h
@@ -14,18 +14,18 @@
* limitations under the License.
*/
-#ifndef COBALT_SCRIPT_FAKE_GLOBAL_OBJECT_PROXY_H_
-#define COBALT_SCRIPT_FAKE_GLOBAL_OBJECT_PROXY_H_
+#ifndef COBALT_SCRIPT_FAKE_GLOBAL_ENVIRONMENT_H_
+#define COBALT_SCRIPT_FAKE_GLOBAL_ENVIRONMENT_H_
#include <string>
#include <vector>
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
namespace cobalt {
namespace script {
-class FakeGlobalObjectProxy : public GlobalObjectProxy {
+class FakeGlobalEnvironment : public GlobalEnvironment {
public:
void CreateGlobalObject() OVERRIDE {};
bool EvaluateScript(const scoped_refptr<SourceCode>& /*script_utf8*/,
@@ -57,4 +57,4 @@
} // namespace script
} // namespace cobalt
-#endif // COBALT_SCRIPT_FAKE_GLOBAL_OBJECT_PROXY_H_
+#endif // COBALT_SCRIPT_FAKE_GLOBAL_ENVIRONMENT_H_
diff --git a/src/cobalt/script/fake_script_runner.h b/src/cobalt/script/fake_script_runner.h
index baafdf1..2a9af2b 100644
--- a/src/cobalt/script/fake_script_runner.h
+++ b/src/cobalt/script/fake_script_runner.h
@@ -20,7 +20,7 @@
#include <string>
#include "cobalt/base/source_location.h"
-#include "cobalt/script/fake_global_object_proxy.h"
+#include "cobalt/script/fake_global_environment.h"
#include "cobalt/script/script_runner.h"
namespace cobalt {
@@ -28,18 +28,18 @@
class FakeScriptRunner : public ScriptRunner {
public:
- FakeScriptRunner() : fake_global_object_proxy_(new FakeGlobalObjectProxy()) {}
+ FakeScriptRunner() : fake_global_environment_(new FakeGlobalEnvironment()) {}
std::string Execute(
const std::string& /*script_utf8*/,
const base::SourceLocation& /*script_location*/) OVERRIDE {
return "";
}
- GlobalObjectProxy* GetGlobalObjectProxy() const OVERRIDE {
- return fake_global_object_proxy_.get();
+ GlobalEnvironment* GetGlobalEnvironment() const OVERRIDE {
+ return fake_global_environment_.get();
}
private:
- scoped_refptr<FakeGlobalObjectProxy> fake_global_object_proxy_;
+ scoped_refptr<FakeGlobalEnvironment> fake_global_environment_;
};
} // namespace script
diff --git a/src/cobalt/script/global_object_proxy.h b/src/cobalt/script/global_environment.h
similarity index 89%
rename from src/cobalt/script/global_object_proxy.h
rename to src/cobalt/script/global_environment.h
index 45f30a7..01fc636 100644
--- a/src/cobalt/script/global_object_proxy.h
+++ b/src/cobalt/script/global_environment.h
@@ -13,8 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#ifndef COBALT_SCRIPT_GLOBAL_OBJECT_PROXY_H_
-#define COBALT_SCRIPT_GLOBAL_OBJECT_PROXY_H_
+#ifndef COBALT_SCRIPT_GLOBAL_ENVIRONMENT_H_
+#define COBALT_SCRIPT_GLOBAL_ENVIRONMENT_H_
#include <string>
#include <vector>
@@ -33,9 +33,8 @@
class JavaScriptEngine;
class SourceCode;
-// Manages a handle to a JavaScript engine's global object. The lifetime of
-// the global object is not necessarily tied to the lifetime of the proxy.
-class GlobalObjectProxy : public base::RefCounted<GlobalObjectProxy> {
+// Manages a handle to a JavaScript engine's global object.
+class GlobalEnvironment : public base::RefCounted<GlobalEnvironment> {
public:
// Create a new global object with bindings as defined for the definition of
// the GlobalInterface type. The IDL for this interface must have the
@@ -104,11 +103,11 @@
const scoped_refptr<Wrappable>& impl) = 0;
protected:
- virtual ~GlobalObjectProxy() {}
- friend class base::RefCounted<GlobalObjectProxy>;
+ virtual ~GlobalEnvironment() {}
+ friend class base::RefCounted<GlobalEnvironment>;
};
} // namespace script
} // namespace cobalt
-#endif // COBALT_SCRIPT_GLOBAL_OBJECT_PROXY_H_
+#endif // COBALT_SCRIPT_GLOBAL_ENVIRONMENT_H_
diff --git a/src/cobalt/script/javascript_engine.h b/src/cobalt/script/javascript_engine.h
index 4cc5a30..7c5a607 100644
--- a/src/cobalt/script/javascript_engine.h
+++ b/src/cobalt/script/javascript_engine.h
@@ -22,7 +22,7 @@
namespace cobalt {
namespace script {
-class GlobalObjectProxy;
+class GlobalEnvironment;
class JavaScriptEngine {
public:
@@ -32,7 +32,7 @@
static scoped_ptr<JavaScriptEngine> CreateEngine();
// Create a new JavaScript global object proxy.
- virtual scoped_refptr<GlobalObjectProxy> CreateGlobalObjectProxy() = 0;
+ virtual scoped_refptr<GlobalEnvironment> CreateGlobalEnvironment() = 0;
// Kick off the engine's garbage collection synchronously.
virtual void CollectGarbage() = 0;
diff --git a/src/cobalt/script/javascriptcore/javascriptcore.gyp b/src/cobalt/script/javascriptcore/javascriptcore.gyp
index 9cee381..73b048f 100644
--- a/src/cobalt/script/javascriptcore/javascriptcore.gyp
+++ b/src/cobalt/script/javascriptcore/javascriptcore.gyp
@@ -32,10 +32,10 @@
'jsc_exception_state.cc',
'jsc_exception_state.h',
'jsc_gc_markup_visitor.h',
+ 'jsc_global_environment.cc',
+ 'jsc_global_environment.h',
'jsc_global_object.cc',
'jsc_global_object.h',
- 'jsc_global_object_proxy.cc',
- 'jsc_global_object_proxy.h',
'jsc_object_handle.h',
'jsc_object_owner.h',
'jsc_scope.cc',
@@ -84,6 +84,9 @@
'sources': [
'numeric_conversion_test.cc',
],
+ 'defines': [
+ '__DISABLE_WTF_LOGGING__',
+ ],
'include_dirs': [
'<(DEPTH)/third_party/WebKit/Source/JavaScriptCore',
'<(DEPTH)/third_party/WebKit/Source/WTF',
diff --git a/src/cobalt/script/javascriptcore/jsc.cc b/src/cobalt/script/javascriptcore/jsc.cc
index 9d474cf..8fae204 100644
--- a/src/cobalt/script/javascriptcore/jsc.cc
+++ b/src/cobalt/script/javascriptcore/jsc.cc
@@ -21,7 +21,7 @@
#include "base/string_util.h"
#include "cobalt/base/wrap_main.h"
#include "cobalt/script/javascriptcore/jsc_engine.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/standalone_javascript_runner.h"
#include "third_party/WebKit/Source/JavaScriptCore/config.h"
// Error.h needs to be included before JSCTypedArrayStubs.h
@@ -97,11 +97,11 @@
int JSCMain(int argc, char** argv) {
cobalt::script::StandaloneJavascriptRunner standalone_runner;
- standalone_runner.global_object_proxy()->EnableEval();
+ standalone_runner.global_environment()->EnableEval();
JSCGlobalObject* global_object =
- static_cast<JSCGlobalObjectProxy*>(
- standalone_runner.global_object_proxy().get())
+ static_cast<JSCGlobalEnvironment*>(
+ standalone_runner.global_environment().get())
->global_object();
SetupBindings(global_object);
diff --git a/src/cobalt/script/javascriptcore/jsc_debugger.cc b/src/cobalt/script/javascriptcore/jsc_debugger.cc
index 9856564..78c3a63 100644
--- a/src/cobalt/script/javascriptcore/jsc_debugger.cc
+++ b/src/cobalt/script/javascriptcore/jsc_debugger.cc
@@ -23,8 +23,8 @@
#include "base/string_number_conversions.h"
#include "cobalt/base/polymorphic_downcast.h"
#include "cobalt/script/javascriptcore/jsc_call_frame.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/javascriptcore/jsc_object_handle_holder.h"
#include "cobalt/script/javascriptcore/jsc_source_provider.h"
@@ -45,9 +45,9 @@
// Static factory method declared in public interface.
scoped_ptr<ScriptDebugger> ScriptDebugger::CreateDebugger(
- GlobalObjectProxy* global_object_proxy, Delegate* delegate) {
+ GlobalEnvironment* global_environment, Delegate* delegate) {
return scoped_ptr<ScriptDebugger>(
- new javascriptcore::JSCDebugger(global_object_proxy, delegate));
+ new javascriptcore::JSCDebugger(global_environment, delegate));
}
namespace javascriptcore {
@@ -105,9 +105,9 @@
}
} // namespace
-JSCDebugger::JSCDebugger(GlobalObjectProxy* global_object_proxy,
+JSCDebugger::JSCDebugger(GlobalEnvironment* global_environment,
Delegate* delegate)
- : global_object_proxy_(global_object_proxy),
+ : global_environment_(global_environment),
delegate_(delegate),
pause_on_exceptions_(kNone),
pause_on_next_statement_(false),
@@ -184,7 +184,7 @@
}
JSCGlobalObject* JSCDebugger::GetGlobalObject() const {
- return base::polymorphic_downcast<JSCGlobalObjectProxy*>(global_object_proxy_)
+ return base::polymorphic_downcast<JSCGlobalEnvironment*>(global_environment_)
->global_object();
}
diff --git a/src/cobalt/script/javascriptcore/jsc_debugger.h b/src/cobalt/script/javascriptcore/jsc_debugger.h
index f66a036..7c0b03b 100644
--- a/src/cobalt/script/javascriptcore/jsc_debugger.h
+++ b/src/cobalt/script/javascriptcore/jsc_debugger.h
@@ -21,7 +21,7 @@
#include "base/compiler_specific.h"
#include "base/threading/thread_checker.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/script_debugger.h"
#include "cobalt/script/source_provider.h"
@@ -54,7 +54,7 @@
// global object to which this debugger connects.
class JSCDebugger : protected JSC::Debugger, public ScriptDebugger {
public:
- JSCDebugger(GlobalObjectProxy* global_object_proxy, Delegate* delegate);
+ JSCDebugger(GlobalEnvironment* global_environment, Delegate* delegate);
~JSCDebugger() OVERRIDE;
// Implementation of ScriptDebugger.
@@ -156,7 +156,7 @@
bool IsBreakpointAtCurrentLocation() const;
base::ThreadChecker thread_checker_;
- GlobalObjectProxy* global_object_proxy_;
+ GlobalEnvironment* global_environment_;
// Lifetime managed by the caller of this object's constructor.
Delegate* delegate_;
diff --git a/src/cobalt/script/javascriptcore/jsc_engine.cc b/src/cobalt/script/javascriptcore/jsc_engine.cc
index 506a2f4..2555ddf 100644
--- a/src/cobalt/script/javascriptcore/jsc_engine.cc
+++ b/src/cobalt/script/javascriptcore/jsc_engine.cc
@@ -22,8 +22,8 @@
#include "base/time.h"
#include "cobalt/base/c_val.h"
#include "cobalt/base/poller.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "third_party/WebKit/Source/JavaScriptCore/runtime/InitializeThreading.h"
#include "third_party/WebKit/Source/WTF/wtf/OSAllocator.h"
@@ -97,9 +97,9 @@
script_object_registry_.ClearEntries();
}
-scoped_refptr<GlobalObjectProxy> JSCEngine::CreateGlobalObjectProxy() {
+scoped_refptr<GlobalEnvironment> JSCEngine::CreateGlobalEnvironment() {
DCHECK(thread_checker_.CalledOnValidThread());
- return new JSCGlobalObjectProxy(this);
+ return new JSCGlobalEnvironment(this);
}
void JSCEngine::CollectGarbage() {
diff --git a/src/cobalt/script/javascriptcore/jsc_engine.h b/src/cobalt/script/javascriptcore/jsc_engine.h
index a995847..5ef1068 100644
--- a/src/cobalt/script/javascriptcore/jsc_engine.h
+++ b/src/cobalt/script/javascriptcore/jsc_engine.h
@@ -30,7 +30,7 @@
public:
JSCEngine();
~JSCEngine() OVERRIDE;
- scoped_refptr<GlobalObjectProxy> CreateGlobalObjectProxy() OVERRIDE;
+ scoped_refptr<GlobalEnvironment> CreateGlobalEnvironment() OVERRIDE;
void CollectGarbage() OVERRIDE;
void ReportExtraMemoryCost(size_t bytes) OVERRIDE;
JSC::JSGlobalData* global_data() { return global_data_.get(); }
diff --git a/src/cobalt/script/javascriptcore/jsc_global_object_proxy.cc b/src/cobalt/script/javascriptcore/jsc_global_environment.cc
similarity index 87%
rename from src/cobalt/script/javascriptcore/jsc_global_object_proxy.cc
rename to src/cobalt/script/javascriptcore/jsc_global_environment.cc
index 9db07c2..d388b64 100644
--- a/src/cobalt/script/javascriptcore/jsc_global_object_proxy.cc
+++ b/src/cobalt/script/javascriptcore/jsc_global_environment.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include <algorithm>
#include <string>
@@ -37,7 +37,7 @@
namespace script {
namespace javascriptcore {
-void JSCGlobalObjectProxy::PreventGarbageCollection(
+void JSCGlobalEnvironment::PreventGarbageCollection(
const scoped_refptr<Wrappable>& wrappable) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(global_object_);
@@ -49,13 +49,13 @@
global_object_->object_cache()->CacheJSObject(wrapper);
}
-JSCGlobalObjectProxy::~JSCGlobalObjectProxy() {
+JSCGlobalEnvironment::~JSCGlobalEnvironment() {
if (global_object_.get()) {
global_object_->setReportEvalCallback(NULL);
}
}
-void JSCGlobalObjectProxy::CreateGlobalObject() {
+void JSCGlobalEnvironment::CreateGlobalObject() {
DCHECK(thread_checker_.CalledOnValidThread());
JSC::JSLockHolder lock(engine_->global_data());
@@ -64,7 +64,7 @@
SetGlobalObject(global_object);
}
-void JSCGlobalObjectProxy::AllowGarbageCollection(
+void JSCGlobalEnvironment::AllowGarbageCollection(
const scoped_refptr<Wrappable>& wrappable) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(global_object_);
@@ -76,23 +76,23 @@
global_object_->object_cache()->UncacheJSObject(wrapper);
}
-void JSCGlobalObjectProxy::DisableEval(const std::string& message) {
+void JSCGlobalEnvironment::DisableEval(const std::string& message) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(global_object_);
global_object_->setEvalEnabled(false, message.c_str());
}
-void JSCGlobalObjectProxy::EnableEval() {
+void JSCGlobalEnvironment::EnableEval() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(global_object_);
global_object_->setEvalEnabled(true);
}
-void JSCGlobalObjectProxy::Bind(const std::string& identifier,
+void JSCGlobalEnvironment::Bind(const std::string& identifier,
const scoped_refptr<Wrappable>& impl) {
DCHECK(thread_checker_.CalledOnValidThread());
javascriptcore::JSCGlobalObject* jsc_global_object =
- base::polymorphic_downcast<javascriptcore::JSCGlobalObjectProxy*>(this)
+ base::polymorphic_downcast<javascriptcore::JSCGlobalEnvironment*>(this)
->global_object();
JSC::JSLockHolder lock(&jsc_global_object->globalData());
@@ -112,7 +112,7 @@
wrapper);
}
-bool JSCGlobalObjectProxy::EvaluateScript(
+bool JSCGlobalEnvironment::EvaluateScript(
const scoped_refptr<SourceCode>& source_code, std::string* out_result) {
DCHECK(thread_checker_.CalledOnValidThread());
JSC::JSLockHolder lock(global_object_->globalData());
@@ -133,7 +133,7 @@
return success;
}
-bool JSCGlobalObjectProxy::EvaluateScript(
+bool JSCGlobalEnvironment::EvaluateScript(
const scoped_refptr<SourceCode>& source_code,
const scoped_refptr<Wrappable>& owning_object,
base::optional<OpaqueHandleHolder::Reference>* out_opaque_handle) {
@@ -155,18 +155,18 @@
return true;
}
-std::vector<StackFrame> JSCGlobalObjectProxy::GetStackTrace(int max_frames) {
+std::vector<StackFrame> JSCGlobalEnvironment::GetStackTrace(int max_frames) {
DCHECK(thread_checker_.CalledOnValidThread());
return util::GetStackTrace(global_object_->globalExec(), max_frames);
}
-void JSCGlobalObjectProxy::reportEval() {
+void JSCGlobalEnvironment::reportEval() {
if (!report_eval_cb_.is_null()) {
report_eval_cb_.Run();
}
}
-void JSCGlobalObjectProxy::SetGlobalObject(JSCGlobalObject* jsc_global_object) {
+void JSCGlobalEnvironment::SetGlobalObject(JSCGlobalObject* jsc_global_object) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK_EQ(reinterpret_cast<uintptr_t>(global_object_.get()), NULL);
global_object_ =
@@ -176,10 +176,10 @@
DisableEval("eval() is disabled by default.");
}
-bool JSCGlobalObjectProxy::EvaluateScriptInternal(
+bool JSCGlobalEnvironment::EvaluateScriptInternal(
const scoped_refptr<SourceCode>& source_code, JSC::JSValue* out_result) {
TRACE_EVENT0("cobalt::script::javascriptcore",
- "JSCGlobalObjectProxy::EvaluateScriptInternal");
+ "JSCGlobalEnvironment::EvaluateScriptInternal");
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(global_object_);
diff --git a/src/cobalt/script/javascriptcore/jsc_global_object_proxy.h b/src/cobalt/script/javascriptcore/jsc_global_environment.h
similarity index 86%
rename from src/cobalt/script/javascriptcore/jsc_global_object_proxy.h
rename to src/cobalt/script/javascriptcore/jsc_global_environment.h
index 0ec1d03..785c938 100644
--- a/src/cobalt/script/javascriptcore/jsc_global_object_proxy.h
+++ b/src/cobalt/script/javascriptcore/jsc_global_environment.h
@@ -13,8 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#ifndef COBALT_SCRIPT_JAVASCRIPTCORE_JSC_GLOBAL_OBJECT_PROXY_H_
-#define COBALT_SCRIPT_JAVASCRIPTCORE_JSC_GLOBAL_OBJECT_PROXY_H_
+#ifndef COBALT_SCRIPT_JAVASCRIPTCORE_JSC_GLOBAL_ENVIRONMENT_H_
+#define COBALT_SCRIPT_JAVASCRIPTCORE_JSC_GLOBAL_ENVIRONMENT_H_
#include <string>
#include <vector>
@@ -22,7 +22,7 @@
#include "base/callback.h"
#include "base/memory/ref_counted.h"
#include "base/threading/thread_checker.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/javascriptcore/jsc_engine.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
@@ -32,14 +32,14 @@
class ScriptObjectRegistry;
-// GlobalObjectProxy is a ref-counted object that is managed by the browser, and
+// GlobalEnvironment is a ref-counted object that is managed by the browser, and
// JavaScriptCore's JSGlobalObject is a garbage-collected object.
// It should only be accessed from the thread that created it.
-class JSCGlobalObjectProxy : public GlobalObjectProxy,
+class JSCGlobalEnvironment : public GlobalEnvironment,
public JSC::ReportEvalCallback {
public:
- explicit JSCGlobalObjectProxy(JSCEngine* engine) : engine_(engine) {}
- ~JSCGlobalObjectProxy() OVERRIDE;
+ explicit JSCGlobalEnvironment(JSCEngine* engine) : engine_(engine) {}
+ ~JSCGlobalEnvironment() OVERRIDE;
void CreateGlobalObject() OVERRIDE;
@@ -96,11 +96,11 @@
JSC::Strong<JSCGlobalObject> global_object_;
JSCEngine* engine_;
base::Closure report_eval_cb_;
- friend class GlobalObjectProxy;
+ friend class GlobalEnvironment;
};
} // namespace javascriptcore
} // namespace script
} // namespace cobalt
-#endif // COBALT_SCRIPT_JAVASCRIPTCORE_JSC_GLOBAL_OBJECT_PROXY_H_
+#endif // COBALT_SCRIPT_JAVASCRIPTCORE_JSC_GLOBAL_ENVIRONMENT_H_
diff --git a/src/cobalt/script/javascriptcore/numeric_conversion_test.cc b/src/cobalt/script/javascriptcore/numeric_conversion_test.cc
index 04c9481..3209d88 100644
--- a/src/cobalt/script/javascriptcore/numeric_conversion_test.cc
+++ b/src/cobalt/script/javascriptcore/numeric_conversion_test.cc
@@ -16,17 +16,14 @@
#include <limits>
-#include "config.h"
-#undef LOG
-
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/global_object_proxy.h"
#include "cobalt/script/javascript_engine.h"
#include "cobalt/script/javascriptcore/conversion_helpers.h"
+#include "cobalt/script/javascriptcore/jsc_global_environment.h"
#include "cobalt/script/javascriptcore/jsc_global_object.h"
-#include "cobalt/script/javascriptcore/jsc_global_object_proxy.h"
#include "cobalt/script/testing/mock_exception_state.h"
#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/WebKit/Source/JavaScriptCore/config.h"
#include "third_party/WebKit/Source/JavaScriptCore/runtime/JSFunction.h"
#include "third_party/WebKit/Source/JavaScriptCore/runtime/JSString.h"
#include "third_party/WebKit/Source/JavaScriptCore/runtime/JSValue.h"
@@ -50,12 +47,13 @@
public:
NumericConversionTest()
: engine_(JavaScriptEngine::CreateEngine()),
- global_object_proxy_(engine_->CreateGlobalObjectProxy()),
+ global_environment_(engine_->CreateGlobalEnvironment()),
jsc_global_object_(NULL),
exec_state_(NULL) {
- global_object_proxy_->CreateGlobalObject();
- jsc_global_object_ = base::polymorphic_downcast<JSCGlobalObjectProxy*>(
- global_object_proxy_.get())->global_object();
+ global_environment_->CreateGlobalObject();
+ jsc_global_object_ = base::polymorphic_downcast<JSCGlobalEnvironment*>(
+ global_environment_.get())
+ ->global_object();
exec_state_ = jsc_global_object_->globalExec();
}
@@ -70,7 +68,7 @@
}
const scoped_ptr<JavaScriptEngine> engine_;
- const scoped_refptr<GlobalObjectProxy> global_object_proxy_;
+ const scoped_refptr<GlobalEnvironment> global_environment_;
JSCGlobalObject* jsc_global_object_;
JSC::ExecState* exec_state_;
testing::MockExceptionState exception_state_;
diff --git a/src/cobalt/script/mozjs/callback_function_conversion.h b/src/cobalt/script/mozjs/callback_function_conversion.h
index 85fd73a..68bd37e 100644
--- a/src/cobalt/script/mozjs/callback_function_conversion.h
+++ b/src/cobalt/script/mozjs/callback_function_conversion.h
@@ -81,10 +81,10 @@
return;
}
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
*out_callback_function = MozjsCallbackHolderClass(
- object, context, global_object_proxy->wrapper_factory());
+ object, context, global_environment->wrapper_factory());
}
} // namespace mozjs
diff --git a/src/cobalt/script/mozjs/conversion_helpers.cc b/src/cobalt/script/mozjs/conversion_helpers.cc
index 5eb537d..caffcdc 100644
--- a/src/cobalt/script/mozjs/conversion_helpers.cc
+++ b/src/cobalt/script/mozjs/conversion_helpers.cc
@@ -99,10 +99,10 @@
}
DCHECK(js_object);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
*out_holder = MozjsObjectHandleHolder(js_object, context,
- global_object_proxy->wrapper_factory());
+ global_environment->wrapper_factory());
}
} // namespace mozjs
diff --git a/src/cobalt/script/mozjs/conversion_helpers.h b/src/cobalt/script/mozjs/conversion_helpers.h
index ef3c581..3d54ec6 100644
--- a/src/cobalt/script/mozjs/conversion_helpers.h
+++ b/src/cobalt/script/mozjs/conversion_helpers.h
@@ -27,7 +27,7 @@
#include "cobalt/base/token.h"
#include "cobalt/script/mozjs/mozjs_callback_interface_holder.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
#include "cobalt/script/mozjs/type_traits.h"
@@ -363,11 +363,11 @@
return;
}
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
JS::RootedObject object(
context,
- global_object_proxy->wrapper_factory()->GetWrapperProxy(in_object));
+ global_environment->wrapper_factory()->GetWrapperProxy(in_object));
DCHECK(object);
out_value.set(OBJECT_TO_JSVAL(object));
@@ -394,10 +394,10 @@
DCHECK(js_object);
if (js::IsProxy(js_object)) {
JS::RootedObject wrapper(context, js::GetProxyTargetObject(js_object));
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
const WrapperFactory* wrapper_factory =
- global_object_proxy->wrapper_factory();
+ global_environment->wrapper_factory();
if (wrapper_factory->IsWrapper(wrapper)) {
bool object_implements_interface =
wrapper_factory->DoesObjectImplementInterface(js_object,
@@ -471,13 +471,13 @@
return;
}
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
JS::RootedObject implementing_object(context, JSVAL_TO_OBJECT(value));
DCHECK(implementing_object);
*out_callback_interface = MozjsCallbackInterfaceHolder<T>(
- implementing_object, context, global_object_proxy->wrapper_factory());
+ implementing_object, context, global_environment->wrapper_factory());
}
} // namespace mozjs
diff --git a/src/cobalt/script/mozjs/mozjs.cc b/src/cobalt/script/mozjs/mozjs.cc
index 6625ed2..3d78b16 100644
--- a/src/cobalt/script/mozjs/mozjs.cc
+++ b/src/cobalt/script/mozjs/mozjs.cc
@@ -20,7 +20,7 @@
#include "base/file_path.h"
#include "base/string_util.h"
#include "cobalt/base/wrap_main.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/source_code.h"
#include "cobalt/script/standalone_javascript_runner.h"
#include "third_party/mozjs/js/src/jsapi.h"
@@ -62,12 +62,12 @@
int MozjsMain(int argc, char** argv) {
cobalt::script::StandaloneJavascriptRunner standalone_runner;
- MozjsGlobalObjectProxy* global_object_environment =
- static_cast<MozjsGlobalObjectProxy*>(
- standalone_runner.global_object_proxy().get());
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(
+ standalone_runner.global_environment().get());
- SetupBindings(global_object_environment->context(),
- global_object_environment->global_object());
+ SetupBindings(global_environment->context(),
+ global_environment->global_object());
if (argc > 1) {
// Command line arguments will be flag-value pairs of the form
@@ -89,8 +89,7 @@
// Execute the script and get the results of execution.
std::string result;
- bool success =
- global_object_environment->EvaluateScript(source, &result);
+ bool success = global_environment->EvaluateScript(source, &result);
// Echo the results to stdout.
if (!success) {
std::cout << "Exception: ";
diff --git a/src/cobalt/script/mozjs/mozjs.gyp b/src/cobalt/script/mozjs/mozjs.gyp
index 76f11c1..b29d99b 100644
--- a/src/cobalt/script/mozjs/mozjs.gyp
+++ b/src/cobalt/script/mozjs/mozjs.gyp
@@ -23,9 +23,10 @@
'mozjs_debugger.cc',
'mozjs_engine.cc',
'mozjs_exception_state.cc',
- 'mozjs_global_object_proxy.cc',
+ 'mozjs_global_environment.cc',
'mozjs_property_enumerator.cc',
'mozjs_source_code.cc',
+ 'opaque_root_tracker.cc',
'proxy_handler.cc',
'referenced_object_map.cc',
'util/exception_helpers.cc',
diff --git a/src/cobalt/script/mozjs/mozjs_debugger.cc b/src/cobalt/script/mozjs/mozjs_debugger.cc
index e4ae668..8876311 100644
--- a/src/cobalt/script/mozjs/mozjs_debugger.cc
+++ b/src/cobalt/script/mozjs/mozjs_debugger.cc
@@ -23,14 +23,14 @@
// Static factory method declared in public interface.
scoped_ptr<ScriptDebugger> ScriptDebugger::CreateDebugger(
- GlobalObjectProxy* global_object_proxy, Delegate* delegate) {
+ GlobalEnvironment* global_environment, Delegate* delegate) {
return scoped_ptr<ScriptDebugger>(
- new mozjs::MozjsDebugger(global_object_proxy, delegate));
+ new mozjs::MozjsDebugger(global_environment, delegate));
}
namespace mozjs {
-MozjsDebugger::MozjsDebugger(GlobalObjectProxy* global_object_proxy,
+MozjsDebugger::MozjsDebugger(GlobalEnvironment* global_environment,
Delegate* delegate) {
NOTIMPLEMENTED();
}
diff --git a/src/cobalt/script/mozjs/mozjs_debugger.h b/src/cobalt/script/mozjs/mozjs_debugger.h
index 63fd7f2..0b5e11d 100644
--- a/src/cobalt/script/mozjs/mozjs_debugger.h
+++ b/src/cobalt/script/mozjs/mozjs_debugger.h
@@ -26,7 +26,7 @@
class MozjsDebugger : public ScriptDebugger {
public:
- MozjsDebugger(GlobalObjectProxy* global_object_proxy, Delegate* delegate);
+ MozjsDebugger(GlobalEnvironment* global_environment, Delegate* delegate);
~MozjsDebugger() OVERRIDE;
// Implementation of ScriptDebugger.
diff --git a/src/cobalt/script/mozjs/mozjs_engine.cc b/src/cobalt/script/mozjs/mozjs_engine.cc
index 23444fa..b4d16ec 100644
--- a/src/cobalt/script/mozjs/mozjs_engine.cc
+++ b/src/cobalt/script/mozjs/mozjs_engine.cc
@@ -19,7 +19,7 @@
#include <algorithm>
#include "base/logging.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "third_party/mozjs/js/src/jsapi.h"
namespace cobalt {
@@ -51,6 +51,9 @@
// JSRuntime.
JS_SetContextCallback(runtime_, &MozjsEngine::ContextCallback);
+ // Callback to be called at different points during garbage collection.
+ JS_SetGCCallback(runtime_, &MozjsEngine::GCCallback);
+
// Callback to be called during garbage collection during the sweep phase.
JS_SetFinalizeCallback(runtime_, &MozjsEngine::FinalizeCallback);
}
@@ -60,9 +63,9 @@
JS_DestroyRuntime(runtime_);
}
-scoped_refptr<GlobalObjectProxy> MozjsEngine::CreateGlobalObjectProxy() {
+scoped_refptr<GlobalEnvironment> MozjsEngine::CreateGlobalEnvironment() {
DCHECK(thread_checker_.CalledOnValidThread());
- return new MozjsGlobalObjectProxy(runtime_);
+ return new MozjsGlobalEnvironment(runtime_);
}
void MozjsEngine::CollectGarbage() {
@@ -89,6 +92,20 @@
return true;
}
+void MozjsEngine::GCCallback(JSRuntime* runtime, JSGCStatus status) {
+ MozjsEngine* engine =
+ static_cast<MozjsEngine*>(JS_GetRuntimePrivate(runtime));
+ for (int i = 0; i < engine->contexts_.size(); ++i) {
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(engine->contexts_[i]);
+ if (status == JSGC_BEGIN) {
+ global_environment->BeginGarbageCollection();
+ } else if (status == JSGC_END) {
+ global_environment->EndGarbageCollection();
+ }
+ }
+}
+
void MozjsEngine::FinalizeCallback(JSFreeOp* free_op, JSFinalizeStatus status,
JSBool is_compartment) {
MozjsEngine* engine =
@@ -96,8 +113,8 @@
DCHECK(engine->thread_checker_.CalledOnValidThread());
if (status == JSFINALIZE_GROUP_START) {
for (int i = 0; i < engine->contexts_.size(); ++i) {
- MozjsGlobalObjectProxy* global_environment =
- MozjsGlobalObjectProxy::GetFromContext(engine->contexts_[i]);
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(engine->contexts_[i]);
global_environment->DoSweep();
}
}
diff --git a/src/cobalt/script/mozjs/mozjs_engine.h b/src/cobalt/script/mozjs/mozjs_engine.h
index 12a24fd..a678a15 100644
--- a/src/cobalt/script/mozjs/mozjs_engine.h
+++ b/src/cobalt/script/mozjs/mozjs_engine.h
@@ -31,12 +31,13 @@
MozjsEngine();
~MozjsEngine() OVERRIDE;
- scoped_refptr<GlobalObjectProxy> CreateGlobalObjectProxy() OVERRIDE;
+ scoped_refptr<GlobalEnvironment> CreateGlobalEnvironment() OVERRIDE;
void CollectGarbage() OVERRIDE;
void ReportExtraMemoryCost(size_t bytes) OVERRIDE;
private:
static JSBool ContextCallback(JSContext* context, unsigned context_op);
+ static void GCCallback(JSRuntime* runtime, JSGCStatus status);
static void FinalizeCallback(JSFreeOp* free_op, JSFinalizeStatus status,
JSBool is_compartment);
diff --git a/src/cobalt/script/mozjs/mozjs_exception_state.cc b/src/cobalt/script/mozjs/mozjs_exception_state.cc
index 111b56e..9b2a5ec 100644
--- a/src/cobalt/script/mozjs/mozjs_exception_state.cc
+++ b/src/cobalt/script/mozjs/mozjs_exception_state.cc
@@ -59,12 +59,12 @@
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(!is_exception_set_);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context_));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context_));
JS::RootedObject exception_object(
context_,
- global_object_proxy->wrapper_factory()->GetWrapperProxy(exception));
+ global_environment->wrapper_factory()->GetWrapperProxy(exception));
JS::RootedValue exception_value(context_, OBJECT_TO_JSVAL(exception_object));
JS_SetPendingException(context_, exception_value);
diff --git a/src/cobalt/script/mozjs/mozjs_global_object_proxy.cc b/src/cobalt/script/mozjs/mozjs_global_environment.cc
similarity index 84%
rename from src/cobalt/script/mozjs/mozjs_global_object_proxy.cc
rename to src/cobalt/script/mozjs/mozjs_global_environment.cc
index 273f328..84a8d91 100644
--- a/src/cobalt/script/mozjs/mozjs_global_object_proxy.cc
+++ b/src/cobalt/script/mozjs/mozjs_global_environment.cc
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include <algorithm>
#include <utility>
@@ -120,7 +120,7 @@
static base::LazyInstance<MozjsStubHandler> proxy_handler;
} // namespace
-MozjsGlobalObjectProxy::MozjsGlobalObjectProxy(JSRuntime* runtime)
+MozjsGlobalEnvironment::MozjsGlobalEnvironment(JSRuntime* runtime)
: context_(NULL),
cached_interface_data_deleter_(&cached_interface_data_),
context_destructor_(&context_),
@@ -149,20 +149,22 @@
#endif
JS_SetOptions(context_, options);
- JS_SetErrorReporter(context_, &MozjsGlobalObjectProxy::ReportErrorHandler);
+ JS_SetErrorReporter(context_, &MozjsGlobalEnvironment::ReportErrorHandler);
wrapper_factory_.reset(new WrapperFactory(context_));
referenced_objects_.reset(new ReferencedObjectMap(context_));
+ opaque_root_tracker_.reset(new OpaqueRootTracker(
+ context_, referenced_objects_.get(), wrapper_factory_.get()));
JS_AddExtraGCRootsTracer(runtime, TraceFunction, this);
}
-MozjsGlobalObjectProxy::~MozjsGlobalObjectProxy() {
+MozjsGlobalEnvironment::~MozjsGlobalEnvironment() {
DCHECK(thread_checker_.CalledOnValidThread());
JS_RemoveExtraGCRootsTracer(JS_GetRuntime(context_), TraceFunction, this);
}
-void MozjsGlobalObjectProxy::CreateGlobalObject() {
+void MozjsGlobalEnvironment::CreateGlobalObject() {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(!global_object_proxy_);
@@ -188,7 +190,7 @@
global_object_proxy_ = proxy;
}
-bool MozjsGlobalObjectProxy::EvaluateScript(
+bool MozjsGlobalEnvironment::EvaluateScript(
const scoped_refptr<SourceCode>& source_code,
std::string* out_result_utf8) {
DCHECK(thread_checker_.CalledOnValidThread());
@@ -233,12 +235,12 @@
return success;
}
-std::vector<StackFrame> MozjsGlobalObjectProxy::GetStackTrace(int max_frames) {
+std::vector<StackFrame> MozjsGlobalEnvironment::GetStackTrace(int max_frames) {
DCHECK(thread_checker_.CalledOnValidThread());
return util::GetStackTrace(context_, max_frames);
}
-void MozjsGlobalObjectProxy::PreventGarbageCollection(
+void MozjsGlobalEnvironment::PreventGarbageCollection(
const scoped_refptr<Wrappable>& wrappable) {
DCHECK(thread_checker_.CalledOnValidThread());
JSAutoRequest auto_request(context_);
@@ -250,7 +252,7 @@
wrappable.get(), JS::Heap<JSObject*>(proxy)));
}
-void MozjsGlobalObjectProxy::AllowGarbageCollection(
+void MozjsGlobalEnvironment::AllowGarbageCollection(
const scoped_refptr<Wrappable>& wrappable) {
DCHECK(thread_checker_.CalledOnValidThread());
CachedWrapperMultiMap::iterator it =
@@ -261,25 +263,25 @@
}
}
-void MozjsGlobalObjectProxy::DisableEval(const std::string& message) {
+void MozjsGlobalEnvironment::DisableEval(const std::string& message) {
DCHECK(thread_checker_.CalledOnValidThread());
eval_disabled_message_.emplace(message);
eval_enabled_ = false;
}
-void MozjsGlobalObjectProxy::EnableEval() {
+void MozjsGlobalEnvironment::EnableEval() {
DCHECK(thread_checker_.CalledOnValidThread());
eval_disabled_message_ = base::nullopt;
eval_enabled_ = true;
}
-void MozjsGlobalObjectProxy::SetReportEvalCallback(
+void MozjsGlobalEnvironment::SetReportEvalCallback(
const base::Closure& report_eval) {
DCHECK(thread_checker_.CalledOnValidThread());
report_eval_ = report_eval;
}
-void MozjsGlobalObjectProxy::Bind(const std::string& identifier,
+void MozjsGlobalEnvironment::Bind(const std::string& identifier,
const scoped_refptr<Wrappable>& impl) {
JSAutoRequest auto_request(context_);
JSAutoCompartment auto_compartment(context_, global_object_proxy_);
@@ -294,7 +296,7 @@
DCHECK(success);
}
-InterfaceData* MozjsGlobalObjectProxy::GetInterfaceData(intptr_t key) {
+InterfaceData* MozjsGlobalEnvironment::GetInterfaceData(intptr_t key) {
CachedInterfaceData::iterator it = cached_interface_data_.find(key);
if (it != cached_interface_data_.end()) {
return it->second;
@@ -302,21 +304,37 @@
return NULL;
}
-void MozjsGlobalObjectProxy::DoSweep() {
+void MozjsGlobalEnvironment::DoSweep() {
weak_object_manager_.SweepUnmarkedObjects();
// Remove NULL references after sweeping weak references.
referenced_objects_->RemoveNullReferences();
}
-MozjsGlobalObjectProxy* MozjsGlobalObjectProxy::GetFromContext(
+void MozjsGlobalEnvironment::BeginGarbageCollection() {
+ DCHECK(!opaque_root_state_);
+ JSAutoRequest auto_request(context_);
+ JSAutoCompartment auto_comparment(context_, global_object_proxy_);
+ // Get the current state of opaque root relationships. Keep this object
+ // alive for the duration of the GC phase to ensure that reachability between
+ // roots and reachable objects is maintained.
+ opaque_root_state_ = opaque_root_tracker_->GetCurrentOpaqueRootState();
+}
+
+void MozjsGlobalEnvironment::EndGarbageCollection() {
+ DCHECK(opaque_root_state_);
+ // Reset opaque root reachability relationships.
+ opaque_root_state_.reset(NULL);
+}
+
+MozjsGlobalEnvironment* MozjsGlobalEnvironment::GetFromContext(
JSContext* context) {
- MozjsGlobalObjectProxy* global_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_proxy =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
DCHECK(global_proxy);
return global_proxy;
}
-void MozjsGlobalObjectProxy::SetGlobalObjectProxyAndWrapper(
+void MozjsGlobalEnvironment::SetGlobalObjectProxyAndWrapper(
JS::HandleObject global_object_proxy,
const scoped_refptr<Wrappable>& wrappable) {
DCHECK(!global_object_proxy_);
@@ -338,17 +356,17 @@
SetCachedWrapper(wrappable.get(), object_handle.Pass());
}
-void MozjsGlobalObjectProxy::CacheInterfaceData(intptr_t key,
+void MozjsGlobalEnvironment::CacheInterfaceData(intptr_t key,
InterfaceData* interface_data) {
std::pair<CachedInterfaceData::iterator, bool> pib =
cached_interface_data_.insert(std::make_pair(key, interface_data));
DCHECK(pib.second);
}
-void MozjsGlobalObjectProxy::ReportErrorHandler(JSContext* context,
+void MozjsGlobalEnvironment::ReportErrorHandler(JSContext* context,
const char* message,
JSErrorReport* report) {
- MozjsGlobalObjectProxy* global_object_proxy = GetFromContext(context);
+ MozjsGlobalEnvironment* global_object_proxy = GetFromContext(context);
std::string error_message;
if (report->errorNumber == JSMSG_CSP_BLOCKED_EVAL) {
error_message =
@@ -364,13 +382,13 @@
}
}
-void MozjsGlobalObjectProxy::TraceFunction(JSTracer* trace, void* data) {
- MozjsGlobalObjectProxy* global_object_environment =
- reinterpret_cast<MozjsGlobalObjectProxy*>(data);
+void MozjsGlobalEnvironment::TraceFunction(JSTracer* trace, void* data) {
+ MozjsGlobalEnvironment* global_object_environment =
+ reinterpret_cast<MozjsGlobalEnvironment*>(data);
if (global_object_environment->global_object_proxy_) {
JS_CallHeapObjectTracer(trace,
&global_object_environment->global_object_proxy_,
- "MozjsGlobalObjectProxy");
+ "MozjsGlobalEnvironment");
}
for (CachedInterfaceData::iterator it =
global_object_environment->cached_interface_data_.begin();
@@ -380,22 +398,22 @@
// created yet or not before attempting to trace them.
if (data->prototype) {
JS_CallHeapObjectTracer(trace, &data->prototype,
- "MozjsGlobalObjectProxy");
+ "MozjsGlobalEnvironment");
}
if (data->interface_object) {
JS_CallHeapObjectTracer(trace, &data->interface_object,
- "MozjsGlobalObjectProxy");
+ "MozjsGlobalEnvironment");
}
}
for (CachedWrapperMultiMap::iterator it =
global_object_environment->kept_alive_objects_.begin();
it != global_object_environment->kept_alive_objects_.end(); ++it) {
- JS_CallHeapObjectTracer(trace, &it->second, "MozjsGlobalObjectProxy");
+ JS_CallHeapObjectTracer(trace, &it->second, "MozjsGlobalEnvironment");
}
}
-JSBool MozjsGlobalObjectProxy::CheckEval(JSContext* context) {
- MozjsGlobalObjectProxy* global_object_proxy = GetFromContext(context);
+JSBool MozjsGlobalEnvironment::CheckEval(JSContext* context) {
+ MozjsGlobalEnvironment* global_object_proxy = GetFromContext(context);
DCHECK(global_object_proxy);
if (!global_object_proxy->report_eval_.is_null()) {
global_object_proxy->report_eval_.Run();
diff --git a/src/cobalt/script/mozjs/mozjs_global_object_proxy.h b/src/cobalt/script/mozjs/mozjs_global_environment.h
similarity index 86%
rename from src/cobalt/script/mozjs/mozjs_global_object_proxy.h
rename to src/cobalt/script/mozjs/mozjs_global_environment.h
index de36ae6..eb0d2eb 100644
--- a/src/cobalt/script/mozjs/mozjs_global_object_proxy.h
+++ b/src/cobalt/script/mozjs/mozjs_global_environment.h
@@ -13,8 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#ifndef COBALT_SCRIPT_MOZJS_MOZJS_GLOBAL_OBJECT_PROXY_H_
-#define COBALT_SCRIPT_MOZJS_MOZJS_GLOBAL_OBJECT_PROXY_H_
+#ifndef COBALT_SCRIPT_MOZJS_MOZJS_GLOBAL_ENVIRONMENT_H_
+#define COBALT_SCRIPT_MOZJS_MOZJS_GLOBAL_ENVIRONMENT_H_
#include <string>
#include <vector>
@@ -24,8 +24,9 @@
#include "base/optional.h"
#include "base/stl_util.h"
#include "base/threading/thread_checker.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/mozjs/interface_data.h"
+#include "cobalt/script/mozjs/opaque_root_tracker.h"
#include "cobalt/script/mozjs/util/exception_helpers.h"
#include "cobalt/script/mozjs/weak_heap_object_manager.h"
#include "cobalt/script/mozjs/wrapper_factory.h"
@@ -41,11 +42,11 @@
// Manages a handle to a JavaScript engine's global object. The lifetime of
// the global object is not necessarily tied to the lifetime of the proxy.
-class MozjsGlobalObjectProxy : public GlobalObjectProxy,
+class MozjsGlobalEnvironment : public GlobalEnvironment,
public Wrappable::CachedWrapperAccessor {
public:
- explicit MozjsGlobalObjectProxy(JSRuntime* runtime);
- ~MozjsGlobalObjectProxy() OVERRIDE;
+ explicit MozjsGlobalEnvironment(JSRuntime* runtime);
+ ~MozjsGlobalEnvironment() OVERRIDE;
void CreateGlobalObject() OVERRIDE;
@@ -92,6 +93,10 @@
WeakHeapObjectManager* weak_object_manager() { return &weak_object_manager_; }
+ OpaqueRootTracker* opaque_root_tracker() {
+ return opaque_root_tracker_.get();
+ }
+
// Used for CallWith=EnvironmentSettings
void SetEnvironmentSettings(EnvironmentSettings* environment_settings) {
DCHECK(!environment_settings_);
@@ -108,7 +113,7 @@
const scoped_refptr<Wrappable>& wrappable);
// Any tracked InterfaceData will have it's GC handles visited and marked as
- // roots. The MozjsGlobalObjectProxy takes ownership of the InterfaceData
+ // roots. The MozjsGlobalEnvironment takes ownership of the InterfaceData
// instances and will destroy them.
void CacheInterfaceData(intptr_t key, InterfaceData* interface_data);
InterfaceData* GetInterfaceData(intptr_t key);
@@ -118,7 +123,10 @@
// sweep away references to GC objects that will be deleted.
void DoSweep();
- static MozjsGlobalObjectProxy* GetFromContext(JSContext* context);
+ void BeginGarbageCollection();
+ void EndGarbageCollection();
+
+ static MozjsGlobalEnvironment* GetFromContext(JSContext* context);
protected:
static void ReportErrorHandler(JSContext* context, const char* message,
@@ -132,7 +140,7 @@
static JSBool CheckEval(JSContext* context);
// Helper struct to ensure the context is destroyed in the correct order
- // relative to the MozjsGlobalObjectProxy's other members.
+ // relative to the MozjsGlobalEnvironment's other members.
struct ContextDestructor {
explicit ContextDestructor(JSContext** context) : context(context) {}
~ContextDestructor() { JS_DestroyContext(*context); }
@@ -148,10 +156,12 @@
WeakHeapObjectManager weak_object_manager_;
CachedWrapperMultiMap kept_alive_objects_;
scoped_ptr<ReferencedObjectMap> referenced_objects_;
+ scoped_ptr<OpaqueRootTracker> opaque_root_tracker_;
CachedInterfaceData cached_interface_data_;
STLValueDeleter<CachedInterfaceData> cached_interface_data_deleter_;
ContextDestructor context_destructor_;
scoped_ptr<WrapperFactory> wrapper_factory_;
+ scoped_ptr<OpaqueRootTracker::OpaqueRootState> opaque_root_state_;
JS::Heap<JSObject*> global_object_proxy_;
EnvironmentSettings* environment_settings_;
@@ -170,4 +180,4 @@
} // namespace script
} // namespace cobalt
-#endif // COBALT_SCRIPT_MOZJS_MOZJS_GLOBAL_OBJECT_PROXY_H_
+#endif // COBALT_SCRIPT_MOZJS_MOZJS_GLOBAL_ENVIRONMENT_H_
diff --git a/src/cobalt/script/mozjs/mozjs_user_object_holder.h b/src/cobalt/script/mozjs/mozjs_user_object_holder.h
index e51a8bb..2ee384f 100644
--- a/src/cobalt/script/mozjs/mozjs_user_object_holder.h
+++ b/src/cobalt/script/mozjs/mozjs_user_object_holder.h
@@ -19,7 +19,7 @@
#include "base/hash_tables.h"
#include "base/memory/weak_ptr.h"
#include "cobalt/base/polymorphic_downcast.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/referenced_object_map.h"
#include "cobalt/script/mozjs/wrapper_factory.h"
#include "cobalt/script/mozjs/wrapper_private.h"
@@ -55,8 +55,8 @@
DLOG_IF(WARNING, !owned_object)
<< "Owned object has been garbage collected.";
if (owned_object) {
- MozjsGlobalObjectProxy* global_environment =
- MozjsGlobalObjectProxy::GetFromContext(context_);
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(context_);
intptr_t key = ReferencedObjectMap::GetKeyForWrappable(owner);
global_environment->referenced_objects()->AddReferencedObject(
key, owned_object);
@@ -67,8 +67,8 @@
// |owner| may be in the process of being destructed, so don't use it.
JS::RootedObject owned_object(context_, js_object());
if (owned_object) {
- MozjsGlobalObjectProxy* global_environment =
- MozjsGlobalObjectProxy::GetFromContext(context_);
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(context_);
intptr_t key = ReferencedObjectMap::GetKeyForWrappable(owner);
global_environment->referenced_objects()->RemoveReferencedObject(
key, owned_object);
diff --git a/src/cobalt/script/mozjs/opaque_root_tracker.cc b/src/cobalt/script/mozjs/opaque_root_tracker.cc
new file mode 100644
index 0000000..22bfc40
--- /dev/null
+++ b/src/cobalt/script/mozjs/opaque_root_tracker.cc
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "cobalt/script/mozjs/opaque_root_tracker.h"
+
+#include <utility>
+#include <vector>
+
+#include "cobalt/script/mozjs/weak_heap_object.h"
+
+namespace cobalt {
+namespace script {
+namespace mozjs {
+namespace {
+// Implementation of OpaqueRootTracker::OpaqueRootState.
+// On creation, this class will register reachability between objects and their
+// roots in |ReferencedObjectMap|. On destruction, the reachability
+// relationship will be removed.
+class OpaqueRootStateImpl : public OpaqueRootTracker::OpaqueRootState {
+ public:
+ OpaqueRootStateImpl(JSContext* context,
+ ReferencedObjectMap* referenced_object_map)
+ : context_(context), referenced_object_map_(referenced_object_map) {}
+
+ void TrackReachability(WrapperPrivate* from, WrapperPrivate* to) {
+ intptr_t from_key = ReferencedObjectMap::GetKeyForWrappable(
+ from->wrappable<Wrappable>().get());
+ JS::RootedObject to_object(context_, to->js_object_proxy());
+ referenced_objects_.push_back(
+ std::make_pair(from_key, WeakHeapObject(context_, to_object)));
+ referenced_object_map_->AddReferencedObject(from_key, to_object);
+ }
+
+ ~OpaqueRootStateImpl() {
+ for (ReferencedObjectPairVector::iterator it = referenced_objects_.begin();
+ it != referenced_objects_.end(); ++it) {
+ if (it->second.Get()) {
+ JS::RootedObject reachable_object(context_, it->second.Get());
+ referenced_object_map_->RemoveReferencedObject(it->first,
+ reachable_object);
+ }
+ }
+ }
+
+ private:
+ typedef std::vector<std::pair<intptr_t, WeakHeapObject> >
+ ReferencedObjectPairVector;
+
+ JSContext* context_;
+ ReferencedObjectMap* referenced_object_map_;
+ ReferencedObjectPairVector referenced_objects_;
+};
+} // namespace
+
+OpaqueRootTracker::OpaqueRootTracker(JSContext* context,
+ ReferencedObjectMap* referenced_object_map,
+ WrapperFactory* wrapper_factory)
+ : context_(context),
+ referenced_object_map_(referenced_object_map),
+ wrapper_factory_(wrapper_factory) {}
+
+void OpaqueRootTracker::AddObjectWithOpaqueRoot(
+ WrapperPrivate* wrapper_private) {
+ all_objects_.insert(wrapper_private);
+}
+
+void OpaqueRootTracker::RemoveObjectWithOpaqueRoot(
+ WrapperPrivate* wrapper_private) {
+ all_objects_.erase(wrapper_private);
+}
+
+scoped_ptr<OpaqueRootTracker::OpaqueRootState>
+OpaqueRootTracker::GetCurrentOpaqueRootState() {
+ scoped_ptr<OpaqueRootStateImpl> state(
+ new OpaqueRootStateImpl(context_, referenced_object_map_));
+ // Get the current opaque root for all objects that are being tracked.
+ for (WrapperPrivateSet::iterator it = all_objects_.begin();
+ it != all_objects_.end(); ++it) {
+ WrapperPrivate* reachable_object_wrapper_private = *it;
+ Wrappable* opaque_root = reachable_object_wrapper_private->GetOpaqueRoot();
+ if (opaque_root) {
+ WrapperPrivate* opaque_root_private = WrapperPrivate::GetFromWrappable(
+ opaque_root, context_, wrapper_factory_);
+ // Always mark the root as reachable from the non-root object.
+ state->TrackReachability(reachable_object_wrapper_private,
+ opaque_root_private);
+
+ // Only mark the non-root object as reachable if we need to keep the
+ // wrapper alive for some reason. In general it's okay for a wrapper to
+ // get GC'd because the Cobalt object will still be kept alive, and a new
+ // JS object can be created if needed again.
+ if (reachable_object_wrapper_private
+ ->ShouldKeepWrapperAliveIfReachable()) {
+ state->TrackReachability(opaque_root_private,
+ reachable_object_wrapper_private);
+ }
+ }
+ }
+ return state.PassAs<OpaqueRootState>();
+}
+
+} // namespace mozjs
+} // namespace script
+} // namespace cobalt
diff --git a/src/cobalt/script/mozjs/opaque_root_tracker.h b/src/cobalt/script/mozjs/opaque_root_tracker.h
new file mode 100644
index 0000000..bd9ef2a
--- /dev/null
+++ b/src/cobalt/script/mozjs/opaque_root_tracker.h
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef COBALT_SCRIPT_MOZJS_OPAQUE_ROOT_TRACKER_H_
+#define COBALT_SCRIPT_MOZJS_OPAQUE_ROOT_TRACKER_H_
+
+#include "base/hash_tables.h"
+#include "cobalt/script/mozjs/referenced_object_map.h"
+#include "cobalt/script/mozjs/wrapper_factory.h"
+#include "cobalt/script/mozjs/wrapper_private.h"
+
+namespace cobalt {
+namespace script {
+namespace mozjs {
+
+// This class manages lifetime of structures containing objects that are
+// reachable from through the interface implementation, but not through
+// JavaScript, by ensuring that the root of the structure is not garbage
+// collected if any of the members of the structure are reachable.
+//
+// The implementation of the structure in Cobalt is typically reference counted.
+// The |root| of that structure is a single node that transitively holds a
+// reference to every other node in the structure. It may be the case that the
+// only reference to that root node is from a JS object's WrapperPrivate. The
+// OpaqueRootTracker class ensures that if some node in the structure is
+// reachable from JavaScript, the JS object holding the reference to the root
+// of the structure is marked as reachable as well, which preserves the final
+// reference to the root of the structure, keeping the entire structure alive.
+//
+// For example, any DOM Node can be reached from any other DOM Node object in
+// the same tree. If an arbitary internal Node is reachable from JavaScript,
+// this class will ensure that the root of the tree will also be kept alive,
+// preserving the entire tree until no nodes in the tree are reachable from
+// JavaScript.
+//
+// An object's opaque root can change throughout the object's lifetime, so the
+// root needs to be recalculated every garbage collection phase.
+class OpaqueRootTracker {
+ public:
+ // Callers do not need to operate on this class. They just need to manage its
+ // lifetime appropriately as described below.
+ class OpaqueRootState {
+ protected:
+ OpaqueRootState() {}
+ virtual ~OpaqueRootState() {}
+ friend class scoped_ptr<OpaqueRootState>;
+ };
+
+ OpaqueRootTracker(JSContext* context,
+ ReferencedObjectMap* referenced_object_map,
+ WrapperFactory* wrapper_factory);
+
+ // All objects that implement this functionality must be registered to this
+ // class.
+ void AddObjectWithOpaqueRoot(WrapperPrivate* wrapper_private);
+ void RemoveObjectWithOpaqueRoot(WrapperPrivate* wrapper_private);
+
+ // Get the current state of opaque roots. This should be called when garbage
+ // collection begins before marking has begun. Once garbage collection is
+ // complete, this should be released.
+ scoped_ptr<OpaqueRootState> GetCurrentOpaqueRootState();
+
+ private:
+ typedef base::hash_set<WrapperPrivate*> WrapperPrivateSet;
+
+ JSContext* context_;
+ ReferencedObjectMap* referenced_object_map_;
+ WrapperFactory* wrapper_factory_;
+ // list of objects that are potentially reachable from an opaque root
+ WrapperPrivateSet all_objects_;
+};
+} // namespace mozjs
+} // namespace script
+} // namespace cobalt
+#endif // COBALT_SCRIPT_MOZJS_OPAQUE_ROOT_TRACKER_H_
diff --git a/src/cobalt/script/mozjs/proxy_handler.cc b/src/cobalt/script/mozjs/proxy_handler.cc
index 17849cd..498edb2 100644
--- a/src/cobalt/script/mozjs/proxy_handler.cc
+++ b/src/cobalt/script/mozjs/proxy_handler.cc
@@ -27,7 +27,8 @@
const NamedPropertyHooks& named_hooks)
: js::DirectProxyHandler(NULL),
indexed_property_hooks_(indexed_hooks),
- named_property_hooks_(named_hooks) {
+ named_property_hooks_(named_hooks),
+ has_custom_property_(false) {
// If an interface supports named/indexed properties, they must have a hook to
// check if the name/index is supported and to enumerate the properties.
if (supports_named_properties()) {
@@ -180,6 +181,13 @@
return js::DirectProxyHandler::enumerate(context, proxy, properties);
}
+bool ProxyHandler::defineProperty(JSContext* context, JS::HandleObject proxy,
+ JS::HandleId id,
+ JSPropertyDescriptor* descriptor) {
+ has_custom_property_ = true;
+ return js::DirectProxyHandler::defineProperty(context, proxy, id, descriptor);
+}
+
bool ProxyHandler::IsSupportedIndex(JSContext* context, JS::HandleObject object,
uint32_t index) {
DCHECK(indexed_property_hooks_.is_supported);
diff --git a/src/cobalt/script/mozjs/proxy_handler.h b/src/cobalt/script/mozjs/proxy_handler.h
index e6a7c54..ffbadca 100644
--- a/src/cobalt/script/mozjs/proxy_handler.h
+++ b/src/cobalt/script/mozjs/proxy_handler.h
@@ -93,6 +93,9 @@
bool* succeeded) OVERRIDE;
bool enumerate(JSContext* context, JS::HandleObject proxy,
JS::AutoIdVector& properties) OVERRIDE; // NOLINT[runtime/references]
+ bool defineProperty(JSContext* context, JS::HandleObject proxy,
+ JS::HandleId id,
+ JSPropertyDescriptor* descriptor) OVERRIDE;
// The derived traps in js::DirectProxyHandler are not implemented in terms of
// the fundamental traps, where the traps in js::BaseProxyHandler are.
@@ -131,6 +134,8 @@
return js::BaseProxyHandler::iterate(context, proxy, flags, vp);
}
+ bool has_custom_property() const { return has_custom_property_; }
+
private:
bool supports_named_properties() {
return named_property_hooks_.getter != NULL;
@@ -155,6 +160,8 @@
IndexedPropertyHooks indexed_property_hooks_;
NamedPropertyHooks named_property_hooks_;
+ // Set to true if this object may have a custom property set on it.
+ bool has_custom_property_;
};
} // namespace mozjs
diff --git a/src/cobalt/script/mozjs/union_type_conversion_forward.h b/src/cobalt/script/mozjs/union_type_conversion_forward.h
index c001f65..993f572 100644
--- a/src/cobalt/script/mozjs/union_type_conversion_forward.h
+++ b/src/cobalt/script/mozjs/union_type_conversion_forward.h
@@ -22,7 +22,6 @@
#define COBALT_SCRIPT_MOZJS_UNION_TYPE_CONVERSION_FORWARD_H_
#include "cobalt/script/mozjs/mozjs_exception_state.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
#include "cobalt/script/mozjs/type_traits.h"
diff --git a/src/cobalt/script/mozjs/union_type_conversion_forward.h.pump b/src/cobalt/script/mozjs/union_type_conversion_forward.h.pump
index 876b511..bfdf0b9 100644
--- a/src/cobalt/script/mozjs/union_type_conversion_forward.h.pump
+++ b/src/cobalt/script/mozjs/union_type_conversion_forward.h.pump
@@ -27,7 +27,6 @@
#define COBALT_SCRIPT_MOZJS_UNION_TYPE_CONVERSION_FORWARD_H_
#include "cobalt/script/mozjs/mozjs_exception_state.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
#include "cobalt/script/mozjs/type_traits.h"
diff --git a/src/cobalt/script/mozjs/union_type_conversion_impl.h b/src/cobalt/script/mozjs/union_type_conversion_impl.h
index a8f7e6f..4e6bb23 100644
--- a/src/cobalt/script/mozjs/union_type_conversion_impl.h
+++ b/src/cobalt/script/mozjs/union_type_conversion_impl.h
@@ -23,7 +23,7 @@
#include "cobalt/base/type_id.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
#include "cobalt/script/mozjs/type_traits.h"
@@ -88,10 +88,10 @@
JS::RootedObject rooted_object(context);
bool success = JS_ValueToObject(context, value, rooted_object.address());
DCHECK(success);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
const WrapperFactory* wrapper_factory =
- global_object_proxy->wrapper_factory();
+ global_environment->wrapper_factory();
if (UnionTypeTraitsT1::is_interface_type &&
wrapper_factory->DoesObjectImplementInterface(
rooted_object, UnionTypeTraitsT1::GetTypeID())) {
@@ -250,10 +250,10 @@
JS::RootedObject rooted_object(context);
bool success = JS_ValueToObject(context, value, rooted_object.address());
DCHECK(success);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
const WrapperFactory* wrapper_factory =
- global_object_proxy->wrapper_factory();
+ global_environment->wrapper_factory();
if (UnionTypeTraitsT1::is_interface_type &&
wrapper_factory->DoesObjectImplementInterface(
rooted_object, UnionTypeTraitsT1::GetTypeID())) {
@@ -453,10 +453,10 @@
JS::RootedObject rooted_object(context);
bool success = JS_ValueToObject(context, value, rooted_object.address());
DCHECK(success);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
const WrapperFactory* wrapper_factory =
- global_object_proxy->wrapper_factory();
+ global_environment->wrapper_factory();
if (UnionTypeTraitsT1::is_interface_type &&
wrapper_factory->DoesObjectImplementInterface(
rooted_object, UnionTypeTraitsT1::GetTypeID())) {
diff --git a/src/cobalt/script/mozjs/union_type_conversion_impl.h.pump b/src/cobalt/script/mozjs/union_type_conversion_impl.h.pump
index d4103ca..4376776 100644
--- a/src/cobalt/script/mozjs/union_type_conversion_impl.h.pump
+++ b/src/cobalt/script/mozjs/union_type_conversion_impl.h.pump
@@ -28,7 +28,7 @@
#include "cobalt/base/type_id.h"
#include "cobalt/script/mozjs/mozjs_exception_state.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
#include "cobalt/script/mozjs/mozjs_object_handle.h"
#include "cobalt/script/mozjs/mozjs_user_object_holder.h"
#include "cobalt/script/mozjs/type_traits.h"
@@ -107,10 +107,10 @@
JS::RootedObject rooted_object(context);
bool success = JS_ValueToObject(context, value, rooted_object.address());
DCHECK(success);
- MozjsGlobalObjectProxy* global_object_proxy =
- static_cast<MozjsGlobalObjectProxy*>(JS_GetContextPrivate(context));
+ MozjsGlobalEnvironment* global_environment =
+ static_cast<MozjsGlobalEnvironment*>(JS_GetContextPrivate(context));
const WrapperFactory* wrapper_factory =
- global_object_proxy->wrapper_factory();
+ global_environment->wrapper_factory();
$for TYPE [[
if (UnionTypeTraitsT$(TYPE)::is_interface_type &&
diff --git a/src/cobalt/script/mozjs/weak_heap_object.cc b/src/cobalt/script/mozjs/weak_heap_object.cc
index 6b719bb..1fb5c8d 100644
--- a/src/cobalt/script/mozjs/weak_heap_object.cc
+++ b/src/cobalt/script/mozjs/weak_heap_object.cc
@@ -16,15 +16,15 @@
#include "cobalt/script/mozjs/weak_heap_object.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
namespace cobalt {
namespace script {
namespace mozjs {
WeakHeapObject::WeakHeapObject(JSContext* context, JS::HandleObject handle) {
- MozjsGlobalObjectProxy* global_environment =
- MozjsGlobalObjectProxy::GetFromContext(context);
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(context);
Initialize(global_environment->weak_object_manager(), handle);
}
diff --git a/src/cobalt/script/mozjs/wrapper_private.cc b/src/cobalt/script/mozjs/wrapper_private.cc
index 9328993..ad2113a 100644
--- a/src/cobalt/script/mozjs/wrapper_private.cc
+++ b/src/cobalt/script/mozjs/wrapper_private.cc
@@ -16,7 +16,8 @@
#include "cobalt/script/mozjs/wrapper_private.h"
-#include "cobalt/script/mozjs/mozjs_global_object_proxy.h"
+#include "cobalt/script/mozjs/mozjs_global_environment.h"
+#include "cobalt/script/mozjs/proxy_handler.h"
#include "cobalt/script/mozjs/referenced_object_map.h"
#include "third_party/mozjs/js/src/jsapi.h"
#include "third_party/mozjs/js/src/jsproxy.h"
@@ -25,13 +26,29 @@
namespace script {
namespace mozjs {
+Wrappable* WrapperPrivate::GetOpaqueRoot() const {
+ if (!get_opaque_root_function_.is_null()) {
+ return get_opaque_root_function_.Run(wrappable_);
+ }
+ return NULL;
+}
+
+bool WrapperPrivate::ShouldKeepWrapperAliveIfReachable() {
+ ProxyHandler* proxy_handler = base::polymorphic_downcast<ProxyHandler*>(
+ js::GetProxyHandler(wrapper_proxy_));
+ DCHECK(proxy_handler);
+ return proxy_handler->has_custom_property() ||
+ wrappable_->ShouldKeepWrapperAlive();
+}
+
// static
-void WrapperPrivate::AddPrivateData(JSContext* context,
- JS::HandleObject wrapper_proxy,
- const scoped_refptr<Wrappable>& wrappable) {
+void WrapperPrivate::AddPrivateData(
+ JSContext* context, JS::HandleObject wrapper_proxy,
+ const scoped_refptr<Wrappable>& wrappable,
+ const GetOpaqueRootFunction& get_opaque_root_function) {
DCHECK(js::IsProxy(wrapper_proxy));
- WrapperPrivate* private_data =
- new WrapperPrivate(context, wrappable, wrapper_proxy);
+ WrapperPrivate* private_data = new WrapperPrivate(
+ context, wrappable, wrapper_proxy, get_opaque_root_function);
JS::RootedObject target_object(context,
js::GetProxyTargetObject(wrapper_proxy));
JS_SetPrivate(target_object, private_data);
@@ -106,8 +123,8 @@
JS_CallHeapObjectTracer(trace, &wrapper_private->wrapper_proxy_,
"WrapperPrivate::Trace");
- MozjsGlobalObjectProxy* global_environment =
- MozjsGlobalObjectProxy::GetFromContext(wrapper_private->context_);
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(wrapper_private->context_);
intptr_t key = ReferencedObjectMap::GetKeyForWrappable(
wrapper_private->wrappable_.get());
global_environment->referenced_objects()->TraceReferencedObjects(trace,
@@ -115,14 +132,30 @@
}
}
-WrapperPrivate::WrapperPrivate(JSContext* context,
- const scoped_refptr<Wrappable>& wrappable,
- JS::HandleObject wrapper_proxy)
- : context_(context), wrappable_(wrappable), wrapper_proxy_(wrapper_proxy) {
+WrapperPrivate::WrapperPrivate(
+ JSContext* context, const scoped_refptr<Wrappable>& wrappable,
+ JS::HandleObject wrapper_proxy,
+ const GetOpaqueRootFunction& get_opaque_root_function)
+ : context_(context),
+ wrappable_(wrappable),
+ wrapper_proxy_(wrapper_proxy),
+ get_opaque_root_function_(get_opaque_root_function) {
DCHECK(js::IsProxy(wrapper_proxy));
+ if (!get_opaque_root_function_.is_null()) {
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(context_);
+ global_environment->opaque_root_tracker()->AddObjectWithOpaqueRoot(this);
+ }
}
-WrapperPrivate::~WrapperPrivate() { wrapper_proxy_ = NULL; }
+WrapperPrivate::~WrapperPrivate() {
+ if (!get_opaque_root_function_.is_null()) {
+ MozjsGlobalEnvironment* global_environment =
+ MozjsGlobalEnvironment::GetFromContext(context_);
+ global_environment->opaque_root_tracker()->RemoveObjectWithOpaqueRoot(this);
+ }
+ wrapper_proxy_ = NULL;
+}
} // namespace mozjs
} // namespace script
diff --git a/src/cobalt/script/mozjs/wrapper_private.h b/src/cobalt/script/mozjs/wrapper_private.h
index aecb44d..5bce933 100644
--- a/src/cobalt/script/mozjs/wrapper_private.h
+++ b/src/cobalt/script/mozjs/wrapper_private.h
@@ -34,6 +34,9 @@
// must be destroyed when its JSObject is garbage collected.
class WrapperPrivate : public base::SupportsWeakPtr<WrapperPrivate> {
public:
+ typedef base::Callback<Wrappable*(const scoped_refptr<Wrappable>&)>
+ GetOpaqueRootFunction;
+
template <typename T>
scoped_refptr<T> wrappable() const {
return base::polymorphic_downcast<T*>(wrappable_.get());
@@ -41,14 +44,22 @@
JSObject* js_object_proxy() const { return wrapper_proxy_; }
- // Add/Remove a reference to the object. The object will be visited during
- // garbage collection.
- void AddReferencedObject(JS::HandleObject referee);
- void RemoveReferencedObject(JS::HandleObject referee);
+ Wrappable* GetOpaqueRoot() const;
+
+ // Return true if the GC should avoid collecting this wrapper. Note that if
+ // the wrapper is unreachable, it may still be collected.
+ bool ShouldKeepWrapperAliveIfReachable();
// Create a new WrapperPrivate instance and associate it with the wrapper.
+ static void AddPrivateData(
+ JSContext* context, JS::HandleObject wrapper_proxy,
+ const scoped_refptr<Wrappable>& wrappable,
+ const GetOpaqueRootFunction& get_opaque_root_function);
+
static void AddPrivateData(JSContext* context, JS::HandleObject wrapper_proxy,
- const scoped_refptr<Wrappable>& wrappable);
+ const scoped_refptr<Wrappable>& wrappable) {
+ AddPrivateData(context, wrapper_proxy, wrappable, GetOpaqueRootFunction());
+ }
// Get the WrapperPrivate associated with the given Wrappable. A new JSObject
// and WrapperPrivate object may be created.
@@ -76,12 +87,14 @@
private:
WrapperPrivate(JSContext* context, const scoped_refptr<Wrappable>& wrappable,
- JS::HandleObject wrapper_proxy);
+ JS::HandleObject wrapper_proxy,
+ const GetOpaqueRootFunction& get_opaque_root_function);
~WrapperPrivate();
JSContext* context_;
scoped_refptr<Wrappable> wrappable_;
JS::Heap<JSObject*> wrapper_proxy_;
+ GetOpaqueRootFunction get_opaque_root_function_;
};
} // namespace mozjs
diff --git a/src/cobalt/script/script_debugger.h b/src/cobalt/script/script_debugger.h
index f2e58b3..8d43d1e 100644
--- a/src/cobalt/script/script_debugger.h
+++ b/src/cobalt/script/script_debugger.h
@@ -25,7 +25,7 @@
namespace cobalt {
namespace script {
-class GlobalObjectProxy;
+class GlobalEnvironment;
// Engine-independent pure virtual interface to a JavaScript debugger.
// Used as an opaque interface to the specific debugger implementation,
@@ -78,7 +78,7 @@
// Factory method to create an engine-specific instance. Implementation to be
// provided by derived class.
static scoped_ptr<ScriptDebugger> CreateDebugger(
- GlobalObjectProxy* global_object_proxy, Delegate* delegate);
+ GlobalEnvironment* global_environment, Delegate* delegate);
// Attach/detach the script debugger.
virtual void Attach() = 0;
diff --git a/src/cobalt/script/script_runner.cc b/src/cobalt/script/script_runner.cc
index cb9193b..d680966 100644
--- a/src/cobalt/script/script_runner.cc
+++ b/src/cobalt/script/script_runner.cc
@@ -17,7 +17,7 @@
#include "cobalt/script/script_runner.h"
#include "base/logging.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/source_code.h"
namespace cobalt {
@@ -28,17 +28,17 @@
class ScriptRunnerImpl : public ScriptRunner {
public:
explicit ScriptRunnerImpl(
- const scoped_refptr<GlobalObjectProxy> global_object_proxy)
- : global_object_proxy_(global_object_proxy) {}
+ const scoped_refptr<GlobalEnvironment> global_environment)
+ : global_environment_(global_environment) {}
std::string Execute(const std::string& script_utf8,
const base::SourceLocation& script_location) OVERRIDE;
- GlobalObjectProxy* GetGlobalObjectProxy() const OVERRIDE {
- return global_object_proxy_;
+ GlobalEnvironment* GetGlobalEnvironment() const OVERRIDE {
+ return global_environment_;
}
private:
- scoped_refptr<GlobalObjectProxy> global_object_proxy_;
+ scoped_refptr<GlobalEnvironment> global_environment_;
};
std::string ScriptRunnerImpl::Execute(
@@ -51,7 +51,7 @@
return "";
}
std::string result;
- if (!global_object_proxy_->EvaluateScript(source_code, &result)) {
+ if (!global_environment_->EvaluateScript(source_code, &result)) {
DLOG(WARNING) << "Failed to execute JavaScript: " << result;
return "";
}
@@ -61,8 +61,8 @@
} // namespace
scoped_ptr<ScriptRunner> ScriptRunner::CreateScriptRunner(
- const scoped_refptr<GlobalObjectProxy>& global_object_proxy) {
- return scoped_ptr<ScriptRunner>(new ScriptRunnerImpl(global_object_proxy));
+ const scoped_refptr<GlobalEnvironment>& global_environment) {
+ return scoped_ptr<ScriptRunner>(new ScriptRunnerImpl(global_environment));
}
} // namespace script
diff --git a/src/cobalt/script/script_runner.h b/src/cobalt/script/script_runner.h
index 978c27f..42052ac 100644
--- a/src/cobalt/script/script_runner.h
+++ b/src/cobalt/script/script_runner.h
@@ -25,18 +25,18 @@
namespace cobalt {
namespace script {
-class GlobalObjectProxy;
+class GlobalEnvironment;
// Maintains a handle to a JavaScript global object, and provides an interface
// to execute JavaScript code.
class ScriptRunner {
public:
static scoped_ptr<ScriptRunner> CreateScriptRunner(
- const scoped_refptr<GlobalObjectProxy>& global_object_proxy);
+ const scoped_refptr<GlobalEnvironment>& global_environment);
virtual std::string Execute(const std::string& script_utf8,
const base::SourceLocation& script_location) = 0;
- virtual GlobalObjectProxy* GetGlobalObjectProxy() const { return NULL; }
+ virtual GlobalEnvironment* GetGlobalEnvironment() const { return NULL; }
virtual ~ScriptRunner() {}
};
diff --git a/src/cobalt/script/standalone_javascript_runner.cc b/src/cobalt/script/standalone_javascript_runner.cc
index 4f5af91..d67c87b 100644
--- a/src/cobalt/script/standalone_javascript_runner.cc
+++ b/src/cobalt/script/standalone_javascript_runner.cc
@@ -27,7 +27,7 @@
StandaloneJavascriptRunner::StandaloneJavascriptRunner() {
CommonInitialization();
- global_object_proxy_->CreateGlobalObject();
+ global_environment_->CreateGlobalObject();
}
void StandaloneJavascriptRunner::RunInteractive() {
@@ -56,7 +56,7 @@
void StandaloneJavascriptRunner::CommonInitialization() {
engine_ = JavaScriptEngine::CreateEngine();
- global_object_proxy_ = engine_->CreateGlobalObjectProxy();
+ global_environment_ = engine_->CreateGlobalEnvironment();
environment_settings_.reset(new EnvironmentSettings());
}
@@ -69,7 +69,7 @@
// Execute the script and get the results of execution.
std::string result;
- bool success = global_object_proxy_->EvaluateScript(source, &result);
+ bool success = global_environment_->EvaluateScript(source, &result);
// Echo the results to stdout.
if (!success) {
std::cout << "Exception: ";
diff --git a/src/cobalt/script/standalone_javascript_runner.h b/src/cobalt/script/standalone_javascript_runner.h
index 2f364a9..ec35833 100644
--- a/src/cobalt/script/standalone_javascript_runner.h
+++ b/src/cobalt/script/standalone_javascript_runner.h
@@ -20,7 +20,7 @@
#include "base/file_path.h"
#include "cobalt/script/environment_settings.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/javascript_engine.h"
#include "cobalt/script/wrappable.h"
@@ -37,8 +37,8 @@
explicit StandaloneJavascriptRunner(
const scoped_refptr<GlobalInterface>& global_object) {
CommonInitialization();
- global_object_proxy_->CreateGlobalObject(global_object,
- environment_settings_.get());
+ global_environment_->CreateGlobalObject(global_object,
+ environment_settings_.get());
}
// Executes input from stdin and echoes the result to stdout. Loops until EOF
@@ -48,8 +48,8 @@
// Read the file from disk and execute the script. Echos the result to stdout.
void ExecuteFile(const FilePath& file);
- const scoped_refptr<GlobalObjectProxy>& global_object_proxy() const {
- return global_object_proxy_;
+ const scoped_refptr<GlobalEnvironment>& global_environment() const {
+ return global_environment_;
}
private:
@@ -59,7 +59,7 @@
scoped_ptr<JavaScriptEngine> engine_;
scoped_ptr<EnvironmentSettings> environment_settings_;
- scoped_refptr<GlobalObjectProxy> global_object_proxy_;
+ scoped_refptr<GlobalEnvironment> global_environment_;
};
} // namespace script
} // namespace cobalt
diff --git a/src/cobalt/system_window/starboard/system_window.cc b/src/cobalt/system_window/starboard/system_window.cc
index 7cd1178..331e028 100644
--- a/src/cobalt/system_window/starboard/system_window.cc
+++ b/src/cobalt/system_window/starboard/system_window.cc
@@ -16,7 +16,9 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
+#include "base/stringprintf.h"
#include "cobalt/base/event_dispatcher.h"
+#include "cobalt/deprecated/platform_delegate.h"
#include "cobalt/system_window/keyboard_event.h"
#include "cobalt/system_window/starboard/system_window.h"
#include "starboard/system.h"
@@ -25,6 +27,7 @@
namespace system_window {
namespace {
+
SystemWindowStarboard* g_the_window = NULL;
// Unbound callback handler for SbWindowShowDialog.
@@ -32,6 +35,25 @@
DCHECK(g_the_window);
g_the_window->HandleDialogClose(response);
}
+
+void UpdateVideoContainerSizeOverride(SbWindow window) {
+ SbWindowSize window_size;
+ if (!SbWindowGetSize(window, &window_size)) {
+ DLOG(WARNING) << "SbWindowGetSize() failed.";
+ return;
+ }
+ if (window_size.video_pixel_ratio == 1.0f) {
+ return;
+ }
+
+ deprecated::PlatformDelegate::Get()->SetVideoContainerSizeOverride(
+ base::StringPrintf(
+ "%dx%d",
+ static_cast<int>(window_size.width * window_size.video_pixel_ratio),
+ static_cast<int>(window_size.height *
+ window_size.video_pixel_ratio)));
+}
+
} // namespace
SystemWindowStarboard::SystemWindowStarboard(
@@ -42,6 +64,7 @@
window_ = SbWindowCreate(NULL);
DCHECK(SbWindowIsValid(window_));
DCHECK(!g_the_window) << "TODO: Support multiple SystemWindows.";
+ UpdateVideoContainerSizeOverride(window_);
g_the_window = this;
}
@@ -57,12 +80,15 @@
window_ = SbWindowCreate(&options);
DCHECK(SbWindowIsValid(window_));
DCHECK(!g_the_window) << "TODO: Support multiple SystemWindows.";
+ UpdateVideoContainerSizeOverride(window_);
g_the_window = this;
}
SystemWindowStarboard::~SystemWindowStarboard() {
DCHECK_EQ(this, g_the_window);
+
if (g_the_window == this) {
+ deprecated::PlatformDelegate::Get()->SetVideoContainerSizeOverride("");
g_the_window = NULL;
}
SbWindowDestroy(window_);
@@ -70,7 +96,10 @@
math::Size SystemWindowStarboard::GetWindowSize() const {
SbWindowSize window_size;
- SbWindowGetSize(window_, &window_size);
+ if (!SbWindowGetSize(window_, &window_size)) {
+ DLOG(WARNING) << "SbWindowGetSize() failed.";
+ return math::Size(0, 0);
+ }
return math::Size(window_size.width, window_size.height);
}
diff --git a/src/cobalt/webdriver/window_driver.cc b/src/cobalt/webdriver/window_driver.cc
index b896311..3e77e54 100644
--- a/src/cobalt/webdriver/window_driver.cc
+++ b/src/cobalt/webdriver/window_driver.cc
@@ -26,7 +26,7 @@
#include "base/synchronization/waitable_event.h"
#include "cobalt/dom/document.h"
#include "cobalt/dom/location.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/source_code.h"
#include "cobalt/webdriver/keyboard.h"
#include "cobalt/webdriver/search.h"
@@ -74,7 +74,7 @@
scoped_refptr<ScriptExecutor> CreateScriptExecutor(
ElementMapping* element_mapping,
- const scoped_refptr<script::GlobalObjectProxy>& global_object_proxy) {
+ const scoped_refptr<script::GlobalEnvironment>& global_environment) {
// This could be NULL if there was an error loading the harness source from
// disk.
scoped_refptr<script::SourceCode> source =
@@ -86,11 +86,11 @@
// Create a new ScriptExecutor and bind it to the global object.
scoped_refptr<ScriptExecutor> script_executor =
new ScriptExecutor(element_mapping);
- global_object_proxy->Bind("webdriverExecutor", script_executor);
+ global_environment->Bind("webdriverExecutor", script_executor);
// Evaluate the harness initialization script.
std::string result;
- if (!global_object_proxy->EvaluateScript(source, &result)) {
+ if (!global_environment->EvaluateScript(source, &result)) {
return NULL;
}
@@ -101,7 +101,7 @@
void CreateFunction(
const std::string& function_body,
- const scoped_refptr<script::GlobalObjectProxy>& global_object_proxy,
+ const scoped_refptr<script::GlobalEnvironment>& global_environment,
scoped_refptr<ScriptExecutor> script_executor,
base::optional<script::OpaqueHandleHolder::Reference>* out_opaque_handle) {
std::string function =
@@ -110,7 +110,7 @@
script::SourceCode::CreateSourceCode(
function.c_str(), base::SourceLocation("[webdriver]", 1, 1));
- if (!global_object_proxy->EvaluateScript(
+ if (!global_environment->EvaluateScript(
function_source, make_scoped_refptr(script_executor.get()),
out_opaque_handle)) {
DLOG(ERROR) << "Failed to create Function object";
@@ -157,11 +157,11 @@
WindowDriver::WindowDriver(
const protocol::WindowId& window_id,
const base::WeakPtr<dom::Window>& window,
- const GetGlobalObjectProxyFunction& get_global_object_proxy_function,
+ const GetGlobalEnvironmentFunction& get_global_environment_function,
const scoped_refptr<base::MessageLoopProxy>& message_loop)
: window_id_(window_id),
window_(window),
- get_global_object_proxy_(get_global_object_proxy_function),
+ get_global_environment_(get_global_environment_function),
window_message_loop_(message_loop),
element_driver_map_deleter_(&element_drivers_),
next_element_id_(0) {
@@ -380,9 +380,9 @@
return CommandResult(protocol::Response::kNoSuchWindow);
}
- scoped_refptr<script::GlobalObjectProxy> global_object_proxy =
- get_global_object_proxy_.Run();
- DCHECK(global_object_proxy);
+ scoped_refptr<script::GlobalEnvironment> global_environment =
+ get_global_environment_.Run();
+ DCHECK(global_environment);
// Lazily initialize this the first time we need to run a script. It must be
// initialized on window_message_loop_. It can persist across multiple calls
@@ -390,7 +390,7 @@
// global object, thus with the WindowDriver.
if (!script_executor_) {
scoped_refptr<ScriptExecutor> script_executor =
- CreateScriptExecutor(this, global_object_proxy);
+ CreateScriptExecutor(this, global_environment);
if (!script_executor) {
DLOG(INFO) << "Failed to create ScriptExecutor.";
return CommandResult(protocol::Response::kUnknownError);
@@ -402,7 +402,7 @@
DLOG(INFO) << "Arguments: " << script.argument_array();
base::optional<script::OpaqueHandleHolder::Reference> function_object;
- CreateFunction(script.function_body(), global_object_proxy,
+ CreateFunction(script.function_body(), global_environment,
make_scoped_refptr(script_executor_.get()), &function_object);
if (!function_object) {
return CommandResult(protocol::Response::kJavaScriptError);
diff --git a/src/cobalt/webdriver/window_driver.h b/src/cobalt/webdriver/window_driver.h
index 08ac58e..ae03a9f 100644
--- a/src/cobalt/webdriver/window_driver.h
+++ b/src/cobalt/webdriver/window_driver.h
@@ -54,11 +54,11 @@
// will map to a method on this class.
class WindowDriver : private ElementMapping {
public:
- typedef base::Callback<scoped_refptr<script::GlobalObjectProxy>()>
- GetGlobalObjectProxyFunction;
+ typedef base::Callback<scoped_refptr<script::GlobalEnvironment>()>
+ GetGlobalEnvironmentFunction;
WindowDriver(const protocol::WindowId& window_id,
const base::WeakPtr<dom::Window>& window,
- const GetGlobalObjectProxyFunction& get_global_object_proxy,
+ const GetGlobalEnvironmentFunction& get_global_environment,
const scoped_refptr<base::MessageLoopProxy>& message_loop);
~WindowDriver();
const protocol::WindowId& window_id() { return window_id_; }
@@ -137,7 +137,7 @@
base::WeakPtr<dom::Window> window_;
// This must only be accessed from |window_message_loop_|.
- GetGlobalObjectProxyFunction get_global_object_proxy_;
+ GetGlobalEnvironmentFunction get_global_environment_;
// Helper object for commands that execute script. This must only be accessed
// from the |window_message_loop_|.
diff --git a/src/cobalt/xhr/xml_http_request.cc b/src/cobalt/xhr/xml_http_request.cc
index 04b02e1..d1877a9 100644
--- a/src/cobalt/xhr/xml_http_request.cc
+++ b/src/cobalt/xhr/xml_http_request.cc
@@ -32,7 +32,7 @@
#include "cobalt/dom/xml_document.h"
#include "cobalt/dom_parser/xml_decoder.h"
#include "cobalt/loader/fetcher_factory.h"
-#include "cobalt/script/global_object_proxy.h"
+#include "cobalt/script/global_environment.h"
#include "cobalt/script/javascript_engine.h"
#include "net/http/http_util.h"
@@ -697,11 +697,11 @@
XMLHttpRequest::RequestErrorType request_error_type) {
// https://www.w3.org/TR/XMLHttpRequest/#timeout-error
DCHECK(thread_checker_.CalledOnValidThread());
- DLOG_IF(INFO, verbose()) << __FUNCTION__ << " ("
- << RequestErrorTypeName(request_error_type) << ") "
- << *this << std::endl
- << script::StackTraceToString(
- settings_->global_object()->GetStackTrace());
+ DLOG_IF(INFO, verbose())
+ << __FUNCTION__ << " (" << RequestErrorTypeName(request_error_type)
+ << ") " << *this << std::endl
+ << script::StackTraceToString(
+ settings_->global_environment()->GetStackTrace());
// Step 1
TerminateRequest();
// Steps 2-4
@@ -798,7 +798,7 @@
}
void XMLHttpRequest::PreventGarbageCollection() {
- settings_->global_object()->PreventGarbageCollection(
+ settings_->global_environment()->PreventGarbageCollection(
make_scoped_refptr(this));
DCHECK(!did_add_ref_);
did_add_ref_ = true;
@@ -823,7 +823,8 @@
did_add_ref_ = false;
settings_->javascript_engine()->ReportExtraMemoryCost(
response_body_.capacity());
- settings_->global_object()->AllowGarbageCollection(make_scoped_refptr(this));
+ settings_->global_environment()->AllowGarbageCollection(
+ make_scoped_refptr(this));
}
void XMLHttpRequest::StartRequest(const std::string& request_body) {
@@ -909,7 +910,8 @@
// parsing the response entity body following the rules set forth in the XML
// specifications. If that fails (unsupported character encoding, namespace
// well-formedness error, etc.), return null.
- scoped_refptr<dom::XMLDocument> xml_document = new dom::XMLDocument();
+ scoped_refptr<dom::XMLDocument> xml_document =
+ new dom::XMLDocument(settings_->window()->html_element_context());
dom_parser::XMLDecoder xml_decoder(
xml_document, xml_document, NULL, settings_->max_dom_element_depth(),
base::SourceLocation("[object XMLHttpRequest]", 1, 1), base::Closure(),
diff --git a/src/media/base/sbplayer_pipeline.cc b/src/media/base/sbplayer_pipeline.cc
index 2424340..4130b45 100644
--- a/src/media/base/sbplayer_pipeline.cc
+++ b/src/media/base/sbplayer_pipeline.cc
@@ -58,15 +58,6 @@
Time::kMicrosecondsPerSecond;
}
-void UpdateDecoderConfig(scoped_refptr<DemuxerStream> stream) {
- if (stream->type() == DemuxerStream::AUDIO) {
- stream->audio_decoder_config();
- } else {
- DCHECK_EQ(stream->type(), DemuxerStream::VIDEO);
- stream->video_decoder_config();
- }
-}
-
bool IsEncrypted(const scoped_refptr<DemuxerStream>& stream) {
if (stream->type() == DemuxerStream::AUDIO) {
return stream->audio_decoder_config().is_encrypted();
@@ -228,6 +219,8 @@
void* context,
const void* sample_buffer);
+ void UpdateDecoderConfig(const scoped_refptr<DemuxerStream>& stream);
+
// Message loop used to execute pipeline tasks.
scoped_refptr<base::MessageLoopProxy> message_loop_;
@@ -616,6 +609,7 @@
if (has_video_) {
const VideoDecoderConfig& video_config =
demuxer_->GetStream(DemuxerStream::VIDEO)->video_decoder_config();
+ natural_size_ = video_config.natural_size();
is_encrypted |= video_config.is_encrypted();
}
if (is_encrypted) {
@@ -872,6 +866,19 @@
sample_buffer));
}
+void SbPlayerPipeline::UpdateDecoderConfig(
+ const scoped_refptr<DemuxerStream>& stream) {
+ DCHECK(message_loop_->BelongsToCurrentThread());
+ if (stream->type() == DemuxerStream::AUDIO) {
+ stream->audio_decoder_config();
+ } else {
+ DCHECK_EQ(stream->type(), DemuxerStream::VIDEO);
+ const VideoDecoderConfig& decoder_config = stream->video_decoder_config();
+ base::AutoLock auto_lock(lock_);
+ natural_size_ = decoder_config.natural_size();
+ }
+}
+
} // namespace
#endif // SB_HAS(PLAYER)
diff --git a/src/starboard/nplb/window_get_size_test.cc b/src/starboard/nplb/window_get_size_test.cc
index a42ebc2..8a52d78 100644
--- a/src/starboard/nplb/window_get_size_test.cc
+++ b/src/starboard/nplb/window_get_size_test.cc
@@ -24,19 +24,28 @@
ASSERT_TRUE(SbWindowIsValid(window));
SbWindowSize size;
- size.width = 0;
- size.height = 0;
+ size.width = -1;
+ size.height = -2;
+ size.video_pixel_ratio = -1.0f;
ASSERT_TRUE(SbWindowGetSize(window, &size));
EXPECT_LT(0, size.width);
EXPECT_LT(0, size.height);
+ EXPECT_LE(0.0f, size.video_pixel_ratio);
+ EXPECT_GT(10.0f, size.video_pixel_ratio);
ASSERT_TRUE(SbWindowDestroy(window));
}
TEST(SbWindowGetSizeTest, RainyDayInvalid) {
SbWindowSize size;
+ size.width = -1;
+ size.height = -2;
+ size.video_pixel_ratio = -1.0f;
ASSERT_FALSE(SbWindowGetSize(kSbWindowInvalid, &size));
+ EXPECT_EQ(-1, size.width);
+ EXPECT_EQ(-2, size.height);
+ EXPECT_EQ(-1.0f, size.video_pixel_ratio);
}
} // namespace
diff --git a/src/starboard/raspi/shared/window_get_size.cc b/src/starboard/raspi/shared/window_get_size.cc
index e64865f..905d83f 100644
--- a/src/starboard/raspi/shared/window_get_size.cc
+++ b/src/starboard/raspi/shared/window_get_size.cc
@@ -14,16 +14,17 @@
#include "starboard/window.h"
-#include "starboard/raspi/shared/window_internal.h"
#include "starboard/log.h"
+#include "starboard/raspi/shared/window_internal.h"
bool SbWindowGetSize(SbWindow window, SbWindowSize* size) {
if (!SbWindowIsValid(window)) {
- SB_DLOG(ERROR) << __FUNCTION__ << ": Invalid context.";
+ SB_DLOG(ERROR) << __FUNCTION__ << ": Invalid window.";
return false;
}
size->width = window->window.width;
size->height = window->window.height;
+ size->video_pixel_ratio = 1.0f;
return true;
}
diff --git a/src/starboard/shared/alsa/alsa_audio_sink_type.cc b/src/starboard/shared/alsa/alsa_audio_sink_type.cc
index 8f2ce61..1556242 100644
--- a/src/starboard/shared/alsa/alsa_audio_sink_type.cc
+++ b/src/starboard/shared/alsa/alsa_audio_sink_type.cc
@@ -165,13 +165,14 @@
SB_DCHECK(frame_buffer_);
SB_DCHECK(SbAudioSinkIsAudioSampleTypeSupported(sample_type_));
+ SbMemorySet(silence_frames_, 0,
+ channels * kFramesPerRequest * GetSampleSize(sample_type));
+
ScopedLock lock(mutex_);
audio_out_thread_ =
SbThreadCreate(0, kSbThreadPriorityRealTime, kSbThreadNoAffinity, true,
"alsa_audio_out", &AlsaAudioSink::ThreadEntryPoint, this);
SB_DCHECK(SbThreadIsValid(audio_out_thread_));
- SbMemorySet(silence_frames_, 0,
- channels * kFramesPerRequest * GetSampleSize(sample_type));
creation_signal_.Wait();
}
diff --git a/src/starboard/shared/directfb/window_get_size.cc b/src/starboard/shared/directfb/window_get_size.cc
index 2fd923a..b68f288 100644
--- a/src/starboard/shared/directfb/window_get_size.cc
+++ b/src/starboard/shared/directfb/window_get_size.cc
@@ -19,11 +19,12 @@
bool SbWindowGetSize(SbWindow window, SbWindowSize* size) {
if (!SbWindowIsValid(window)) {
- SB_DLOG(ERROR) << __FUNCTION__ << ": Invalid context.";
+ SB_DLOG(ERROR) << __FUNCTION__ << ": Invalid window.";
return false;
}
size->width = window->width;
size->height = window->height;
+ size->video_pixel_ratio = 1.0f;
return true;
}
diff --git a/src/starboard/shared/starboard/audio_sink/stub_audio_sink_type.cc b/src/starboard/shared/starboard/audio_sink/stub_audio_sink_type.cc
index 381d2a1..09b2402 100644
--- a/src/starboard/shared/starboard/audio_sink/stub_audio_sink_type.cc
+++ b/src/starboard/shared/starboard/audio_sink/stub_audio_sink_type.cc
@@ -69,7 +69,7 @@
destroying_(false) {
audio_out_thread_ =
SbThreadCreate(0, kSbThreadPriorityRealTime, kSbThreadNoAffinity, true,
- "alsa_audio_out", &StubAudioSink::ThreadEntryPoint, this);
+ "stub_audio_out", &StubAudioSink::ThreadEntryPoint, this);
SB_DCHECK(SbThreadIsValid(audio_out_thread_));
}
diff --git a/src/starboard/shared/starboard/player/audio_renderer_internal.cc b/src/starboard/shared/starboard/player/audio_renderer_internal.cc
index 4648f66..c761c09 100644
--- a/src/starboard/shared/starboard/player/audio_renderer_internal.cc
+++ b/src/starboard/shared/starboard/player/audio_renderer_internal.cc
@@ -68,17 +68,19 @@
return;
}
- ScopedLock lock(mutex_);
- if (seeking_) {
- if (input_pts < seeking_to_pts_) {
- return;
+ {
+ ScopedLock lock(mutex_);
+ if (seeking_) {
+ if (input_pts < seeking_to_pts_) {
+ return;
+ }
}
- }
- AppendFrames(&decoded_audio[0], decoded_audio.size() / channels_);
+ AppendFrames(&decoded_audio[0], decoded_audio.size() / channels_);
- if (seeking_ && frame_buffer_.size() > kPrerollFrames * channels_) {
- seeking_ = false;
+ if (seeking_ && frame_buffer_.size() > kPrerollFrames * channels_) {
+ seeking_ = false;
+ }
}
// Create the audio sink if it is the first incoming AU after seeking.
diff --git a/src/starboard/shared/x11/window_get_size.cc b/src/starboard/shared/x11/window_get_size.cc
index a5af1ec..c63fdc1 100644
--- a/src/starboard/shared/x11/window_get_size.cc
+++ b/src/starboard/shared/x11/window_get_size.cc
@@ -14,16 +14,17 @@
#include "starboard/window.h"
-#include "starboard/shared/x11/window_internal.h"
#include "starboard/log.h"
+#include "starboard/shared/x11/window_internal.h"
bool SbWindowGetSize(SbWindow window, SbWindowSize* size) {
if (!SbWindowIsValid(window)) {
- SB_DLOG(ERROR) << __FUNCTION__ << ": Invalid context.";
+ SB_DLOG(ERROR) << __FUNCTION__ << ": Invalid window.";
return false;
}
size->width = window->width;
size->height = window->height;
+ size->video_pixel_ratio = 1.0f;
return true;
}
diff --git a/src/starboard/window.h b/src/starboard/window.h
index c21af9e..c3e25dd 100644
--- a/src/starboard/window.h
+++ b/src/starboard/window.h
@@ -30,15 +30,39 @@
// A handle to a window.
typedef SbWindowPrivate* SbWindow;
-// A dimensional measurement of an SbWindow.
+// The size of a window in graphics rendering coordinates. The width and height
+// of a window should correspond to the size of the graphics surface used for
+// drawing that would be created to back that window.
typedef struct SbWindowSize {
+ // The width of the window in graphics pixels.
int width;
+
+ // The height of the window in graphics pixels.
int height;
+
+ // The ratio of video pixels to graphics pixels. This ratio must be applied
+ // equally to width and height, meaning the aspect ratio is maintained.
+ //
+ // A value of 1.0f means the video resolution is the same as the graphics
+ // resolution. This is the most common case.
+ //
+ // Values greater than 1.0f mean that the video resolution is higher (denser,
+ // larger) than the graphics resolution. This is a common case as devices
+ // often have less video decoding capabilities than graphics rendering
+ // capabilities (or memory, etc...).
+ //
+ // Values less than 1.0f mean that the maximum video resolution is smaller
+ // than the graphics resolution.
+ //
+ // A value of 0.0f means the ratio could not be determined, it should be
+ // assumed to be the same as the graphics resolution (i.e. 1.0f).
+ float video_pixel_ratio;
} SbWindowSize;
// Options that can be requested at window creation time.
typedef struct SbWindowOptions {
- // The requested size or resolution of the new window.
+ // The requested size of the new window. The value of |video_pixel_ratio| will
+ // not be used or looked at.
SbWindowSize size;
// Whether the new window should be windowed or not. If not, the requested
@@ -83,7 +107,8 @@
// Destroys |window|, reclaiming associated resources.
SB_EXPORT bool SbWindowDestroy(SbWindow window);
-// Sets |size| to the dimensions of the window. Returns true on success.
+// Sets |size| to the dimensions of |window|. Returns true on success. If false
+// is returned, |size| will not be modified.
SB_EXPORT bool SbWindowGetSize(SbWindow window, SbWindowSize* size);
// Gets the platform-specific handle for |window|, which can be passed as an