OLD | NEW |
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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "bindings/v8/ScriptController.h" | 31 #include "bindings/v8/ScriptController.h" |
32 #include "bindings/v8/V8Binding.h" | 32 #include "bindings/v8/V8Binding.h" |
33 #include "bindings/v8/V8HiddenPropertyName.h" | 33 #include "bindings/v8/V8HiddenPropertyName.h" |
34 #include "core/dom/ScriptExecutionContext.h" | 34 #include "core/dom/ScriptExecutionContext.h" |
35 #include "wtf/Assertions.h" | 35 #include "wtf/Assertions.h" |
36 | 36 |
37 namespace WebCore { | 37 namespace WebCore { |
38 | 38 |
39 V8MutationCallback::V8MutationCallback(v8::Handle<v8::Function> callback, Script
ExecutionContext* context, v8::Handle<v8::Object> owner, v8::Isolate* isolate) | 39 V8MutationCallback::V8MutationCallback(v8::Handle<v8::Function> callback, Script
ExecutionContext* context, v8::Handle<v8::Object> owner, v8::Isolate* isolate) |
40 : ActiveDOMCallback(context) | 40 : ActiveDOMCallback(context) |
41 , m_callback(callback) | 41 , m_callback(isolate, callback) |
42 , m_world(DOMWrapperWorld::current()) | 42 , m_world(DOMWrapperWorld::current()) |
43 , m_isolate(isolate) | 43 , m_isolate(isolate) |
44 { | 44 { |
45 owner->SetHiddenValue(V8HiddenPropertyName::callback(), callback); | 45 owner->SetHiddenValue(V8HiddenPropertyName::callback(), callback); |
46 m_callback.makeWeak(this, &makeWeakCallback); | 46 m_callback.makeWeak(this, &makeWeakCallback); |
47 } | 47 } |
48 | 48 |
49 void V8MutationCallback::call(const Vector<RefPtr<MutationRecord> >& mutations,
MutationObserver* observer) | 49 void V8MutationCallback::call(const Vector<RefPtr<MutationRecord> >& mutations,
MutationObserver* observer) |
50 { | 50 { |
51 if (!canInvokeCallback()) | 51 if (!canInvokeCallback()) |
(...skipping 28 matching lines...) Expand all Loading... |
80 exceptionCatcher.SetVerbose(true); | 80 exceptionCatcher.SetVerbose(true); |
81 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(),
callback, thisObject, 2, argv, m_isolate); | 81 ScriptController::callFunctionWithInstrumentation(scriptExecutionContext(),
callback, thisObject, 2, argv, m_isolate); |
82 } | 82 } |
83 | 83 |
84 void V8MutationCallback::makeWeakCallback(v8::Isolate*, v8::Persistent<v8::Funct
ion>*, V8MutationCallback* callback) | 84 void V8MutationCallback::makeWeakCallback(v8::Isolate*, v8::Persistent<v8::Funct
ion>*, V8MutationCallback* callback) |
85 { | 85 { |
86 callback->m_callback.clear(); | 86 callback->m_callback.clear(); |
87 } | 87 } |
88 | 88 |
89 } // namespace WebCore | 89 } // namespace WebCore |
OLD | NEW |