Closed Bug 278951 Opened 20 years ago Closed 20 years ago

Accessible "state" and "extended state" have been mixed up

Categories

(Core :: Disability Access APIs, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: Louie.Zhao, Assigned: Louie.Zhao)

References

Details

Attachments

(2 files)

MSAA state flags (value from 0x00000001 to 0x40000000) are used as
crossplatform, while Extended state flags is only for Java and ATK support.
Currently, Extended state flags use the same value space as MSAA state flags and
mozilla ATK code doesn't distinguish two of them. Extended state flags can only
pick the values that haven't been used (already defined) in MSAA. The more
extended state flags are defined/used, the more confict it will bring.

The right way is to seperate MSAA state flags and extended state flags into 2
different value space and don't mix them up.
Please refer to the discussion in bug 241055 from 
https://bugzilla.mozilla.org/show_bug.cgi?id=241055#c3.

Blocks: 241055
Attached patch patch v1Splinter Review
This patch seperate extended state flags and MSAA state flags into 2 different
value spaces.

Aaron mentioned in bug 241550 "Let's use some type safety techniques to ensure
states don't get mixed together."

I have tried to use "typedef" to rename the type of MSAA state flags and
extended state flags. But In C++, "typedef" is handled in pre-process in
compiling and compiler can't report if I mixed them in code (e.g. set value,
function argument) because they are all "unsigned long". I can't find one
proper techniques in C++ to let compiler to prevent coder from mixing them
together. This patch uses "EXT_" as prefix of extended state flags, which
should be only used in GetExtState() instead of GetState().
Attachment #171723 - Flags: review?(pkwarren)
Comment on attachment 171723 [details] [diff] [review]
patch v1

You need to rev the UUID in nsIAccessible.idl after changing the constants.

r=pkw with that change.
Attachment #171723 - Flags: review?(pkwarren) → review+
Attached patch patch v2Splinter Review
update the UUID in nsIAccessible.idl
Attachment #171841 - Flags: superreview?(Henry.Jia)
Attachment #171841 - Flags: superreview?(Henry.Jia) → superreview+
patch checked in.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: