Bug 312470. STATE_TRAVERSED not updated after going back in history. r=parente, sr=neil

This commit is contained in:
aaronleventhal%moonset.net 2005-10-17 13:42:33 +00:00
Родитель 72097f732e
Коммит 6c2b808fd8
2 изменённых файлов: 8 добавлений и 8 удалений

Просмотреть файл

@ -162,7 +162,6 @@ nsLinkableAccessible::nsLinkableAccessible(nsIDOMNode* aNode, nsIWeakReference*
nsAccessibleWrap(aNode, aShell),
mActionContent(nsnull),
mIsLink(PR_FALSE),
mIsLinkVisited(PR_FALSE),
mIsOnclick(PR_FALSE)
{
CacheActionContent();
@ -185,8 +184,14 @@ NS_IMETHODIMP nsLinkableAccessible::GetState(PRUint32 *aState)
nsAccessible::GetState(aState);
if (mIsLink) {
*aState |= STATE_LINKED;
if (mIsLinkVisited)
*aState |= STATE_TRAVERSED;
nsCOMPtr<nsILink> link = do_QueryInterface(mActionContent);
if (link) {
nsLinkState linkState;
link->GetLinkState(linkState);
if (linkState == eLinkState_Visited) {
*aState |= STATE_TRAVERSED;
}
}
// Make sure we also include all the states of the parent link, such as focusable, focused, etc.
PRUint32 role;
GetRole(&role);
@ -300,10 +305,6 @@ void nsLinkableAccessible::CacheActionContent()
if (uri) {
mActionContent = walkUpContent;
mIsLink = PR_TRUE;
nsLinkState linkState;
link->GetLinkState(linkState);
if (linkState == eLinkState_Visited)
mIsLinkVisited = PR_TRUE;
}
}
if (walkUpContent->HasAttr(kNameSpaceID_None,

Просмотреть файл

@ -97,7 +97,6 @@ protected:
virtual void CacheActionContent();
nsCOMPtr<nsIContent> mActionContent;
PRPackedBool mIsLink;
PRPackedBool mIsLinkVisited;
PRPackedBool mIsOnclick;
};