OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> | 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. | 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. |
7 * Copyright (C) 2015 Google Inc. All rights reserved. | 7 * Copyright (C) 2015 Google Inc. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Lesser General Public | 10 * modify it under the terms of the GNU Lesser General Public |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 } else { | 231 } else { |
232 if (image.imageSlices().left().hasPercent()) | 232 if (image.imageSlices().left().hasPercent()) |
233 left = cssValuePool().createValue(image.imageSlices().left()
.value(), CSSPrimitiveValue::CSS_PERCENTAGE); | 233 left = cssValuePool().createValue(image.imageSlices().left()
.value(), CSSPrimitiveValue::CSS_PERCENTAGE); |
234 else | 234 else |
235 left = cssValuePool().createValue(image.imageSlices().left()
.value(), CSSPrimitiveValue::CSS_NUMBER); | 235 left = cssValuePool().createValue(image.imageSlices().left()
.value(), CSSPrimitiveValue::CSS_NUMBER); |
236 } | 236 } |
237 } | 237 } |
238 } | 238 } |
239 | 239 |
240 RefPtrWillBeRawPtr<Quad> quad = Quad::create(); | 240 RefPtrWillBeRawPtr<Quad> quad = Quad::create(); |
241 quad->setTop(toCSSPrimitiveValue(*top)); | 241 quad->setTop(toCSSPrimitiveValue(top)); |
242 quad->setRight(toCSSPrimitiveValue(*right)); | 242 quad->setRight(toCSSPrimitiveValue(right)); |
243 quad->setBottom(toCSSPrimitiveValue(*bottom)); | 243 quad->setBottom(toCSSPrimitiveValue(bottom)); |
244 quad->setLeft(toCSSPrimitiveValue(*left)); | 244 quad->setLeft(toCSSPrimitiveValue(left)); |
245 | 245 |
246 return CSSBorderImageSliceValue::create(cssValuePool().createValue(quad.rele
ase()), image.fill()); | 246 return CSSBorderImageSliceValue::create(cssValuePool().createValue(quad.rele
ase()), image.fill()); |
247 } | 247 } |
248 | 248 |
249 static CSSPrimitiveValue valueForNinePieceImageQuad(const BorderImageLengthBox&
box, const ComputedStyle& style) | 249 static CSSPrimitiveValue valueForNinePieceImageQuad(const BorderImageLengthBox&
box, const ComputedStyle& style) |
250 { | 250 { |
251 // Create the slices. | 251 // Create the slices. |
252 NullableCSSValue top; | 252 NullableCSSValue top; |
253 NullableCSSValue right; | 253 NullableCSSValue right; |
254 NullableCSSValue bottom; | 254 NullableCSSValue bottom; |
(...skipping 28 matching lines...) Expand all Loading... |
283 } else { | 283 } else { |
284 if (box.left().isNumber()) | 284 if (box.left().isNumber()) |
285 left = cssValuePool().createValue(box.left().number(), CSSPr
imitiveValue::CSS_NUMBER); | 285 left = cssValuePool().createValue(box.left().number(), CSSPr
imitiveValue::CSS_NUMBER); |
286 else | 286 else |
287 left = cssValuePool().createValue(box.left().length(), style
); | 287 left = cssValuePool().createValue(box.left().length(), style
); |
288 } | 288 } |
289 } | 289 } |
290 } | 290 } |
291 | 291 |
292 RefPtrWillBeRawPtr<Quad> quad = Quad::create(); | 292 RefPtrWillBeRawPtr<Quad> quad = Quad::create(); |
293 quad->setTop(toCSSPrimitiveValue(*top)); | 293 quad->setTop(toCSSPrimitiveValue(top)); |
294 quad->setRight(toCSSPrimitiveValue(*right)); | 294 quad->setRight(toCSSPrimitiveValue(right)); |
295 quad->setBottom(toCSSPrimitiveValue(*bottom)); | 295 quad->setBottom(toCSSPrimitiveValue(bottom)); |
296 quad->setLeft(toCSSPrimitiveValue(*left)); | 296 quad->setLeft(toCSSPrimitiveValue(left)); |
297 | 297 |
298 return cssValuePool().createValue(quad.release()); | 298 return cssValuePool().createValue(quad.release()); |
299 } | 299 } |
300 | 300 |
301 static CSSValueID valueForRepeatRule(int rule) | 301 static CSSValueID valueForRepeatRule(int rule) |
302 { | 302 { |
303 switch (rule) { | 303 switch (rule) { |
304 case RepeatImageRule: | 304 case RepeatImageRule: |
305 return CSSValueRepeat; | 305 return CSSValueRepeat; |
306 case RoundImageRule: | 306 case RoundImageRule: |
307 return CSSValueRound; | 307 return CSSValueRound; |
308 case SpaceImageRule: | 308 case SpaceImageRule: |
309 return CSSValueSpace; | 309 return CSSValueSpace; |
310 default: | 310 default: |
311 return CSSValueStretch; | 311 return CSSValueStretch; |
312 } | 312 } |
313 } | 313 } |
314 | 314 |
315 static CSSValue valueForNinePieceImageRepeat(const NinePieceImage& image) | 315 static CSSValue valueForNinePieceImageRepeat(const NinePieceImage& image) |
316 { | 316 { |
317 NullableCSSValue horizontalRepeat; | 317 NullableCSSValue horizontalRepeat; |
318 NullableCSSValue verticalRepeat; | 318 NullableCSSValue verticalRepeat; |
319 | 319 |
320 horizontalRepeat = cssValuePool().createIdentifierValue(valueForRepeatRule(i
mage.horizontalRule())); | 320 horizontalRepeat = cssValuePool().createIdentifierValue(valueForRepeatRule(i
mage.horizontalRule())); |
321 if (image.horizontalRule() == image.verticalRule()) | 321 if (image.horizontalRule() == image.verticalRule()) |
322 verticalRepeat = horizontalRepeat; | 322 verticalRepeat = horizontalRepeat; |
323 else | 323 else |
324 verticalRepeat = cssValuePool().createIdentifierValue(valueForRepeatRule
(image.verticalRule())); | 324 verticalRepeat = cssValuePool().createIdentifierValue(valueForRepeatRule
(image.verticalRule())); |
325 return cssValuePool().createValue(Pair::create(toCSSPrimitiveValue(*horizont
alRepeat), toCSSPrimitiveValue(*verticalRepeat), Pair::DropIdenticalValues)); | 325 return cssValuePool().createValue(Pair::create(toCSSPrimitiveValue(horizonta
lRepeat), toCSSPrimitiveValue(verticalRepeat), Pair::DropIdenticalValues)); |
326 } | 326 } |
327 | 327 |
328 static CSSValue valueForNinePieceImage(const NinePieceImage& image, const Comput
edStyle& style) | 328 static CSSValue valueForNinePieceImage(const NinePieceImage& image, const Comput
edStyle& style) |
329 { | 329 { |
330 if (!image.hasImage()) | 330 if (!image.hasImage()) |
331 return cssValuePool().createIdentifierValue(CSSValueNone); | 331 return cssValuePool().createIdentifierValue(CSSValueNone); |
332 | 332 |
333 // Image first. | 333 // Image first. |
334 NullableCSSValue imageValue; | 334 NullableCSSValue imageValue; |
335 if (image.image()) | 335 if (image.image()) |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 direction = cssValuePool().createIdentifierValue(CSSValueAbove); | 371 direction = cssValuePool().createIdentifierValue(CSSValueAbove); |
372 break; | 372 break; |
373 case ReflectionLeft: | 373 case ReflectionLeft: |
374 direction = cssValuePool().createIdentifierValue(CSSValueLeft); | 374 direction = cssValuePool().createIdentifierValue(CSSValueLeft); |
375 break; | 375 break; |
376 case ReflectionRight: | 376 case ReflectionRight: |
377 direction = cssValuePool().createIdentifierValue(CSSValueRight); | 377 direction = cssValuePool().createIdentifierValue(CSSValueRight); |
378 break; | 378 break; |
379 } | 379 } |
380 | 380 |
381 return CSSReflectValue::create(toCSSPrimitiveValue(*direction), toCSSPrimiti
veValue(*offset), valueForNinePieceImage(reflection->mask(), style)); | 381 return CSSReflectValue::create(toCSSPrimitiveValue(direction), toCSSPrimitiv
eValue(offset), valueForNinePieceImage(reflection->mask(), style)); |
382 } | 382 } |
383 | 383 |
384 static ItemPosition resolveAlignmentAuto(ItemPosition position, Node* element) | 384 static ItemPosition resolveAlignmentAuto(ItemPosition position, Node* element) |
385 { | 385 { |
386 if (position != ItemPositionAuto) | 386 if (position != ItemPositionAuto) |
387 return position; | 387 return position; |
388 | 388 |
389 return isFlexOrGrid(element) ? ItemPositionStretch : ItemPositionStart; | 389 return isFlexOrGrid(element) ? ItemPositionStretch : ItemPositionStart; |
390 } | 390 } |
391 | 391 |
(...skipping 2309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2701 case CSSPropertyAll: | 2701 case CSSPropertyAll: |
2702 return nullptr; | 2702 return nullptr; |
2703 default: | 2703 default: |
2704 break; | 2704 break; |
2705 } | 2705 } |
2706 ASSERT_NOT_REACHED(); | 2706 ASSERT_NOT_REACHED(); |
2707 return nullptr; | 2707 return nullptr; |
2708 } | 2708 } |
2709 | 2709 |
2710 } | 2710 } |
OLD | NEW |