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

Unified Diff: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp

Issue 2661003004: Adds framework classes for ALL remaining parseSingleValue Ribbon APIs. (Closed)
Patch Set: format Created 3 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
diff --git a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
index 8a622e7237ae3378e67b0346ea93ab2891ad7bb6..c4ad6da743148b6b84bb1f46db38a70c0d72d378 100644
--- a/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp
@@ -4,6 +4,7 @@
#include "core/css/parser/CSSPropertyParser.h"
+#include <memory>
#include "core/StylePropertyShorthand.h"
#include "core/css/CSSBasicShapeValues.h"
#include "core/css/CSSBorderImage.h"
@@ -42,6 +43,7 @@
#include "core/css/parser/CSSVariableParser.h"
#include "core/css/parser/FontVariantLigaturesParser.h"
#include "core/css/parser/FontVariantNumericParser.h"
+#include "core/css/properties/CSSPropertyAPI.h"
#include "core/css/properties/CSSPropertyAlignmentUtils.h"
#include "core/css/properties/CSSPropertyColumnUtils.h"
#include "core/css/properties/CSSPropertyDescriptor.h"
@@ -53,7 +55,6 @@
#include "core/layout/LayoutTheme.h"
#include "core/svg/SVGPathUtilities.h"
#include "wtf/text/StringBuilder.h"
-#include <memory>
namespace blink {
@@ -3547,6 +3548,19 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty,
addProperty(CSSPropertyWebkitMarginAfterCollapse,
CSSPropertyWebkitMarginCollapse, *beforeCollapse,
important);
+ if (m_range.atEnd()) {
+ addProperty(CSSPropertyWebkitMarginAfterCollapse,
+ CSSPropertyWebkitMarginCollapse, *beforeCollapse,
+ important);
+ return true;
+ }
+ id = m_range.consumeIncludingWhitespace().id();
+ if (!CSSParserFastPaths::isValidKeywordPropertyAndValue(
+ CSSPropertyWebkitMarginAfterCollapse, id, m_context->mode()))
+ return false;
+ addProperty(CSSPropertyWebkitMarginAfterCollapse,
+ CSSPropertyWebkitMarginCollapse, *beforeCollapse,
+ important);
return true;
}
id = m_range.consumeIncludingWhitespace().id();
@@ -3569,11 +3583,13 @@ bool CSSPropertyParser::parseShorthand(CSSPropertyID unresolvedProperty,
CSSValue* overflowXValue = nullptr;
- // FIXME: -webkit-paged-x or -webkit-paged-y only apply to overflow-y. If
+ // FIXME: -webkit-paged-x or -webkit-paged-y only apply to overflow-y.
+ // If
// this value has been set using the shorthand, then for now overflow-x
// will default to auto, but once we implement pagination controls, it
// should default to hidden. If the overflow-y value is anything but
- // paged-x or paged-y, then overflow-x and overflow-y should have the same
+ // paged-x or paged-y, then overflow-x and overflow-y should have the
+ // same
// value.
if (id == CSSValueWebkitPagedX || id == CSSValueWebkitPagedY)
overflowXValue = CSSIdentifierValue::create(CSSValueAuto);

Powered by Google App Engine
This is Rietveld 408576698