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

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

Issue 622333002: Flip the true/false result of ScriptState::contextIsValid (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 void V8CustomElementLifecycleCallbacks::created(Element* element) 151 void V8CustomElementLifecycleCallbacks::created(Element* element)
152 { 152 {
153 // FIXME: callbacks while paused should be queued up for execution to 153 // FIXME: callbacks while paused should be queued up for execution to
154 // continue then be delivered in order rather than delivered immediately. 154 // continue then be delivered in order rather than delivered immediately.
155 // Bug 329665 tracks similar behavior for other synchronous events. 155 // Bug 329665 tracks similar behavior for other synchronous events.
156 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped()) 156 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped())
157 return; 157 return;
158 158
159 element->setCustomElementState(Element::Upgraded); 159 element->setCustomElementState(Element::Upgraded);
160 160
161 if (m_scriptState->contextIsValid()) 161 if (!m_scriptState->contextIsValid())
162 return; 162 return;
163 ScriptState::Scope scope(m_scriptState.get()); 163 ScriptState::Scope scope(m_scriptState.get());
164 v8::Isolate* isolate = m_scriptState->isolate(); 164 v8::Isolate* isolate = m_scriptState->isolate();
165 v8::Handle<v8::Context> context = m_scriptState->context(); 165 v8::Handle<v8::Context> context = m_scriptState->context();
166 v8::Handle<v8::Object> receiver = m_scriptState->world().domDataStore().get< V8Element>(element, isolate); 166 v8::Handle<v8::Object> receiver = m_scriptState->world().domDataStore().get< V8Element>(element, isolate);
167 if (!receiver.IsEmpty()) { 167 if (!receiver.IsEmpty()) {
168 // Swizzle the prototype of the existing wrapper. We don't need to 168 // Swizzle the prototype of the existing wrapper. We don't need to
169 // worry about non-existent wrappers; they will get the right 169 // worry about non-existent wrappers; they will get the right
170 // prototype when wrapped. 170 // prototype when wrapped.
171 v8::Handle<v8::Object> prototype = m_prototype.newLocal(isolate); 171 v8::Handle<v8::Object> prototype = m_prototype.newLocal(isolate);
(...skipping 29 matching lines...) Expand all
201 } 201 }
202 202
203 void V8CustomElementLifecycleCallbacks::attributeChanged(Element* element, const AtomicString& name, const AtomicString& oldValue, const AtomicString& newValue) 203 void V8CustomElementLifecycleCallbacks::attributeChanged(Element* element, const AtomicString& name, const AtomicString& oldValue, const AtomicString& newValue)
204 { 204 {
205 // FIXME: callbacks while paused should be queued up for execution to 205 // FIXME: callbacks while paused should be queued up for execution to
206 // continue then be delivered in order rather than delivered immediately. 206 // continue then be delivered in order rather than delivered immediately.
207 // Bug 329665 tracks similar behavior for other synchronous events. 207 // Bug 329665 tracks similar behavior for other synchronous events.
208 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped()) 208 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped())
209 return; 209 return;
210 210
211 if (m_scriptState->contextIsValid()) 211 if (!m_scriptState->contextIsValid())
212 return; 212 return;
213 ScriptState::Scope scope(m_scriptState.get()); 213 ScriptState::Scope scope(m_scriptState.get());
214 v8::Isolate* isolate = m_scriptState->isolate(); 214 v8::Isolate* isolate = m_scriptState->isolate();
215 v8::Handle<v8::Context> context = m_scriptState->context(); 215 v8::Handle<v8::Context> context = m_scriptState->context();
216 v8::Handle<v8::Object> receiver = toV8(element, context->Global(), isolate). As<v8::Object>(); 216 v8::Handle<v8::Object> receiver = toV8(element, context->Global(), isolate). As<v8::Object>();
217 ASSERT(!receiver.IsEmpty()); 217 ASSERT(!receiver.IsEmpty());
218 218
219 v8::Handle<v8::Function> callback = m_attributeChanged.newLocal(isolate); 219 v8::Handle<v8::Function> callback = m_attributeChanged.newLocal(isolate);
220 if (callback.IsEmpty()) 220 if (callback.IsEmpty())
221 return; 221 return;
(...skipping 12 matching lines...) Expand all
234 } 234 }
235 235
236 void V8CustomElementLifecycleCallbacks::call(const ScopedPersistent<v8::Function >& weakCallback, Element* element) 236 void V8CustomElementLifecycleCallbacks::call(const ScopedPersistent<v8::Function >& weakCallback, Element* element)
237 { 237 {
238 // FIXME: callbacks while paused should be queued up for execution to 238 // FIXME: callbacks while paused should be queued up for execution to
239 // continue then be delivered in order rather than delivered immediately. 239 // continue then be delivered in order rather than delivered immediately.
240 // Bug 329665 tracks similar behavior for other synchronous events. 240 // Bug 329665 tracks similar behavior for other synchronous events.
241 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped()) 241 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped())
242 return; 242 return;
243 243
244 if (m_scriptState->contextIsValid()) 244 if (!m_scriptState->contextIsValid())
245 return; 245 return;
246 ScriptState::Scope scope(m_scriptState.get()); 246 ScriptState::Scope scope(m_scriptState.get());
247 v8::Isolate* isolate = m_scriptState->isolate(); 247 v8::Isolate* isolate = m_scriptState->isolate();
248 v8::Handle<v8::Context> context = m_scriptState->context(); 248 v8::Handle<v8::Context> context = m_scriptState->context();
249 v8::Handle<v8::Function> callback = weakCallback.newLocal(isolate); 249 v8::Handle<v8::Function> callback = weakCallback.newLocal(isolate);
250 if (callback.IsEmpty()) 250 if (callback.IsEmpty())
251 return; 251 return;
252 252
253 v8::Handle<v8::Object> receiver = toV8(element, context->Global(), isolate). As<v8::Object>(); 253 v8::Handle<v8::Object> receiver = toV8(element, context->Global(), isolate). As<v8::Object>();
254 ASSERT(!receiver.IsEmpty()); 254 ASSERT(!receiver.IsEmpty());
255 255
256 InspectorInstrumentation::willExecuteCustomElementCallback(element); 256 InspectorInstrumentation::willExecuteCustomElementCallback(element);
257 257
258 v8::TryCatch exceptionCatcher; 258 v8::TryCatch exceptionCatcher;
259 exceptionCatcher.SetVerbose(true); 259 exceptionCatcher.SetVerbose(true);
260 ScriptController::callFunction(executionContext(), callback, receiver, 0, 0, isolate); 260 ScriptController::callFunction(executionContext(), callback, receiver, 0, 0, isolate);
261 } 261 }
262 262
263 } // namespace blink 263 } // namespace blink
OLDNEW
« no previous file with comments | « Source/bindings/core/v8/V8AbstractEventListener.cpp ('k') | Source/bindings/core/v8/V8EventListenerList.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698