浏览代码

LibJS: Use null-prototype objects in a few more places in Temporal

This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/334479f
Linus Groh 3 年之前
父节点
当前提交
ca85e157e8

+ 4 - 4
Userland/Libraries/LibJS/Runtime/Temporal/AbstractOperations.cpp

@@ -742,8 +742,8 @@ ThrowCompletionOr<Object*> merge_largest_unit_option(GlobalObject& global_object
 {
     auto& vm = global_object.vm();
 
-    // 1. Let merged be OrdinaryObjectCreate(%Object.prototype%).
-    auto* merged = Object::create(global_object, global_object.object_prototype());
+    // 1. Let merged be OrdinaryObjectCreate(null).
+    auto* merged = Object::create(global_object, nullptr);
 
     // 2. Let keys be ? EnumerableOwnPropertyNames(options, key).
     auto keys = TRY(options.enumerable_own_property_names(Object::PropertyKind::Key));
@@ -1768,8 +1768,8 @@ ThrowCompletionOr<Object*> prepare_temporal_fields(GlobalObject& global_object,
 {
     auto& vm = global_object.vm();
 
-    // 1. Let result be OrdinaryObjectCreate(%Object.prototype%).
-    auto* result = Object::create(global_object, global_object.object_prototype());
+    // 1. Let result be OrdinaryObjectCreate(null).
+    auto* result = Object::create(global_object, nullptr);
     VERIFY(result);
 
     // 2. Let any be false.

+ 2 - 2
Userland/Libraries/LibJS/Runtime/Temporal/PlainYearMonth.cpp

@@ -363,8 +363,8 @@ ThrowCompletionOr<PlainYearMonth*> add_duration_to_or_subtract_duration_from_pla
     // 13. Let durationToAdd be ! CreateTemporalDuration(duration.[[Years]], duration.[[Months]], duration.[[Weeks]], balanceResult.[[Days]], 0, 0, 0, 0, 0, 0).
     auto* duration_to_add = MUST(create_temporal_duration(global_object, duration->years(), duration->months(), duration->weeks(), balance_result.days, 0, 0, 0, 0, 0, 0));
 
-    // 14. Let optionsCopy be OrdinaryObjectCreate(%Object.prototype%).
-    auto* options_copy = Object::create(global_object, global_object.object_prototype());
+    // 14. Let optionsCopy be OrdinaryObjectCreate(null).
+    auto* options_copy = Object::create(global_object, nullptr);
 
     // 15. Let entries be ? EnumerableOwnPropertyNames(options, key+value).
     auto entries = TRY(options->enumerable_own_property_names(Object::PropertyKind::KeyAndValue));