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

Side by Side Diff: Source/core/css/resolver/CSSToStyleMap.cpp

Issue 1318543010: Change first() and second() in CSSPairValue to return const references (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Review feedback Created 5 years, 3 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r ights reserved. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r ights reserved.
6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved.
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 187
188 if (value->isPrimitiveValue() && (toCSSPrimitiveValue(value)->getValueID() = = CSSValueContain || toCSSPrimitiveValue(value)->getValueID() == CSSValueCover)) { 188 if (value->isPrimitiveValue() && (toCSSPrimitiveValue(value)->getValueID() = = CSSValueContain || toCSSPrimitiveValue(value)->getValueID() == CSSValueCover)) {
189 layer->setSizeLength(b); 189 layer->setSizeLength(b);
190 return; 190 return;
191 } 191 }
192 192
193 Length firstLength; 193 Length firstLength;
194 Length secondLength; 194 Length secondLength;
195 195
196 if (value->isValuePair()) { 196 if (value->isValuePair()) {
197 const CSSValuePair* pair = toCSSValuePair(value); 197 CSSValuePair* pair = toCSSValuePair(value);
198 firstLength = StyleBuilderConverter::convertLengthOrAuto(state, pair->fi rst()); 198 firstLength = StyleBuilderConverter::convertLengthOrAuto(state, &pair->f irst());
199 secondLength = StyleBuilderConverter::convertLengthOrAuto(state, pair->s econd()); 199 secondLength = StyleBuilderConverter::convertLengthOrAuto(state, &pair-> second());
200 } else { 200 } else {
201 ASSERT(value->isPrimitiveValue()); 201 ASSERT(value->isPrimitiveValue());
202 firstLength = StyleBuilderConverter::convertLengthOrAuto(state, value); 202 firstLength = StyleBuilderConverter::convertLengthOrAuto(state, value);
203 secondLength = Length(); 203 secondLength = Length();
204 } 204 }
205 205
206 b.setWidth(firstLength); 206 b.setWidth(firstLength);
207 b.setHeight(secondLength); 207 b.setHeight(secondLength);
208 layer->setSizeLength(b); 208 layer->setSizeLength(b);
209 } 209 }
210 210
211 void CSSToStyleMap::mapFillXPosition(StyleResolverState& state, FillLayer* layer , CSSValue* value) 211 void CSSToStyleMap::mapFillXPosition(StyleResolverState& state, FillLayer* layer , CSSValue* value)
212 { 212 {
213 if (value->isInitialValue()) { 213 if (value->isInitialValue()) {
214 layer->setXPosition(FillLayer::initialFillXPosition(layer->type())); 214 layer->setXPosition(FillLayer::initialFillXPosition(layer->type()));
215 return; 215 return;
216 } 216 }
217 217
218 if (!value->isPrimitiveValue() && !value->isValuePair()) 218 if (!value->isPrimitiveValue() && !value->isValuePair())
219 return; 219 return;
220 220
221 CSSPrimitiveValue* primitiveValue; 221 Length length;
222 if (value->isValuePair()) 222 if (value->isValuePair())
223 primitiveValue = toCSSPrimitiveValue(toCSSValuePair(value)->second()); 223 length = toCSSPrimitiveValue(toCSSValuePair(value)->second()).convertToL ength(state.cssToLengthConversionData());
224 else 224 else
225 primitiveValue = toCSSPrimitiveValue(value); 225 length = toCSSPrimitiveValue(value)->convertToLength(state.cssToLengthCo nversionData());
226
227 Length length = primitiveValue->convertToLength(state.cssToLengthConversionD ata());
228 226
229 layer->setXPosition(length); 227 layer->setXPosition(length);
230 if (value->isValuePair()) 228 if (value->isValuePair())
231 layer->setBackgroundXOrigin(*toCSSPrimitiveValue(toCSSValuePair(value)-> first())); 229 layer->setBackgroundXOrigin(toCSSPrimitiveValue(toCSSValuePair(value)->f irst()));
232 } 230 }
233 231
234 void CSSToStyleMap::mapFillYPosition(StyleResolverState& state, FillLayer* layer , CSSValue* value) 232 void CSSToStyleMap::mapFillYPosition(StyleResolverState& state, FillLayer* layer , CSSValue* value)
235 { 233 {
236 if (value->isInitialValue()) { 234 if (value->isInitialValue()) {
237 layer->setYPosition(FillLayer::initialFillYPosition(layer->type())); 235 layer->setYPosition(FillLayer::initialFillYPosition(layer->type()));
238 return; 236 return;
239 } 237 }
240 238
241 if (!value->isPrimitiveValue() && !value->isValuePair()) 239 if (!value->isPrimitiveValue() && !value->isValuePair())
242 return; 240 return;
243 241
244 CSSPrimitiveValue* primitiveValue; 242 CSSPrimitiveValue* primitiveValue;
245 if (value->isValuePair()) 243 if (value->isValuePair())
246 primitiveValue = toCSSPrimitiveValue(toCSSValuePair(value)->second()); 244 primitiveValue = &toCSSPrimitiveValue(toCSSValuePair(value)->second());
247 else 245 else
248 primitiveValue = toCSSPrimitiveValue(value); 246 primitiveValue = toCSSPrimitiveValue(value);
249 247
250 Length length = primitiveValue->convertToLength(state.cssToLengthConversionD ata()); 248 Length length = primitiveValue->convertToLength(state.cssToLengthConversionD ata());
251 249
252 layer->setYPosition(length); 250 layer->setYPosition(length);
253 if (value->isValuePair()) 251 if (value->isValuePair())
254 layer->setBackgroundYOrigin(*toCSSPrimitiveValue(toCSSValuePair(value)-> first())); 252 layer->setBackgroundYOrigin(toCSSPrimitiveValue(toCSSValuePair(value)->f irst()));
255 } 253 }
256 254
257 void CSSToStyleMap::mapFillMaskSourceType(StyleResolverState&, FillLayer* layer, CSSValue* value) 255 void CSSToStyleMap::mapFillMaskSourceType(StyleResolverState&, FillLayer* layer, CSSValue* value)
258 { 256 {
259 EMaskSourceType type = FillLayer::initialFillMaskSourceType(layer->type()); 257 EMaskSourceType type = FillLayer::initialFillMaskSourceType(layer->type());
260 if (value->isInitialValue()) { 258 if (value->isInitialValue()) {
261 layer->setMaskSourceType(type); 259 layer->setMaskSourceType(type);
262 return; 260 return;
263 } 261 }
264 262
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 toBorderImageLength(*slices->right(), state.cssToLengthConversionData()) , 540 toBorderImageLength(*slices->right(), state.cssToLengthConversionData()) ,
543 toBorderImageLength(*slices->bottom(), state.cssToLengthConversionData() ), 541 toBorderImageLength(*slices->bottom(), state.cssToLengthConversionData() ),
544 toBorderImageLength(*slices->left(), state.cssToLengthConversionData())) ; 542 toBorderImageLength(*slices->left(), state.cssToLengthConversionData())) ;
545 } 543 }
546 544
547 void CSSToStyleMap::mapNinePieceImageRepeat(StyleResolverState&, CSSValue* value , NinePieceImage& image) 545 void CSSToStyleMap::mapNinePieceImageRepeat(StyleResolverState&, CSSValue* value , NinePieceImage& image)
548 { 546 {
549 if (!value || !value->isValuePair()) 547 if (!value || !value->isValuePair())
550 return; 548 return;
551 549
552 const CSSValuePair* pair = toCSSValuePair(value); 550 const CSSValuePair& pair = toCSSValuePair(*value);
553 if (!pair || !pair->first() || !pair->second()) 551 CSSValueID firstIdentifier = toCSSPrimitiveValue(pair.first()).getValueID();
554 return; 552 CSSValueID secondIdentifier = toCSSPrimitiveValue(pair.second()).getValueID( );
555
556 CSSValueID firstIdentifier = toCSSPrimitiveValue(pair->first())->getValueID( );
557 CSSValueID secondIdentifier = toCSSPrimitiveValue(pair->second())->getValueI D();
558 553
559 ENinePieceImageRule horizontalRule; 554 ENinePieceImageRule horizontalRule;
560 switch (firstIdentifier) { 555 switch (firstIdentifier) {
561 case CSSValueStretch: 556 case CSSValueStretch:
562 horizontalRule = StretchImageRule; 557 horizontalRule = StretchImageRule;
563 break; 558 break;
564 case CSSValueRound: 559 case CSSValueRound:
565 horizontalRule = RoundImageRule; 560 horizontalRule = RoundImageRule;
566 break; 561 break;
567 case CSSValueSpace: 562 case CSSValueSpace:
(...skipping 17 matching lines...) Expand all
585 verticalRule = SpaceImageRule; 580 verticalRule = SpaceImageRule;
586 break; 581 break;
587 default: // CSSValueRepeat 582 default: // CSSValueRepeat
588 verticalRule = RepeatImageRule; 583 verticalRule = RepeatImageRule;
589 break; 584 break;
590 } 585 }
591 image.setVerticalRule(verticalRule); 586 image.setVerticalRule(verticalRule);
592 } 587 }
593 588
594 }; 589 };
OLDNEW
« no previous file with comments | « Source/core/css/parser/CSSPropertyParser.cpp ('k') | Source/core/css/resolver/StyleBuilderConverter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698