author | Alexander Surkov <surkov.alexander@gmail.com> |
Fri, 26 Feb 2016 10:25:36 -0500 | |
changeset 285818 | 6e7c4448eb3af5d47cfde799f39fdce9447293aa |
parent 285817 | e6b4e06576a8243e8ea7764fc4fa02a656da8a8b |
child 285819 | 5aa8163c1cdd35feffaabbf669001f18d6e6a049 |
push id | 30036 |
push user | cbook@mozilla.com |
push date | Mon, 29 Feb 2016 10:35:59 +0000 |
treeherder | mozilla-central@9da51cb4974e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | marcoz |
bugs | 1250878 |
milestone | 47.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
accessible/html/HTMLSelectAccessible.cpp | file | annotate | diff | comparison | revisions | |
accessible/html/HTMLSelectAccessible.h | file | annotate | diff | comparison | revisions |
--- a/accessible/html/HTMLSelectAccessible.cpp +++ b/accessible/html/HTMLSelectAccessible.cpp @@ -109,45 +109,22 @@ HTMLSelectListAccessible::CurrentItem() void HTMLSelectListAccessible::SetCurrentItem(Accessible* aItem) { aItem->GetContent()->SetAttr(kNameSpaceID_None, nsGkAtoms::selected, NS_LITERAL_STRING("true"), true); } -//////////////////////////////////////////////////////////////////////////////// -// HTMLSelectListAccessible: Accessible protected - -void -HTMLSelectListAccessible::CacheChildren() +bool +HTMLSelectListAccessible::IsAcceptableChild(nsIContent* aEl) const { - // Cache accessibles for <optgroup> and <option> DOM decendents as children, - // as well as the accessibles for them. Avoid whitespace text nodes. We want - // to count all the <optgroup>s and <option>s as children because we want - // a flat tree under the Select List. - for (nsIContent* childContent = mContent->GetFirstChild(); childContent; - childContent = childContent->GetNextSibling()) { - if (!childContent->IsHTMLElement()) { - continue; - } - - if (childContent->IsAnyOfHTMLElements(nsGkAtoms::option, - nsGkAtoms::optgroup)) { - - // Get an accessible for option or optgroup and cache it. - RefPtr<Accessible> accessible = - GetAccService()->GetOrCreateAccessible(childContent, this); - if (accessible) - AppendChild(accessible); - } - } + return aEl->IsAnyOfHTMLElements(nsGkAtoms::option, nsGkAtoms::optgroup); } - //////////////////////////////////////////////////////////////////////////////// // HTMLSelectOptionAccessible //////////////////////////////////////////////////////////////////////////////// HTMLSelectOptionAccessible:: HTMLSelectOptionAccessible(nsIContent* aContent, DocAccessible* aDoc) : HyperTextAccessibleWrap(aContent, aDoc) {
--- a/accessible/html/HTMLSelectAccessible.h +++ b/accessible/html/HTMLSelectAccessible.h @@ -46,20 +46,17 @@ public: // Widgets virtual bool IsWidget() const override; virtual bool IsActiveWidget() const override; virtual bool AreItemsOperable() const override; virtual Accessible* CurrentItem() override; virtual void SetCurrentItem(Accessible* aItem) override; -protected: - - // Accessible - virtual void CacheChildren() override; + virtual bool IsAcceptableChild(nsIContent* aEl) const override; }; /* * Options inside the select, contained within the list */ class HTMLSelectOptionAccessible : public HyperTextAccessibleWrap { public: