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

Side by Side Diff: third_party/WebKit/Source/core/css/StylePropertySerializer.h

Issue 1988013003: Move generic shorthand serialization checks out of specific routines (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@shorthand1
Patch Set: actually fix test Created 4 years, 7 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 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. 4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved.
5 * Copyright (C) 2013 Intel Corporation. All rights reserved. 5 * Copyright (C) 2013 Intel Corporation. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 30 matching lines...) Expand all
41 String getPropertyValue(CSSPropertyID) const; 41 String getPropertyValue(CSSPropertyID) const;
42 private: 42 private:
43 String getCommonValue(const StylePropertyShorthand&) const; 43 String getCommonValue(const StylePropertyShorthand&) const;
44 String borderPropertyValue() const; 44 String borderPropertyValue() const;
45 String getLayeredShorthandValue(const StylePropertyShorthand&) const; 45 String getLayeredShorthandValue(const StylePropertyShorthand&) const;
46 String get4Values(const StylePropertyShorthand&) const; 46 String get4Values(const StylePropertyShorthand&) const;
47 String borderSpacingValue(const StylePropertyShorthand&) const; 47 String borderSpacingValue(const StylePropertyShorthand&) const;
48 String getShorthandValue(const StylePropertyShorthand&, String separator = " ") const; 48 String getShorthandValue(const StylePropertyShorthand&, String separator = " ") const;
49 String fontValue() const; 49 String fontValue() const;
50 String fontVariantValue() const; 50 String fontVariantValue() const;
51 void appendFontLonghandValueIfNotNormal(CSSPropertyID, StringBuilder& result , String& value) const; 51 void appendFontLonghandValueIfNotNormal(CSSPropertyID, StringBuilder& result ) const;
52 String backgroundRepeatPropertyValue() const; 52 String backgroundRepeatPropertyValue() const;
53 String getPropertyText(CSSPropertyID, const String& value, bool isImportant, bool isNotFirstDecl) const; 53 String getPropertyText(CSSPropertyID, const String& value, bool isImportant, bool isNotFirstDecl) const;
54 bool isPropertyShorthandAvailable(const StylePropertyShorthand&) const; 54 bool isPropertyShorthandAvailable(const StylePropertyShorthand&) const;
55 bool shorthandHasOnlyInitialOrInheritedValue(const StylePropertyShorthand&) const; 55 bool shorthandHasOnlyInitialOrInheritedValue(const StylePropertyShorthand&) const;
56 void appendBackgroundPropertyAsText(StringBuilder& result, unsigned& numDecl s) const; 56 void appendBackgroundPropertyAsText(StringBuilder& result, unsigned& numDecl s) const;
57 57
58 // This function does checks common to all shorthands, and returns:
59 // - The serialization if the shorthand serializes as a css-wide keyword.
60 // - An empty string if either some longhands are not set, the important
61 // flag is not set consistently, or css-wide keywords are used. In these
62 // cases serialization will always fail.
63 // - A null string otherwise.
64 String commonShorthandChecks(const StylePropertyShorthand&) const;
65
58 // Only StylePropertySerializer uses the following two classes. 66 // Only StylePropertySerializer uses the following two classes.
59 class PropertyValueForSerializer { 67 class PropertyValueForSerializer {
60 STACK_ALLOCATED(); 68 STACK_ALLOCATED();
61 public: 69 public:
62 explicit PropertyValueForSerializer(StylePropertySet::PropertyReference property) 70 explicit PropertyValueForSerializer(StylePropertySet::PropertyReference property)
63 : m_value(property.value()) 71 : m_value(property.value())
64 , m_id(property.id()) 72 , m_id(property.id())
65 , m_isImportant(property.isImportant()) 73 , m_isImportant(property.isImportant())
66 , m_isImplicit(property.isImplicit()) 74 , m_isImplicit(property.isImplicit())
67 , m_isInherited(property.isInherited()) { } 75 , m_isInherited(property.isInherited()) { }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 std::bitset<numCSSProperties> m_longhandPropertyUsed; 123 std::bitset<numCSSProperties> m_longhandPropertyUsed;
116 bool m_needToExpandAll; 124 bool m_needToExpandAll;
117 }; 125 };
118 126
119 const StylePropertySetForSerializer m_propertySet; 127 const StylePropertySetForSerializer m_propertySet;
120 }; 128 };
121 129
122 } // namespace blink 130 } // namespace blink
123 131
124 #endif // StylePropertySerializer_h 132 #endif // StylePropertySerializer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698