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

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

Issue 1457873002: Move cursor property into CSSPropertyParser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Patch for landing Created 5 years 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
« no previous file with comments | « third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
diff --git a/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp b/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
index 861279b43b0f460d5d0e8ba0cc8eb5bef19d3454..4cb356e78a85511a01235d0ead0c5230a1a74e74 100644
--- a/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
+++ b/third_party/WebKit/Source/core/css/parser/LegacyCSSPropertyParser.cpp
@@ -33,12 +33,10 @@
#include "core/css/CSSContentDistributionValue.h"
#include "core/css/CSSCounterValue.h"
#include "core/css/CSSCrossfadeValue.h"
-#include "core/css/CSSCursorImageValue.h"
#include "core/css/CSSCustomIdentValue.h"
#include "core/css/CSSFunctionValue.h"
#include "core/css/CSSGridLineNamesValue.h"
#include "core/css/CSSImageSetValue.h"
-#include "core/css/CSSImageValue.h"
#include "core/css/CSSPrimitiveValueMappings.h"
#include "core/css/CSSProperty.h"
#include "core/css/CSSPropertyMetadata.h"
@@ -260,13 +258,6 @@ inline PassRefPtrWillBeRawPtr<CSSCustomIdentValue> CSSPropertyParser::createPrim
return CSSCustomIdentValue::create(value->string);
}
-inline PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::createCSSImageValueWithReferrer(const AtomicString& rawValue, const KURL& url)
-{
- RefPtrWillBeRawPtr<CSSValue> imageValue = CSSImageValue::create(rawValue, url);
- toCSSImageValue(imageValue.get())->setReferrer(m_context.referrer());
- return imageValue;
-}
-
static inline bool isComma(CSSParserValue* value)
{
ASSERT(value);
@@ -379,83 +370,6 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
m_valueList->next();
break;
- case CSSPropertyCursor: {
- // Grammar defined by CSS3 UI and modified by CSS4 images:
- // [ [<image> [<x> <y>]?,]*
- // [ auto | crosshair | default | pointer | progress | move | e-resize | ne-resize |
- // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | ew-resize |
- // ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | text | wait | help |
- // vertical-text | cell | context-menu | alias | copy | no-drop | not-allowed | all-scroll |
- // zoom-in | zoom-out | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out ] ] | inherit
- RefPtrWillBeRawPtr<CSSValueList> list = nullptr;
- while (value) {
- RefPtrWillBeRawPtr<CSSValue> image = nullptr;
- if (value->m_unit == CSSParserValue::URI) {
- AtomicString uri = value->string;
- if (!uri.isNull())
- image = createCSSImageValueWithReferrer(uri, completeURL(uri));
- } else if (value->m_unit == CSSParserValue::Function && value->function->id == CSSValueWebkitImageSet) {
- image = parseImageSet(m_valueList);
- if (!image)
- break;
- } else
- break;
-
- Vector<int> coords;
- value = m_valueList->next();
- while (value && validUnit(value, FNumber)) {
- coords.append(int(value->fValue));
- value = m_valueList->next();
- }
- bool hotSpotSpecified = false;
- IntPoint hotSpot(-1, -1);
- int nrcoords = coords.size();
- if (nrcoords > 0 && nrcoords != 2)
- return false;
- if (nrcoords == 2) {
- hotSpotSpecified = true;
- hotSpot = IntPoint(coords[0], coords[1]);
- }
-
- if (!list)
- list = CSSValueList::createCommaSeparated();
-
- if (image)
- list->append(CSSCursorImageValue::create(image, hotSpotSpecified, hotSpot));
-
- if (!consumeComma(m_valueList))
- return false;
- value = m_valueList->current();
- }
- if (value && m_context.useCounter()) {
- if (value->id == CSSValueWebkitZoomIn)
- m_context.useCounter()->count(UseCounter::PrefixedCursorZoomIn);
- else if (value->id == CSSValueWebkitZoomOut)
- m_context.useCounter()->count(UseCounter::PrefixedCursorZoomOut);
- }
- if (list) {
- if (!value)
- return false;
- if (inQuirksMode() && value->id == CSSValueHand) // MSIE 5 compatibility :/
- list->append(cssValuePool().createIdentifierValue(CSSValuePointer));
- else if ((value->id >= CSSValueAuto && value->id <= CSSValueWebkitZoomOut) || value->id == CSSValueCopy || value->id == CSSValueNone)
- list->append(cssValuePool().createIdentifierValue(value->id));
- m_valueList->next();
- parsedValue = list.release();
- break;
- } else if (value) {
- id = value->id;
- if (inQuirksMode() && value->id == CSSValueHand) { // MSIE 5 compatibility :/
- id = CSSValuePointer;
- validPrimitive = true;
- } else if ((value->id >= CSSValueAuto && value->id <= CSSValueWebkitZoomOut) || value->id == CSSValueCopy || value->id == CSSValueNone)
- validPrimitive = true;
- } else {
- ASSERT_NOT_REACHED();
- return false;
- }
- break;
- }
case CSSPropertyImageOrientation:
if (RuntimeEnabledFeatures::imageOrientationEnabled())
validPrimitive = value->id == CSSValueFromImage || (value->unit() != CSSPrimitiveValue::UnitType::Number && validUnit(value, FAngle) && value->fValue == 0);
@@ -1040,6 +954,7 @@ bool CSSPropertyParser::parseValue(CSSPropertyID unresolvedProperty, bool import
case CSSPropertyRy:
case CSSPropertyScale:
case CSSPropertyTranslate:
+ case CSSPropertyCursor:
validPrimitive = false;
break;
« no previous file with comments | « third_party/WebKit/Source/core/css/parser/CSSPropertyParser.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698