Closed Bug 1916 Opened 26 years ago Closed 23 years ago

META: Complete CSS2/3 cursor property support

Categories

(Core :: CSS Parsing and Computation, defect, P3)

defect

Tracking

()

VERIFIED WORKSFORME
Future

People

(Reporter: twilight, Assigned: pierre)

References

(Blocks 1 open bug)

Details

(Keywords: css2, css3, meta)

Attachments

(1 file)

The Following 8 Values for the Cursor property do not work.
ne-resize
nw-resize
se-resize
sw-resize
wait
help
crosshair
url("yourcursor.cur") <URI>

The URL submitted has 6 of those cursors to be used but only show the default
cursor. I did not include SE and SW resizes since they are in a sence the same
as the NW and NE respectively.
This was mentioned on the newsgroup for NGLayout, and as I said I am submitting
this as a bug.

I am using the Mozilla Nightly Build built on 98-12-12
Adding myself, joki and Bill Law to the cc: list. We'll need to load the cur/csr
URL as a resource... should be tricky.
Assignee: peterl → joki
Two comments:

1) The above URL is broken.  Has it moved or is it gone?

2) ne-resize and sw-resize, etc. may be the same on Windows, but they are not
the same in X-Win (which has more descriptive looking resize cursors).
Sorry about that, someone renamed it to .html (back to css.htm now)
Whiteboard: [MAKINGTEST] Antti.Nayha@oulu.fi
Severity: trivial → minor
Summary: 8 Values for the Cursor Property (CSS2) do not work → 9 Values for the Cursor Property (CSS2) do not work
Whiteboard: [MAKINGTEST] Antti.Nayha@oulu.fi → [TESTCASE] CSS2 cursor property values need to be implemented
Removed the URL as it was still broken.  Rewrote the bug report in accordance to
the guidelines as follows:


Overview Description:
  9 values of CSS2's cursor property aren't supported.  These are
  - crosshair
  - move
  - ne-resize
  - se-resize
  - sw-resize
  - nw-resize
  - wait
  - help
  - url('yourcursor.cur')
  Also, we might or might not want to support IE's proprietary "hand" value
  which is effectively a synonyme of "pointer".

Steps to reproduce:
  1. View the "CSS2 cursor property test" attachment.
  2. Hover your mouse on each list item.

Actual results:
  When the mouse is hovering over any of the nine (plus 1 non-standard)
  aforementioned property values, the default cursor is displayed.

Expected results:
  When the mouse is hovering over any property value, the appropriate
  cursor should be displayed.  (Note: I'm not sure whether downloadable
  cursors are going to be supported, but the custom cursor test should
  at least degrade properly - ie. it should display the "move" cursor.)

Build Date & Platform:
  Originally reported on 1998-12-12 build on Windows 98.

Additional Builds & Platforms:
  - M7 on Windows NT 4.0 SP4
  - build 1999070408 (Viewer & Apprunner) on Windows NT 4.0 SP4
The 'wait' cursor is working on linux, but the 4 working '?-resize' cursors show
up as crosshair (but crosshair doesn't), even though that's not what my wm's
resize cursors look like.

Furthermore, cursor:auto produces an I-bar cursor over links.  I *think* this is
wrong.

See: http://www.fas.harvard.edu/~dbaron/css/test/sec1801
*** Bug 12738 has been marked as a duplicate of this bug. ***
*** Bug 13545 has been marked as a duplicate of this bug. ***
Assignee: joki → kmcclusk
Target Milestone: M13
from bug #13545:

------- Additional Comments From trudelle@netscape.com  09/13/99 16:11 -------
The rollovers all work for me in today's Apprunner opt build. Many of the
cursors work too, the exact same set that work in Viewer.  This is not an
XPToolkit feature, it has to work even if the toolkit is not there.  We are
implementing a layer of support above this, for XPFE apps to change the cursor
without a WebShell or CSS, but I think someone in Gecko owns this. reassigning
to rickg for triage.

------- Additional Comments From rickg@netscape.com  09/19/99 11:46 -------
One for you.

------- Additional Comments From peterl@netscape.com  09/21/99 17:11 -------
Looks like nsWindow doesn't know how to handle all the cursor types.
Severity: minor → normal
OS: Windows 98 → All
Priority: P4 → P3
Hardware: PC → All
The root of the problem seems to be in nsEventStateManager::UpdateCursor at
http://lxr.mozilla.org/seamonkey/source/layout/events/src/nsEventStateManager.cpp#605
where multiple CSS cursor types map to a single nsCursor value at a number of
points.

So, what's needed are additional enum values for nsCursor, which is defined in
http://lxr.mozilla.org/seamonkey/source/widget/public/nsIWidget.h#135

Then, all the different platform's SetCursor functions, see
http://lxr.mozilla.org/seamonkey/ident?i=SetCursor
must handle these new values.

The GTK work is easy (the constants are in /usr/include/gdk/gdkcursors.h on an
RH 6.0 system), and the other platforms are probably pretty easy too - the hard
part is finding the names of the constants - and they could be mapped to
existing types until they're properly fixed so one person doesn't have to do all
at once.

All the other uses of nsCursor would need to be checked too - see
http://lxr.mozilla.org/seamonkey/ident?i=nsCursor , but it doesn't look (at a
quick glance) like there are any other case statements involving the types...
*** Bug 16660 has been marked as a duplicate of this bug. ***
Status: NEW → ASSIGNED
Target Milestone: M13 → M14
Moving to M14
*** Bug 22108 has been marked as a duplicate of this bug. ***
Bulk moving [testcase] code to new testcase keyword. Sorry for the spam!
Keywords: testcase
*** Bug 24982 has been marked as a duplicate of this bug. ***
Moving to M15
Target Milestone: M14 → M15
Whiteboard: [TESTCASE] CSS2 cursor property values need to be implemented → CSS2 cursor property values need to be implemented
Blocks: 30971
No longer blocks: 30971
Kevin: after you fix this in XP code and Windows, please reassign to me to fix 
the Mac resources.
Added support for crosshair, move, and help cursors on WIN32.
Moving to M17.
Target Milestone: M15 → M17
Moving to M18
Target Milestone: M17 → M18
Reassigning to rod.
Assignee: kmcclusk → rods
Status: ASSIGNED → NEW
I have checked in support on Windows for {ne-resize, se-resize, sw-resize, 
nw-resize} from CSS2 and the cursors from CSS3 that make sense for 
Windows.   CSS2 cursor support on Windows should be now complete except for 
"cursor: auto" and 'cursor: url("yourcursor.cur")'.

