-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=117508 Source/WebCore: Added regionOversetChange event and tests for it. The overset value of the region has been moved to the ElementRareData object instead of the RenderRegion object. This was needed for the case when a reattach is performed (for instance by changing the display type of the region's containing block) and the RenderRegion object is destroyed. When computing the overset again, there would be no "previous" value to compare it to and decide whether the regionOversetChange event must be dispatched. Patch by Radu Stavila <stavila@adobe.com> on 2013-06-20 Reviewed by Antti Koivisto. Tests: fast/regions/webkit-named-flow-event-add-to-flow.html: fast/regions/webkit-named-flow-event-auto-height.html: fast/regions/webkit-named-flow-event-crash.html: fast/regions/webkit-named-flow-event-no-regions.html: fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Added. fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html: Added. fast/regions/webkit-named-flow-event-remove-from-dom.html: fast/regions/webkit-named-flow-event-remove-from-flow.html: fast/regions/webkit-named-flow-event-target.html: fast/regions/webkit-named-flow-event-to-null.html: fast/regions/webkit-named-flow-event.html: * GNUmakefile.list.am: * Target.pri: * WebCore.xcodeproj/project.pbxproj: * dom/Element.cpp: (WebCore::Element::setRegionOversetState): (WebCore::Element::regionOversetState): (WebCore::Element::webkitRegionOverset): * dom/Element.h: * dom/ElementRareData.cpp: * dom/ElementRareData.h: (WebCore::ElementRareData::regionOversetState): (WebCore::ElementRareData::setRegionOversetState): (WebCore::ElementRareData::ElementRareData): * dom/EventNames.h: * dom/WebKitNamedFlow.cpp: (WebCore::WebKitNamedFlow::firstEmptyRegionIndex): (WebCore::WebKitNamedFlow::dispatchRegionOversetChangeEvent): * dom/WebKitNamedFlow.h: (WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask): (WebCore::ChangeRegionOversetTask::scheduleFor): (WebCore::ChangeRegionOversetTask::unschedule): (WebCore::ChangeRegionOversetTask::reset): (WebCore::ChangeRegionOversetTask::onTimer): * rendering/RegionOversetState.h: Added. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::computeOverflow): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::RenderFlowThread): (WebCore::RenderFlowThread::layout): (WebCore::RenderFlowThread::computeOversetStateForRegions): * rendering/RenderFlowThread.h: * rendering/RenderNamedFlowThread.cpp: (WebCore::RenderNamedFlowThread::RenderNamedFlowThread): (WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEvent): (WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired): * rendering/RenderNamedFlowThread.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::RenderRegion): (WebCore::RenderRegion::regionOversetState): (WebCore::RenderRegion::setRegionOversetState): * rendering/RenderRegion.h: LayoutTests: Changed regionLayoutUpdate tests to regionOversetChange and added new tests for regionOversetChange. Patch by Radu Stavila <stavila@adobe.com> on 2013-06-20 Reviewed by Antti Koivisto. * fast/regions/webkit-named-flow-event-add-to-flow-expected.txt: * fast/regions/webkit-named-flow-event-add-to-flow.html: * fast/regions/webkit-named-flow-event-auto-height-expected.txt: * fast/regions/webkit-named-flow-event-auto-height.html: Added. * fast/regions/webkit-named-flow-event-crash-expected.txt: * fast/regions/webkit-named-flow-event-crash.html: * fast/regions/webkit-named-flow-event-expected.txt: * fast/regions/webkit-named-flow-event-no-regions-expected.txt: * fast/regions/webkit-named-flow-event-no-regions.html: * fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change-expected.txt: * fast/regions/webkit-named-flow-event-region-in-flexbox-no-overset-change.html: Added. * fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change-expected.txt: * fast/regions/webkit-named-flow-event-region-in-flexbox-overset-change.html: Added. * fast/regions/webkit-named-flow-event-remove-from-dom-expected.txt: * fast/regions/webkit-named-flow-event-remove-from-dom.html: * fast/regions/webkit-named-flow-event-remove-from-flow-expected.txt: * fast/regions/webkit-named-flow-event-remove-from-flow.html: * fast/regions/webkit-named-flow-event-target-expected.txt: * fast/regions/webkit-named-flow-event-target.html: * fast/regions/webkit-named-flow-event-to-null-expected.txt: * fast/regions/webkit-named-flow-event-to-null.html: * fast/regions/webkit-named-flow-event.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
75d76c46