As a security precaution, we have turned on the setting "Require API key authentication for API requests" for everyone. If this has broken something, please contact
Last Comment Bug 340825 - New ATK: Implement nsIAccessibleValue on nsAccessible
: New ATK: Implement nsIAccessibleValue on nsAccessible
: access
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: Trunk
: x86 All
: -- normal (vote)
: ---
Assigned To: Aaron Leventhal
: alexander :surkov
Depends on: 340822 475901
Blocks: newatk
  Show dependency treegraph
Reported: 2006-06-08 07:24 PDT by Aaron Leventhal
Modified: 2009-01-29 00:17 PST (History)
1 user (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

See bug comment for description of changes (28.14 KB, patch)
2006-06-09 07:40 PDT, Aaron Leventhal
ginn.chen: review+
Details | Diff | Splinter Review
Patch for checkin (26.49 KB, patch)
2006-06-15 06:59 PDT, Aaron Leventhal
no flags Details | Diff | Splinter Review

Description User image Aaron Leventhal 2006-06-08 07:24:31 PDT
Any widget can have a value if it has aaa:valuenow/valuemin/valuemax attributes.

Therefore nsIAccessibleValue should be implemented by nsAccessible whenever there is a role which supports value.

if (mRoleMapEntry && mRoleMapEntry->valueRule != eNoValue) {
  // Support nsIAccessibleValue

If we put this in nsAccessible::QueryInterface one issue is that progress meters already implement nsIAccessibleValue would now inherit the interface twice. So, we will have to remove it from the deifinition of the nsXULProgresMeterAccessible class, but still implement the interface for that class, and thus make sure QI still works.
Comment 1 User image Aaron Leventhal 2006-06-08 07:33:48 PDT
Also remove nsXULProgressMeterAccessibleWrap and implement that in nsXULProgressMeterAccessible cross platform class.
Comment 2 User image Aaron Leventhal 2006-06-09 07:40:04 PDT
Created attachment 225006 [details] [diff] [review]
See bug comment for description of changes

1) Get rid of unnecessary nsAccessible::GetFinalValue(), just use GetValue()
2) Use nsresult return code instead of boolean success parameter for nsIAccessibleValue::setCurrentValue
3) Add support for minimumIncrement
4) Remove nsXULProgressMeterAccessibleWrap and put into cross platform class
5) Support nsIAccessibleValue in nsAccessible when a DHTML role is used that supports values
Comment 3 User image Ginn Chen 2006-06-12 22:57:00 PDT
Comment on attachment 225006 [details] [diff] [review]
See bug comment for description of changes

Most of the codes look good to me.

+    aIface->set_current_value = getMinimumIncrementCB;
It's a typo.

And we need to clean up accessible/src/atk/nsXULFormControlAccessible.cpp line 47-53.
Comment 4 User image Aaron Leventhal 2006-06-15 06:59:28 PDT
Created attachment 225693 [details] [diff] [review]
Patch for checkin
Comment 5 User image Aaron Leventhal 2006-06-15 08:17:50 PDT
Backing out for now. Checkin accidentally removed some files.

Note You need to log in before you can comment on or make changes to this bug.