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

Side by Side Diff: Source/core/css/CSSCalculationValue.cpp

Issue 209433004: Do not zero-initialize RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix uses of RefPtrWillBeRawPtr Created 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2011, 2012 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 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 Value result; 550 Value result;
551 bool ok = parseValueExpression(tokens, 0, &index, &result); 551 bool ok = parseValueExpression(tokens, 0, &index, &result);
552 ASSERT_WITH_SECURITY_IMPLICATION(index <= tokens->size()); 552 ASSERT_WITH_SECURITY_IMPLICATION(index <= tokens->size());
553 if (!ok || index != tokens->size()) 553 if (!ok || index != tokens->size())
554 return nullptr; 554 return nullptr;
555 return result.value; 555 return result.value;
556 } 556 }
557 557
558 private: 558 private:
559 struct Value { 559 struct Value {
560 DISALLOW_ALLOCATION(); // Is only ever stack allocated. 560 DISALLOW_ALLOCATION(); // Is only ever stack allocated.
haraken 2014/03/24 13:52:54 Can this be STACK_ALLOCATED() ?
Mads Ager (chromium) 2014/03/24 14:27:30 If the comments are true both this and CSSCalcExpr
561 public: 561 public:
562 RefPtrWillBeRawPtr<CSSCalcExpressionNode> value; 562 RefPtrWillBeRawPtr<CSSCalcExpressionNode> value = nullptr;
haraken 2014/03/24 13:52:54 Then this could be a RefPtrWillBeMember.
Mads Ager (chromium) 2014/03/24 14:27:30 Done.
563 }; 563 };
564 564
565 char operatorValue(CSSParserValueList* tokens, unsigned index) 565 char operatorValue(CSSParserValueList* tokens, unsigned index)
566 { 566 {
567 if (index >= tokens->size()) 567 if (index >= tokens->size())
568 return 0; 568 return 0;
569 CSSParserValue* value = tokens->valueAt(index); 569 CSSParserValue* value = tokens->valueAt(index);
570 if (value->unit != CSSParserValue::Operator) 570 if (value->unit != CSSParserValue::Operator)
571 return 0; 571 return 0;
572 572
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 ASSERT_NOT_REACHED(); 737 ASSERT_NOT_REACHED();
738 return nullptr; 738 return nullptr;
739 } 739 }
740 ASSERT_NOT_REACHED(); 740 ASSERT_NOT_REACHED();
741 return nullptr; 741 return nullptr;
742 } 742 }
743 743
744 PassRefPtrWillBeRawPtr<CSSCalcValue> CSSCalcValue::create(CSSParserString name, CSSParserValueList* parserValueList, ValueRange range) 744 PassRefPtrWillBeRawPtr<CSSCalcValue> CSSCalcValue::create(CSSParserString name, CSSParserValueList* parserValueList, ValueRange range)
745 { 745 {
746 CSSCalcExpressionNodeParser parser; 746 CSSCalcExpressionNodeParser parser;
747 RefPtrWillBeRawPtr<CSSCalcExpressionNode> expression; 747 RefPtrWillBeRawPtr<CSSCalcExpressionNode> expression = nullptr;
748 748
749 if (equalIgnoringCase(name, "calc(") || equalIgnoringCase(name, "-webkit-cal c(")) 749 if (equalIgnoringCase(name, "calc(") || equalIgnoringCase(name, "-webkit-cal c("))
750 expression = parser.parseCalc(parserValueList); 750 expression = parser.parseCalc(parserValueList);
751 // FIXME calc (http://webkit.org/b/16662) Add parsing for min and max here 751 // FIXME calc (http://webkit.org/b/16662) Add parsing for min and max here
752 752
753 return expression ? adoptRefWillBeRefCountedGarbageCollected(new CSSCalcValu e(expression, range)) : nullptr; 753 return expression ? adoptRefWillBeRefCountedGarbageCollected(new CSSCalcValu e(expression, range)) : nullptr;
754 } 754 }
755 755
756 PassRefPtrWillBeRawPtr<CSSCalcValue> CSSCalcValue::create(PassRefPtrWillBeRawPtr <CSSCalcExpressionNode> expression, ValueRange range) 756 PassRefPtrWillBeRawPtr<CSSCalcValue> CSSCalcValue::create(PassRefPtrWillBeRawPtr <CSSCalcExpressionNode> expression, ValueRange range)
757 { 757 {
758 return adoptRefWillBeRefCountedGarbageCollected(new CSSCalcValue(expression, range)); 758 return adoptRefWillBeRefCountedGarbageCollected(new CSSCalcValue(expression, range));
759 } 759 }
760 760
761 void CSSCalcValue::traceAfterDispatch(Visitor* visitor) 761 void CSSCalcValue::traceAfterDispatch(Visitor* visitor)
762 { 762 {
763 visitor->trace(m_expression); 763 visitor->trace(m_expression);
764 CSSValue::traceAfterDispatch(visitor); 764 CSSValue::traceAfterDispatch(visitor);
765 } 765 }
766 766
767 } // namespace WebCore 767 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698