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

Side by Side Diff: third_party/WebKit/Source/bindings/core/v8/ScriptValue.cpp

Issue 2817533003: Replace ASSERT, RELEASE_ASSERT, and ASSERT_NOT_REACHED in bindings (Closed)
Patch Set: fixed dcheck build error Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008, 2009, 2011 Google Inc. All rights reserved. 2 * Copyright (C) 2008, 2009, 2011 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 22 matching lines...) Expand all
33 #include "bindings/core/v8/ScriptState.h" 33 #include "bindings/core/v8/ScriptState.h"
34 #include "bindings/core/v8/SerializedScriptValueFactory.h" 34 #include "bindings/core/v8/SerializedScriptValueFactory.h"
35 #include "bindings/core/v8/V8Binding.h" 35 #include "bindings/core/v8/V8Binding.h"
36 36
37 namespace blink { 37 namespace blink {
38 38
39 v8::Local<v8::Value> ScriptValue::V8Value() const { 39 v8::Local<v8::Value> ScriptValue::V8Value() const {
40 if (IsEmpty()) 40 if (IsEmpty())
41 return v8::Local<v8::Value>(); 41 return v8::Local<v8::Value>();
42 42
43 ASSERT(GetIsolate()->InContext()); 43 DCHECK(GetIsolate()->InContext());
44 44
45 // This is a check to validate that you don't return a ScriptValue to a world 45 // This is a check to validate that you don't return a ScriptValue to a world
46 // different from the world that created the ScriptValue. 46 // different from the world that created the ScriptValue.
47 // Probably this could be: 47 // Probably this could be:
48 // if (&m_scriptState->world() == &DOMWrapperWorld::current(isolate())) 48 // if (&m_scriptState->world() == &DOMWrapperWorld::current(isolate()))
49 // return v8::Local<v8::Value>(); 49 // return v8::Local<v8::Value>();
50 // instead of triggering RELEASE_ASSERT. 50 // instead of triggering RELEASE_ASSERT.
51 RELEASE_ASSERT(&script_state_->World() == 51 CHECK_EQ(&script_state_->World(), &DOMWrapperWorld::Current(GetIsolate()));
52 &DOMWrapperWorld::Current(GetIsolate()));
53 return value_->NewLocal(GetIsolate()); 52 return value_->NewLocal(GetIsolate());
54 } 53 }
55 54
56 v8::Local<v8::Value> ScriptValue::V8ValueFor( 55 v8::Local<v8::Value> ScriptValue::V8ValueFor(
57 ScriptState* target_script_state) const { 56 ScriptState* target_script_state) const {
58 if (IsEmpty()) 57 if (IsEmpty())
59 return v8::Local<v8::Value>(); 58 return v8::Local<v8::Value>();
60 v8::Isolate* isolate = target_script_state->GetIsolate(); 59 v8::Isolate* isolate = target_script_state->GetIsolate();
61 if (&script_state_->World() == &target_script_state->World()) 60 if (&script_state_->World() == &target_script_state->World())
62 return value_->NewLocal(isolate); 61 return value_->NewLocal(isolate);
63 62
64 ASSERT(isolate->InContext()); 63 DCHECK(isolate->InContext());
65 v8::Local<v8::Value> value = value_->NewLocal(isolate); 64 v8::Local<v8::Value> value = value_->NewLocal(isolate);
66 RefPtr<SerializedScriptValue> serialized = 65 RefPtr<SerializedScriptValue> serialized =
67 SerializedScriptValue::SerializeAndSwallowExceptions(isolate, value); 66 SerializedScriptValue::SerializeAndSwallowExceptions(isolate, value);
68 return serialized->Deserialize(isolate); 67 return serialized->Deserialize(isolate);
69 } 68 }
70 69
71 bool ScriptValue::ToString(String& result) const { 70 bool ScriptValue::ToString(String& result) const {
72 if (IsEmpty()) 71 if (IsEmpty())
73 return false; 72 return false;
74 73
75 ScriptState::Scope scope(script_state_.Get()); 74 ScriptState::Scope scope(script_state_.Get());
76 v8::Local<v8::Value> string = V8Value(); 75 v8::Local<v8::Value> string = V8Value();
77 if (string.IsEmpty() || !string->IsString()) 76 if (string.IsEmpty() || !string->IsString())
78 return false; 77 return false;
79 result = ToCoreString(v8::Local<v8::String>::Cast(string)); 78 result = ToCoreString(v8::Local<v8::String>::Cast(string));
80 return true; 79 return true;
81 } 80 }
82 81
83 ScriptValue ScriptValue::CreateNull(ScriptState* script_state) { 82 ScriptValue ScriptValue::CreateNull(ScriptState* script_state) {
84 return ScriptValue(script_state, v8::Null(script_state->GetIsolate())); 83 return ScriptValue(script_state, v8::Null(script_state->GetIsolate()));
85 } 84 }
86 85
87 } // namespace blink 86 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/bindings/core/v8/ScriptValue.h ('k') | third_party/WebKit/Source/bindings/core/v8/ScriptWrappable.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698