OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009 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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 tryCatch.Reset(); | 136 tryCatch.Reset(); |
137 | 137 |
138 // Restore the old event. This must be done for all exit paths through t
his method. | 138 // Restore the old event. This must be done for all exit paths through t
his method. |
139 if (savedEvent.IsEmpty()) | 139 if (savedEvent.IsEmpty()) |
140 V8HiddenValue::setHiddenValue(v8Context->GetIsolate(), v8Context->Gl
obal(), V8HiddenValue::event(isolate), v8::Undefined(v8Context->GetIsolate())); | 140 V8HiddenValue::setHiddenValue(v8Context->GetIsolate(), v8Context->Gl
obal(), V8HiddenValue::event(isolate), v8::Undefined(v8Context->GetIsolate())); |
141 else | 141 else |
142 V8HiddenValue::setHiddenValue(v8Context->GetIsolate(), v8Context->Gl
obal(), V8HiddenValue::event(isolate), savedEvent); | 142 V8HiddenValue::setHiddenValue(v8Context->GetIsolate(), v8Context->Gl
obal(), V8HiddenValue::event(isolate), savedEvent); |
143 tryCatch.Reset(); | 143 tryCatch.Reset(); |
144 } | 144 } |
145 | 145 |
146 ASSERT(!handleOutOfMemory() || returnValue.IsEmpty()); | |
147 | |
148 if (returnValue.IsEmpty()) | 146 if (returnValue.IsEmpty()) |
149 return; | 147 return; |
150 | 148 |
151 if (m_isAttribute && !returnValue->IsNull() && !returnValue->IsUndefined() &
& event->isBeforeUnloadEvent()) { | 149 if (m_isAttribute && !returnValue->IsNull() && !returnValue->IsUndefined() &
& event->isBeforeUnloadEvent()) { |
152 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringReturnVal
ue, returnValue); | 150 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, stringReturnVal
ue, returnValue); |
153 toBeforeUnloadEvent(event)->setReturnValue(stringReturnValue); | 151 toBeforeUnloadEvent(event)->setReturnValue(stringReturnValue); |
154 } | 152 } |
155 | 153 |
156 if (m_isAttribute && shouldPreventDefault(returnValue)) | 154 if (m_isAttribute && shouldPreventDefault(returnValue)) |
157 event->preventDefault(); | 155 event->preventDefault(); |
(...skipping 24 matching lines...) Expand all Loading... |
182 { | 180 { |
183 return m_isolate->InContext() && m_world == DOMWrapperWorld::current(m_isola
te); | 181 return m_isolate->InContext() && m_world == DOMWrapperWorld::current(m_isola
te); |
184 } | 182 } |
185 | 183 |
186 void V8AbstractEventListener::setWeakCallback(const v8::WeakCallbackData<v8::Obj
ect, V8AbstractEventListener> &data) | 184 void V8AbstractEventListener::setWeakCallback(const v8::WeakCallbackData<v8::Obj
ect, V8AbstractEventListener> &data) |
187 { | 185 { |
188 data.GetParameter()->m_listener.clear(); | 186 data.GetParameter()->m_listener.clear(); |
189 } | 187 } |
190 | 188 |
191 } // namespace WebCore | 189 } // namespace WebCore |
OLD | NEW |