Closed Bug 799133 Opened 12 years ago Closed 12 years ago

certain web sites miss focus event on reload

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: surkov, Assigned: surkov)

References

(Blocks 1 open bug)

Details

(Keywords: access, Whiteboard: [leave open])

Attachments

(1 file)

I was reported about http://www.freedomscientific.com. Hitting reload doesn't make a focus. The problem here we receive DOM focus event for document a little bit early than anything is loaded into the document. Obviously this is timing issue but due to some reason it happens on fs site permanently (I'm not aware of other examples). We don't create accessible document (because of bug 612830) and therefore we miss the focus event.

Fixing bug 612830 should fix this one.
Attachment #669171 - Flags: review?(trev.saunders)
Assignee: nobody → surkov.alexander
Comment on attachment 669171 [details] [diff] [review]
add logging reveling the problem

> LogPresShell(nsIDocument* aDocumentNode)
> {
>   nsIPresShell* ps = aDocumentNode->GetShell();
>-  printf("presshell: %p", static_cast<void*>(ps));
>+  printf("presshell: %p, %s destroying", static_cast<void*>(ps),
>+         (ps->IsDestroying() ? "" : "not"));

maybe "is" instead of "" to be more clear

>+logging::Document(DocAccessible* aDocument)
>+{
>+  printf("    Document: %p, document node: %p\n",
>+           static_cast<void*>(aDocument),
>+           static_cast<void*>(aDocument->GetDocumentNode()));
>+
>+  printf("    Document ");
>+  LogDocURI(static_cast<nsIDocument*>(aDocument->GetDocumentNode()));

why is cast needed?

> logging::AccessibleNNode(const char* aDescr, nsINode* aNode)
> {
>   DocAccessible* document =
>     GetAccService()->GetDocAccessible(aNode->OwnerDoc());
> 
>   if (document) {
>     Accessible* accessible = document->GetAccessible(aNode);
>     if (accessible) {
>       AccessibleNNode(aDescr, accessible);
>       return;
>     }
>   }
> 
>-  nsAutoCString nodeDescr("Not accessible ");
>+  nsAutoCString nodeDescr("[not accessible] ");
>   nodeDescr.Append(aDescr);
>   Node(nodeDescr.get(), aNode);
>+
>+  if (document) {
>+    Document(document);
>+    return;
>+  }
>+
>+  printf("    [contained by document]:\n");

non accessible document?
Attachment #669171 - Flags: review?(trev.saunders) → review+
landed with Trevor's comments fixed http://hg.mozilla.org/integration/mozilla-inbound/rev/b7d112dee89c
Whiteboard: [leave open]
Depends on: 612830
it's no longer an issue after bug 612830 was fixed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: