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

Side by Side Diff: Source/bindings/v8/V8CustomElementLifecycleCallbacks.cpp

Issue 23470004: Have handleMaxRecursionDepthExceeded() take an isolate in argument (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 if (callback.IsEmpty()) 176 if (callback.IsEmpty())
177 return; 177 return;
178 178
179 if (receiver.IsEmpty()) 179 if (receiver.IsEmpty())
180 receiver = toV8(element, context->Global(), isolate).As<v8::Object>(); 180 receiver = toV8(element, context->Global(), isolate).As<v8::Object>();
181 181
182 ASSERT(!receiver.IsEmpty()); 182 ASSERT(!receiver.IsEmpty());
183 183
184 v8::TryCatch exceptionCatcher; 184 v8::TryCatch exceptionCatcher;
185 exceptionCatcher.SetVerbose(true); 185 exceptionCatcher.SetVerbose(true);
186 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(), callback, receiver, 0, 0); 186 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(), callback, receiver, 0, 0, isolate);
187 } 187 }
188 188
189 void V8CustomElementLifecycleCallbacks::enteredDocument(Element* element) 189 void V8CustomElementLifecycleCallbacks::enteredDocument(Element* element)
190 { 190 {
191 call(m_enteredDocument, element); 191 call(m_enteredDocument, element);
192 } 192 }
193 193
194 void V8CustomElementLifecycleCallbacks::leftDocument(Element* element) 194 void V8CustomElementLifecycleCallbacks::leftDocument(Element* element)
195 { 195 {
196 call(m_leftDocument, element); 196 call(m_leftDocument, element);
(...skipping 20 matching lines...) Expand all
217 return; 217 return;
218 218
219 v8::Handle<v8::Value> argv[] = { 219 v8::Handle<v8::Value> argv[] = {
220 v8String(name, isolate), 220 v8String(name, isolate),
221 oldValue.isNull() ? v8::Handle<v8::Value>(v8::Null()) : v8::Handle<v8::V alue>(v8String(oldValue, isolate)), 221 oldValue.isNull() ? v8::Handle<v8::Value>(v8::Null()) : v8::Handle<v8::V alue>(v8String(oldValue, isolate)),
222 newValue.isNull() ? v8::Handle<v8::Value>(v8::Null()) : v8::Handle<v8::V alue>(v8String(newValue, isolate)) 222 newValue.isNull() ? v8::Handle<v8::Value>(v8::Null()) : v8::Handle<v8::V alue>(v8String(newValue, isolate))
223 }; 223 };
224 224
225 v8::TryCatch exceptionCatcher; 225 v8::TryCatch exceptionCatcher;
226 exceptionCatcher.SetVerbose(true); 226 exceptionCatcher.SetVerbose(true);
227 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(), callback, receiver, WTF_ARRAY_LENGTH(argv), argv); 227 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(), callback, receiver, WTF_ARRAY_LENGTH(argv), argv, isolate);
228 } 228 }
229 229
230 void V8CustomElementLifecycleCallbacks::call(const ScopedPersistent<v8::Function >& weakCallback, Element* element) 230 void V8CustomElementLifecycleCallbacks::call(const ScopedPersistent<v8::Function >& weakCallback, Element* element)
231 { 231 {
232 if (!canInvokeCallback()) 232 if (!canInvokeCallback())
233 return; 233 return;
234 234
235 v8::HandleScope handleScope(getIsolateFromScriptExecutionContext(scriptExecu tionContext())); 235 v8::HandleScope handleScope(getIsolateFromScriptExecutionContext(scriptExecu tionContext()));
236 v8::Handle<v8::Context> context = toV8Context(scriptExecutionContext(), m_wo rld.get()); 236 v8::Handle<v8::Context> context = toV8Context(scriptExecutionContext(), m_wo rld.get());
237 if (context.IsEmpty()) 237 if (context.IsEmpty())
238 return; 238 return;
239 239
240 v8::Context::Scope scope(context); 240 v8::Context::Scope scope(context);
241 v8::Isolate* isolate = context->GetIsolate(); 241 v8::Isolate* isolate = context->GetIsolate();
242 242
243 v8::Handle<v8::Function> callback = weakCallback.newLocal(isolate); 243 v8::Handle<v8::Function> callback = weakCallback.newLocal(isolate);
244 if (callback.IsEmpty()) 244 if (callback.IsEmpty())
245 return; 245 return;
246 246
247 v8::Handle<v8::Object> receiver = toV8(element, context->Global(), isolate). As<v8::Object>(); 247 v8::Handle<v8::Object> receiver = toV8(element, context->Global(), isolate). As<v8::Object>();
248 ASSERT(!receiver.IsEmpty()); 248 ASSERT(!receiver.IsEmpty());
249 249
250 v8::TryCatch exceptionCatcher; 250 v8::TryCatch exceptionCatcher;
251 exceptionCatcher.SetVerbose(true); 251 exceptionCatcher.SetVerbose(true);
252 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(), callback, receiver, 0, 0); 252 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(), callback, receiver, 0, 0, isolate);
253 } 253 }
254 254
255 } // namespace WebCore 255 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698