mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-20 08:51:04 +00:00
Bug 721947 - use nsIPresShell instead of nsIWeakShell. r=surkov
This commit is contained in:
parent
e25053c637
commit
356d8337b9
@ -71,8 +71,8 @@ public:
|
||||
* @param aPresShell [in] the presentation shell which contains layout info
|
||||
* for the DOM node
|
||||
*/
|
||||
virtual nsAccessible* GetAccessibleInShell(nsINode* aNode,
|
||||
nsIPresShell* aPresShell) = 0;
|
||||
virtual nsAccessible* GetAccessible(nsINode* aNode,
|
||||
nsIPresShell* aPresShell) = 0;
|
||||
|
||||
/**
|
||||
* Return root document accessible that is or contains a document accessible
|
||||
|
@ -47,9 +47,9 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
nsDocAccessibleWrap::
|
||||
nsDocAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell) :
|
||||
nsDocAccessible(aDocument, aRootContent, aShell), mActivated(false)
|
||||
nsDocAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell) :
|
||||
nsDocAccessible(aDocument, aRootContent, aPresShell), mActivated(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,8 @@
|
||||
class nsDocAccessibleWrap: public nsDocAccessible
|
||||
{
|
||||
public:
|
||||
nsDocAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell);
|
||||
nsDocAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsDocAccessibleWrap();
|
||||
|
||||
bool mActivated;
|
||||
|
@ -139,7 +139,7 @@ NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(AccEvent, Release)
|
||||
nsAccessible*
|
||||
AccEvent::GetAccessibleForNode() const
|
||||
{
|
||||
return mNode ? GetAccService()->GetAccessible(mNode) : nsnull;
|
||||
return mNode ? GetAccService()->GetAccessible(mNode, nsnull) : nsnull;
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -344,7 +344,7 @@ nsAccessible*
|
||||
IDRefsIterator::Next()
|
||||
{
|
||||
nsIContent* nextElm = NextElem();
|
||||
return nextElm ? GetAccService()->GetAccessible(nextElm) : nsnull;
|
||||
return nextElm ? GetAccService()->GetAccessible(nextElm, nsnull) : nsnull;
|
||||
}
|
||||
|
||||
nsAccessible*
|
||||
|
@ -123,7 +123,7 @@ public:
|
||||
inline void AppendTarget(nsIContent* aContent)
|
||||
{
|
||||
if (aContent)
|
||||
AppendTarget(GetAccService()->GetAccessible(aContent));
|
||||
AppendTarget(GetAccService()->GetAccessible(aContent, nsnull));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -381,9 +381,6 @@ nsAccDocManager::CreateDocOrRootAccessible(nsIDocument *aDocument)
|
||||
if (!isRootDoc) {
|
||||
// XXXaaronl: ideally we would traverse the presshell chain. Since there's
|
||||
// no easy way to do that, we cheat and use the document hierarchy.
|
||||
// GetAccessible() is bad because it doesn't support our concept of multiple
|
||||
// presshells per doc. It should be changed to use
|
||||
// GetAccessibleInWeakShell().
|
||||
parentDocAcc = GetDocAccessible(aDocument->GetParentDocument());
|
||||
NS_ASSERTION(parentDocAcc,
|
||||
"Can't create an accessible for the document!");
|
||||
@ -393,10 +390,9 @@ nsAccDocManager::CreateDocOrRootAccessible(nsIDocument *aDocument)
|
||||
|
||||
// We only create root accessibles for the true root, otherwise create a
|
||||
// doc accessible.
|
||||
nsCOMPtr<nsIWeakReference> weakShell(do_GetWeakReference(presShell));
|
||||
nsRefPtr<nsDocAccessible> docAcc = isRootDoc ?
|
||||
new nsRootAccessibleWrap(aDocument, rootElm, weakShell) :
|
||||
new nsDocAccessibleWrap(aDocument, rootElm, weakShell);
|
||||
new nsRootAccessibleWrap(aDocument, rootElm, presShell) :
|
||||
new nsDocAccessibleWrap(aDocument, rootElm, presShell);
|
||||
|
||||
// Cache the document accessible into document cache.
|
||||
if (!docAcc || !mDocAccessibleCache.Put(aDocument, docAcc))
|
||||
|
@ -41,9 +41,9 @@
|
||||
|
||||
#include "nsAccessible.h"
|
||||
#include "nsAccessibilityService.h"
|
||||
#include "nsDocAccessible.h"
|
||||
|
||||
#include "nsINodeList.h"
|
||||
#include "nsIPresShell.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// WalkState
|
||||
@ -65,9 +65,9 @@ struct WalkState
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
nsAccTreeWalker::
|
||||
nsAccTreeWalker(nsIWeakReference* aShell, nsIContent* aContent,
|
||||
nsAccTreeWalker(nsDocAccessible* aDoc, nsIContent* aContent,
|
||||
bool aWalkAnonContent, bool aWalkCache) :
|
||||
mWeakShell(aShell), mWalkCache(aWalkCache), mState(nsnull)
|
||||
mDoc(aDoc), mWalkCache(aWalkCache), mState(nsnull)
|
||||
{
|
||||
NS_ASSERTION(aContent, "No node for the accessible tree walker!");
|
||||
|
||||
@ -103,8 +103,6 @@ nsAccTreeWalker::NextChildInternal(bool aNoWalkUp)
|
||||
if (!mState->childList)
|
||||
mState->childList = mState->content->GetChildren(mChildFilter);
|
||||
|
||||
nsCOMPtr<nsIPresShell> presShell(do_QueryReferent(mWeakShell));
|
||||
|
||||
PRUint32 length = 0;
|
||||
if (mState->childList)
|
||||
mState->childList->GetLength(&length);
|
||||
@ -114,10 +112,8 @@ nsAccTreeWalker::NextChildInternal(bool aNoWalkUp)
|
||||
mState->childIdx++;
|
||||
|
||||
bool isSubtreeHidden = false;
|
||||
nsAccessible* accessible = mWalkCache ?
|
||||
GetAccService()->GetAccessibleInWeakShell(childNode, mWeakShell) :
|
||||
GetAccService()->GetOrCreateAccessible(childNode, presShell, mWeakShell,
|
||||
&isSubtreeHidden);
|
||||
nsAccessible* accessible = mWalkCache ? mDoc->GetAccessible(childNode) :
|
||||
GetAccService()->GetOrCreateAccessible(childNode, mDoc, &isSubtreeHidden);
|
||||
|
||||
if (accessible)
|
||||
return accessible;
|
||||
|
@ -42,9 +42,9 @@
|
||||
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsIContent.h"
|
||||
#include "nsIWeakReference.h"
|
||||
|
||||
class nsAccessible;
|
||||
class nsDocAccessible;
|
||||
struct WalkState;
|
||||
|
||||
/**
|
||||
@ -53,7 +53,7 @@ struct WalkState;
|
||||
class nsAccTreeWalker
|
||||
{
|
||||
public:
|
||||
nsAccTreeWalker(nsIWeakReference *aShell, nsIContent *aNode,
|
||||
nsAccTreeWalker(nsDocAccessible* aDoc, nsIContent* aNode,
|
||||
bool aWalkAnonymousContent, bool aWalkCache = false);
|
||||
virtual ~nsAccTreeWalker();
|
||||
|
||||
@ -93,7 +93,7 @@ private:
|
||||
*/
|
||||
void PopState();
|
||||
|
||||
nsCOMPtr<nsIWeakReference> mWeakShell;
|
||||
nsDocAccessible* mDoc;
|
||||
PRInt32 mChildFilter;
|
||||
bool mWalkCache;
|
||||
WalkState* mState;
|
||||
|
@ -163,7 +163,7 @@ nsAccUtils::GetPositionAndSizeForXULSelectControlItem(nsIContent *aContent,
|
||||
nsCOMPtr<nsINode> currNode(do_QueryInterface(currItem));
|
||||
|
||||
nsAccessible* itemAcc = currNode ?
|
||||
GetAccService()->GetAccessible(currNode) : nsnull;
|
||||
GetAccService()->GetAccessible(currNode, nsnull) : nsnull;
|
||||
|
||||
if (!itemAcc || itemAcc->State() & states::INVISIBLE) {
|
||||
(*aSetSize)--;
|
||||
@ -205,7 +205,7 @@ nsAccUtils::GetPositionAndSizeForXULContainerItem(nsIContent *aContent,
|
||||
nsCOMPtr<nsINode> itemNode(do_QueryInterface(item));
|
||||
|
||||
nsAccessible* itemAcc = itemNode ?
|
||||
GetAccService()->GetAccessible(itemNode) : nsnull;
|
||||
GetAccService()->GetAccessible(itemNode, nsnull) : nsnull;
|
||||
|
||||
if (itemAcc) {
|
||||
PRUint32 itemRole = Role(itemAcc);
|
||||
@ -226,7 +226,7 @@ nsAccUtils::GetPositionAndSizeForXULContainerItem(nsIContent *aContent,
|
||||
nsCOMPtr<nsINode> itemNode(do_QueryInterface(item));
|
||||
|
||||
nsAccessible* itemAcc =
|
||||
itemNode ? GetAccService()->GetAccessible(itemNode) : nsnull;
|
||||
itemNode ? GetAccService()->GetAccessible(itemNode, nsnull) : nsnull;
|
||||
|
||||
if (itemAcc) {
|
||||
PRUint32 itemRole = Role(itemAcc);
|
||||
@ -389,7 +389,7 @@ nsAccUtils::GetSelectableContainer(nsAccessible* aAccessible, PRUint64 aState)
|
||||
nsAccessible*
|
||||
nsAccUtils::GetMultiSelectableContainer(nsINode* aNode)
|
||||
{
|
||||
nsAccessible* accessible = GetAccService()->GetAccessible(aNode);
|
||||
nsAccessible* accessible = GetAccService()->GetAccessible(aNode, nsnull);
|
||||
if (accessible) {
|
||||
nsAccessible* container = GetSelectableContainer(accessible,
|
||||
accessible->State());
|
||||
|
@ -695,7 +695,7 @@ nsAccessibilityService::GetAccessibleFor(nsIDOMNode *aNode,
|
||||
if (!node)
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
|
||||
NS_IF_ADDREF(*aAccessible = GetAccessible(node));
|
||||
NS_IF_ADDREF(*aAccessible = GetAccessible(node, nsnull));
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -906,26 +906,15 @@ nsAccessibilityService::CreateAccessiblePivot(nsIAccessible* aRoot,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// nsIAccesibilityService
|
||||
nsAccessible*
|
||||
nsAccessibilityService::GetAccessibleInShell(nsINode* aNode,
|
||||
nsIPresShell* aPresShell)
|
||||
{
|
||||
if (!aNode || !aPresShell)
|
||||
return nsnull;
|
||||
|
||||
nsCOMPtr<nsIWeakReference> weakShell(do_GetWeakReference(aPresShell));
|
||||
return GetAccessibleInWeakShell(aNode, weakShell);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// nsAccessibilityService public
|
||||
|
||||
nsAccessible*
|
||||
nsAccessibilityService::GetAccessible(nsINode* aNode)
|
||||
nsAccessibilityService::GetAccessible(nsINode* aNode, nsIPresShell* aPresShell)
|
||||
{
|
||||
NS_PRECONDITION(aNode, "Getting an accessible for null node! Crash.");
|
||||
|
||||
// XXX handle the presshell
|
||||
nsDocAccessible* document = GetDocAccessible(aNode->OwnerDoc());
|
||||
return document ? document->GetAccessible(aNode) : nsnull;
|
||||
}
|
||||
@ -956,18 +945,17 @@ static bool HasRelatedContent(nsIContent *aContent)
|
||||
|
||||
nsAccessible*
|
||||
nsAccessibilityService::GetOrCreateAccessible(nsINode* aNode,
|
||||
nsIPresShell* aPresShell,
|
||||
nsIWeakReference* aWeakShell,
|
||||
nsDocAccessible* aDoc,
|
||||
bool* aIsSubtreeHidden)
|
||||
{
|
||||
if (!aPresShell || !aWeakShell || !aNode || gIsShutdown)
|
||||
if (!aDoc || !aNode || gIsShutdown)
|
||||
return nsnull;
|
||||
|
||||
if (aIsSubtreeHidden)
|
||||
*aIsSubtreeHidden = false;
|
||||
|
||||
// Check to see if we already have an accessible for this node in the cache.
|
||||
nsAccessible* cachedAccessible = GetAccessibleInWeakShell(aNode, aWeakShell);
|
||||
nsAccessible* cachedAccessible = aDoc->GetAccessible(aNode);
|
||||
if (cachedAccessible)
|
||||
return cachedAccessible;
|
||||
|
||||
@ -986,8 +974,8 @@ nsAccessibilityService::GetOrCreateAccessible(nsINode* aNode,
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
if (aNode->OwnerDoc() != aPresShell->GetDocument()) {
|
||||
NS_ERROR("Creating accessible for wrong pres shell");
|
||||
if (aNode->OwnerDoc() != aDoc->GetDocumentNode()) {
|
||||
NS_ERROR("Creating accessible for wrong document");
|
||||
return nsnull;
|
||||
}
|
||||
|
||||
@ -1118,8 +1106,7 @@ nsAccessibilityService::GetOrCreateAccessible(nsINode* aNode,
|
||||
continue;
|
||||
|
||||
if (tableFrame->GetType() == nsGkAtoms::tableOuterFrame) {
|
||||
nsAccessible *tableAccessible =
|
||||
GetAccessibleInWeakShell(tableContent, aWeakShell);
|
||||
nsAccessible* tableAccessible = aDoc->GetAccessible(tableContent);
|
||||
|
||||
if (tableAccessible) {
|
||||
if (!roleMapEntry) {
|
||||
@ -1202,7 +1189,7 @@ nsAccessibilityService::GetOrCreateAccessible(nsINode* aNode,
|
||||
// are created.
|
||||
nsIFrame* f = weakFrame.GetFrame();
|
||||
if (!f) {
|
||||
f = aPresShell->GetRealPrimaryFrameFor(content);
|
||||
f = aDoc->PresShell()->GetRealPrimaryFrameFor(content);
|
||||
}
|
||||
if (f->GetType() == nsGkAtoms::tableCaptionFrame &&
|
||||
f->GetRect().IsEmpty()) {
|
||||
|
@ -87,8 +87,6 @@ public:
|
||||
NS_DECL_NSIOBSERVER
|
||||
|
||||
// nsIAccessibilityService
|
||||
virtual nsAccessible* GetAccessibleInShell(nsINode* aNode,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual nsAccessible* GetRootDocumentAccessible(nsIPresShell* aPresShell,
|
||||
bool aCanCreate);
|
||||
|
||||
@ -186,32 +184,18 @@ public:
|
||||
* one.
|
||||
*
|
||||
* @param aNode [in] the given node
|
||||
* @param aPresShell [in] the pres shell of the node
|
||||
* @param aWeakShell [in] the weak shell for the pres shell
|
||||
* @param aDoc [in] the doc accessible of the node
|
||||
* @param aIsSubtreeHidden [out, optional] indicates whether the node's
|
||||
* frame and its subtree is hidden
|
||||
*/
|
||||
nsAccessible* GetOrCreateAccessible(nsINode* aNode, nsIPresShell* aPresShell,
|
||||
nsIWeakReference* aWeakShell,
|
||||
nsAccessible* GetOrCreateAccessible(nsINode* aNode, nsDocAccessible* aDoc,
|
||||
bool* aIsSubtreeHidden = nsnull);
|
||||
|
||||
/**
|
||||
* Return an accessible for the given DOM node.
|
||||
* Return an accessible for the given DOM node and eventually a presentation
|
||||
* shell.
|
||||
*/
|
||||
nsAccessible* GetAccessible(nsINode* aNode);
|
||||
|
||||
/**
|
||||
* Return an accessible for a DOM node in the given presshell.
|
||||
*
|
||||
* @param aNode [in] the given node
|
||||
* @param aWeakShell [in] the presentation shell for the given node
|
||||
*/
|
||||
inline nsAccessible* GetAccessibleInWeakShell(nsINode* aNode,
|
||||
nsIWeakReference* aWeakShell)
|
||||
{
|
||||
// XXX: weak shell is ignored until multiple shell documents are supported.
|
||||
return GetAccessible(aNode);
|
||||
}
|
||||
nsAccessible* GetAccessible(nsINode* aNode, nsIPresShell* aPresShell);
|
||||
|
||||
/**
|
||||
* Return an accessible for the given DOM node or container accessible if
|
||||
|
@ -3082,7 +3082,7 @@ nsAccessible::CacheChildren()
|
||||
nsDocAccessible* doc = Document();
|
||||
NS_ENSURE_TRUE(doc,);
|
||||
|
||||
nsAccTreeWalker walker(doc->GetWeakShell(), mContent, CanHaveAnonChildren());
|
||||
nsAccTreeWalker walker(doc, mContent, CanHaveAnonChildren());
|
||||
|
||||
nsAccessible* child = nsnull;
|
||||
while ((child = walker.NextChild()) && AppendChild(child));
|
||||
|
@ -256,12 +256,6 @@ public:
|
||||
{
|
||||
return aNode->OwnerDoc()->GetShell();
|
||||
}
|
||||
static already_AddRefed<nsIWeakReference> GetWeakShellFor(nsINode *aNode)
|
||||
{
|
||||
nsCOMPtr<nsIWeakReference> weakShell =
|
||||
do_GetWeakReference(GetPresShellFor(aNode));
|
||||
return weakShell.forget();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return document node for the given document shell tree item.
|
||||
|
@ -103,12 +103,12 @@ static const PRUint32 kRelationAttrsLen = NS_ARRAY_LENGTH(kRelationAttrs);
|
||||
|
||||
nsDocAccessible::
|
||||
nsDocAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIWeakReference* aShell) :
|
||||
nsIPresShell* aPresShell) :
|
||||
nsHyperTextAccessibleWrap(aRootContent, this),
|
||||
mDocument(aDocument), mScrollPositionChangedTicks(0),
|
||||
mLoadState(eTreeConstructionPending), mLoadEventType(0),
|
||||
mVirtualCursor(nsnull),
|
||||
mPresShell(nsCOMPtr<nsIPresShell>(do_QueryReferent(aShell)).get())
|
||||
mPresShell(aPresShell)
|
||||
{
|
||||
mFlags |= eDocAccessible;
|
||||
|
||||
@ -1515,7 +1515,7 @@ nsDocAccessible::CacheChildren()
|
||||
{
|
||||
// Search for accessible children starting from the document element since
|
||||
// some web pages tend to insert elements under it rather than document body.
|
||||
nsAccTreeWalker walker(do_GetWeakReference(mPresShell).get(), mDocument->GetRootElement(),
|
||||
nsAccTreeWalker walker(this, mDocument->GetRootElement(),
|
||||
CanHaveAnonChildren());
|
||||
|
||||
nsAccessible* child = nsnull;
|
||||
@ -1871,7 +1871,7 @@ nsDocAccessible::UpdateTree(nsAccessible* aContainer, nsIContent* aChildNode,
|
||||
updateFlags |= UpdateTreeInternal(child, aIsInsert);
|
||||
|
||||
} else {
|
||||
nsAccTreeWalker walker(do_GetWeakReference(mPresShell).get(), aChildNode,
|
||||
nsAccTreeWalker walker(this, aChildNode,
|
||||
aContainer->CanHaveAnonChildren(), true);
|
||||
|
||||
while ((child = walker.NextChild()))
|
||||
|
@ -97,7 +97,7 @@ public:
|
||||
using nsAccessible::GetParent;
|
||||
|
||||
nsDocAccessible(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference* aShell);
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsDocAccessible();
|
||||
|
||||
// nsIAccessible
|
||||
@ -143,12 +143,6 @@ public:
|
||||
*/
|
||||
nsIPresShell* PresShell() const { return mPresShell; }
|
||||
|
||||
/**
|
||||
* Return weak reference to presentation shell for this document accessible.
|
||||
*/
|
||||
nsIWeakReference* GetWeakShell() const
|
||||
{ return do_GetWeakReference(mPresShell).get(); }
|
||||
|
||||
/**
|
||||
* Return true if associated DOM document was loaded and isn't unloading.
|
||||
*/
|
||||
|
@ -108,9 +108,9 @@ NS_IMPL_RELEASE_INHERITED(nsRootAccessible, nsDocAccessible)
|
||||
// Constructor/desctructor
|
||||
|
||||
nsRootAccessible::
|
||||
nsRootAccessible(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell) :
|
||||
nsDocAccessibleWrap(aDocument, aRootContent, aShell)
|
||||
nsRootAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell) :
|
||||
nsDocAccessibleWrap(aDocument, aRootContent, aPresShell)
|
||||
{
|
||||
mFlags |= eRootAccessible;
|
||||
}
|
||||
|
@ -68,8 +68,8 @@ class nsRootAccessible : public nsDocAccessibleWrap,
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
|
||||
public:
|
||||
nsRootAccessible(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell);
|
||||
nsRootAccessible(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsRootAccessible();
|
||||
|
||||
// nsIAccessible
|
||||
|
@ -118,7 +118,7 @@ nsTextEquivUtils::AppendTextEquivFromContent(nsAccessible *aInitiatorAcc,
|
||||
|
||||
gInitiatorAcc = aInitiatorAcc;
|
||||
|
||||
nsCOMPtr<nsIWeakReference> shell = nsCoreUtils::GetWeakShellFor(aContent);
|
||||
nsIPresShell* shell = nsCoreUtils::GetPresShellFor(aContent);
|
||||
if (!shell) {
|
||||
NS_ASSERTION(true, "There is no presshell!");
|
||||
gInitiatorAcc = nsnull;
|
||||
@ -135,8 +135,8 @@ nsTextEquivUtils::AppendTextEquivFromContent(nsAccessible *aInitiatorAcc,
|
||||
bool goThroughDOMSubtree = true;
|
||||
|
||||
if (isVisible) {
|
||||
nsAccessible *accessible =
|
||||
GetAccService()->GetAccessibleInWeakShell(aContent, shell);
|
||||
nsAccessible* accessible =
|
||||
GetAccService()->GetAccessible(aContent, shell);
|
||||
if (accessible) {
|
||||
rv = AppendFromAccessible(accessible, aString);
|
||||
goThroughDOMSubtree = false;
|
||||
|
@ -179,7 +179,6 @@ nsHTMLSelectListAccessible::CacheChildren()
|
||||
void
|
||||
nsHTMLSelectListAccessible::CacheOptSiblings(nsIContent *aParentContent)
|
||||
{
|
||||
nsIPresShell* presShell(mDoc->PresShell());
|
||||
for (nsIContent* childContent = aParentContent->GetFirstChild(); childContent;
|
||||
childContent = childContent->GetNextSibling()) {
|
||||
if (!childContent->IsHTML()) {
|
||||
@ -192,8 +191,7 @@ nsHTMLSelectListAccessible::CacheOptSiblings(nsIContent *aParentContent)
|
||||
|
||||
// Get an accessible for option or optgroup and cache it.
|
||||
nsRefPtr<nsAccessible> accessible =
|
||||
GetAccService()->GetOrCreateAccessible(childContent, presShell,
|
||||
mDoc->GetWeakShell());
|
||||
GetAccService()->GetOrCreateAccessible(childContent, mDoc);
|
||||
if (accessible)
|
||||
AppendChild(accessible);
|
||||
|
||||
@ -439,7 +437,7 @@ nsHTMLSelectOptionAccessible::GetSelectState(PRUint64* aState)
|
||||
}
|
||||
|
||||
if (content) {
|
||||
nsAccessible* selAcc = GetAccService()->GetAccessible(content);
|
||||
nsAccessible* selAcc = GetAccService()->GetAccessible(content, nsnull);
|
||||
if (selAcc) {
|
||||
*aState = selAcc->State();
|
||||
return content;
|
||||
|
@ -457,7 +457,7 @@ nsHTMLTableAccessible::CacheChildren()
|
||||
// caption only, because nsAccessibilityService ensures we don't create
|
||||
// accessibles for the other captions, since only the first is actually
|
||||
// visible.
|
||||
nsAccTreeWalker walker(mDoc->GetWeakShell(), mContent, CanHaveAnonChildren());
|
||||
nsAccTreeWalker walker(mDoc, mContent, CanHaveAnonChildren());
|
||||
|
||||
nsAccessible* child = nsnull;
|
||||
while ((child = walker.NextChild())) {
|
||||
|
@ -44,8 +44,8 @@
|
||||
class nsDocAccessibleWrap: public nsDocAccessible
|
||||
{
|
||||
public:
|
||||
nsDocAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell);
|
||||
nsDocAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsDocAccessibleWrap();
|
||||
|
||||
};
|
||||
|
@ -40,9 +40,9 @@
|
||||
#import "mozAccessible.h"
|
||||
|
||||
nsDocAccessibleWrap::
|
||||
nsDocAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell) :
|
||||
nsDocAccessible(aDocument, aRootContent, aShell)
|
||||
nsDocAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell) :
|
||||
nsDocAccessible(aDocument, aRootContent, aPresShell)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,8 @@ struct objc_class;
|
||||
class nsRootAccessibleWrap : public nsRootAccessible
|
||||
{
|
||||
public:
|
||||
nsRootAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell);
|
||||
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsRootAccessibleWrap();
|
||||
|
||||
Class GetNativeType ();
|
||||
|
@ -46,9 +46,9 @@
|
||||
#include "nsIViewManager.h"
|
||||
|
||||
nsRootAccessibleWrap::
|
||||
nsRootAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell) :
|
||||
nsRootAccessible(aDocument, aRootContent, aShell)
|
||||
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell) :
|
||||
nsRootAccessible(aDocument, aRootContent, aPresShell)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -68,9 +68,9 @@ using namespace mozilla::a11y;
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
nsDocAccessibleWrap::
|
||||
nsDocAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell) :
|
||||
nsDocAccessible(aDocument, aRootContent, aShell), mHWND(NULL)
|
||||
nsDocAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell) :
|
||||
nsDocAccessible(aDocument, aRootContent, aPresShell), mHWND(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -53,8 +53,8 @@ class nsDocAccessibleWrap: public nsDocAccessible,
|
||||
public ISimpleDOMDocument
|
||||
{
|
||||
public:
|
||||
nsDocAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell);
|
||||
nsDocAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsDocAccessibleWrap();
|
||||
|
||||
// IUnknown
|
||||
|
@ -51,8 +51,8 @@ using namespace mozilla::a11y;
|
||||
|
||||
nsRootAccessibleWrap::
|
||||
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIWeakReference* aShell) :
|
||||
nsRootAccessible(aDocument, aRootContent, aShell)
|
||||
nsIPresShell* aPresShell) :
|
||||
nsRootAccessible(aDocument, aRootContent, aPresShell)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@ class nsRootAccessibleWrap : public nsRootAccessible
|
||||
{
|
||||
public:
|
||||
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIWeakReference* aShell);
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsRootAccessibleWrap();
|
||||
|
||||
// nsRootAccessible
|
||||
|
@ -46,9 +46,9 @@
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
nsRootAccessibleWrap::
|
||||
nsRootAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell) :
|
||||
nsRootAccessible(aDocument, aRootContent, aShell)
|
||||
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell) :
|
||||
nsRootAccessible(aDocument, aRootContent, aPresShell)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -48,8 +48,8 @@
|
||||
class nsRootAccessibleWrap: public nsRootAccessible
|
||||
{
|
||||
public:
|
||||
nsRootAccessibleWrap(nsIDocument *aDocument, nsIContent *aRootContent,
|
||||
nsIWeakReference *aShell);
|
||||
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
|
||||
nsIPresShell* aPresShell);
|
||||
virtual ~nsRootAccessibleWrap();
|
||||
};
|
||||
|
||||
|
@ -126,8 +126,6 @@ nsXFormsAccessible::CacheSelectChildren(nsIDOMNode *aContainerNode)
|
||||
if (!children)
|
||||
return;
|
||||
|
||||
nsIPresShell* presShell(mDoc->PresShell());
|
||||
|
||||
PRUint32 length = 0;
|
||||
children->GetLength(&length);
|
||||
|
||||
@ -139,7 +137,7 @@ nsXFormsAccessible::CacheSelectChildren(nsIDOMNode *aContainerNode)
|
||||
|
||||
nsCOMPtr<nsIContent> child(do_QueryInterface(DOMChild));
|
||||
nsAccessible* accessible =
|
||||
GetAccService()->GetOrCreateAccessible(child, presShell, mDoc->GetWeakShell());
|
||||
GetAccService()->GetOrCreateAccessible(child, mDoc);
|
||||
if (!accessible)
|
||||
continue;
|
||||
|
||||
|
@ -179,7 +179,7 @@ nsXULColorPickerAccessible::CacheChildren()
|
||||
{
|
||||
NS_ENSURE_TRUE(mDoc,);
|
||||
|
||||
nsAccTreeWalker walker(mDoc->GetWeakShell(), mContent, true);
|
||||
nsAccTreeWalker walker(mDoc, mContent, true);
|
||||
|
||||
nsAccessible* child = nsnull;
|
||||
while ((child = walker.NextChild())) {
|
||||
|
@ -233,7 +233,7 @@ nsXULButtonAccessible::CacheChildren()
|
||||
nsAccessible* menupopup = nsnull;
|
||||
nsAccessible* button = nsnull;
|
||||
|
||||
nsAccTreeWalker walker(mDoc->GetWeakShell(), mContent, true);
|
||||
nsAccTreeWalker walker(mDoc, mContent, true);
|
||||
|
||||
nsAccessible* child = nsnull;
|
||||
while ((child = walker.NextChild())) {
|
||||
@ -873,7 +873,7 @@ nsXULTextFieldAccessible::CacheChildren()
|
||||
if (!inputContent)
|
||||
return;
|
||||
|
||||
nsAccTreeWalker walker(mDoc->GetWeakShell(), inputContent, false);
|
||||
nsAccTreeWalker walker(mDoc, inputContent, false);
|
||||
|
||||
nsAccessible* child = nsnull;
|
||||
while ((child = walker.NextChild()) && AppendChild(child));
|
||||
|
@ -886,7 +886,8 @@ nsXULListboxAccessible::ContainerWidget() const
|
||||
if (inputElm) {
|
||||
nsCOMPtr<nsINode> inputNode = do_QueryInterface(inputElm);
|
||||
if (inputNode) {
|
||||
nsAccessible* input = GetAccService()->GetAccessible(inputNode);
|
||||
nsAccessible* input =
|
||||
GetAccService()->GetAccessible(inputNode, nsnull);
|
||||
return input ? input->ContainerWidget() : nsnull;
|
||||
}
|
||||
}
|
||||
|
@ -647,7 +647,7 @@ nsXULMenubarAccessible::CurrentItem()
|
||||
nsMenuFrame* menuFrame = menuBarFrame->GetCurrentMenuItem();
|
||||
if (menuFrame) {
|
||||
nsIContent* menuItemNode = menuFrame->GetContent();
|
||||
return GetAccService()->GetAccessible(menuItemNode);
|
||||
return GetAccService()->GetAccessible(menuItemNode, nsnull);
|
||||
}
|
||||
}
|
||||
return nsnull;
|
||||
|
@ -516,7 +516,8 @@ nsXULTreeAccessible::ContainerWidget() const
|
||||
if (inputElm) {
|
||||
nsCOMPtr<nsINode> inputNode = do_QueryInterface(inputElm);
|
||||
if (inputNode) {
|
||||
nsAccessible* input = GetAccService()->GetAccessible(inputNode);
|
||||
nsAccessible* input =
|
||||
GetAccService()->GetAccessible(inputNode, nsnull);
|
||||
return input ? input->ContainerWidget() : nsnull;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user