| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 // Overwrite the data attribute so it returns the cached result in future in
vocations. | 129 // Overwrite the data attribute so it returns the cached result in future in
vocations. |
| 130 // This custom getter handler will not be called again. | 130 // This custom getter handler will not be called again. |
| 131 v8::PropertyAttribute dataAttr = static_cast<v8::PropertyAttribute>(v8::Dont
Delete | v8::ReadOnly); | 131 v8::PropertyAttribute dataAttr = static_cast<v8::PropertyAttribute>(v8::Dont
Delete | v8::ReadOnly); |
| 132 info.Holder()->ForceSet(v8AtomicString(info.GetIsolate(), "data"), result, d
ataAttr); | 132 info.Holder()->ForceSet(v8AtomicString(info.GetIsolate(), "data"), result, d
ataAttr); |
| 133 v8SetReturnValue(info, result); | 133 v8SetReturnValue(info, result); |
| 134 } | 134 } |
| 135 | 135 |
| 136 void V8MessageEvent::initMessageEventMethodCustom(const v8::FunctionCallbackInfo
<v8::Value>& info) | 136 void V8MessageEvent::initMessageEventMethodCustom(const v8::FunctionCallbackInfo
<v8::Value>& info) |
| 137 { | 137 { |
| 138 MessageEvent* event = V8MessageEvent::toNative(info.Holder()); | 138 MessageEvent* event = V8MessageEvent::toNative(info.Holder()); |
| 139 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, typeArg, info[0]); | 139 TOSTRING_VOID(V8StringResource<>, typeArg, info[0]); |
| 140 V8TRYCATCH_VOID(bool, canBubbleArg, info[1]->BooleanValue()); | 140 TONATIVE_VOID(bool, canBubbleArg, info[1]->BooleanValue()); |
| 141 V8TRYCATCH_VOID(bool, cancelableArg, info[2]->BooleanValue()); | 141 TONATIVE_VOID(bool, cancelableArg, info[2]->BooleanValue()); |
| 142 v8::Handle<v8::Value> dataArg = info[3]; | 142 v8::Handle<v8::Value> dataArg = info[3]; |
| 143 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, originArg, info[4])
; | 143 TOSTRING_VOID(V8StringResource<>, originArg, info[4]); |
| 144 V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID(V8StringResource<>, lastEventIdArg, inf
o[5]); | 144 TOSTRING_VOID(V8StringResource<>, lastEventIdArg, info[5]); |
| 145 DOMWindow* sourceArg = toDOMWindow(info[6], info.GetIsolate()); | 145 DOMWindow* sourceArg = toDOMWindow(info[6], info.GetIsolate()); |
| 146 OwnPtr<MessagePortArray> portArray; | 146 OwnPtr<MessagePortArray> portArray; |
| 147 const int portArrayIndex = 7; | 147 const int portArrayIndex = 7; |
| 148 if (!isUndefinedOrNull(info[portArrayIndex])) { | 148 if (!isUndefinedOrNull(info[portArrayIndex])) { |
| 149 portArray = adoptPtr(new MessagePortArray); | 149 portArray = adoptPtr(new MessagePortArray); |
| 150 bool success = false; | 150 bool success = false; |
| 151 *portArray = toRefPtrNativeArray<MessagePort, V8MessagePort>(info[portAr
rayIndex], portArrayIndex + 1, info.GetIsolate(), &success); | 151 *portArray = toRefPtrNativeArray<MessagePort, V8MessagePort>(info[portAr
rayIndex], portArrayIndex + 1, info.GetIsolate(), &success); |
| 152 if (!success) | 152 if (!success) |
| 153 return; | 153 return; |
| 154 } | 154 } |
| 155 event->initMessageEvent(typeArg, canBubbleArg, cancelableArg, originArg, las
tEventIdArg, sourceArg, portArray.release()); | 155 event->initMessageEvent(typeArg, canBubbleArg, cancelableArg, originArg, las
tEventIdArg, sourceArg, portArray.release()); |
| 156 | 156 |
| 157 if (!dataArg.IsEmpty()) { | 157 if (!dataArg.IsEmpty()) { |
| 158 V8HiddenValue::setHiddenValue(info.GetIsolate(), info.Holder(), V8Hidden
Value::data(info.GetIsolate()), dataArg); | 158 V8HiddenValue::setHiddenValue(info.GetIsolate(), info.Holder(), V8Hidden
Value::data(info.GetIsolate()), dataArg); |
| 159 if (DOMWrapperWorld::current(info.GetIsolate()).isIsolatedWorld()) | 159 if (DOMWrapperWorld::current(info.GetIsolate()).isIsolatedWorld()) |
| 160 event->setSerializedData(SerializedScriptValue::createAndSwallowExce
ptions(dataArg, info.GetIsolate())); | 160 event->setSerializedData(SerializedScriptValue::createAndSwallowExce
ptions(dataArg, info.GetIsolate())); |
| 161 } | 161 } |
| 162 } | 162 } |
| 163 | 163 |
| 164 void V8MessageEvent::webkitInitMessageEventMethodCustom(const v8::FunctionCallba
ckInfo<v8::Value>& info) | 164 void V8MessageEvent::webkitInitMessageEventMethodCustom(const v8::FunctionCallba
ckInfo<v8::Value>& info) |
| 165 { | 165 { |
| 166 initMessageEventMethodCustom(info); | 166 initMessageEventMethodCustom(info); |
| 167 } | 167 } |
| 168 | 168 |
| 169 | 169 |
| 170 } // namespace WebCore | 170 } // namespace WebCore |
| OLD | NEW |