Bug 721947 - use nsIPresShell instead of nsIWeakShell. r=surkov

This commit is contained in:
Hub Figuière 2012-02-09 08:49:17 -08:00
parent e25053c637
commit 356d8337b9
37 changed files with 88 additions and 139 deletions

View File

@ -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

View File

@ -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)
{
}

View File

@ -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;

View File

@ -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

View File

@ -344,7 +344,7 @@ nsAccessible*
IDRefsIterator::Next()
{
nsIContent* nextElm = NextElem();
return nextElm ? GetAccService()->GetAccessible(nextElm) : nsnull;
return nextElm ? GetAccService()->GetAccessible(nextElm, nsnull) : nsnull;
}
nsAccessible*

View File

@ -123,7 +123,7 @@ public:
inline void AppendTarget(nsIContent* aContent)
{
if (aContent)
AppendTarget(GetAccService()->GetAccessible(aContent));
AppendTarget(GetAccService()->GetAccessible(aContent, nsnull));
}
/**

View File

@ -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))

View File

@ -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;

View File

@ -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;

View File

@ -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());

View File

@ -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()) {

View File

@ -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

View File

@ -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));

View File

@ -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.

View File

@ -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()))

View File

@ -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.
*/

View File

@ -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;
}

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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())) {

View File

@ -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();
};

View File

@ -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)
{
}

View File

@ -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 ();

View File

@ -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)
{
}

View File

@ -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)
{
}

View File

@ -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

View File

@ -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)
{
}

View File

@ -46,7 +46,7 @@ class nsRootAccessibleWrap : public nsRootAccessible
{
public:
nsRootAccessibleWrap(nsIDocument* aDocument, nsIContent* aRootContent,
nsIWeakReference* aShell);
nsIPresShell* aPresShell);
virtual ~nsRootAccessibleWrap();
// nsRootAccessible

View File

@ -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)
{
}

View File

@ -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();
};

View File

@ -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;

View File

@ -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())) {

View File

@ -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));

View File

@ -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;
}
}

View File

@ -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;

View File

@ -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;
}
}