| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 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 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 v8::Local<v8::String> key = properties->Get(i)->ToString(); | 257 v8::Local<v8::String> key = properties->Get(i)->ToString(); |
| 258 if (!options->Has(key)) | 258 if (!options->Has(key)) |
| 259 continue; | 259 continue; |
| 260 TOSTRING_DEFAULT(V8StringResource<>, stringKey, key, false); | 260 TOSTRING_DEFAULT(V8StringResource<>, stringKey, key, false); |
| 261 names.append(stringKey); | 261 names.append(stringKey); |
| 262 } | 262 } |
| 263 | 263 |
| 264 return true; | 264 return true; |
| 265 } | 265 } |
| 266 | 266 |
| 267 bool Dictionary::getPropertyNames(Vector<String>& names) const |
| 268 { |
| 269 if (!isObject()) |
| 270 return false; |
| 271 |
| 272 v8::Handle<v8::Object> options = m_options->ToObject(); |
| 273 if (options.IsEmpty()) |
| 274 return false; |
| 275 |
| 276 v8::Local<v8::Array> properties = options->GetPropertyNames(); |
| 277 if (properties.IsEmpty()) |
| 278 return true; |
| 279 for (uint32_t i = 0; i < properties->Length(); ++i) { |
| 280 v8::Local<v8::String> key = properties->Get(i)->ToString(); |
| 281 if (!options->Has(key)) |
| 282 continue; |
| 283 TOSTRING_DEFAULT(V8StringResource<>, stringKey, key, false); |
| 284 names.append(stringKey); |
| 285 } |
| 286 |
| 287 return true; |
| 288 } |
| 289 |
| 267 void Dictionary::ConversionContext::resetPerPropertyContext() | 290 void Dictionary::ConversionContext::resetPerPropertyContext() |
| 268 { | 291 { |
| 269 if (m_dirty) { | 292 if (m_dirty) { |
| 270 m_dirty = false; | 293 m_dirty = false; |
| 271 m_isNullable = false; | 294 m_isNullable = false; |
| 272 m_propertyTypeName = ""; | 295 m_propertyTypeName = ""; |
| 273 } | 296 } |
| 274 } | 297 } |
| 275 | 298 |
| 276 Dictionary::ConversionContext& Dictionary::ConversionContext::setConversionType(
const String& typeName, bool isNullable) | 299 Dictionary::ConversionContext& Dictionary::ConversionContext::setConversionType(
const String& typeName, bool isNullable) |
| 277 { | 300 { |
| 278 ASSERT(!m_dirty); | 301 ASSERT(!m_dirty); |
| 279 m_dirty = true; | 302 m_dirty = true; |
| 280 m_isNullable = isNullable; | 303 m_isNullable = isNullable; |
| 281 m_propertyTypeName = typeName; | 304 m_propertyTypeName = typeName; |
| 282 | 305 |
| 283 return *this; | 306 return *this; |
| 284 } | 307 } |
| 285 | 308 |
| 286 void Dictionary::ConversionContext::throwTypeError(const String& detail) | 309 void Dictionary::ConversionContext::throwTypeError(const String& detail) |
| 287 { | 310 { |
| 288 exceptionState().throwTypeError(detail); | 311 exceptionState().throwTypeError(detail); |
| 289 } | 312 } |
| 290 | 313 |
| 291 } // namespace blink | 314 } // namespace blink |
| OLD | NEW |