haikuwebkit/LayoutTests/accessibility/image-map-update-parent-cra...

38 lines
840 B
HTML
Raw Permalink Normal View History

Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
<html>
<head>
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
<script src="../resources/js-test.js"></script>
buildAccessibilityTree() needs to be removed from individual layout tests https://bugs.webkit.org/show_bug.cgi?id=95286 Reviewed by Chris Fleizach. Extracted two functions to 'dump' and 'touch' the accessibility hierarchies out of different layout tests and into a single file, living in LayoutTests/resources/accessibility-helper.js * resources/accessibility-helper.js: Added. (dumpAccessibilityTree): New, based on buildAccessibilityTree() for the cases where it was used to actually 'dump' it into the output. (touchAccessibilityTree): Same, but for the cases where we don't want to dump the accessibility tree, just to make sure is generated. Updated affected layout tests to use the newly added helper functions. * accessibility/adjacent-continuations-cause-assertion-failure.html: Updated. * accessibility/children-changed-sends-notification.html: Ditto. * accessibility/deleting-iframe-destroys-axcache.html: Ditto. * accessibility/div-within-anchors-causes-crash.html: Ditto. * accessibility/first-letter-text-transform-causes-crash.html: Ditto. * accessibility/image-map-update-parent-crash.html: Ditto. * accessibility/table-with-empty-thead-causes-crash.html: Ditto. * platform/efl/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/entry-and-password.html: Ditto. * platform/gtk/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto. Updated Mac specific expectations not to print the "End of test" element. * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated. * platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto. * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto. * platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto. Canonical link: https://commits.webkit.org/152610@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-04 15:31:57 +00:00
<script src="../resources/accessibility-helper.js"></script>
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
<script>
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
jsTestIsAsync = true;
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
function runAXTest() {
description("This tests that an image map's hold on it's parent will be cleared if the parent goes away.");
// First access all children using AX
buildAccessibilityTree() needs to be removed from individual layout tests https://bugs.webkit.org/show_bug.cgi?id=95286 Reviewed by Chris Fleizach. Extracted two functions to 'dump' and 'touch' the accessibility hierarchies out of different layout tests and into a single file, living in LayoutTests/resources/accessibility-helper.js * resources/accessibility-helper.js: Added. (dumpAccessibilityTree): New, based on buildAccessibilityTree() for the cases where it was used to actually 'dump' it into the output. (touchAccessibilityTree): Same, but for the cases where we don't want to dump the accessibility tree, just to make sure is generated. Updated affected layout tests to use the newly added helper functions. * accessibility/adjacent-continuations-cause-assertion-failure.html: Updated. * accessibility/children-changed-sends-notification.html: Ditto. * accessibility/deleting-iframe-destroys-axcache.html: Ditto. * accessibility/div-within-anchors-causes-crash.html: Ditto. * accessibility/first-letter-text-transform-causes-crash.html: Ditto. * accessibility/image-map-update-parent-crash.html: Ditto. * accessibility/table-with-empty-thead-causes-crash.html: Ditto. * platform/efl/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/entry-and-password.html: Ditto. * platform/gtk/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto. Updated Mac specific expectations not to print the "End of test" element. * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated. * platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto. * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto. * platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto. Canonical link: https://commits.webkit.org/152610@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-04 15:31:57 +00:00
touchAccessibilityTree(accessibilityController.rootElement);
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
var child = document.getElementById('img'); child.parentNode.removeChild(child);
buildAccessibilityTree() needs to be removed from individual layout tests https://bugs.webkit.org/show_bug.cgi?id=95286 Reviewed by Chris Fleizach. Extracted two functions to 'dump' and 'touch' the accessibility hierarchies out of different layout tests and into a single file, living in LayoutTests/resources/accessibility-helper.js * resources/accessibility-helper.js: Added. (dumpAccessibilityTree): New, based on buildAccessibilityTree() for the cases where it was used to actually 'dump' it into the output. (touchAccessibilityTree): Same, but for the cases where we don't want to dump the accessibility tree, just to make sure is generated. Updated affected layout tests to use the newly added helper functions. * accessibility/adjacent-continuations-cause-assertion-failure.html: Updated. * accessibility/children-changed-sends-notification.html: Ditto. * accessibility/deleting-iframe-destroys-axcache.html: Ditto. * accessibility/div-within-anchors-causes-crash.html: Ditto. * accessibility/first-letter-text-transform-causes-crash.html: Ditto. * accessibility/image-map-update-parent-crash.html: Ditto. * accessibility/table-with-empty-thead-causes-crash.html: Ditto. * platform/efl/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/entry-and-password.html: Ditto. * platform/gtk/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto. Updated Mac specific expectations not to print the "End of test" element. * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated. * platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto. * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto. * platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto. Canonical link: https://commits.webkit.org/152610@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-04 15:31:57 +00:00
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
// Now verify we haven't crashed.
buildAccessibilityTree() needs to be removed from individual layout tests https://bugs.webkit.org/show_bug.cgi?id=95286 Reviewed by Chris Fleizach. Extracted two functions to 'dump' and 'touch' the accessibility hierarchies out of different layout tests and into a single file, living in LayoutTests/resources/accessibility-helper.js * resources/accessibility-helper.js: Added. (dumpAccessibilityTree): New, based on buildAccessibilityTree() for the cases where it was used to actually 'dump' it into the output. (touchAccessibilityTree): Same, but for the cases where we don't want to dump the accessibility tree, just to make sure is generated. Updated affected layout tests to use the newly added helper functions. * accessibility/adjacent-continuations-cause-assertion-failure.html: Updated. * accessibility/children-changed-sends-notification.html: Ditto. * accessibility/deleting-iframe-destroys-axcache.html: Ditto. * accessibility/div-within-anchors-causes-crash.html: Ditto. * accessibility/first-letter-text-transform-causes-crash.html: Ditto. * accessibility/image-map-update-parent-crash.html: Ditto. * accessibility/table-with-empty-thead-causes-crash.html: Ditto. * platform/efl/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/entry-and-password.html: Ditto. * platform/gtk/accessibility/media-emits-object-replacement.html: Ditto. * platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html: Ditto. Updated Mac specific expectations not to print the "End of test" element. * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: Updated. * platform/mac/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt: Ditto. * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: Ditto. * platform/mac/accessibility/div-within-anchors-causes-crash-expected.txt: Ditto. Canonical link: https://commits.webkit.org/152610@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170806 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-07-04 15:31:57 +00:00
touchAccessibilityTree(accessibilityController.rootElement);
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
finishJSTest();
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
}
</script>
</head>
Many accessibility js-tests use waitUntilDone https://bugs.webkit.org/show_bug.cgi?id=172372 Reviewed by Tim Horton. Corrected the use of js-test harness, updated the tests to use js-test.js instead of js-test-pre.js where possible. * accessibility/anonymous-render-block-in-continuation-causes-crash-expected.txt: * accessibility/anonymous-render-block-in-continuation-causes-crash.html: * accessibility/aria-checkbox-sends-notification.html: * accessibility/aria-invalid.html: * accessibility/aria-switch-sends-notification.html: * accessibility/deleting-iframe-destroys-axcache.html: * accessibility/file-upload-button-with-axpress.html: * accessibility/frame-disconnect-textmarker-cache-crash-expected.txt: * accessibility/frame-disconnect-textmarker-cache-crash.html: * accessibility/gtk/aria-listbox-crash.html: * accessibility/heading-title-includes-links-expected.txt: * accessibility/heading-title-includes-links.html: * accessibility/image-map-update-parent-crash-expected.txt: * accessibility/image-map-update-parent-crash.html: * accessibility/insert-children-assert-expected.txt: * accessibility/insert-children-assert.html: * accessibility/ios-simulator/focus-change-notifications.html: * accessibility/label-element-press.html: * accessibility/loading-iframe-updates-axtree.html: * accessibility/mac/aria-expanded-notifications.html: * accessibility/mac/aria-listbox-selectedchildren-change.html: * accessibility/mac/aria-liveregion-on-image.html: * accessibility/mac/aria-liveregions-addedelement.html: * accessibility/mac/aria-liveregions-changedalt.html: * accessibility/mac/aria-liveregions-changedtext.html: * accessibility/mac/aria-liveregions-removedelement.html: * accessibility/mac/combobox-activedescendant-notifications-expected.txt: * accessibility/mac/combobox-activedescendant-notifications.html: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing-expected.txt: * accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html: * accessibility/mac/html-slider-indicator.html: * accessibility/mac/input-replacevalue-userinfo-expected.txt: * accessibility/mac/input-replacevalue-userinfo.html: * accessibility/mac/ordered-textmarker-crash-expected.txt: * accessibility/mac/ordered-textmarker-crash.html: * accessibility/mac/search-with-frames-expected.txt: * accessibility/mac/search-with-frames.html: * accessibility/mac/selection-boundary-userinfo.html: * accessibility/mac/selection-change-userinfo.html: * accessibility/mac/selection-element-tabbing-to-link.html: * accessibility/mac/selection-value-changes-for-aria-textbox.html: * accessibility/mac/stale-textmarker-crash-expected.txt: * accessibility/mac/stale-textmarker-crash.html: * accessibility/mac/textbox-role-reports-notifications-expected.txt: * accessibility/mac/textbox-role-reports-notifications.html: * accessibility/mac/value-change/value-change-user-info-contenteditable.html: * accessibility/mac/value-change/value-change-user-info-textarea.html: * accessibility/mac/value-change/value-change-user-info-textfield.html: * accessibility/media-element.html: * accessibility/menu-list-sends-change-notification.html: * accessibility/multiselect-list-reports-active-option.html: * accessibility/paragraph-with-linebreaks.html: * accessibility/platform-name.html: * accessibility/radio-button-group-members.html: * accessibility/radio-button-title-label.html: * accessibility/selection-states-expected.txt: * accessibility/selection-states.html: * accessibility/spinbutton-value.html: * accessibility/svg-bounds.html: * accessibility/table-cell-for-column-and-row-crash.html: * accessibility/table-cells-roles.html: * accessibility/table-roles-hierarchy.html: * accessibility/table-with-aria-role.html: * accessibility/textarea-insertion-point-line-number.html: * accessibility/textbox-role-reports-selection.html: * accessibility/title-ui-element-correctness.html: * accessibility/unknown-roles-not-exposed-expected.txt: * accessibility/unknown-roles-not-exposed.html: * accessibility/win/bstr-elements-role.html: * accessibility/win/detached-object-notification-crash.html: * accessibility/win/heading-elements.html: * accessibility/win/img-alt-attribute.html: * accessibility/win/linked-elements.html: * accessibility/win/list-item-role.html: * accessibility/win/list-marker-role.html: * accessibility/win/list-role.html: * accessibility/win/multiple-select-element-role.html: * accessibility/win/option-element-position-and-size.html: * accessibility/win/parent-element.html: * accessibility/win/select-element-role.html: * accessibility/win/selection-and-focus.html: * accessibility/win/single-select-children-changed.html: * accessibility/win/single-select-children.html: * accessibility/win/text-role.html: * platform/mac-wk1/accessibility/loading-iframe-updates-axtree-expected.txt: * platform/mac-wk2/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/deleting-iframe-destroys-axcache-expected.txt: * platform/mac/accessibility/media-element-expected.txt: * platform/mac/accessibility/table-cells-roles-expected.txt: * platform/mac/accessibility/table-roles-hierarchy-expected.txt: Canonical link: https://commits.webkit.org/189300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217171 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-05-19 23:37:59 +00:00
<body onload="runAXTest()">
Bug 69562 - AccessibilityImageMapLink holds onto it's parent even after it's been freed https://bugs.webkit.org/show_bug.cgi?id=69562 Source/WebCore: Some fake objects, like AXImageMapLink, have weak references to their parent's (since they are fake objects and need some connection to the parent). However, if the parent disappears before the child, then we're left with a out of date reference to that parent. The fix is to allow these elements to clear their parentage when the parent goes away. Reviewed by Darin Adler. Test: accessibility/image-map-update-parent-crash.html * accessibility/AccessibilityMenuListOption.cpp: (WebCore::AccessibilityMenuListOption::isVisible): * accessibility/AccessibilityMenuListPopup.cpp: (WebCore::AccessibilityMenuListPopup::isOffScreen): (WebCore::AccessibilityMenuListPopup::isEnabled): (WebCore::AccessibilityMenuListPopup::press): (WebCore::AccessibilityMenuListPopup::addChildren): (WebCore::AccessibilityMenuListPopup::childrenChanged): * accessibility/AccessibilityMockObject.h: (WebCore::AccessibilityMockObject::detachFromParent): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::clearChildren): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::detachFromParent): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySliderThumb::elementRect): * accessibility/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection): LayoutTests: Reviewed by Darin Adler. * accessibility/image-map-update-parent-crash-expected.txt: Added. * accessibility/image-map-update-parent-crash.html: Added. Canonical link: https://commits.webkit.org/85723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@96973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2011-10-07 19:45:14 +00:00
<map name="map">
<div id="o7"></div>
<area id="o20" href="#"></area></map>
<img id="img" usemap="#map"><span></span>
<p id="description"></p>
<div id="console"></div>
</body>
</html>