https://bugs.webkit.org/show_bug.cgi?id=104725
authorbdakin@apple.com <bdakin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Dec 2012 23:16:18 +0000 (23:16 +0000)
committerbdakin@apple.com <bdakin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Dec 2012 23:16:18 +0000 (23:16 +0000)
Crash in EventHandler::selectCursor() on Mac bots running
fast/events/mouse-cursor-image-set.html

Reviewed by Tim Horton.

https://bugs.webkit.org/show_bug.cgi?id=99493 enabled image-set for
the CSS cursor property. Most of the change is guarded behind #if
ENABLE(MOUSE_CURSOR_SCALE). However, image-set was still allowed to
parse for the cursor property as long as image-set is enabled
(which is the current state on the Mac). This would lead to an
inconsistent state where style information would reflect a world
where mouse cursor scaling is enabled even though nothing else on
the Mac would.

The parsing should also be guarded by the cursor scaling flag.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@137367 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/css/CSSParser.cpp

index b1b82d2..f51987c 100644 (file)
@@ -1,3 +1,24 @@
+2012-12-11  Beth Dakin  <bdakin@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=104725
+        Crash in EventHandler::selectCursor() on Mac bots running 
+        fast/events/mouse-cursor-image-set.html
+
+        Reviewed by Tim Horton.
+
+        https://bugs.webkit.org/show_bug.cgi?id=99493 enabled image-set for 
+        the CSS cursor property. Most of the change is guarded behind #if 
+        ENABLE(MOUSE_CURSOR_SCALE). However, image-set was still allowed to 
+        parse for the cursor property as long as image-set is enabled 
+        (which is the current state on the Mac). This would lead to an 
+        inconsistent state where style information would reflect a world 
+        where mouse cursor scaling is enabled even though nothing else on 
+        the Mac would. 
+
+        The parsing should also be guarded by the cursor scaling flag.
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::parseValue):
+
 2012-12-11  Emil A Eklund  <eae@chromium.org>
 
         Clamp out-of-range numbers in CSS
index e676ce1..e1241a8 100644 (file)
@@ -1925,7 +1925,7 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
                 String uri = value->string;
                 if (!uri.isNull())
                     image = CSSImageValue::create(completeURL(uri));
-#if ENABLE(CSS_IMAGE_SET)
+#if ENABLE(CSS_IMAGE_SET) && ENABLE(MOUSE_CURSOR_SCALE)
             } else if (value->unit == CSSParserValue::Function && equalIgnoringCase(value->function->name, "-webkit-image-set(")) {
                 image = parseImageSet(m_valueList.get());
                 if (!image)