From ddb8fb3dc3c58506249e57ca651d0b36aa78b69d Mon Sep 17 00:00:00 2001 From: "mozilla.mano%sent.com" Date: Wed, 29 Nov 2006 16:10:31 +0000 Subject: [PATCH] Bug 362074 - ns*TextFieldAccessible::CheckForEditor should use nsIDOMNSEditableElement. r=aaronlev. git-svn-id: svn://10.0.0.236/trunk@216063 18797224-902f-48f8-a5cc-f745e15eee43 --- .../src/html/nsHTMLFormControlAccessible.cpp | 19 ++++++++-------- .../src/xul/nsXULFormControlAccessible.cpp | 22 ++++++++----------- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp b/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp index cd3fa551722..08d8a388364 100644 --- a/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp +++ b/mozilla/accessible/src/html/nsHTMLFormControlAccessible.cpp @@ -41,6 +41,7 @@ #include "nsAccessibilityAtoms.h" #include "nsHTMLFormControlAccessible.h" #include "nsIDOMHTMLInputElement.h" +#include "nsIDOMNSEditableElement.h" #include "nsIDOMNSHTMLButtonElement.h" #include "nsIDOMHTMLLegendElement.h" #include "nsIDOMHTMLTextAreaElement.h" @@ -417,15 +418,15 @@ void nsHTMLTextFieldAccessible::SetEditor(nsIEditor* aEditor) void nsHTMLTextFieldAccessible::CheckForEditor() { - nsIFrame *frame = GetFrame(); - if (frame) { - nsITextControlFrame *textFrame; - frame->QueryInterface(NS_GET_IID(nsITextControlFrame), (void**)&textFrame); - if (textFrame) { - nsCOMPtr editor; - textFrame->GetEditor(getter_AddRefs(editor)); - SetEditor(editor); - } + nsCOMPtr editableElt(do_QueryInterface(mDOMNode)); + if (!editableElt) { + return; + } + + nsCOMPtr editor; + nsresult rv = editableElt->GetEditor(getter_AddRefs(editor)); + if (NS_SUCCEEDED(rv)) { + SetEditor(editor); } } diff --git a/mozilla/accessible/src/xul/nsXULFormControlAccessible.cpp b/mozilla/accessible/src/xul/nsXULFormControlAccessible.cpp index 7dc6aca5f3a..ba3c940a35a 100644 --- a/mozilla/accessible/src/xul/nsXULFormControlAccessible.cpp +++ b/mozilla/accessible/src/xul/nsXULFormControlAccessible.cpp @@ -43,6 +43,7 @@ #include "nsAccessibilityAtoms.h" #include "nsAccessibleTreeWalker.h" #include "nsIDOMHTMLInputElement.h" +#include "nsIDOMNSEditableElement.h" #include "nsIDOMXULButtonElement.h" #include "nsIDOMXULCheckboxElement.h" #include "nsIDOMXULMenuListElement.h" @@ -797,23 +798,18 @@ void nsXULTextFieldAccessible::CheckForEditor() nsCOMPtr inputField; textBox->GetInputField(getter_AddRefs(inputField)); - nsCOMPtr inputContent = do_QueryInterface(inputField); - if (!inputContent) { + if (!inputField) { return; } - - nsCOMPtr presShell = GetPresShell(); - nsIFrame *inputFrame = presShell->GetPrimaryFrameFor(inputContent); - if (!inputFrame) { + + nsCOMPtr editableElt(do_QueryInterface(inputField)); + if (!editableElt) { return; } - - nsITextControlFrame *textFrame; - inputFrame->QueryInterface(NS_GET_IID(nsITextControlFrame), (void**)&textFrame); - if (textFrame) { - nsCOMPtr editor; - textFrame->GetEditor(getter_AddRefs(editor)); + + nsCOMPtr editor; + nsresult rv = editableElt->GetEditor(getter_AddRefs(editor)); + if (NS_SUCCEEDED(rv)) { SetEditor(editor); } } -