Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: Source/bindings/core/v8/DictionaryHelperForCore.cpp

Issue 1113523002: Use Local<> instead of Handle<> (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/bindings/core/v8/DOMWrapperWorld.h ('k') | Source/bindings/core/v8/ExceptionState.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 252
253 template <> 253 template <>
254 bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, RefP trWillBeMember<TrackBase>& value) 254 bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, RefP trWillBeMember<TrackBase>& value)
255 { 255 {
256 v8::Local<v8::Value> v8Value; 256 v8::Local<v8::Value> v8Value;
257 if (!dictionary.get(key, v8Value)) 257 if (!dictionary.get(key, v8Value))
258 return false; 258 return false;
259 259
260 TrackBase* source = 0; 260 TrackBase* source = 0;
261 if (v8Value->IsObject()) { 261 if (v8Value->IsObject()) {
262 v8::Handle<v8::Object> wrapper = v8::Handle<v8::Object>::Cast(v8Value); 262 v8::Local<v8::Object> wrapper = v8::Local<v8::Object>::Cast(v8Value);
263 263
264 // FIXME: this will need to be changed so it can also return an AudioTra ck or a VideoTrack once 264 // FIXME: this will need to be changed so it can also return an AudioTra ck or a VideoTrack once
265 // we add them. 265 // we add them.
266 v8::Handle<v8::Object> track = V8TextTrack::findInstanceInPrototypeChain (wrapper, dictionary.isolate()); 266 v8::Local<v8::Object> track = V8TextTrack::findInstanceInPrototypeChain( wrapper, dictionary.isolate());
267 if (!track.IsEmpty()) 267 if (!track.IsEmpty())
268 source = V8TextTrack::toImpl(track); 268 source = V8TextTrack::toImpl(track);
269 } 269 }
270 value = source; 270 value = source;
271 return true; 271 return true;
272 } 272 }
273 273
274 template <> 274 template <>
275 bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, RefP trWillBeMember<EventTarget>& value) 275 bool DictionaryHelper::get(const Dictionary& dictionary, const String& key, RefP trWillBeMember<EventTarget>& value)
276 { 276 {
277 v8::Local<v8::Value> v8Value; 277 v8::Local<v8::Value> v8Value;
278 if (!dictionary.get(key, v8Value)) 278 if (!dictionary.get(key, v8Value))
279 return false; 279 return false;
280 280
281 value = nullptr; 281 value = nullptr;
282 // We need to handle a DOMWindow specially, because a DOMWindow wrapper 282 // We need to handle a DOMWindow specially, because a DOMWindow wrapper
283 // exists on a prototype chain of v8Value. 283 // exists on a prototype chain of v8Value.
284 if (v8Value->IsObject()) { 284 if (v8Value->IsObject()) {
285 v8::Handle<v8::Object> wrapper = v8::Handle<v8::Object>::Cast(v8Value); 285 v8::Local<v8::Object> wrapper = v8::Local<v8::Object>::Cast(v8Value);
286 v8::Handle<v8::Object> window = V8Window::findInstanceInPrototypeChain(w rapper, dictionary.isolate()); 286 v8::Local<v8::Object> window = V8Window::findInstanceInPrototypeChain(wr apper, dictionary.isolate());
287 if (!window.IsEmpty()) { 287 if (!window.IsEmpty()) {
288 value = toWrapperTypeInfo(window)->toEventTarget(window); 288 value = toWrapperTypeInfo(window)->toEventTarget(window);
289 return true; 289 return true;
290 } 290 }
291 } 291 }
292 292
293 if (V8DOMWrapper::isWrapper(dictionary.isolate(), v8Value)) { 293 if (V8DOMWrapper::isWrapper(dictionary.isolate(), v8Value)) {
294 v8::Handle<v8::Object> wrapper = v8::Handle<v8::Object>::Cast(v8Value); 294 v8::Local<v8::Object> wrapper = v8::Local<v8::Object>::Cast(v8Value);
295 value = toWrapperTypeInfo(wrapper)->toEventTarget(wrapper); 295 value = toWrapperTypeInfo(wrapper)->toEventTarget(wrapper);
296 } 296 }
297 return true; 297 return true;
298 } 298 }
299 299
300 template <> 300 template <>
301 CORE_EXPORT bool DictionaryHelper::get(const Dictionary& dictionary, const Strin g& key, Vector<String>& value) 301 CORE_EXPORT bool DictionaryHelper::get(const Dictionary& dictionary, const Strin g& key, Vector<String>& value)
302 { 302 {
303 v8::Local<v8::Value> v8Value; 303 v8::Local<v8::Value> v8Value;
304 if (!dictionary.get(key, v8Value)) 304 if (!dictionary.get(key, v8Value))
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 } 400 }
401 401
402 template CORE_EXPORT bool DictionaryHelper::get(const Dictionary&, const String& key, RefPtr<DOMUint8Array>& value); 402 template CORE_EXPORT bool DictionaryHelper::get(const Dictionary&, const String& key, RefPtr<DOMUint8Array>& value);
403 403
404 template <typename T> 404 template <typename T>
405 struct IntegralTypeTraits { 405 struct IntegralTypeTraits {
406 }; 406 };
407 407
408 template <> 408 template <>
409 struct IntegralTypeTraits<uint8_t> { 409 struct IntegralTypeTraits<uint8_t> {
410 static inline uint8_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate) 410 static inline uint8_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionSt ate)
411 { 411 {
412 return toUInt8(isolate, value, configuration, exceptionState); 412 return toUInt8(isolate, value, configuration, exceptionState);
413 } 413 }
414 static const String typeName() { return "UInt8"; } 414 static const String typeName() { return "UInt8"; }
415 }; 415 };
416 416
417 template <> 417 template <>
418 struct IntegralTypeTraits<int8_t> { 418 struct IntegralTypeTraits<int8_t> {
419 static inline int8_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionSt ate) 419 static inline int8_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> v alue, IntegerConversionConfiguration configuration, ExceptionState& exceptionSta te)
420 { 420 {
421 return toInt8(isolate, value, configuration, exceptionState); 421 return toInt8(isolate, value, configuration, exceptionState);
422 } 422 }
423 static const String typeName() { return "Int8"; } 423 static const String typeName() { return "Int8"; }
424 }; 424 };
425 425
426 template <> 426 template <>
427 struct IntegralTypeTraits<unsigned short> { 427 struct IntegralTypeTraits<unsigned short> {
428 static inline uint16_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State) 428 static inline uint16_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
429 { 429 {
430 return toUInt16(isolate, value, configuration, exceptionState); 430 return toUInt16(isolate, value, configuration, exceptionState);
431 } 431 }
432 static const String typeName() { return "UInt16"; } 432 static const String typeName() { return "UInt16"; }
433 }; 433 };
434 434
435 template <> 435 template <>
436 struct IntegralTypeTraits<short> { 436 struct IntegralTypeTraits<short> {
437 static inline int16_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate) 437 static inline int16_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionSt ate)
438 { 438 {
439 return toInt16(isolate, value, configuration, exceptionState); 439 return toInt16(isolate, value, configuration, exceptionState);
440 } 440 }
441 static const String typeName() { return "Int16"; } 441 static const String typeName() { return "Int16"; }
442 }; 442 };
443 443
444 template <> 444 template <>
445 struct IntegralTypeTraits<unsigned> { 445 struct IntegralTypeTraits<unsigned> {
446 static inline uint32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State) 446 static inline uint32_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
447 { 447 {
448 return toUInt32(isolate, value, configuration, exceptionState); 448 return toUInt32(isolate, value, configuration, exceptionState);
449 } 449 }
450 static const String typeName() { return "UInt32"; } 450 static const String typeName() { return "UInt32"; }
451 }; 451 };
452 452
453 template <> 453 template <>
454 struct IntegralTypeTraits<unsigned long> { 454 struct IntegralTypeTraits<unsigned long> {
455 static inline uint32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State) 455 static inline uint32_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
456 { 456 {
457 return toUInt32(isolate, value, configuration, exceptionState); 457 return toUInt32(isolate, value, configuration, exceptionState);
458 } 458 }
459 static const String typeName() { return "UInt32"; } 459 static const String typeName() { return "UInt32"; }
460 }; 460 };
461 461
462 template <> 462 template <>
463 struct IntegralTypeTraits<int> { 463 struct IntegralTypeTraits<int> {
464 static inline int32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate) 464 static inline int32_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionSt ate)
465 { 465 {
466 return toInt32(isolate, value, configuration, exceptionState); 466 return toInt32(isolate, value, configuration, exceptionState);
467 } 467 }
468 static const String typeName() { return "Int32"; } 468 static const String typeName() { return "Int32"; }
469 }; 469 };
470 470
471 template <> 471 template <>
472 struct IntegralTypeTraits<long> { 472 struct IntegralTypeTraits<long> {
473 static inline int32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate) 473 static inline int32_t toIntegral(v8::Isolate* isolate, v8::Local<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionSt ate)
474 { 474 {
475 return toInt32(isolate, value, configuration, exceptionState); 475 return toInt32(isolate, value, configuration, exceptionState);
476 } 476 }
477 static const String typeName() { return "Int32"; } 477 static const String typeName() { return "Int32"; }
478 }; 478 };
479 479
480 template <> 480 template <>
481 struct IntegralTypeTraits<unsigned long long> { 481 struct IntegralTypeTraits<unsigned long long> {
482 static inline unsigned long long toIntegral(v8::Isolate* isolate, v8::Handle <v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState) 482 static inline unsigned long long toIntegral(v8::Isolate* isolate, v8::Local< v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
483 { 483 {
484 return toUInt64(isolate, value, configuration, exceptionState); 484 return toUInt64(isolate, value, configuration, exceptionState);
485 } 485 }
486 static const String typeName() { return "UInt64"; } 486 static const String typeName() { return "UInt64"; }
487 }; 487 };
488 488
489 template <> 489 template <>
490 struct IntegralTypeTraits<long long> { 490 struct IntegralTypeTraits<long long> {
491 static inline long long toIntegral(v8::Isolate* isolate, v8::Handle<v8::Valu e> value, IntegerConversionConfiguration configuration, ExceptionState& exceptio nState) 491 static inline long long toIntegral(v8::Isolate* isolate, v8::Local<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State)
492 { 492 {
493 return toInt64(isolate, value, configuration, exceptionState); 493 return toInt64(isolate, value, configuration, exceptionState);
494 } 494 }
495 static const String typeName() { return "Int64"; } 495 static const String typeName() { return "Int64"; }
496 }; 496 };
497 497
498 template<typename T> 498 template<typename T>
499 bool DictionaryHelper::convert(const Dictionary& dictionary, Dictionary::Convers ionContext& context, const String& key, T& value) 499 bool DictionaryHelper::convert(const Dictionary& dictionary, Dictionary::Convers ionContext& context, const String& key, T& value)
500 { 500 {
501 Dictionary::ConversionContextScope scope(context); 501 Dictionary::ConversionContextScope scope(context);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 541
542 value = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(v8Value, key, dictionary.isolate(), context.exceptionState()); 542 value = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(v8Value, key, dictionary.isolate(), context.exceptionState());
543 543
544 if (context.exceptionState().throwIfNeeded()) 544 if (context.exceptionState().throwIfNeeded())
545 return false; 545 return false;
546 546
547 return true; 547 return true;
548 } 548 }
549 549
550 } // namespace blink 550 } // namespace blink
OLDNEW
« no previous file with comments | « Source/bindings/core/v8/DOMWrapperWorld.h ('k') | Source/bindings/core/v8/ExceptionState.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698