Changeset 160916 in webkit


Ignore:
Timestamp:
Dec 20, 2013 11:05:34 AM (10 years ago)
Author:
Antti Koivisto
Message:

Crashes in AccessibilityRenderObject::computeAccessibilityIsIgnored()
https://bugs.webkit.org/show_bug.cgi?id=126073

Reviewed by Ryosuke Niwa.

Prevent the crash and try to catch in debug why it is happening.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::detach):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

  • accessibility/AccessibilityRenderObject.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r160914 r160916  
     12013-12-20  Antti Koivisto  <antti@apple.com>
     2
     3        Crashes in AccessibilityRenderObject::computeAccessibilityIsIgnored()
     4        https://bugs.webkit.org/show_bug.cgi?id=126073
     5
     6        Reviewed by Ryosuke Niwa.
     7
     8        Prevent the crash and try to catch in debug why it is happening.
     9
     10        * accessibility/AccessibilityRenderObject.cpp:
     11        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
     12        (WebCore::AccessibilityRenderObject::~AccessibilityRenderObject):
     13        (WebCore::AccessibilityRenderObject::detach):
     14        (WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
     15        * accessibility/AccessibilityRenderObject.h:
     16
    1172013-12-20  Antti Koivisto  <antti@apple.com>
    218
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp

    r160844 r160916  
    101101#include "htmlediting.h"
    102102#include <wtf/StdLibExtras.h>
     103#include <wtf/TemporaryChange.h>
    103104#include <wtf/text/StringBuilder.h>
    104105#include <wtf/unicode/CharacterNames.h>
     
    111112    : AccessibilityNodeObject(renderer->node())
    112113    , m_renderer(renderer)
     114#ifndef NDEBUG
     115    , m_inComputeAccessibilityIsIgnored(false)
     116#endif
    113117{
    114118#ifndef NDEBUG
     
    120124{
    121125    ASSERT(isDetached());
     126    ASSERT(!m_inComputeAccessibilityIsIgnored);
    122127}
    123128
     
    142147        m_renderer->setHasAXObject(false);
    143148#endif
     149    ASSERT(!m_inComputeAccessibilityIsIgnored);
    144150    m_renderer = 0;
    145151}
     
    11561162#ifndef NDEBUG
    11571163    ASSERT(m_initialized);
     1164    TemporaryChange<bool>(m_inComputeAccessibilityIsIgnored, true);
    11581165#endif
    11591166
     
    11841191    if (isAttachment())
    11851192        return accessibilityIgnoreAttachment();
    1186    
     1193
     1194    // FIXME: Somehow the renderer is becoming null.
     1195    if (!m_renderer)
     1196        return false;
     1197
    11871198    // ignore popup menu items because AppKit does
    11881199    if (ancestorsOfType<RenderMenuList>(*m_renderer).first())
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.h

    r160778 r160916  
    212212protected:
    213213    RenderObject* m_renderer;
     214
     215#ifndef NDEBUG
     216    mutable bool m_inComputeAccessibilityIsIgnored;
     217#endif
    214218   
    215219    void setRenderObject(RenderObject* renderer) { m_renderer = renderer; }
Note: See TracChangeset for help on using the changeset viewer.