Commit 4ff6072f authored by aaronleventhal@moonset.net's avatar aaronleventhal@moonset.net
Browse files

Bug 377783. Fix crash and clean up table a11y. r=evan.yan

parent edc4f79c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ interface nsIFrame;
interface nsObjectFrame;
interface nsIContent;

[uuid(e4cdb7c5-d029-4bee-bff5-99455c6e0057)]
[uuid(0e9e2f00-b6f1-440d-821f-6b09d264cdaf)]
interface nsIAccessibilityService : nsIAccessibleRetrieval
{
  nsIAccessible createOuterDocAccessible(in nsIDOMNode aNode);
@@ -74,6 +74,7 @@ interface nsIAccessibilityService : nsIAccessibleRetrieval
  nsIAccessible createHTMLTableHeadAccessible(in nsIDOMNode aDOMNode);
  nsIAccessible createHTMLTextAccessible(in nsISupports aFrame);
  nsIAccessible createHTMLTextFieldAccessible(in nsISupports aFrame);
  nsIAccessible createHTMLCaptionAccessible(in nsISupports aFrame);

  nsIAccessible getAccessible(in nsIDOMNode aNode, in nsIPresShell aPresShell,                          
                              in nsIWeakReference aWeakShell, 
+3 −3
Original line number Diff line number Diff line
@@ -43,11 +43,11 @@

interface nsIAccessible;

[scriptable, uuid(a776fee4-c0b8-4872-9e1e-72017243383f)]
[scriptable, uuid(dc13d184-a6df-45a1-92f0-5476fdaebc5a)]
interface nsIAccessibleTable : nsISupports
{
           attribute nsIAccessible       caption;
           attribute AString           summary;
  readonly attribute nsIAccessible       caption;
  readonly attribute AString             summary;
  readonly attribute long                columns;
  readonly attribute nsIAccessibleTable  columnHeader;
  readonly attribute long                rows;
+4 −33
Original line number Diff line number Diff line
@@ -50,7 +50,6 @@ NS_IMPL_ISUPPORTS_INHERITED1(nsXULTreeAccessibleWrap, nsXULTreeAccessible, nsIAc
nsXULTreeAccessibleWrap::nsXULTreeAccessibleWrap(nsIDOMNode *aDOMNode, nsIWeakReference *aShell):
nsXULTreeAccessible(aDOMNode, aShell)
{
  mCaption = nsnull;
}

// tree's children count is row count * col count + treecols count
@@ -78,26 +77,13 @@ NS_IMETHODIMP nsXULTreeAccessibleWrap::GetChildCount(PRInt32 *aAccChildCount)

NS_IMETHODIMP nsXULTreeAccessibleWrap::GetCaption(nsIAccessible **aCaption)
{
  *aCaption = mCaption;
  NS_IF_ADDREF(*aCaption);
  return NS_OK;
}

NS_IMETHODIMP nsXULTreeAccessibleWrap::SetCaption(nsIAccessible *aCaption)
{
  mCaption = aCaption;
  *aCaption = nsnull;
  return NS_OK;
}

NS_IMETHODIMP nsXULTreeAccessibleWrap::GetSummary(nsAString &aSummary)
{
  aSummary = mSummary;
  return NS_OK;
}

NS_IMETHODIMP nsXULTreeAccessibleWrap::SetSummary(const nsAString &aSummary)
{
  mSummary = aSummary;
  aSummary.Truncate();
  return NS_OK;
}

@@ -426,32 +412,17 @@ NS_IMPL_ISUPPORTS_INHERITED1(nsXULTreeColumnsAccessibleWrap, nsXULTreeColumnsAcc
nsXULTreeColumnsAccessibleWrap::nsXULTreeColumnsAccessibleWrap(nsIDOMNode *aDOMNode, nsIWeakReference *aShell):
nsXULTreeColumnsAccessible(aDOMNode, aShell)
{
  mCaption = nsnull;
}

NS_IMETHODIMP nsXULTreeColumnsAccessibleWrap::GetCaption(nsIAccessible **aCaption)
{
  *aCaption = mCaption;
  NS_IF_ADDREF(*aCaption);

  return NS_OK;
}

NS_IMETHODIMP nsXULTreeColumnsAccessibleWrap::SetCaption(nsIAccessible *aCaption)
{
  mCaption = aCaption;
  *aCaption = nsnull;
  return NS_OK;
}

NS_IMETHODIMP nsXULTreeColumnsAccessibleWrap::GetSummary(nsAString &aSummary)
{
  aSummary = mSummary;
  return NS_OK;
}

NS_IMETHODIMP nsXULTreeColumnsAccessibleWrap::SetSummary(const nsAString &aSummary)
{
  mSummary = aSummary;
  aSummary.Truncate();
  return NS_OK;
}

+0 −8
Original line number Diff line number Diff line
@@ -57,10 +57,6 @@ public:

  NS_IMETHOD GetChildCount(PRInt32 *_retval);
  NS_IMETHOD ChangeSelection(PRInt32 aIndex, PRUint8 aMethod, PRBool *aSelState);
    
private:
  nsCOMPtr<nsIAccessible> mCaption;
  nsString mSummary;
};

class nsXULTreeColumnsAccessibleWrap : public nsXULTreeColumnsAccessible,
@@ -72,10 +68,6 @@ public:

  nsXULTreeColumnsAccessibleWrap(nsIDOMNode* aDOMNode, nsIWeakReference* aShell);
  virtual ~nsXULTreeColumnsAccessibleWrap() {}

private:
  nsCOMPtr<nsIAccessible> mCaption;
  nsString mSummary;
};

#endif
+0 −1
Original line number Diff line number Diff line
@@ -90,7 +90,6 @@ ACCESSIBILITY_ATOM(area, "area")
ACCESSIBILITY_ATOM(blockquote, "blockquote")
ACCESSIBILITY_ATOM(br, "br")
ACCESSIBILITY_ATOM(body, "body")
ACCESSIBILITY_ATOM(caption, "caption")
ACCESSIBILITY_ATOM(choices, "choices") // XForms
ACCESSIBILITY_ATOM(description, "description")    // XUL
ACCESSIBILITY_ATOM(dd, "dd")
Loading