Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: Source/core/dom/Element.cpp

Issue 1088473002: Refactor ScopedAXObjectCache to remove ref count (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * (C) 2007 David Smith (catfish.man@gmail.com) 6 * (C) 2007 David Smith (catfish.man@gmail.com)
7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc. All rights reserved.
8 * (C) 2007 Eric Seidel (eric@webkit.org) 8 * (C) 2007 Eric Seidel (eric@webkit.org)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 1013 matching lines...) Expand 10 before | Expand all | Expand 10 after
1024 { 1024 {
1025 if (!layoutObject()) 1025 if (!layoutObject())
1026 return IntRect(); 1026 return IntRect();
1027 // FIXME: this should probably respect transforms 1027 // FIXME: this should probably respect transforms
1028 return document().view()->contentsToScreen(layoutObject()->absoluteBoundingB oxRectIgnoringTransforms()); 1028 return document().view()->contentsToScreen(layoutObject()->absoluteBoundingB oxRectIgnoringTransforms());
1029 } 1029 }
1030 1030
1031 const AtomicString& Element::computedRole() 1031 const AtomicString& Element::computedRole()
1032 { 1032 {
1033 document().updateLayoutIgnorePendingStylesheets(); 1033 document().updateLayoutIgnorePendingStylesheets();
1034 RefPtr<ScopedAXObjectCache> cache(adoptRef(new ScopedAXObjectCache(document( )))); 1034 ScopedAXObjectCache cache(document());
1035 return (*cache)->computedRoleForNode(this); 1035 return cache->computedRoleForNode(this);
1036 } 1036 }
1037 1037
1038 String Element::computedName() 1038 String Element::computedName()
1039 { 1039 {
1040 document().updateLayoutIgnorePendingStylesheets(); 1040 document().updateLayoutIgnorePendingStylesheets();
1041 RefPtr<ScopedAXObjectCache> cache(adoptRef(new ScopedAXObjectCache(document( )))); 1041 ScopedAXObjectCache cache(document());
1042 return (*cache)->computedNameForNode(this); 1042 return cache->computedNameForNode(this);
1043 } 1043 }
1044 1044
1045 const AtomicString& Element::getAttribute(const AtomicString& localName) const 1045 const AtomicString& Element::getAttribute(const AtomicString& localName) const
1046 { 1046 {
1047 if (!elementData()) 1047 if (!elementData())
1048 return nullAtom; 1048 return nullAtom;
1049 synchronizeAttribute(localName); 1049 synchronizeAttribute(localName);
1050 if (const Attribute* attribute = elementData()->attributes().find(localName, shouldIgnoreAttributeCase())) 1050 if (const Attribute* attribute = elementData()->attributes().find(localName, shouldIgnoreAttributeCase()))
1051 return attribute->value(); 1051 return attribute->value();
1052 return nullAtom; 1052 return nullAtom;
(...skipping 2459 matching lines...) Expand 10 before | Expand all | Expand 10 after
3512 { 3512 {
3513 #if ENABLE(OILPAN) 3513 #if ENABLE(OILPAN)
3514 if (hasRareData()) 3514 if (hasRareData())
3515 visitor->trace(elementRareData()); 3515 visitor->trace(elementRareData());
3516 visitor->trace(m_elementData); 3516 visitor->trace(m_elementData);
3517 #endif 3517 #endif
3518 ContainerNode::trace(visitor); 3518 ContainerNode::trace(visitor);
3519 } 3519 }
3520 3520
3521 } // namespace blink 3521 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698