Changeset 35117 in webkit


Ignore:
Timestamp:
Jul 10, 2008 9:54:03 PM (16 years ago)
Author:
dino@apple.com
Message:

Reviewed by hyatt.

Calculate computed style for -webkit-transform property
https://bugs.webkit.org/show_bug.cgi?id=19864

Test: css3/transform-computed-style-001.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computedTransform):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

handles -webkit-transform property now

  • manual-tests/computed-transform-value.html: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r35108 r35117  
     12008-07-10  Dean Jackson  <dino@apple.com>
     2
     3        Reviewed by hyatt.
     4       
     5        Testing the computed style of -webkit-transform
     6        https://bugs.webkit.org/show_bug.cgi?id=19864
     7
     8        * css3/transform-computed-style-001-expected.txt: Added.
     9        * css3/transform-computed-style-001.html: Added.
     10
    1112008-07-10  Sam Weinig  <sam@webkit.org>
    212
  • trunk/WebCore/ChangeLog

    r35113 r35117  
     12008-07-10  Dean Jackson  <dino@apple.com>
     2
     3        Reviewed by hyatt.
     4
     5        Calculate computed style for -webkit-transform property
     6        https://bugs.webkit.org/show_bug.cgi?id=19864
     7
     8        Test: css3/transform-computed-style-001.html
     9
     10        * css/CSSComputedStyleDeclaration.cpp:
     11        (WebCore::computedTransform):
     12        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
     13            handles -webkit-transform property now
     14        * manual-tests/computed-transform-value.html: Added.
     15
    1162008-07-10  Dan Bernstein  <mitz@apple.com>
    217
  • trunk/WebCore/css/CSSComputedStyleDeclaration.cpp

    r34627 r35117  
    3838#include "RenderObject.h"
    3939#include "ShadowValue.h"
     40#include "WebKitCSSTransformValue.h"
    4041
    4142#if ENABLE(DASHBOARD_SUPPORT)
     
    184185    CSSPropertyWebkitTextStrokeColor,
    185186    CSSPropertyWebkitTextStrokeWidth,
     187    CSSPropertyWebkitTransform,
     188    CSSPropertyWebkitTransformOriginX,
     189    CSSPropertyWebkitTransformOriginY,
    186190    CSSPropertyWebkitUserDrag,
    187191    CSSPropertyWebkitUserModify,
     
    382386{
    383387    return renderer->style()->boxSizing() == CONTENT_BOX ? renderer->contentBox() : renderer->borderBox();
     388}
     389
     390static PassRefPtr<CSSValueList> computedTransform(RenderObject* renderer)
     391{
     392    if (!renderer)
     393        return 0;
     394
     395    IntRect box = sizingBox(renderer);
     396
     397    AffineTransform transform;
     398    renderer->style()->applyTransform(transform, box.size());
     399
     400    RefPtr<WebKitCSSTransformValue> transformVal = WebKitCSSTransformValue::create(WebKitCSSTransformValue::MatrixTransformOperation);
     401
     402    transformVal->append(CSSPrimitiveValue::create(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
     403    transformVal->append(CSSPrimitiveValue::create(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
     404    transformVal->append(CSSPrimitiveValue::create(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
     405    transformVal->append(CSSPrimitiveValue::create(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
     406    transformVal->append(CSSPrimitiveValue::create(transform.e(), CSSPrimitiveValue::CSS_NUMBER));
     407    transformVal->append(CSSPrimitiveValue::create(transform.f(), CSSPrimitiveValue::CSS_NUMBER));
     408
     409    RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
     410    list->append(transformVal);
     411
     412    return list.release();
    384413}
    385414
     
    10111040            return 0;
    10121041        }
     1042        case CSSPropertyWebkitTransform:
     1043            return computedTransform(renderer);
     1044        case CSSPropertyWebkitTransformOriginX:
     1045            if (renderer) {
     1046                IntRect box = sizingBox(renderer);
     1047                return CSSPrimitiveValue::create(style->transformOriginX().calcMinValue(box.width()), CSSPrimitiveValue::CSS_PX);
     1048            }
     1049            else
     1050                return CSSPrimitiveValue::create(style->transformOriginX());
     1051        case CSSPropertyWebkitTransformOriginY:
     1052            if (renderer) {
     1053                IntRect box = sizingBox(renderer);
     1054                return CSSPrimitiveValue::create(style->transformOriginY().calcMinValue(box.height()), CSSPrimitiveValue::CSS_PX);
     1055            }
     1056            else
     1057                return CSSPrimitiveValue::create(style->transformOriginY());
    10131058        case CSSPropertyBackground:
    10141059        case CSSPropertyBorder:
     
    10681113        case CSSPropertyWebkitPaddingStart:
    10691114        case CSSPropertyWebkitTextStroke:
    1070         case CSSPropertyWebkitTransform:
    1071         case CSSPropertyWebkitTransformOrigin:
    1072         case CSSPropertyWebkitTransformOriginX:
    1073         case CSSPropertyWebkitTransformOriginY:
    10741115        case CSSPropertyWebkitTransition:
    10751116        case CSSPropertyWebkitTransitionDuration:
Note: See TracChangeset for help on using the changeset viewer.