Reviewed by Darin.
authorap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 20 May 2006 08:57:16 +0000 (08:57 +0000)
committerap <ap@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 20 May 2006 08:57:16 +0000 (08:57 +0000)
        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8991
          REGRESSION: missing or broken CSS custom cursors are displayed as
          a missing image icon

        * page/FrameView.cpp:
        (WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
        * manual-tests/custom-cursors.html: Added.

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

WebCore/ChangeLog
WebCore/manual-tests/custom-cursors.html [new file with mode: 0644]
WebCore/page/FrameView.cpp

index 4d6d8a434d37833605be15ad18f028ade542c34c..24a3d432c1eb8316fbd7badfbc012df32d581e7f 100644 (file)
@@ -1,3 +1,15 @@
+2006-05-20  Alexey Proskuryakov  <ap@nypop.com>
+
+        Reviewed by Darin.
+
+        - http://bugzilla.opendarwin.org/show_bug.cgi?id=8991
+          REGRESSION: missing or broken CSS custom cursors are displayed as 
+          a missing image icon
+
+        * page/FrameView.cpp:
+        (WebCore::selectCursor): Fallback to CURSOR_AUTO if the image is an error image.
+        * manual-tests/custom-cursors.html: Added.
+
 2006-05-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed and landed by ap.
 2006-05-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed and landed by ap.
diff --git a/WebCore/manual-tests/custom-cursors.html b/WebCore/manual-tests/custom-cursors.html
new file mode 100644 (file)
index 0000000..9ba7fef
--- /dev/null
@@ -0,0 +1,5 @@
+<a href="http://bugzilla.opendarwin.org/show_bug.cgi?id=8991">Bug 8991</a>: REGRESSION: missing or broken CSS custom cursors are displayed as a missing image icon.<p>
+Move the cursor over the blue box - it should not turn into a missing image icon, and should turn into an I-beam over text.
+
+<div style="width:100px;height:50px;background-color:lightblue; cursor:url(nonexistent.png), auto;"><span style="cursor:url(nonexistent.png), auto;">some text</span></div>
+<div style="width:100px;height:50px;background-color:lightblue; cursor:url(nonexistent.png);"></div>
index cd0c2758ee18f476a4fd7346670dcd71cbcbca8e..a22ed12d9166b42214314d704334e4dcaef5b35f 100644 (file)
@@ -551,7 +551,10 @@ static Cursor selectCursor(const MouseEventWithHitTestResults& event, Frame* fra
     RenderStyle* style = renderer ? renderer->style() : 0;
 
     if (style && style->cursorImage() && !style->cursorImage()->image()->isNull())
     RenderStyle* style = renderer ? renderer->style() : 0;
 
     if (style && style->cursorImage() && !style->cursorImage()->image()->isNull())
-        return style->cursorImage()->image();
+        if (!style->cursorImage()->isErrorImage())
+            return style->cursorImage()->image();
+        else 
+            style = 0; // Fallback to CURSOR_AUTO
 
     switch (style ? style->cursor() : CURSOR_AUTO) {
         case CURSOR_AUTO: {
 
     switch (style ? style->cursor() : CURSOR_AUTO) {
         case CURSOR_AUTO: {