There are seperate bugs to fix "cursor: auto" (bug #30971), implement the 
support for CSS2/3 cursors on Mac (bug #38444) and Gtk (bug #38445), and 
implement 'cursor: url("yourcursor.cur")'.

So, I'm changing this to be a meta bug about the cursor property.   When CSS2/3 
cursor property support is complete on all platforms, this bug can be closed and 
verified.
Assignee: rods → pierre
Depends on: 30971, 38444, 38445, 38447
Keywords: testcasecss3, meta
Summary: 9 Values for the Cursor Property (CSS2) do not work → META: Complete CSS2/3 cursor property support
Whiteboard: CSS2 cursor property values need to be implemented
Status: NEW → ASSIGNED
This bug has been marked "future" because the original netscape engineer working 
on this is over-burdened. If you feel this is an error, that you or another known 
resource will be working on this bug, or if it blocks your work in some way -- 
please attach your concern to the bug for reconsideration. 

(leaving the related bug open; the repective owners will take care of them or 
mark them "future")
Target Milestone: M18 → Future
I'm sorry to hear that you are overworked...

I would like to put in my vote for having this worked on however.

I just entered an enhancement request #45789 before I found this meta-bug.  My
main concern is the hand/pointer issue that is really a thorn in my side right
now.  However, the ability to use a uri (like the CSS spec details) would be
incredibly useful as well.

Any chance of bringing this in from Future to say M17 or M18?

I guess I could try to pick it up but it would be my first excursion into the
Mozilla code...
Kahli, as you have seen the bug you opened (45789) was closed as dup of bug 40298 
which gives a workaround for the problem with 'cursor:hand'.

Thanks for volunteering to fix that bug. Basically, you just need to add the 
resources on the Mac and on Unix (bug 38444 and bug 38445). We will not support 
'cursor:url()' for this version. That would require a lot more changes to receive 
the cursor from the host and to convert it from a standard format (jpg/gif) to a 
native cursor resource on all 3 platforms. The problem I see in that conversion 
(on the Mac at least) is where should we locate the "hit point" on the cursor?
Pierre,

Sorry to say that if I have a workaround I'm not going to be able to pick this
up.  I am working on a project for my company right now to port our IE web
application to Netscape 6/Mozilla.  I have a very aggressive schedule to work
with, so I can really only spend my time working on Mozilla code if there is not
a workaround and if it looks like my problem is not going to get fixed any other
way.  I'm sorry if I led you on with my comment about fixing this.

I will try to help Mozilla's efforts by reporting bugs I find and creating
quality test cases to help you track down problems.

Thanks for taking the time to respond to me, I hope you are not too
disappointed.  I certainly support your work and find the transparency of this
project to be immensely helpful.
Blocks: 45097
As far as I can tell, this is blocking bug 45097, which asks for the ability to 
provide cursor feedback (e.g. the hourglass on win32), something that users 
have come to expect from an app.  Thus, I, too, would like to register my 
desire that this be fixed, should you have some time, pierre.
Blake: it works on Windows (see [Michael Lowe 2000-05-07 07:11]), I just fixed 
the problem on the Mac (bug 38445) and sent a reminder to Pav for Unix (bug 
38444). I'm not sure bug 30971 is valid (I'll check it later) and I'm removing 
the dependency with bug 45097.
No longer blocks: 45097
Netscape's standard compliance QA team reorganised itself once again, so taking 
remaining non-tables style bugs. Sorry about the spam. I tried to get this done 
directly at the database level, but apparently that is "not easy because of the 
shadow db", "plus it screws up the audit trail", so no can do...
QA Contact: chrisd → ian
I'm marking this meta bug WorksForMe.  I don't need it anymore to track the 
problems with the cursor.  Bug 30971 (on my list) will be checked in shortly and 
bug 38444 (on pavlov's list) is mostly fixed.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → WORKSFORME
v
Status: RESOLVED → VERIFIED
Blocks: 280331
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: