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)
Tracking
()
RESOLVED
FIXED
People
(Reporter: Louie.Zhao, Assigned: Louie.Zhao)
References
Details
Attachments
(2 files)
|
13.69 KB,
patch
|
pkwarren
:
review+
|
Details | Diff | Splinter Review |
|
14.12 KB,
patch
|
Henry.Jia
:
superreview+
|
Details | Diff | Splinter Review |
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.
| Assignee | ||
Comment 1•20 years ago
|
||
Please refer to the discussion in bug 241055 from https://bugzilla.mozilla.org/show_bug.cgi?id=241055#c3.
Blocks: 241055
| Assignee | ||
Comment 2•20 years ago
|
||
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 3•20 years ago
|
||
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+
| Assignee | ||
Comment 4•20 years ago
|
||
update the UUID in nsIAccessible.idl
Attachment #171841 -
Flags: superreview?(Henry.Jia)
Attachment #171841 -
Flags: superreview?(Henry.Jia) → superreview+
| Assignee | ||
Comment 5•20 years ago
|
||
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.
Description
•