Changeset 105216 in webkit


Ignore:
Timestamp:
Jan 17, 2012 4:59:02 PM (12 years ago)
Author:
Lucas Forschler
Message:

Merged r97303.

Location:
branches/safari-534.54-branch/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-534.54-branch/Source/WebCore/ChangeLog

    r105215 r105216  
     12011-1-17  Lucas Forschler  <lforschler@apple.com>
     2
     3    Merge 97303
     4
     5    2011-10-12  Chris Fleizach  <cfleizach@apple.com>
     6
     7            AX: CrashTracer: [USER] 296 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityScrollbar::document const + 29
     8            https://bugs.webkit.org/show_bug.cgi?id=69936
     9
     10            AX Scrollbars have a weak pointer to their parent. They need to become AccessibilityMockObjects, so that they can
     11            participate in the detachFromParent() methods that happens when those parents go away.
     12            Could not reproduce the crash, but the backtrace is unequivocal.
     13
     14            Reviewed by Darin Adler.
     15
     16            * accessibility/AccessibilityScrollView.cpp:
     17            (WebCore::AccessibilityScrollView::removeChildScrollbar):
     18            * accessibility/AccessibilityScrollbar.cpp:
     19            (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
     20            * accessibility/AccessibilityScrollbar.h:
     21            (WebCore::AccessibilityScrollbar::scrollbar):
     22            (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
     23
    1242011-1-17  Lucas Forschler  <lforschler@apple.com>
    225
  • branches/safari-534.54-branch/Source/WebCore/accessibility/AccessibilityScrollView.cpp

    r86451 r105216  
    100100{
    101101    size_t pos = m_children.find(scrollbar);
    102     if (pos != WTF::notFound)
     102    if (pos != WTF::notFound) {
     103        m_children[pos]->detachFromParent();
    103104        m_children.remove(pos);
     105    }
    104106}
    105107   
  • branches/safari-534.54-branch/Source/WebCore/accessibility/AccessibilityScrollbar.cpp

    r76378 r105216  
    3939AccessibilityScrollbar::AccessibilityScrollbar(Scrollbar* scrollbar)
    4040    : m_scrollbar(scrollbar)
    41     , m_parent(0)
    4241{
    4342    ASSERT(scrollbar);
  • branches/safari-534.54-branch/Source/WebCore/accessibility/AccessibilityScrollbar.h

    r75031 r105216  
    3030#define AccessibilityScrollbar_h
    3131
    32 #include "AccessibilityObject.h"
     32#include "AccessibilityMockObject.h"
    3333
    3434namespace WebCore {
     
    3636class Scrollbar;
    3737
    38 class AccessibilityScrollbar : public AccessibilityObject {
     38class AccessibilityScrollbar : public AccessibilityMockObject {
    3939public:
    4040    static PassRefPtr<AccessibilityScrollbar> create(Scrollbar*);
    4141
    4242    Scrollbar* scrollbar() const { return m_scrollbar.get(); }
    43     void setParent(AccessibilityObject* parent) { m_parent = parent; }
    4443   
    4544private:
     
    5150
    5251    virtual bool isAccessibilityScrollbar() const { return true; }
    53     virtual AccessibilityObject* parentObject() const { return m_parent; }
    5452    virtual IntRect elementRect() const;
    5553   
     
    6563    RefPtr<Scrollbar> m_scrollbar;
    6664    AccessibilityOrientation m_orientation;
    67     AccessibilityObject* m_parent;
    6865};
    6966
Note: See TracChangeset for help on using the changeset viewer.