Bumping manifests a=b2g-bump
[gecko.git] / accessible / generic / TextLeafAccessible.cpp
blobeac71c692f0bc6723f260bbe7aa93dd0fed4abc2
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #include "TextLeafAccessible.h"
8 #include "nsAccUtils.h"
9 #include "DocAccessible.h"
10 #include "Role.h"
12 using namespace mozilla::a11y;
14 ////////////////////////////////////////////////////////////////////////////////
15 // TextLeafAccessible
16 ////////////////////////////////////////////////////////////////////////////////
18 TextLeafAccessible::
19 TextLeafAccessible(nsIContent* aContent, DocAccessible* aDoc) :
20 LinkableAccessible(aContent, aDoc)
22 mType = eTextLeafType;
25 TextLeafAccessible::~TextLeafAccessible()
29 role
30 TextLeafAccessible::NativeRole()
32 nsIFrame* frame = GetFrame();
33 if (frame && frame->IsGeneratedContentFrame())
34 return roles::STATICTEXT;
36 return roles::TEXT_LEAF;
39 void
40 TextLeafAccessible::AppendTextTo(nsAString& aText, uint32_t aStartOffset,
41 uint32_t aLength)
43 aText.Append(Substring(mText, aStartOffset, aLength));
46 ENameValueFlag
47 TextLeafAccessible::Name(nsString& aName)
49 // Text node, ARIA can't be used.
50 aName = mText;
51 return eNameOK;
54 void
55 TextLeafAccessible::CacheChildren()
57 // No children for text accessible.