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

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

Issue 22929020: Dumping named grid line should use the author's order (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 4 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) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 3 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
4 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 5 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All rights reserved.
7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
10 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. 10 * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
(...skipping 964 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 975
976 GridLength minTrackBreadth; 976 GridLength minTrackBreadth;
977 GridLength maxTrackBreadth; 977 GridLength maxTrackBreadth;
978 if (!createGridTrackBreadth(minMaxTrackBreadth->first(), state, minTrackBrea dth) || !createGridTrackBreadth(minMaxTrackBreadth->second(), state, maxTrackBre adth)) 978 if (!createGridTrackBreadth(minMaxTrackBreadth->first(), state, minTrackBrea dth) || !createGridTrackBreadth(minMaxTrackBreadth->second(), state, maxTrackBre adth))
979 return false; 979 return false;
980 980
981 trackSize.setMinMax(minTrackBreadth, maxTrackBreadth); 981 trackSize.setMinMax(minTrackBreadth, maxTrackBreadth);
982 return true; 982 return true;
983 } 983 }
984 984
985 static bool createGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSiz es, NamedGridLinesMap& namedGridLines, const StyleResolverState& state) 985 static bool createGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSiz es, NamedGridLinesMap& namedGridLines, OrderedNamedGridLines& orderedNamedGridLi nes, const StyleResolverState& state)
986 { 986 {
987 // Handle 'none'. 987 // Handle 'none'.
988 if (value->isPrimitiveValue()) { 988 if (value->isPrimitiveValue()) {
989 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value); 989 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
990 return primitiveValue->getValueID() == CSSValueNone; 990 return primitiveValue->getValueID() == CSSValueNone;
991 } 991 }
992 992
993 if (!value->isValueList()) 993 if (!value->isValueList())
994 return false; 994 return false;
995 995
996 size_t currentNamedGridLine = 0; 996 size_t currentNamedGridLine = 0;
997 for (CSSValueListIterator i = value; i.hasMore(); i.advance()) { 997 for (CSSValueListIterator i = value; i.hasMore(); i.advance()) {
998 CSSValue* currValue = i.value(); 998 CSSValue* currValue = i.value();
999 if (currValue->isPrimitiveValue()) { 999 if (currValue->isPrimitiveValue()) {
1000 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(currValue); 1000 CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(currValue);
1001 if (primitiveValue->isString()) { 1001 if (primitiveValue->isString()) {
1002 NamedGridLinesMap::AddResult result = namedGridLines.add(primiti veValue->getStringValue(), Vector<size_t>()); 1002 String namedGridLine = primitiveValue->getStringValue();
1003 NamedGridLinesMap::AddResult result = namedGridLines.add(namedGr idLine, Vector<size_t>());
1003 result.iterator->value.append(currentNamedGridLine); 1004 result.iterator->value.append(currentNamedGridLine);
1005 OrderedNamedGridLines::AddResult orderedInsertionResult = ordere dNamedGridLines.add(currentNamedGridLine, Vector<String>());
1006 orderedInsertionResult.iterator->value.append(namedGridLine);
1004 continue; 1007 continue;
1005 } 1008 }
1006 } 1009 }
1007 1010
1008 ++currentNamedGridLine; 1011 ++currentNamedGridLine;
1009 GridTrackSize trackSize; 1012 GridTrackSize trackSize;
1010 if (!createGridTrackSize(currValue, trackSize, state)) 1013 if (!createGridTrackSize(currValue, trackSize, state))
1011 return false; 1014 return false;
1012 1015
1013 trackSizes.append(trackSize); 1016 trackSizes.append(trackSize);
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
1717 GridTrackSize trackSize; 1720 GridTrackSize trackSize;
1718 if (!createGridTrackSize(value, trackSize, state)) 1721 if (!createGridTrackSize(value, trackSize, state))
1719 return; 1722 return;
1720 state.style()->setGridAutoRows(trackSize); 1723 state.style()->setGridAutoRows(trackSize);
1721 return; 1724 return;
1722 } 1725 }
1723 case CSSPropertyGridDefinitionColumns: { 1726 case CSSPropertyGridDefinitionColumns: {
1724 if (isInherit) { 1727 if (isInherit) {
1725 state.style()->setGridDefinitionColumns(state.parentStyle()->gridDef initionColumns()); 1728 state.style()->setGridDefinitionColumns(state.parentStyle()->gridDef initionColumns());
1726 state.style()->setNamedGridColumnLines(state.parentStyle()->namedGri dColumnLines()); 1729 state.style()->setNamedGridColumnLines(state.parentStyle()->namedGri dColumnLines());
1730 state.style()->setOrderedNamedGridColumnLines(state.parentStyle()->o rderedNamedGridColumnLines());
1727 return; 1731 return;
1728 } 1732 }
1729 if (isInitial) { 1733 if (isInitial) {
1730 state.style()->setGridDefinitionColumns(RenderStyle::initialGridDefi nitionColumns()); 1734 state.style()->setGridDefinitionColumns(RenderStyle::initialGridDefi nitionColumns());
1731 state.style()->setNamedGridColumnLines(RenderStyle::initialNamedGrid ColumnLines()); 1735 state.style()->setNamedGridColumnLines(RenderStyle::initialNamedGrid ColumnLines());
1736 state.style()->setOrderedNamedGridColumnLines(RenderStyle::initialOr deredNamedGridColumnLines());
1732 return; 1737 return;
1733 } 1738 }
1734 1739
1735 Vector<GridTrackSize> trackSizes; 1740 Vector<GridTrackSize> trackSizes;
1736 NamedGridLinesMap namedGridLines; 1741 NamedGridLinesMap namedGridLines;
1737 if (!createGridTrackList(value, trackSizes, namedGridLines, state)) 1742 OrderedNamedGridLines orderedNamedGridLines;
1743 if (!createGridTrackList(value, trackSizes, namedGridLines, orderedNamed GridLines, state))
1738 return; 1744 return;
1739 state.style()->setGridDefinitionColumns(trackSizes); 1745 state.style()->setGridDefinitionColumns(trackSizes);
1740 state.style()->setNamedGridColumnLines(namedGridLines); 1746 state.style()->setNamedGridColumnLines(namedGridLines);
1747 state.style()->setOrderedNamedGridColumnLines(orderedNamedGridLines);
1741 return; 1748 return;
1742 } 1749 }
1743 case CSSPropertyGridDefinitionRows: { 1750 case CSSPropertyGridDefinitionRows: {
1744 if (isInherit) { 1751 if (isInherit) {
1745 state.style()->setGridDefinitionRows(state.parentStyle()->gridDefini tionRows()); 1752 state.style()->setGridDefinitionRows(state.parentStyle()->gridDefini tionRows());
1746 state.style()->setNamedGridRowLines(state.parentStyle()->namedGridRo wLines()); 1753 state.style()->setNamedGridRowLines(state.parentStyle()->namedGridRo wLines());
1754 state.style()->setOrderedNamedGridRowLines(state.parentStyle()->orde redNamedGridRowLines());
1747 return; 1755 return;
1748 } 1756 }
1749 if (isInitial) { 1757 if (isInitial) {
1750 state.style()->setGridDefinitionRows(RenderStyle::initialGridDefinit ionRows()); 1758 state.style()->setGridDefinitionRows(RenderStyle::initialGridDefinit ionRows());
1751 state.style()->setNamedGridRowLines(RenderStyle::initialNamedGridRow Lines()); 1759 state.style()->setNamedGridRowLines(RenderStyle::initialNamedGridRow Lines());
1760 state.style()->setOrderedNamedGridRowLines(RenderStyle::initialOrder edNamedGridRowLines());
1752 return; 1761 return;
1753 } 1762 }
1754 1763
1755 Vector<GridTrackSize> trackSizes; 1764 Vector<GridTrackSize> trackSizes;
1756 NamedGridLinesMap namedGridLines; 1765 NamedGridLinesMap namedGridLines;
1757 if (!createGridTrackList(value, trackSizes, namedGridLines, state)) 1766 OrderedNamedGridLines orderedNamedGridLines;
1767 if (!createGridTrackList(value, trackSizes, namedGridLines, orderedNamed GridLines, state))
1758 return; 1768 return;
1759 state.style()->setGridDefinitionRows(trackSizes); 1769 state.style()->setGridDefinitionRows(trackSizes);
1760 state.style()->setNamedGridRowLines(namedGridLines); 1770 state.style()->setNamedGridRowLines(namedGridLines);
1771 state.style()->setOrderedNamedGridRowLines(orderedNamedGridLines);
1761 return; 1772 return;
1762 } 1773 }
1763 1774
1764 case CSSPropertyGridColumnStart: { 1775 case CSSPropertyGridColumnStart: {
1765 HANDLE_INHERIT_AND_INITIAL(gridColumnStart, GridColumnStart); 1776 HANDLE_INHERIT_AND_INITIAL(gridColumnStart, GridColumnStart);
1766 GridPosition startPosition; 1777 GridPosition startPosition;
1767 if (!createGridPosition(value, startPosition)) 1778 if (!createGridPosition(value, startPosition))
1768 return; 1779 return;
1769 state.style()->setGridColumnStart(startPosition); 1780 state.style()->setGridColumnStart(startPosition);
1770 return; 1781 return;
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
2337 break; 2348 break;
2338 } 2349 }
2339 case CSSPropertyEnableBackground: 2350 case CSSPropertyEnableBackground:
2340 // Silently ignoring this property for now 2351 // Silently ignoring this property for now
2341 // http://bugs.webkit.org/show_bug.cgi?id=6022 2352 // http://bugs.webkit.org/show_bug.cgi?id=6022
2342 break; 2353 break;
2343 } 2354 }
2344 } 2355 }
2345 2356
2346 } // namespace WebCore 2357 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/css/CSSComputedStyleDeclaration.cpp ('k') | Source/core/rendering/style/RenderStyle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698