Commit 55cc1b54 authored by Rika Fujimaki's avatar Rika Fujimaki Committed by Commit Bot

Replace CreateNull(ScriptState*) with CreateNull(Isolate*)

Since we don't use ScriptState* in CreateNull(),
we replace CreateNull(ScriptState*) with CreateNull(Isolate*).

Bug: 998994
Change-Id: I4462f6c02cdf5d9c69f327250c828848f1487a24
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1792025
Commit-Queue: Rika Fujimaki <rikaf@google.com>
Reviewed-by: default avatarYuki Shiino <yukishiino@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarKeishi Hattori <keishi@chromium.org>
Reviewed-by: default avatarKouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#699320}
parent 74802219
......@@ -99,9 +99,10 @@ void JSEventHandler::InvokeInternal(EventTarget& event_target,
// https://html.spec.whatwg.org/C/#runtime-script-errors-2
ScriptValue error_attribute = error_event->error(script_state_of_listener);
if (error_attribute.IsEmpty() ||
error_event->target()->InterfaceName() == event_target_names::kWorker)
error_attribute = ScriptValue::CreateNull(script_state_of_listener);
error_event->target()->InterfaceName() == event_target_names::kWorker) {
error_attribute =
ScriptValue::CreateNull(script_state_of_listener->GetIsolate());
}
arguments = {
ScriptValue::From(script_state_of_listener, error_event->message()),
ScriptValue::From(script_state_of_listener, error_event->filename()),
......
......@@ -219,7 +219,7 @@ ScriptPromise::ScriptPromise(ScriptState* script_state,
return;
if (!value->IsPromise()) {
promise_ = ScriptValue(script_state, v8::Local<v8::Value>());
promise_ = ScriptValue();
V8ThrowException::ThrowTypeError(script_state->GetIsolate(),
"the given value is not a Promise");
return;
......
......@@ -63,10 +63,8 @@ bool ScriptValue::ToString(String& result) const {
return true;
}
// TODO(rikaf): Replace with CreateNull(v8::Isolate*).
ScriptValue ScriptValue::CreateNull(ScriptState* script_state) {
return ScriptValue(script_state->GetIsolate(),
v8::Null(script_state->GetIsolate()));
ScriptValue ScriptValue::CreateNull(v8::Isolate* isolate) {
return ScriptValue(isolate, v8::Null(isolate));
}
} // namespace blink
......@@ -186,7 +186,7 @@ class CORE_EXPORT ScriptValue final {
bool ToString(String&) const;
static ScriptValue CreateNull(ScriptState*);
static ScriptValue CreateNull(v8::Isolate*);
void Trace(Visitor* visitor) { visitor->Trace(value_); }
......
......@@ -724,7 +724,7 @@ ScriptValue DeserializeScriptValue(ScriptState* script_state,
v8::Isolate* isolate = script_state->GetIsolate();
v8::HandleScope handle_scope(isolate);
if (!serialized_value)
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
SerializedScriptValue::DeserializeOptions options;
options.blob_info = blob_info;
......
......@@ -1051,7 +1051,7 @@ def literal_cpp_value(idl_type, idl_literal):
"""Converts an expression that is a valid C++ literal for this type."""
# FIXME: add validation that idl_type and idl_literal are compatible
if idl_type.base_type in ('any', 'object') and idl_literal.is_null:
return 'ScriptValue::CreateNull(script_state)'
return 'ScriptValue::CreateNull(script_state->GetIsolate())'
literal_value = str(idl_literal)
if idl_type.base_type in ('octet', 'unsigned short', 'unsigned long'):
return literal_value + 'u'
......
......@@ -168,7 +168,7 @@ TEST_F(AnimationKeyframeEffectV8Test, SetAndRetrieveEffectComposite) {
effect_options_dictionary, exception_state);
EXPECT_FALSE(exception_state.HadException());
ScriptValue js_keyframes = ScriptValue::CreateNull(script_state);
ScriptValue js_keyframes = ScriptValue::CreateNull(scope.GetIsolate());
KeyframeEffect* effect = CreateAnimationFromOption(
script_state, element.Get(), js_keyframes, effect_options_dictionary);
EXPECT_EQ("add", effect->composite());
......@@ -220,7 +220,7 @@ TEST_F(AnimationKeyframeEffectV8Test, KeyframeCompositeOverridesEffect) {
TEST_F(AnimationKeyframeEffectV8Test, CanSetDuration) {
V8TestingScope scope;
ScriptState* script_state = scope.GetScriptState();
ScriptValue js_keyframes = ScriptValue::CreateNull(script_state);
ScriptValue js_keyframes = ScriptValue::CreateNull(scope.GetIsolate());
double duration = 2000;
KeyframeEffect* animation = CreateAnimationFromTiming(
......@@ -233,7 +233,7 @@ TEST_F(AnimationKeyframeEffectV8Test, CanSetDuration) {
TEST_F(AnimationKeyframeEffectV8Test, CanOmitSpecifiedDuration) {
V8TestingScope scope;
ScriptState* script_state = scope.GetScriptState();
ScriptValue js_keyframes = ScriptValue::CreateNull(script_state);
ScriptValue js_keyframes = ScriptValue::CreateNull(scope.GetIsolate());
KeyframeEffect* animation =
CreateAnimation(script_state, element.Get(), js_keyframes);
EXPECT_FALSE(animation->SpecifiedTiming().iteration_duration);
......@@ -242,7 +242,7 @@ TEST_F(AnimationKeyframeEffectV8Test, CanOmitSpecifiedDuration) {
TEST_F(AnimationKeyframeEffectV8Test, SpecifiedGetters) {
V8TestingScope scope;
ScriptState* script_state = scope.GetScriptState();
ScriptValue js_keyframes = ScriptValue::CreateNull(script_state);
ScriptValue js_keyframes = ScriptValue::CreateNull(scope.GetIsolate());
v8::Local<v8::Object> timing_input = v8::Object::New(scope.GetIsolate());
SetV8ObjectPropertyAsNumber(scope.GetIsolate(), timing_input, "delay", 2);
......@@ -281,7 +281,7 @@ TEST_F(AnimationKeyframeEffectV8Test, SpecifiedGetters) {
TEST_F(AnimationKeyframeEffectV8Test, SpecifiedDurationGetter) {
V8TestingScope scope;
ScriptState* script_state = scope.GetScriptState();
ScriptValue js_keyframes = ScriptValue::CreateNull(script_state);
ScriptValue js_keyframes = ScriptValue::CreateNull(scope.GetIsolate());
v8::Local<v8::Object> timing_input_with_duration =
v8::Object::New(scope.GetIsolate());
......@@ -329,7 +329,7 @@ TEST_F(AnimationKeyframeEffectV8Test, SetKeyframesAdditiveCompositeOperation) {
ScopedCSSAdditiveAnimationsForTest css_additive_animation(false);
V8TestingScope scope;
ScriptState* script_state = scope.GetScriptState();
ScriptValue js_keyframes = ScriptValue::CreateNull(script_state);
ScriptValue js_keyframes = ScriptValue::CreateNull(scope.GetIsolate());
v8::Local<v8::Object> timing_input = v8::Object::New(scope.GetIsolate());
KeyframeEffectOptions* timing_input_dictionary =
KeyframeEffectOptions::Create();
......
......@@ -44,7 +44,8 @@ ErrorEvent* ErrorEvent::CreateSanitizedError(ScriptState* script_state) {
return MakeGarbageCollected<ErrorEvent>(
"Script error.",
std::make_unique<SourceLocation>(String(), 0, 0, nullptr),
ScriptValue::CreateNull(script_state), &script_state->World());
ScriptValue::CreateNull(script_state->GetIsolate()),
&script_state->World());
}
ErrorEvent::ErrorEvent()
......@@ -108,7 +109,7 @@ ScriptValue ErrorEvent::error(ScriptState* script_state) const {
// thus passing it around would cause leakage.
// 2) Errors cannot be cloned (or serialized):
if (World() != &script_state->World() || error_.IsEmpty())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
return ScriptValue(script_state, error_.Get(script_state));
}
......
......@@ -43,7 +43,7 @@ ScriptValue CustomLayoutConstraints::data(ScriptState* script_state) const {
DCHECK(script_state->World().IsWorkerWorld());
if (layout_worklet_world_v8_data_.IsEmpty())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
return ScriptValue(script_state, layout_worklet_world_v8_data_.NewLocal(
script_state->GetIsolate()));
......
......@@ -44,7 +44,7 @@ ScriptValue CustomLayoutFragment::data(ScriptState* script_state) const {
DCHECK(script_state->World().IsWorkerWorld());
if (layout_worklet_world_v8_data_.IsEmpty())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
return ScriptValue(script_state, layout_worklet_world_v8_data_.NewLocal(
script_state->GetIsolate()));
......
......@@ -143,7 +143,7 @@ TEST(ReadableStreamOperationsTest, IsReadableStream) {
.value_or(true));
EXPECT_FALSE(ReadableStreamOperations::IsReadableStream(
scope.GetScriptState(),
ScriptValue::CreateNull(scope.GetScriptState()),
ScriptValue::CreateNull(scope.GetIsolate()),
ASSERT_NO_EXCEPTION)
.value_or(true));
EXPECT_FALSE(ReadableStreamOperations::IsReadableStream(
......@@ -181,7 +181,7 @@ TEST(ReadableStreamOperationsTest, IsReadableStreamDefaultReaderInvalid) {
.value_or(true));
EXPECT_FALSE(ReadableStreamOperations::IsReadableStreamDefaultReader(
scope.GetScriptState(),
ScriptValue::CreateNull(scope.GetScriptState()),
ScriptValue::CreateNull(scope.GetIsolate()),
ASSERT_NO_EXCEPTION)
.value_or(true));
EXPECT_FALSE(ReadableStreamOperations::IsReadableStreamDefaultReader(
......
......@@ -49,7 +49,7 @@ TEST(TransferableStreamsTest, SmokeTest) {
.V8Value()
.As<v8::Object>());
writer->write(script_state, ScriptValue::CreateNull(script_state));
writer->write(script_state, ScriptValue::CreateNull(scope.GetIsolate()));
class ExpectNullResponse : public ScriptFunction {
public:
......
......@@ -755,7 +755,7 @@ PerformanceMeasure* Performance::MeasureInternal(
/* duration = */ base::nullopt,
end_mark ? StringOrDouble::FromString(*end_mark)
: NativeValueTraits<StringOrDouble>::NullValue(),
ScriptValue::CreateNull(script_state), exception_state);
ScriptValue::CreateNull(script_state->GetIsolate()), exception_state);
}
// For consistency with UserTimingL2: the L2 API took |start| as a string,
// so any object passed in became a string '[object, object]', null became
......@@ -772,7 +772,8 @@ PerformanceMeasure* Performance::MeasureInternal(
/* duration = */ base::nullopt,
end_mark ? StringOrDouble::FromString(*end_mark)
: NativeValueTraits<StringOrDouble>::NullValue(),
ScriptValue::CreateNull(script_state), exception_state);
ScriptValue::CreateNull(script_state->GetIsolate()),
exception_state);
// Return nullptr to distinguish from L3.
return nullptr;
}
......
......@@ -115,7 +115,7 @@ PerformanceMark* UserTiming::CreatePerformanceMark(
start = performance_->now();
}
ScriptValue detail = ScriptValue::CreateNull(script_state);
ScriptValue detail = ScriptValue::CreateNull(script_state->GetIsolate());
if (RuntimeEnabledFeatures::CustomUserTimingEnabled() && mark_options)
detail = mark_options->detail();
......
......@@ -896,7 +896,8 @@ class GetMetadata final : public ExecutableWithDatabase<GetMetadataCallback> {
ScriptState::Scope scope(script_state);
DummyExceptionStateForTesting exception_state;
IDBRequest* idb_request_get_entries_count = idb_object_store->count(
script_state, ScriptValue::CreateNull(script_state), exception_state);
script_state, ScriptValue::CreateNull(script_state->GetIsolate()),
exception_state);
DCHECK(!exception_state.HadException());
if (exception_state.HadException()) {
ExceptionCode ec = exception_state.Code();
......
......@@ -238,7 +238,7 @@ DOMArrayBuffer* NDEFRecord::toArrayBuffer() const {
ScriptValue NDEFRecord::toJSON(ScriptState* script_state,
ExceptionState& exception_state) const {
if (record_type_ != "json" && record_type_ != "opaque") {
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
ScriptState::Scope scope(script_state);
......@@ -247,7 +247,7 @@ ScriptValue NDEFRecord::toJSON(ScriptState* script_state,
String::FromUTF8WithLatin1Fallback(data_.data(), data_.size()),
exception_state);
if (exception_state.HadException())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
return ScriptValue(script_state, json_object);
}
......
......@@ -28,7 +28,7 @@ const String& PaymentMethodChangeEvent::methodName() const {
const ScriptValue PaymentMethodChangeEvent::methodDetails(
ScriptState* script_state) const {
if (method_details_.IsEmpty())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
return ScriptValue(script_state,
method_details_.GetAcrossWorld(script_state));
}
......
......@@ -115,7 +115,7 @@ const String& PaymentRequestEvent::instrumentKey() const {
const ScriptValue PaymentRequestEvent::paymentOptions(
ScriptState* script_state) const {
if (!payment_options_)
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
return ScriptValue::From(script_state, payment_options_);
}
......
......@@ -143,7 +143,7 @@ ScriptValue EXTDisjointTimerQuery::getQueryEXT(ScriptState* script_state,
GLenum pname) {
WebGLExtensionScopedContext scoped(this);
if (scoped.IsLost())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
if (pname == GL_QUERY_COUNTER_BITS_EXT) {
if (target == GL_TIMESTAMP_EXT || target == GL_TIME_ELAPSED_EXT) {
......@@ -153,22 +153,22 @@ ScriptValue EXTDisjointTimerQuery::getQueryEXT(ScriptState* script_state,
}
scoped.Context()->SynthesizeGLError(GL_INVALID_ENUM, "getQuery",
"invalid target/pname combination");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
if (target == GL_TIME_ELAPSED_EXT && pname == GL_CURRENT_QUERY) {
return current_elapsed_query_
? WebGLAny(script_state, current_elapsed_query_)
: ScriptValue::CreateNull(script_state);
: ScriptValue::CreateNull(script_state->GetIsolate());
}
if (target == GL_TIMESTAMP_EXT && pname == GL_CURRENT_QUERY) {
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
scoped.Context()->SynthesizeGLError(GL_INVALID_ENUM, "getQuery",
"invalid target/pname combination");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
ScriptValue EXTDisjointTimerQuery::getQueryObjectEXT(ScriptState* script_state,
......@@ -176,15 +176,15 @@ ScriptValue EXTDisjointTimerQuery::getQueryObjectEXT(ScriptState* script_state,
GLenum pname) {
WebGLExtensionScopedContext scoped(this);
if (scoped.IsLost())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
if (!scoped.Context()->ValidateWebGLObject("getQueryObjectEXT", query))
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
if (current_elapsed_query_ == query) {
scoped.Context()->SynthesizeGLError(
GL_INVALID_OPERATION, "getQueryObjectEXT", "query is currently active");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
switch (pname) {
......@@ -202,7 +202,7 @@ ScriptValue EXTDisjointTimerQuery::getQueryObjectEXT(ScriptState* script_state,
break;
}
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
void EXTDisjointTimerQuery::Trace(blink::Visitor* visitor) {
......
......@@ -75,15 +75,15 @@ ScriptValue WebGL2ComputeRenderingContextBase::getProgramInterfaceParameter(
GLenum program_interface,
GLenum pname) {
if (!ValidateWebGLProgramOrShader("getProgramInterfaceParameter", program))
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
if (!ValidateProgramInterface(
"getProgramInterfaceParameter", program_interface))
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
if (program_interface == GL_ATOMIC_COUNTER_BUFFER &&
pname == GL_MAX_NAME_LENGTH) {
SynthesizeGLError(GL_INVALID_OPERATION, "getProgramInterfaceParameter",
"atomic counter resources are not assigned name strings");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
if (program_interface != GL_ATOMIC_COUNTER_BUFFER &&
program_interface != GL_SHADER_STORAGE_BLOCK &&
......@@ -92,7 +92,7 @@ ScriptValue WebGL2ComputeRenderingContextBase::getProgramInterfaceParameter(
SynthesizeGLError(
GL_INVALID_OPERATION, "getProgramInterfaceParameter",
"invalid parameter name for the specified program interface");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
switch (pname) {
......@@ -107,7 +107,7 @@ ScriptValue WebGL2ComputeRenderingContextBase::getProgramInterfaceParameter(
default:
SynthesizeGLError(GL_INVALID_ENUM, "getProgramInterfaceParameter",
"invalid parameter name");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
}
......@@ -346,7 +346,7 @@ ScriptValue WebGL2ComputeRenderingContextBase::getParameter(
ScriptState* script_state,
GLenum pname) {
if (isContextLost())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
switch (pname) {
case GL_SHADING_LANGUAGE_VERSION: {
return WebGLAny(
......@@ -397,14 +397,14 @@ ScriptValue WebGL2ComputeRenderingContextBase::getIndexedParameter(
GLenum target,
GLuint index) {
if (isContextLost())
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
switch (target) {
case GL_ATOMIC_COUNTER_BUFFER_BINDING:
if (index >= bound_indexed_atomic_counter_buffers_.size()) {
SynthesizeGLError(GL_INVALID_VALUE, "getIndexedParameter",
"index out of range");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
return WebGLAny(script_state,
bound_indexed_atomic_counter_buffers_[index].Get());
......@@ -412,7 +412,7 @@ ScriptValue WebGL2ComputeRenderingContextBase::getIndexedParameter(
if (index >= bound_indexed_shader_storage_buffers_.size()) {
SynthesizeGLError(GL_INVALID_VALUE, "getIndexedParameter",
"index out of range");
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
}
return WebGLAny(script_state,
bound_indexed_shader_storage_buffers_[index].Get());
......@@ -620,7 +620,7 @@ ScriptValue WebGL2ComputeRenderingContextBase::WrapLocation(
}
case GL_UNIFORM: {
if (location == -1)
return ScriptValue::CreateNull(script_state);
return ScriptValue::CreateNull(script_state->GetIsolate());
DCHECK_GE(location, 0);
WebGLUniformLocation* uniform_location =
WebGLUniformLocation::Create(program, location);
......
......@@ -244,10 +244,10 @@ ScriptPromise GPUDevice::popErrorScope(ScriptState* script_state,
void GPUDevice::OnPopErrorScopeCallback(ScriptPromiseResolver* resolver,
DawnErrorType type,
const char* message) {
ScriptState* script_state = resolver->GetScriptState();
v8::Isolate* isolate = resolver->GetScriptState()->GetIsolate();
switch (type) {
case DAWN_ERROR_TYPE_NO_ERROR:
resolver->Resolve(ScriptValue::CreateNull(script_state));
resolver->Resolve(ScriptValue::CreateNull(isolate));
break;
case DAWN_ERROR_TYPE_OUT_OF_MEMORY:
resolver->Resolve(GPUOutOfMemoryError::Create());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment