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

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

Issue 1013643002: [bindings] Make sure v8::Isolate is being passed to toXXX() conversion routines as argument. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 9 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 | « no previous file | Source/bindings/core/v8/PrivateScriptRunner.cpp » ('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 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 }; 423 };
424 424
425 template CORE_EXPORT bool DictionaryHelper::get(const Dictionary&, const String& key, RefPtr<DOMUint8Array>& value); 425 template CORE_EXPORT bool DictionaryHelper::get(const Dictionary&, const String& key, RefPtr<DOMUint8Array>& value);
426 426
427 template <typename T> 427 template <typename T>
428 struct IntegralTypeTraits { 428 struct IntegralTypeTraits {
429 }; 429 };
430 430
431 template <> 431 template <>
432 struct IntegralTypeTraits<uint8_t> { 432 struct IntegralTypeTraits<uint8_t> {
433 static inline uint8_t toIntegral(v8::Handle<v8::Value> value, IntegerConvers ionConfiguration configuration, ExceptionState& exceptionState) 433 static inline uint8_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
434 { 434 {
435 return toUInt8(value, configuration, exceptionState); 435 return toUInt8(isolate, value, configuration, exceptionState);
436 } 436 }
437 static const String typeName() { return "UInt8"; } 437 static const String typeName() { return "UInt8"; }
438 }; 438 };
439 439
440 template <> 440 template <>
441 struct IntegralTypeTraits<int8_t> { 441 struct IntegralTypeTraits<int8_t> {
442 static inline int8_t toIntegral(v8::Handle<v8::Value> value, IntegerConversi onConfiguration configuration, ExceptionState& exceptionState) 442 static inline int8_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionSt ate)
443 { 443 {
444 return toInt8(value, configuration, exceptionState); 444 return toInt8(isolate, value, configuration, exceptionState);
445 } 445 }
446 static const String typeName() { return "Int8"; } 446 static const String typeName() { return "Int8"; }
447 }; 447 };
448 448
449 template <> 449 template <>
450 struct IntegralTypeTraits<unsigned short> { 450 struct IntegralTypeTraits<unsigned short> {
451 static inline uint16_t toIntegral(v8::Handle<v8::Value> value, IntegerConver sionConfiguration configuration, ExceptionState& exceptionState) 451 static inline uint16_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State)
452 { 452 {
453 return toUInt16(value, configuration, exceptionState); 453 return toUInt16(isolate, value, configuration, exceptionState);
454 } 454 }
455 static const String typeName() { return "UInt16"; } 455 static const String typeName() { return "UInt16"; }
456 }; 456 };
457 457
458 template <> 458 template <>
459 struct IntegralTypeTraits<short> { 459 struct IntegralTypeTraits<short> {
460 static inline int16_t toIntegral(v8::Handle<v8::Value> value, IntegerConvers ionConfiguration configuration, ExceptionState& exceptionState) 460 static inline int16_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
461 { 461 {
462 return toInt16(value, configuration, exceptionState); 462 return toInt16(isolate, value, configuration, exceptionState);
463 } 463 }
464 static const String typeName() { return "Int16"; } 464 static const String typeName() { return "Int16"; }
465 }; 465 };
466 466
467 template <> 467 template <>
468 struct IntegralTypeTraits<unsigned> { 468 struct IntegralTypeTraits<unsigned> {
469 static inline uint32_t toIntegral(v8::Handle<v8::Value> value, IntegerConver sionConfiguration configuration, ExceptionState& exceptionState) 469 static inline uint32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State)
470 { 470 {
471 return toUInt32(value, configuration, exceptionState); 471 return toUInt32(isolate, value, configuration, exceptionState);
472 } 472 }
473 static const String typeName() { return "UInt32"; } 473 static const String typeName() { return "UInt32"; }
474 }; 474 };
475 475
476 template <> 476 template <>
477 struct IntegralTypeTraits<unsigned long> { 477 struct IntegralTypeTraits<unsigned long> {
478 static inline uint32_t toIntegral(v8::Handle<v8::Value> value, IntegerConver sionConfiguration configuration, ExceptionState& exceptionState) 478 static inline uint32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value > value, IntegerConversionConfiguration configuration, ExceptionState& exception State)
479 { 479 {
480 return toUInt32(value, configuration, exceptionState); 480 return toUInt32(isolate, value, configuration, exceptionState);
481 } 481 }
482 static const String typeName() { return "UInt32"; } 482 static const String typeName() { return "UInt32"; }
483 }; 483 };
484 484
485 template <> 485 template <>
486 struct IntegralTypeTraits<int> { 486 struct IntegralTypeTraits<int> {
487 static inline int32_t toIntegral(v8::Handle<v8::Value> value, IntegerConvers ionConfiguration configuration, ExceptionState& exceptionState) 487 static inline int32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
488 { 488 {
489 return toInt32(value, configuration, exceptionState); 489 return toInt32(isolate, value, configuration, exceptionState);
490 } 490 }
491 static const String typeName() { return "Int32"; } 491 static const String typeName() { return "Int32"; }
492 }; 492 };
493 493
494 template <> 494 template <>
495 struct IntegralTypeTraits<long> { 495 struct IntegralTypeTraits<long> {
496 static inline int32_t toIntegral(v8::Handle<v8::Value> value, IntegerConvers ionConfiguration configuration, ExceptionState& exceptionState) 496 static inline int32_t toIntegral(v8::Isolate* isolate, v8::Handle<v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionS tate)
497 { 497 {
498 return toInt32(value, configuration, exceptionState); 498 return toInt32(isolate, value, configuration, exceptionState);
499 } 499 }
500 static const String typeName() { return "Int32"; } 500 static const String typeName() { return "Int32"; }
501 }; 501 };
502 502
503 template <> 503 template <>
504 struct IntegralTypeTraits<unsigned long long> { 504 struct IntegralTypeTraits<unsigned long long> {
505 static inline unsigned long long toIntegral(v8::Handle<v8::Value> value, Int egerConversionConfiguration configuration, ExceptionState& exceptionState) 505 static inline unsigned long long toIntegral(v8::Isolate* isolate, v8::Handle <v8::Value> value, IntegerConversionConfiguration configuration, ExceptionState& exceptionState)
506 { 506 {
507 return toUInt64(value, configuration, exceptionState); 507 return toUInt64(isolate, value, configuration, exceptionState);
508 } 508 }
509 static const String typeName() { return "UInt64"; } 509 static const String typeName() { return "UInt64"; }
510 }; 510 };
511 511
512 template <> 512 template <>
513 struct IntegralTypeTraits<long long> { 513 struct IntegralTypeTraits<long long> {
514 static inline long long toIntegral(v8::Handle<v8::Value> value, IntegerConve rsionConfiguration configuration, ExceptionState& exceptionState) 514 static inline long long toIntegral(v8::Isolate* isolate, v8::Handle<v8::Valu e> value, IntegerConversionConfiguration configuration, ExceptionState& exceptio nState)
515 { 515 {
516 return toInt64(value, configuration, exceptionState); 516 return toInt64(isolate, value, configuration, exceptionState);
517 } 517 }
518 static const String typeName() { return "Int64"; } 518 static const String typeName() { return "Int64"; }
519 }; 519 };
520 520
521 template<typename T> 521 template<typename T>
522 bool DictionaryHelper::convert(const Dictionary& dictionary, Dictionary::Convers ionContext& context, const String& key, T& value) 522 bool DictionaryHelper::convert(const Dictionary& dictionary, Dictionary::Convers ionContext& context, const String& key, T& value)
523 { 523 {
524 Dictionary::ConversionContextScope scope(context); 524 Dictionary::ConversionContextScope scope(context);
525 525
526 v8::Local<v8::Value> v8Value; 526 v8::Local<v8::Value> v8Value;
527 if (!dictionary.get(key, v8Value)) 527 if (!dictionary.get(key, v8Value))
528 return true; 528 return true;
529 529
530 value = IntegralTypeTraits<T>::toIntegral(v8Value, NormalConversion, context .exceptionState()); 530 value = IntegralTypeTraits<T>::toIntegral(dictionary.isolate(), v8Value, Nor malConversion, context.exceptionState());
531 if (context.exceptionState().throwIfNeeded()) 531 if (context.exceptionState().throwIfNeeded())
532 return false; 532 return false;
533 533
534 return true; 534 return true;
535 } 535 }
536 536
537 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, uint8_t& value); 537 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, uint8_t& value);
538 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, int8_t& value); 538 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, int8_t& value);
539 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, unsigned short& value); 539 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, unsigned short& value);
540 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, short& value); 540 template bool DictionaryHelper::convert(const Dictionary&, Dictionary::Conversio nContext&, const String& key, short& value);
(...skipping 23 matching lines...) Expand all
564 564
565 value = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(v8Value, key, dictionary.isolate(), context.exceptionState()); 565 value = toRefPtrWillBeMemberNativeArray<MessagePort, V8MessagePort>(v8Value, key, dictionary.isolate(), context.exceptionState());
566 566
567 if (context.exceptionState().throwIfNeeded()) 567 if (context.exceptionState().throwIfNeeded())
568 return false; 568 return false;
569 569
570 return true; 570 return true;
571 } 571 }
572 572
573 } // namespace blink 573 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | Source/bindings/core/v8/PrivateScriptRunner.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698