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

Issue 12703031: Revert 146726 "AXObjectCache gets recreated during document tear..." (Closed)

Created:
7 years, 9 months ago by kareng
Modified:
7 years, 9 months ago
Reviewers:
cfleizach
CC:
chromium-reviews
Base URL:
http://svn.webkit.org/repository/webkit/branches/chromium/1453/
Visibility:
Public.

Description

Revert 146726 "AXObjectCache gets recreated during document tear..." > AXObjectCache gets recreated during document tear-down. > https://bugs.webkit.org/show_bug.cgi?id=112525 > > Reviewed by Simon Fraser. > > In many cases, a document's AXObjectCache was being created after the > document had detached, which is wasteful and could potentially lead to > crashes because the AXObjectCache has a timer and relies on its document > to exist. > > This patch provides a way to get the existing AX object cache, instead of > always creating a new one. > It moves the accessibilityEnabled() checks into the axObjectCache retrieval > for easier readability. > It adds a number of ASSERTs to vieryf that only the correct (top) document is used > for cache manipulation. > > * accessibility/AXObjectCache.cpp: > (WebCore::AXObjectCache::stopCachingComputedObjectAttributes): > * dom/ContainerNode.cpp: > (WebCore::ContainerNode::~ContainerNode): > * dom/Document.cpp: > (WebCore::Document::~Document): > (WebCore::Document::clearAXObjectCache): > (WebCore::Document::existingAXObjectCache): > (WebCore::Document::axObjectCache): > (WebCore::Document::setFocusedNode): > * dom/Document.h: > (Document): > * dom/Element.cpp: > (WebCore::Element::attributeChanged): > * dom/Node.cpp: > (WebCore::Node::~Node): > (WebCore::Node::isEditableToAccessibility): > (WebCore::Node::attach): > (WebCore::Node::rootEditableElement): > (WebCore::Node::didMoveToNewDocument): > * editing/AppendNodeCommand.cpp: > (WebCore::sendAXTextChangedIgnoringLineBreaks): > * editing/DeleteFromTextNodeCommand.cpp: > (WebCore::DeleteFromTextNodeCommand::doApply): > (WebCore::DeleteFromTextNodeCommand::doUnapply): > * editing/Editor.cpp: > (WebCore::Editor::respondToChangedContents): > (WebCore::Editor::markAndReplaceFor): > * editing/InsertIntoTextNodeCommand.cpp: > (WebCore::InsertIntoTextNodeCommand::doApply): > (WebCore::InsertIntoTextNodeCommand::doUnapply): > * editing/InsertNodeBeforeCommand.cpp: > (WebCore::InsertNodeBeforeCommand::doApply): > (WebCore::InsertNodeBeforeCommand::doUnapply): > * editing/atk/FrameSelectionAtk.cpp: > (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): > * editing/chromium/FrameSelectionChromium.cpp: > (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): > * editing/mac/FrameSelectionMac.mm: > (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): > * html/HTMLInputElement.cpp: > (WebCore::HTMLInputElement::setChecked): > * html/HTMLSelectElement.cpp: > (WebCore::HTMLSelectElement::optionElementChildrenChanged): > (WebCore::HTMLSelectElement::setRecalcListItems): > * html/HTMLTextFormControlElement.cpp: > (WebCore::HTMLTextFormControlElement::setInnerTextValue): > * html/InputType.cpp: > (WebCore::InputType::applyStep): > * html/RangeInputType.cpp: > (WebCore::RangeInputType::handleKeydownEvent): > * loader/FrameLoader.cpp: > (WebCore::FrameLoader::prepareForLoadStart): > (WebCore::FrameLoader::checkLoadCompleteForThisFrame): > * page/FocusController.cpp: > (WebCore::FocusController::setInitialFocus): > * page/Frame.cpp: > (WebCore::Frame::disconnectOwnerElement): > * page/FrameView.cpp: > (WebCore::FrameView::removeFromAXObjectCache): > (WebCore::FrameView::layout): > (WebCore::FrameView::scrollToAnchor): > (WebCore::FrameView::axObjectCache): > * platform/ScrollView.cpp: > (WebCore::ScrollView::setHasHorizontalScrollbar): > (WebCore::ScrollView::setHasVerticalScrollbar): > * platform/Scrollbar.cpp: > (WebCore::Scrollbar::~Scrollbar): > (WebCore): > (WebCore::Scrollbar::existingAXObjectCache): > * platform/Scrollbar.h: > (Scrollbar): > * rendering/RenderBlock.cpp: > (WebCore::RenderBlock::deleteLineBoxTree): > (WebCore::RenderBlock::createRootInlineBox): > (WebCore::RenderBlock::createAndAppendRootInlineBox): > * rendering/RenderListBox.cpp: > (WebCore::RenderListBox::selectionChanged): > * rendering/RenderMenuList.cpp: > (WebCore::RenderMenuList::addChild): > (WebCore::RenderMenuList::didUpdateActiveOption): > * rendering/RenderObject.cpp: > (WebCore::RenderObject::styleWillChange): > (WebCore::RenderObject::willBeDestroyed): > * rendering/RenderObjectChildList.cpp: > (WebCore::RenderObjectChildList::removeChildNode): > (WebCore::RenderObjectChildList::insertChildNode): > * rendering/RenderText.cpp: > (WebCore::RenderText::setText): > * rendering/RenderWidget.cpp: > (WebCore::RenderWidget::willBeDestroyed): > > TBR=cfleizach@apple.com Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=146891

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+121 lines, -167 lines) Patch
M Source/WebCore/accessibility/AXObjectCache.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M Source/WebCore/dom/ContainerNode.cpp View 1 chunk +2 lines, -4 lines 0 comments Download
M Source/WebCore/dom/Document.h View 1 chunk +3 lines, -3 lines 0 comments Download
M Source/WebCore/dom/Document.cpp View 3 chunks +8 lines, -28 lines 0 comments Download
M Source/WebCore/dom/Element.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/WebCore/dom/Node.cpp View 5 chunks +13 lines, -21 lines 0 comments Download
M Source/WebCore/editing/AppendNodeCommand.cpp View 1 chunk +1 line, -2 lines 0 comments Download
M Source/WebCore/editing/DeleteFromTextNodeCommand.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/editing/Editor.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/editing/InsertIntoTextNodeCommand.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/editing/InsertNodeBeforeCommand.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/editing/atk/FrameSelectionAtk.cpp View 1 chunk +1 line, -5 lines 0 comments Download
M Source/WebCore/editing/chromium/FrameSelectionChromium.cpp View 1 chunk +3 lines, -3 lines 0 comments Download
M Source/WebCore/editing/mac/FrameSelectionMac.mm View 1 chunk +2 lines, -4 lines 0 comments Download
M Source/WebCore/html/HTMLInputElement.cpp View 1 chunk +2 lines, -4 lines 0 comments Download
M Source/WebCore/html/HTMLSelectElement.cpp View 2 chunks +4 lines, -8 lines 0 comments Download
M Source/WebCore/html/HTMLTextFormControlElement.cpp View 1 chunk +3 lines, -4 lines 0 comments Download
M Source/WebCore/html/InputType.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/WebCore/html/RangeInputType.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/WebCore/loader/FrameLoader.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/page/FocusController.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/WebCore/page/Frame.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/WebCore/page/FrameView.cpp View 4 chunks +8 lines, -8 lines 0 comments Download
M Source/WebCore/platform/ScrollView.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/platform/Scrollbar.h View 2 chunks +2 lines, -2 lines 0 comments Download
M Source/WebCore/platform/Scrollbar.cpp View 2 chunks +9 lines, -6 lines 0 comments Download
M Source/WebCore/rendering/RenderBlock.cpp View 2 chunks +5 lines, -8 lines 0 comments Download
M Source/WebCore/rendering/RenderListBox.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M Source/WebCore/rendering/RenderMenuList.cpp View 2 chunks +3 lines, -3 lines 0 comments Download
M Source/WebCore/rendering/RenderObject.cpp View 2 chunks +6 lines, -8 lines 0 comments Download
M Source/WebCore/rendering/RenderObjectChildList.cpp View 2 chunks +4 lines, -4 lines 0 comments Download
M Source/WebCore/rendering/RenderText.cpp View 1 chunk +3 lines, -2 lines 0 comments Download
M Source/WebCore/rendering/RenderWidget.cpp View 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
kareng
7 years, 9 months ago (2013-03-26 15:55:09 UTC) #1
kareng
7 years, 9 months ago (2013-03-26 15:55:59 UTC) #2
Message was sent while issue was closed.
Committed patchset #1 manually as r146891.

Powered by Google App Engine
This is Rietveld 408576698