Changeset 220463 in webkit


Ignore:
Timestamp:
Aug 9, 2017 10:52:36 AM (7 years ago)
Author:
n_wang@apple.com
Message:

AX: crash at WebCore::AccessibilityObject::supportsARIALiveRegion() const + 24
https://bugs.webkit.org/show_bug.cgi?id=175340
<rdar://problem/33782159>

Reviewed by Chris Fleizach.

Source/WebCore:

When adding a psuedo element child to a RenderBlockFlow element, there might be a chance where
the element has already been layed out but we are still holding onto its stale children. Fixed it
by notifying AX correctly when inserting/removing children during layout.

Test: accessibility/add-children-pseudo-element.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::insertFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObject):

LayoutTests:

  • accessibility/add-children-pseudo-element-expected.txt: Added.
  • accessibility/add-children-pseudo-element.html: Added.
  • accessibility/resources/svg-circle.svg: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r220460 r220463  
     12017-08-09  Nan Wang  <n_wang@apple.com>
     2
     3        AX: crash at WebCore::AccessibilityObject::supportsARIALiveRegion() const + 24
     4        https://bugs.webkit.org/show_bug.cgi?id=175340
     5        <rdar://problem/33782159>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        * accessibility/add-children-pseudo-element-expected.txt: Added.
     10        * accessibility/add-children-pseudo-element.html: Added.
     11        * accessibility/resources/svg-circle.svg: Added.
     12
    1132017-08-09  Ms2ger  <Ms2ger@igalia.com>
    214
  • trunk/Source/WebCore/ChangeLog

    r220461 r220463  
     12017-08-09  Nan Wang  <n_wang@apple.com>
     2
     3        AX: crash at WebCore::AccessibilityObject::supportsARIALiveRegion() const + 24
     4        https://bugs.webkit.org/show_bug.cgi?id=175340
     5        <rdar://problem/33782159>
     6
     7        Reviewed by Chris Fleizach.
     8
     9        When adding a psuedo element child to a RenderBlockFlow element, there might be a chance where
     10        the element has already been layed out but we are still holding onto its stale children. Fixed it
     11        by notifying AX correctly when inserting/removing children during layout.
     12
     13        Test: accessibility/add-children-pseudo-element.html
     14
     15        * rendering/RenderBlockFlow.cpp:
     16        (WebCore::RenderBlockFlow::insertFloatingObject):
     17        (WebCore::RenderBlockFlow::removeFloatingObject):
     18
    1192017-08-09  Charlie Turner  <cturner@igalia.com>
    220
  • trunk/Source/WebCore/rendering/RenderBlockFlow.cpp

    r219742 r220463  
    2525#include "RenderBlockFlow.h"
    2626
     27#include "AXObjectCache.h"
    2728#include "Editor.h"
    2829#include "FloatingObjects.h"
     
    23532354
    23542355    setLogicalWidthForFloat(*floatingObject, logicalWidthForChild(floatBox) + marginStartForChild(floatBox) + marginEndForChild(floatBox));
     2356   
     2357    if (AXObjectCache* cache = document().existingAXObjectCache())
     2358        cache->childrenChanged(this);
    23552359
    23562360    return m_floatingObjects->add(WTFMove(floatingObject));
     
    23902394            }
    23912395            m_floatingObjects->remove(&floatingObject);
     2396           
     2397            if (AXObjectCache* cache = document().existingAXObjectCache())
     2398                cache->childrenChanged(this);
    23922399        }
    23932400    }
Note: See TracChangeset for help on using the changeset viewer.