Bug 1260496 - get rid of CacheChildren for application accessible, r=marcoz

This commit is contained in:
Alexander Surkov
2016-04-01 10:57:06 -04:00
parent f593fda2fd
commit af635b1433
4 changed files with 6 additions and 14 deletions

View File

@@ -60,9 +60,6 @@ DocManager::GetDocAccessible(nsIDocument* aDocument)
if (!aDocument)
return nullptr;
// Ensure CacheChildren is called before we query cache.
ApplicationAcc()->EnsureChildren();
DocAccessible* docAcc = GetExistingDocAccessible(aDocument);
if (docAcc)
return docAcc;

View File

@@ -1327,12 +1327,15 @@ nsAccessibilityService::Init()
logging::CheckEnv();
#endif
gAccessibilityService = this;
if (XRE_IsParentProcess())
gApplicationAccessible = new ApplicationAccessibleWrap();
else
gApplicationAccessible = new ApplicationAccessible();
NS_ADDREF(gApplicationAccessible); // will release in Shutdown()
gApplicationAccessible->Init();
#ifdef MOZ_CRASHREPORTER
CrashReporter::
@@ -1828,9 +1831,7 @@ NS_GetAccessibilityService(nsIAccessibilityService** aResult)
statistics::A11yInitialized();
nsAccessibilityService::gAccessibilityService = service;
NS_ADDREF(*aResult = service);
return NS_OK;
}

View File

@@ -155,16 +155,9 @@ ApplicationAccessible::AccessKey() const
return KeyBinding();
}
////////////////////////////////////////////////////////////////////////////////
// Accessible protected methods
void
ApplicationAccessible::CacheChildren()
ApplicationAccessible::Init()
{
// CacheChildren is called only once for application accessible when its
// children are requested because empty InvalidateChldren() prevents its
// repeated calls.
// Basically children are kept updated by Append/RemoveChild method calls.
// However if there are open windows before accessibility was started
// then we need to make sure root accessibles for open windows are created so

View File

@@ -56,6 +56,8 @@ public:
virtual KeyBinding AccessKey() const override;
// ApplicationAccessible
void Init();
void AppName(nsAString& aName) const
{
nsAutoCString cname;
@@ -86,7 +88,6 @@ protected:
virtual ~ApplicationAccessible() {}
// Accessible
virtual void CacheChildren() override;
virtual Accessible* GetSiblingAtOffset(int32_t aOffset,
nsresult *aError = nullptr) const override;