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

Side by Side Diff: third_party/WebKit/Source/core/style/ComputedStyle.cpp

Issue 1574933002: Changed type of border-width longhands from unsigned to float. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added trivial tests safe to rebaseline to TestExpectations Created 4 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
4 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. 4 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "platform/transforms/ScaleTransformOperation.h" 45 #include "platform/transforms/ScaleTransformOperation.h"
46 #include "platform/transforms/TranslateTransformOperation.h" 46 #include "platform/transforms/TranslateTransformOperation.h"
47 #include "wtf/MathExtras.h" 47 #include "wtf/MathExtras.h"
48 48
49 #include <algorithm> 49 #include <algorithm>
50 50
51 namespace blink { 51 namespace blink {
52 52
53 struct SameSizeAsBorderValue { 53 struct SameSizeAsBorderValue {
54 RGBA32 m_color; 54 RGBA32 m_color;
55 unsigned m_width; 55 float m_width;
56 unsigned m_style;
56 }; 57 };
57 58
58 static_assert(sizeof(BorderValue) == sizeof(SameSizeAsBorderValue), "BorderValue should stay small"); 59 static_assert(sizeof(BorderValue) == sizeof(SameSizeAsBorderValue), "BorderValue should stay small");
59 60
60 struct SameSizeAsComputedStyle : public RefCounted<SameSizeAsComputedStyle> { 61 struct SameSizeAsComputedStyle : public RefCounted<SameSizeAsComputedStyle> {
61 void* dataRefs[7]; 62 void* dataRefs[7];
62 void* ownPtrs[1]; 63 void* ownPtrs[1];
63 void* dataRefSvgStyle; 64 void* dataRefSvgStyle;
64 65
65 struct InheritedFlags { 66 struct InheritedFlags {
(...skipping 1535 matching lines...) Expand 10 before | Expand all | Expand 10 after
1601 return isLeftToRightDirection() ? borderTop() : borderBottom(); 1602 return isLeftToRightDirection() ? borderTop() : borderBottom();
1602 } 1603 }
1603 1604
1604 const BorderValue& ComputedStyle::borderEnd() const 1605 const BorderValue& ComputedStyle::borderEnd() const
1605 { 1606 {
1606 if (isHorizontalWritingMode()) 1607 if (isHorizontalWritingMode())
1607 return isLeftToRightDirection() ? borderRight() : borderLeft(); 1608 return isLeftToRightDirection() ? borderRight() : borderLeft();
1608 return isLeftToRightDirection() ? borderBottom() : borderTop(); 1609 return isLeftToRightDirection() ? borderBottom() : borderTop();
1609 } 1610 }
1610 1611
1611 int ComputedStyle::borderBeforeWidth() const 1612 float ComputedStyle::borderBeforeWidth() const
1612 { 1613 {
1613 switch (writingMode()) { 1614 switch (writingMode()) {
1614 case TopToBottomWritingMode: 1615 case TopToBottomWritingMode:
1615 return borderTopWidth(); 1616 return borderTopWidth();
1616 case LeftToRightWritingMode: 1617 case LeftToRightWritingMode:
1617 return borderLeftWidth(); 1618 return borderLeftWidth();
1618 case RightToLeftWritingMode: 1619 case RightToLeftWritingMode:
1619 return borderRightWidth(); 1620 return borderRightWidth();
1620 } 1621 }
1621 ASSERT_NOT_REACHED(); 1622 ASSERT_NOT_REACHED();
1622 return borderTopWidth(); 1623 return borderTopWidth();
1623 } 1624 }
1624 1625
1625 int ComputedStyle::borderAfterWidth() const 1626 float ComputedStyle::borderAfterWidth() const
1626 { 1627 {
1627 switch (writingMode()) { 1628 switch (writingMode()) {
1628 case TopToBottomWritingMode: 1629 case TopToBottomWritingMode:
1629 return borderBottomWidth(); 1630 return borderBottomWidth();
1630 case LeftToRightWritingMode: 1631 case LeftToRightWritingMode:
1631 return borderRightWidth(); 1632 return borderRightWidth();
1632 case RightToLeftWritingMode: 1633 case RightToLeftWritingMode:
1633 return borderLeftWidth(); 1634 return borderLeftWidth();
1634 } 1635 }
1635 ASSERT_NOT_REACHED(); 1636 ASSERT_NOT_REACHED();
1636 return borderBottomWidth(); 1637 return borderBottomWidth();
1637 } 1638 }
1638 1639
1639 int ComputedStyle::borderStartWidth() const 1640 float ComputedStyle::borderStartWidth() const
1640 { 1641 {
1641 if (isHorizontalWritingMode()) 1642 if (isHorizontalWritingMode())
1642 return isLeftToRightDirection() ? borderLeftWidth() : borderRightWidth() ; 1643 return isLeftToRightDirection() ? borderLeftWidth() : borderRightWidth() ;
1643 return isLeftToRightDirection() ? borderTopWidth() : borderBottomWidth(); 1644 return isLeftToRightDirection() ? borderTopWidth() : borderBottomWidth();
1644 } 1645 }
1645 1646
1646 int ComputedStyle::borderEndWidth() const 1647 float ComputedStyle::borderEndWidth() const
1647 { 1648 {
1648 if (isHorizontalWritingMode()) 1649 if (isHorizontalWritingMode())
1649 return isLeftToRightDirection() ? borderRightWidth() : borderLeftWidth() ; 1650 return isLeftToRightDirection() ? borderRightWidth() : borderLeftWidth() ;
1650 return isLeftToRightDirection() ? borderBottomWidth() : borderTopWidth(); 1651 return isLeftToRightDirection() ? borderBottomWidth() : borderTopWidth();
1651 } 1652 }
1652 1653
1653 int ComputedStyle::borderOverWidth() const 1654 float ComputedStyle::borderOverWidth() const
1654 { 1655 {
1655 return isHorizontalWritingMode() ? borderTopWidth() : borderRightWidth(); 1656 return isHorizontalWritingMode() ? borderTopWidth() : borderRightWidth();
1656 } 1657 }
1657 1658
1658 int ComputedStyle::borderUnderWidth() const 1659 float ComputedStyle::borderUnderWidth() const
1659 { 1660 {
1660 return isHorizontalWritingMode() ? borderBottomWidth() : borderLeftWidth(); 1661 return isHorizontalWritingMode() ? borderBottomWidth() : borderLeftWidth();
1661 } 1662 }
1662 1663
1663 void ComputedStyle::setMarginStart(const Length& margin) 1664 void ComputedStyle::setMarginStart(const Length& margin)
1664 { 1665 {
1665 if (isHorizontalWritingMode()) { 1666 if (isHorizontalWritingMode()) {
1666 if (isLeftToRightDirection()) 1667 if (isLeftToRightDirection())
1667 setMarginLeft(margin); 1668 setMarginLeft(margin);
1668 else 1669 else
(...skipping 19 matching lines...) Expand all
1688 else 1689 else
1689 setMarginTop(margin); 1690 setMarginTop(margin);
1690 } 1691 }
1691 } 1692 }
1692 1693
1693 void ComputedStyle::setMotionPath(PassRefPtr<StylePath> path) 1694 void ComputedStyle::setMotionPath(PassRefPtr<StylePath> path)
1694 { 1695 {
1695 rareNonInheritedData.access()->m_transform.access()->m_motion.m_path = path; 1696 rareNonInheritedData.access()->m_transform.access()->m_motion.m_path = path;
1696 } 1697 }
1697 1698
1699 // TODO(bugsnash): change return value to float when outline is changed to float
1698 int ComputedStyle::outlineOutsetExtent() const 1700 int ComputedStyle::outlineOutsetExtent() const
1699 { 1701 {
1700 if (!hasOutline()) 1702 if (!hasOutline())
1701 return 0; 1703 return 0;
1702 if (outlineStyleIsAuto()) 1704 if (outlineStyleIsAuto())
1703 return GraphicsContext::focusRingOutsetExtent(outlineOffset(), outlineWi dth()); 1705 return GraphicsContext::focusRingOutsetExtent(outlineOffset(), outlineWi dth());
1704 return std::max(0, outlineWidth() + outlineOffset()); 1706 return std::max(0, outlineWidth() + outlineOffset());
1705 } 1707 }
1706 1708
1707 bool ComputedStyle::columnRuleEquivalent(const ComputedStyle* otherStyle) const 1709 bool ComputedStyle::columnRuleEquivalent(const ComputedStyle* otherStyle) const
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1844 if (!shadowList) 1846 if (!shadowList)
1845 return false; 1847 return false;
1846 for (size_t i = shadowList->shadows().size(); i--; ) { 1848 for (size_t i = shadowList->shadows().size(); i--; ) {
1847 if (shadowList->shadows()[i].color().isCurrentColor()) 1849 if (shadowList->shadows()[i].color().isCurrentColor())
1848 return true; 1850 return true;
1849 } 1851 }
1850 return false; 1852 return false;
1851 } 1853 }
1852 1854
1853 } // namespace blink 1855 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/style/ComputedStyle.h ('k') | third_party/WebKit/Source/core/style/OutlineValue.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698