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

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

Issue 98663004: Add support for unprefixed CSS Transforms (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. 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
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/css/CSSMatrix.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) 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 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 214
215 CSSPropertyWebkitAnimationDelay, 215 CSSPropertyWebkitAnimationDelay,
216 CSSPropertyWebkitAnimationDirection, 216 CSSPropertyWebkitAnimationDirection,
217 CSSPropertyWebkitAnimationDuration, 217 CSSPropertyWebkitAnimationDuration,
218 CSSPropertyWebkitAnimationFillMode, 218 CSSPropertyWebkitAnimationFillMode,
219 CSSPropertyWebkitAnimationIterationCount, 219 CSSPropertyWebkitAnimationIterationCount,
220 CSSPropertyWebkitAnimationName, 220 CSSPropertyWebkitAnimationName,
221 CSSPropertyWebkitAnimationPlayState, 221 CSSPropertyWebkitAnimationPlayState,
222 CSSPropertyWebkitAnimationTimingFunction, 222 CSSPropertyWebkitAnimationTimingFunction,
223 CSSPropertyWebkitAppearance, 223 CSSPropertyWebkitAppearance,
224 CSSPropertyBackfaceVisibility,
224 CSSPropertyWebkitBackfaceVisibility, 225 CSSPropertyWebkitBackfaceVisibility,
225 CSSPropertyWebkitBackgroundClip, 226 CSSPropertyWebkitBackgroundClip,
226 CSSPropertyWebkitBackgroundComposite, 227 CSSPropertyWebkitBackgroundComposite,
227 CSSPropertyWebkitBackgroundOrigin, 228 CSSPropertyWebkitBackgroundOrigin,
228 CSSPropertyWebkitBackgroundSize, 229 CSSPropertyWebkitBackgroundSize,
229 CSSPropertyWebkitBorderFit, 230 CSSPropertyWebkitBorderFit,
230 CSSPropertyWebkitBorderHorizontalSpacing, 231 CSSPropertyWebkitBorderHorizontalSpacing,
231 CSSPropertyWebkitBorderImage, 232 CSSPropertyWebkitBorderImage,
232 CSSPropertyWebkitBorderVerticalSpacing, 233 CSSPropertyWebkitBorderVerticalSpacing,
233 CSSPropertyWebkitBoxAlign, 234 CSSPropertyWebkitBoxAlign,
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 CSSPropertyWebkitMaskBoxImageSource, 290 CSSPropertyWebkitMaskBoxImageSource,
290 CSSPropertyWebkitMaskBoxImageWidth, 291 CSSPropertyWebkitMaskBoxImageWidth,
291 CSSPropertyWebkitMaskClip, 292 CSSPropertyWebkitMaskClip,
292 CSSPropertyWebkitMaskComposite, 293 CSSPropertyWebkitMaskComposite,
293 CSSPropertyWebkitMaskImage, 294 CSSPropertyWebkitMaskImage,
294 CSSPropertyWebkitMaskOrigin, 295 CSSPropertyWebkitMaskOrigin,
295 CSSPropertyWebkitMaskPosition, 296 CSSPropertyWebkitMaskPosition,
296 CSSPropertyWebkitMaskRepeat, 297 CSSPropertyWebkitMaskRepeat,
297 CSSPropertyWebkitMaskSize, 298 CSSPropertyWebkitMaskSize,
298 CSSPropertyOrder, 299 CSSPropertyOrder,
300 CSSPropertyPerspective,
299 CSSPropertyWebkitPerspective, 301 CSSPropertyWebkitPerspective,
302 CSSPropertyPerspectiveOrigin,
300 CSSPropertyWebkitPerspectiveOrigin, 303 CSSPropertyWebkitPerspectiveOrigin,
301 CSSPropertyWebkitPrintColorAdjust, 304 CSSPropertyWebkitPrintColorAdjust,
302 CSSPropertyWebkitRtlOrdering, 305 CSSPropertyWebkitRtlOrdering,
303 CSSPropertyShapeInside, 306 CSSPropertyShapeInside,
304 CSSPropertyShapeOutside, 307 CSSPropertyShapeOutside,
305 CSSPropertyShapePadding, 308 CSSPropertyShapePadding,
306 CSSPropertyShapeImageThreshold, 309 CSSPropertyShapeImageThreshold,
307 CSSPropertyShapeMargin, 310 CSSPropertyShapeMargin,
308 CSSPropertyWebkitTapHighlightColor, 311 CSSPropertyWebkitTapHighlightColor,
309 CSSPropertyWebkitTextCombine, 312 CSSPropertyWebkitTextCombine,
310 CSSPropertyWebkitTextDecorationsInEffect, 313 CSSPropertyWebkitTextDecorationsInEffect,
311 CSSPropertyWebkitTextEmphasisColor, 314 CSSPropertyWebkitTextEmphasisColor,
312 CSSPropertyWebkitTextEmphasisPosition, 315 CSSPropertyWebkitTextEmphasisPosition,
313 CSSPropertyWebkitTextEmphasisStyle, 316 CSSPropertyWebkitTextEmphasisStyle,
314 CSSPropertyWebkitTextFillColor, 317 CSSPropertyWebkitTextFillColor,
315 CSSPropertyWebkitTextOrientation, 318 CSSPropertyWebkitTextOrientation,
316 CSSPropertyWebkitTextSecurity, 319 CSSPropertyWebkitTextSecurity,
317 CSSPropertyWebkitTextStrokeColor, 320 CSSPropertyWebkitTextStrokeColor,
318 CSSPropertyWebkitTextStrokeWidth, 321 CSSPropertyWebkitTextStrokeWidth,
322 CSSPropertyTransform,
319 CSSPropertyWebkitTransform, 323 CSSPropertyWebkitTransform,
324 CSSPropertyTransformOrigin,
320 CSSPropertyWebkitTransformOrigin, 325 CSSPropertyWebkitTransformOrigin,
326 CSSPropertyTransformStyle,
321 CSSPropertyWebkitTransformStyle, 327 CSSPropertyWebkitTransformStyle,
322 CSSPropertyWebkitTransitionDelay, 328 CSSPropertyWebkitTransitionDelay,
323 CSSPropertyWebkitTransitionDuration, 329 CSSPropertyWebkitTransitionDuration,
324 CSSPropertyWebkitTransitionProperty, 330 CSSPropertyWebkitTransitionProperty,
325 CSSPropertyWebkitTransitionTimingFunction, 331 CSSPropertyWebkitTransitionTimingFunction,
326 CSSPropertyWebkitUserDrag, 332 CSSPropertyWebkitUserDrag,
327 CSSPropertyWebkitUserModify, 333 CSSPropertyWebkitUserModify,
328 CSSPropertyWebkitUserSelect, 334 CSSPropertyWebkitUserSelect,
329 CSSPropertyWebkitWritingMode, 335 CSSPropertyWebkitWritingMode,
330 CSSPropertyWebkitAppRegion, 336 CSSPropertyWebkitAppRegion,
(...skipping 1152 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 // statement must remain in sync with the conditions in the main switch. 1489 // statement must remain in sync with the conditions in the main switch.
1484 // FIXME: Some of these cases could be narrowed down or optimized better. 1490 // FIXME: Some of these cases could be narrowed down or optimized better.
1485 switch (propertyID) { 1491 switch (propertyID) {
1486 case CSSPropertyBottom: 1492 case CSSPropertyBottom:
1487 case CSSPropertyGridTemplateColumns: 1493 case CSSPropertyGridTemplateColumns:
1488 case CSSPropertyGridTemplateRows: 1494 case CSSPropertyGridTemplateRows:
1489 case CSSPropertyHeight: 1495 case CSSPropertyHeight:
1490 case CSSPropertyLeft: 1496 case CSSPropertyLeft:
1491 case CSSPropertyRight: 1497 case CSSPropertyRight:
1492 case CSSPropertyTop: 1498 case CSSPropertyTop:
1499 case CSSPropertyPerspectiveOrigin:
1493 case CSSPropertyWebkitPerspectiveOrigin: 1500 case CSSPropertyWebkitPerspectiveOrigin:
1501 case CSSPropertyTransform:
1494 case CSSPropertyWebkitTransform: 1502 case CSSPropertyWebkitTransform:
1503 case CSSPropertyTransformOrigin:
1495 case CSSPropertyWebkitTransformOrigin: 1504 case CSSPropertyWebkitTransformOrigin:
1496 case CSSPropertyWidth: 1505 case CSSPropertyWidth:
1497 case CSSPropertyWebkitFilter: 1506 case CSSPropertyWebkitFilter:
1498 return true; 1507 return true;
1499 case CSSPropertyMargin: 1508 case CSSPropertyMargin:
1500 return renderer && renderer->isBox() && (!style || !style->marginBottom( ).isFixed() || !style->marginTop().isFixed() || !style->marginLeft().isFixed() | | !style->marginRight().isFixed()); 1509 return renderer && renderer->isBox() && (!style || !style->marginBottom( ).isFixed() || !style->marginTop().isFixed() || !style->marginLeft().isFixed() | | !style->marginRight().isFixed());
1501 case CSSPropertyMarginLeft: 1510 case CSSPropertyMarginLeft:
1502 return renderer && renderer->isBox() && (!style || !style->marginLeft(). isFixed()); 1511 return renderer && renderer->isBox() && (!style || !style->marginLeft(). isFixed());
1503 case CSSPropertyMarginRight: 1512 case CSSPropertyMarginRight:
1504 return renderer && renderer->isBox() && (!style || !style->marginRight() .isFixed()); 1513 return renderer && renderer->isBox() && (!style || !style->marginRight() .isFixed());
(...skipping 958 matching lines...) Expand 10 before | Expand all | Expand 10 after
2463 // Initial animation-play-state. 2472 // Initial animation-play-state.
2464 list->append(cssValuePool().createIdentifierValue(CSSValueRunning)); 2473 list->append(cssValuePool().createIdentifierValue(CSSValueRunning));
2465 return list.release(); 2474 return list.release();
2466 } 2475 }
2467 case CSSPropertyWebkitAppearance: 2476 case CSSPropertyWebkitAppearance:
2468 return cssValuePool().createValue(style->appearance()); 2477 return cssValuePool().createValue(style->appearance());
2469 case CSSPropertyWebkitAspectRatio: 2478 case CSSPropertyWebkitAspectRatio:
2470 if (!style->hasAspectRatio()) 2479 if (!style->hasAspectRatio())
2471 return cssValuePool().createIdentifierValue(CSSValueNone); 2480 return cssValuePool().createIdentifierValue(CSSValueNone);
2472 return CSSAspectRatioValue::create(style->aspectRatioNumerator(), st yle->aspectRatioDenominator()); 2481 return CSSAspectRatioValue::create(style->aspectRatioNumerator(), st yle->aspectRatioDenominator());
2482 case CSSPropertyBackfaceVisibility:
2473 case CSSPropertyWebkitBackfaceVisibility: 2483 case CSSPropertyWebkitBackfaceVisibility:
2474 return cssValuePool().createIdentifierValue((style->backfaceVisibili ty() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible); 2484 return cssValuePool().createIdentifierValue((style->backfaceVisibili ty() == BackfaceVisibilityHidden) ? CSSValueHidden : CSSValueVisible);
2475 case CSSPropertyWebkitBorderImage: 2485 case CSSPropertyWebkitBorderImage:
2476 return valueForNinePieceImage(style->borderImage(), *style); 2486 return valueForNinePieceImage(style->borderImage(), *style);
2477 case CSSPropertyBorderImageOutset: 2487 case CSSPropertyBorderImageOutset:
2478 return valueForNinePieceImageQuad(style->borderImage().outset(), *st yle); 2488 return valueForNinePieceImageQuad(style->borderImage().outset(), *st yle);
2479 case CSSPropertyBorderImageRepeat: 2489 case CSSPropertyBorderImageRepeat:
2480 return valueForNinePieceImageRepeat(style->borderImage()); 2490 return valueForNinePieceImageRepeat(style->borderImage());
2481 case CSSPropertyBorderImageSlice: 2491 case CSSPropertyBorderImageSlice:
2482 return valueForNinePieceImageSlice(style->borderImage()); 2492 return valueForNinePieceImageSlice(style->borderImage());
(...skipping 15 matching lines...) Expand all
2498 return cssValuePool().createIdentifierValue(CSSValueNone); 2508 return cssValuePool().createIdentifierValue(CSSValueNone);
2499 case CSSPropertyWebkitFontSizeDelta: 2509 case CSSPropertyWebkitFontSizeDelta:
2500 // Not a real style property -- used by the editing engine -- so has no computed value. 2510 // Not a real style property -- used by the editing engine -- so has no computed value.
2501 break; 2511 break;
2502 case CSSPropertyWebkitMarginBottomCollapse: 2512 case CSSPropertyWebkitMarginBottomCollapse:
2503 case CSSPropertyWebkitMarginAfterCollapse: 2513 case CSSPropertyWebkitMarginAfterCollapse:
2504 return cssValuePool().createValue(style->marginAfterCollapse()); 2514 return cssValuePool().createValue(style->marginAfterCollapse());
2505 case CSSPropertyWebkitMarginTopCollapse: 2515 case CSSPropertyWebkitMarginTopCollapse:
2506 case CSSPropertyWebkitMarginBeforeCollapse: 2516 case CSSPropertyWebkitMarginBeforeCollapse:
2507 return cssValuePool().createValue(style->marginBeforeCollapse()); 2517 return cssValuePool().createValue(style->marginBeforeCollapse());
2518 case CSSPropertyPerspective:
2508 case CSSPropertyWebkitPerspective: 2519 case CSSPropertyWebkitPerspective:
2509 if (!style->hasPerspective()) 2520 if (!style->hasPerspective())
2510 return cssValuePool().createIdentifierValue(CSSValueNone); 2521 return cssValuePool().createIdentifierValue(CSSValueNone);
2511 return zoomAdjustedPixelValue(style->perspective(), *style); 2522 return zoomAdjustedPixelValue(style->perspective(), *style);
2523 case CSSPropertyPerspectiveOrigin:
2512 case CSSPropertyWebkitPerspectiveOrigin: { 2524 case CSSPropertyWebkitPerspectiveOrigin: {
2513 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated(); 2525 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated();
2514 if (renderer) { 2526 if (renderer) {
2515 LayoutRect box; 2527 LayoutRect box;
2516 if (renderer->isBox()) 2528 if (renderer->isBox())
2517 box = toRenderBox(renderer)->borderBoxRect(); 2529 box = toRenderBox(renderer)->borderBoxRect();
2518 2530
2519 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >perspectiveOriginX(), box.width()), *style)); 2531 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >perspectiveOriginX(), box.width()), *style));
2520 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >perspectiveOriginY(), box.height()), *style)); 2532 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >perspectiveOriginY(), box.height()), *style));
2521 } 2533 }
(...skipping 25 matching lines...) Expand all
2547 return cssValuePool().createIdentifierValue(CSSValueAuto); 2559 return cssValuePool().createIdentifierValue(CSSValueAuto);
2548 RefPtrWillBeRawPtr<Rect> rect = Rect::create(); 2560 RefPtrWillBeRawPtr<Rect> rect = Rect::create();
2549 rect->setTop(zoomAdjustedPixelValue(style->clip().top().value(), *st yle)); 2561 rect->setTop(zoomAdjustedPixelValue(style->clip().top().value(), *st yle));
2550 rect->setRight(zoomAdjustedPixelValue(style->clip().right().value(), *style)); 2562 rect->setRight(zoomAdjustedPixelValue(style->clip().right().value(), *style));
2551 rect->setBottom(zoomAdjustedPixelValue(style->clip().bottom().value( ), *style)); 2563 rect->setBottom(zoomAdjustedPixelValue(style->clip().bottom().value( ), *style));
2552 rect->setLeft(zoomAdjustedPixelValue(style->clip().left().value(), * style)); 2564 rect->setLeft(zoomAdjustedPixelValue(style->clip().left().value(), * style));
2553 return cssValuePool().createValue(rect.release()); 2565 return cssValuePool().createValue(rect.release());
2554 } 2566 }
2555 case CSSPropertySpeak: 2567 case CSSPropertySpeak:
2556 return cssValuePool().createValue(style->speak()); 2568 return cssValuePool().createValue(style->speak());
2569 case CSSPropertyTransform:
2557 case CSSPropertyWebkitTransform: 2570 case CSSPropertyWebkitTransform:
2558 return computedTransform(renderer, *style); 2571 return computedTransform(renderer, *style);
2572 case CSSPropertyTransformOrigin:
2559 case CSSPropertyWebkitTransformOrigin: { 2573 case CSSPropertyWebkitTransformOrigin: {
2560 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated(); 2574 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSep arated();
2561 if (renderer) { 2575 if (renderer) {
2562 LayoutRect box; 2576 LayoutRect box;
2563 if (renderer->isBox()) 2577 if (renderer->isBox())
2564 box = toRenderBox(renderer)->borderBoxRect(); 2578 box = toRenderBox(renderer)->borderBoxRect();
2565 2579
2566 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >transformOriginX(), box.width()), *style)); 2580 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >transformOriginX(), box.width()), *style));
2567 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >transformOriginY(), box.height()), *style)); 2581 list->append(zoomAdjustedPixelValue(minimumValueForLength(style- >transformOriginY(), box.height()), *style));
2568 if (style->transformOriginZ() != 0) 2582 if (style->transformOriginZ() != 0)
2569 list->append(zoomAdjustedPixelValue(style->transformOriginZ( ), *style)); 2583 list->append(zoomAdjustedPixelValue(style->transformOriginZ( ), *style));
2570 } else { 2584 } else {
2571 list->append(zoomAdjustedPixelValueForLength(style->transformOri ginX(), *style)); 2585 list->append(zoomAdjustedPixelValueForLength(style->transformOri ginX(), *style));
2572 list->append(zoomAdjustedPixelValueForLength(style->transformOri ginY(), *style)); 2586 list->append(zoomAdjustedPixelValueForLength(style->transformOri ginY(), *style));
2573 if (style->transformOriginZ() != 0) 2587 if (style->transformOriginZ() != 0)
2574 list->append(zoomAdjustedPixelValue(style->transformOriginZ( ), *style)); 2588 list->append(zoomAdjustedPixelValue(style->transformOriginZ( ), *style));
2575 } 2589 }
2576 return list.release(); 2590 return list.release();
2577 } 2591 }
2592 case CSSPropertyTransformStyle:
2578 case CSSPropertyWebkitTransformStyle: 2593 case CSSPropertyWebkitTransformStyle:
2579 return cssValuePool().createIdentifierValue((style->transformStyle3D () == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat); 2594 return cssValuePool().createIdentifierValue((style->transformStyle3D () == TransformStyle3DPreserve3D) ? CSSValuePreserve3d : CSSValueFlat);
2580 case CSSPropertyTransitionDelay: 2595 case CSSPropertyTransitionDelay:
2581 case CSSPropertyWebkitTransitionDelay: 2596 case CSSPropertyWebkitTransitionDelay:
2582 return valueForAnimationDelay(style->transitions()); 2597 return valueForAnimationDelay(style->transitions());
2583 case CSSPropertyTransitionDuration: 2598 case CSSPropertyTransitionDuration:
2584 case CSSPropertyWebkitTransitionDuration: 2599 case CSSPropertyWebkitTransitionDuration:
2585 return valueForAnimationDuration(style->transitions()); 2600 return valueForAnimationDuration(style->transitions());
2586 case CSSPropertyTransitionProperty: 2601 case CSSPropertyTransitionProperty:
2587 case CSSPropertyWebkitTransitionProperty: 2602 case CSSPropertyWebkitTransitionProperty:
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
3042 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB ackgroundSize, CSSPropertyBackgroundOrigin, 3057 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB ackgroundSize, CSSPropertyBackgroundOrigin,
3043 CSSPropertyB ackgroundClip }; 3058 CSSPropertyB ackgroundClip };
3044 3059
3045 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSlashSeparated() ; 3060 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSlashSeparated() ;
3046 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash Seperator)))); 3061 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash Seperator))));
3047 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe perator)))); 3062 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe perator))));
3048 return list.release(); 3063 return list.release();
3049 } 3064 }
3050 3065
3051 } // namespace WebCore 3066 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/css/CSSMatrix.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698