Closed Bug 757774 Opened 12 years ago Closed 12 years ago

Intermittent TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for 'link_traversed' !got '0', expected 'traversed' (aka Fire state change event when link is traversed)

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla19

People

(Reporter: jwalker, Assigned: surkov)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=11975172&tree=Try

8906 INFO TEST-START | chrome://mochitests/content/a11y/accessible/states/test_link.html
8907 INFO TEST-INFO | chrome://mochitests/content/a11y/accessible/states/test_link.html | must wait for load
8908 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_href' !
8909 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for ['null node', address: [object Text], role: text leaf, name: 'link', address: [xpconnect wrapped nsIAccessible]]!
8910 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_click' !
8911 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_mousedown' !
8912 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_mouseup' !
8913 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_arialink' !
8914 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_ariabutton' !
8915 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | state bits should not be present in ID  'link_ariabutton' !
8916 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_notlink' !
8917 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | state bits should not be present in ID  'link_notlink' !
8918 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_traversed' !
8919 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | state bits should not be present in ID  'link_traversed' !
8920 ERROR TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for  'link_traversed' !got '0', expected 'traversed'
8921 INFO TEST-PASS | chrome://mochitests/content/a11y/accessible/states/test_link.html | Focussed  'link_traversed'  must be focusable!
8922 INFO TEST-END | chrome://mochitests/content/a11y/accessible/states/test_link.html | finished in 224ms
Comment 1 was a mis-star, was actually bug 782991.
Olli, do you know the code responsible for setting NS_EVENT_STATE_VISITED bit on the link element or somebody who could know that?

Failing test clicks on a link and checks that state on the link content after the page was loaded. Sometimes that state is not presented.
bz and maybe dbaron know more about event states.
cc'ing Boris (comment #15)
The relevant code is History::NotifyVisited in components/places/History.cpp

This is called from the NotifyVisitObservers runnable, which is posted when the InsertVisitedURIs runnable runs.  _That_ runnable is posted from History::VisitURI and various other places.

So the point is, the whole thing is async.  Twice.  Starting with whenever VisitURI is called.  It sounds like you're racing against those events depending on how much stuff happens between VisitURI and the load event?
Thank you, Boris, it seems plausible.

We could fire a11y state change event for traversed state change. Jamie, does make sense for NVDA/AT?
(In reply to alexander :surkov from comment #24)
> We could fire a11y state change event for traversed state change. Jamie,
> does make sense for NVDA/AT?
Definitely. It would solve this issue reported by an NVDA user:
http://www.nvda-project.org/ticket/2698
I just hadn't gotten around to filing a bug yet. :)
Attached patch patchSplinter Review
Assignee: nobody → surkov.alexander
Status: NEW → ASSIGNED
Attachment #679975 - Flags: review?(trev.saunders)
Attachment #679975 - Flags: review?(trev.saunders) → review+
https://hg.mozilla.org/mozilla-central/rev/c89140aad95a
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
Blocks: 810554
Summary: Intermittent TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for 'link_traversed' !got '0', expected 'traversed' → Intermittent TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/states/test_link.html | wrong state bits for 'link_traversed' !got '0', expected 'traversed' (aka Fire state change event when link is traversed)
Whiteboard: [orange]
Blocks: 815646
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: