OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007-2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2007-2011 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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 return; | 203 return; |
204 | 204 |
205 CSSStyleDeclaration* impl = V8CSSStyleDeclaration::toNative(info.Holder()); | 205 CSSStyleDeclaration* impl = V8CSSStyleDeclaration::toNative(info.Holder()); |
206 RefPtrWillBeRawPtr<CSSValue> cssValue = impl->getPropertyCSSValueInternal(st
atic_cast<CSSPropertyID>(propInfo->propID)); | 206 RefPtrWillBeRawPtr<CSSValue> cssValue = impl->getPropertyCSSValueInternal(st
atic_cast<CSSPropertyID>(propInfo->propID)); |
207 if (cssValue) { | 207 if (cssValue) { |
208 v8SetReturnValueStringOrNull(info, cssValue->cssText(), info.GetIsolate(
)); | 208 v8SetReturnValueStringOrNull(info, cssValue->cssText(), info.GetIsolate(
)); |
209 return; | 209 return; |
210 } | 210 } |
211 | 211 |
212 String result = impl->getPropertyValueInternal(static_cast<CSSPropertyID>(pr
opInfo->propID)); | 212 String result = impl->getPropertyValueInternal(static_cast<CSSPropertyID>(pr
opInfo->propID)); |
213 if (result.isNull()) | |
214 result = ""; // convert null to empty string. | |
215 | |
216 v8SetReturnValueString(info, result, info.GetIsolate()); | 213 v8SetReturnValueString(info, result, info.GetIsolate()); |
217 } | 214 } |
218 | 215 |
219 void V8CSSStyleDeclaration::namedPropertySetterCustom(v8::Local<v8::String> name
, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info) | 216 void V8CSSStyleDeclaration::namedPropertySetterCustom(v8::Local<v8::String> name
, v8::Local<v8::Value> value, const v8::PropertyCallbackInfo<v8::Value>& info) |
220 { | 217 { |
221 CSSStyleDeclaration* impl = V8CSSStyleDeclaration::toNative(info.Holder()); | 218 CSSStyleDeclaration* impl = V8CSSStyleDeclaration::toNative(info.Holder()); |
222 CSSPropertyInfo* propInfo = cssPropertyInfo(name); | 219 CSSPropertyInfo* propInfo = cssPropertyInfo(name); |
223 if (!propInfo) | 220 if (!propInfo) |
224 return; | 221 return; |
225 | 222 |
226 TOSTRING_VOID(V8StringResource<WithNullCheck>, propertyValue, value); | 223 TOSTRING_VOID(V8StringResource<WithNullCheck>, propertyValue, value); |
227 ExceptionState exceptionState(ExceptionState::SetterContext, getPropertyName
(static_cast<CSSPropertyID>(propInfo->propID)), "CSSStyleDeclaration", info.Hold
er(), info.GetIsolate()); | 224 ExceptionState exceptionState(ExceptionState::SetterContext, getPropertyName
(static_cast<CSSPropertyID>(propInfo->propID)), "CSSStyleDeclaration", info.Hold
er(), info.GetIsolate()); |
228 impl->setPropertyInternal(static_cast<CSSPropertyID>(propInfo->propID), prop
ertyValue, false, exceptionState); | 225 impl->setPropertyInternal(static_cast<CSSPropertyID>(propInfo->propID), prop
ertyValue, false, exceptionState); |
229 | 226 |
230 if (exceptionState.throwIfNeeded()) | 227 if (exceptionState.throwIfNeeded()) |
231 return; | 228 return; |
232 | 229 |
233 v8SetReturnValue(info, value); | 230 v8SetReturnValue(info, value); |
234 } | 231 } |
235 | 232 |
236 } // namespace WebCore | 233 } // namespace WebCore |
OLD | NEW |