Changeset 48947 in webkit
- Timestamp:
- Sep 30, 2009 2:15:03 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r48934 r48947 1 2009-09-30 Dan Bernstein <mitz@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out 6 https://bugs.webkit.org/show_bug.cgi?id=29209 7 8 * fast/inline/relative-positioned-overflow-expected.txt: Added. 9 * fast/inline/relative-positioned-overflow.html: Added. 10 * platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt: 11 1 12 2009-09-30 Jian Li <jianli@chromium.org> 2 13 -
trunk/LayoutTests/platform/mac/fast/repaint/transform-absolute-in-positioned-container-expected.txt
r47440 r48947 1 1 layer at (0,0) size 800x600 2 2 RenderView at (0,0) size 800x600 3 layer at (0,0) size 800x 2963 layer at (0,0) size 800x308 4 4 RenderBlock {HTML} at (0,0) size 800x296 5 5 RenderBody {BODY} at (8,16) size 784x272 -
trunk/WebCore/ChangeLog
r48945 r48947 1 2009-09-30 Dan Bernstein <mitz@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out 6 https://bugs.webkit.org/show_bug.cgi?id=29209 7 8 Test: fast/inline/relative-positioned-overflow.html 9 10 * rendering/InlineFlowBox.cpp: 11 (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting 12 inlines to overflow to ensure that they are included in hit-testing. 13 1 14 2009-09-30 Simon Fraser <simon.fraser@apple.com> 2 15 -
trunk/WebCore/rendering/InlineFlowBox.cpp
r47798 r48947 579 579 topVisualOverflow = min(curr->y() + childOverflowTop, topVisualOverflow); 580 580 bottomVisualOverflow = max(curr->y() + text->height() + childOverflowBottom, bottomVisualOverflow); 581 } else { 582 // Only include overflow from inline flows and replaced inlines if they do not paint themselves. 583 bool childIsSelfPainting = curr->boxModelObject()->hasSelfPaintingLayer(); 584 if (curr->renderer()->isRenderInline()) { 585 InlineFlowBox* flow = static_cast<InlineFlowBox*>(curr); 586 flow->computeVerticalOverflow(lineTop, lineBottom, strictMode); 587 if (!childIsSelfPainting) { 588 topLayoutOverflow = min(topLayoutOverflow, flow->topLayoutOverflow()); 589 bottomLayoutOverflow = max(bottomLayoutOverflow, flow->bottomLayoutOverflow()); 590 topVisualOverflow = min(topVisualOverflow, flow->topVisualOverflow()); 591 bottomVisualOverflow = max(bottomVisualOverflow, flow->bottomVisualOverflow()); 592 } 593 } else if (!childIsSelfPainting){ 594 RenderBox* box = toRenderBox(curr->renderer()); 595 int boxY = curr->y(); 596 int childTopOverflow = box->hasOverflowClip() ? 0 : box->topLayoutOverflow(); 597 int childBottomOverflow = box->hasOverflowClip() ? curr->height() : box->bottomLayoutOverflow(); 598 topLayoutOverflow = min(boxY + childTopOverflow, topLayoutOverflow); 599 bottomLayoutOverflow = max(boxY + childBottomOverflow, bottomLayoutOverflow); 600 topVisualOverflow = min(boxY + box->topVisualOverflow(), topVisualOverflow); 601 bottomVisualOverflow = max(boxY + box->bottomVisualOverflow(), bottomVisualOverflow); 602 } 581 } else if (curr->renderer()->isRenderInline()) { 582 InlineFlowBox* flow = static_cast<InlineFlowBox*>(curr); 583 flow->computeVerticalOverflow(lineTop, lineBottom, strictMode); 584 topLayoutOverflow = min(topLayoutOverflow, flow->topLayoutOverflow()); 585 bottomLayoutOverflow = max(bottomLayoutOverflow, flow->bottomLayoutOverflow()); 586 topVisualOverflow = min(topVisualOverflow, flow->topVisualOverflow()); 587 bottomVisualOverflow = max(bottomVisualOverflow, flow->bottomVisualOverflow()); 588 } else if (!curr->boxModelObject()->hasSelfPaintingLayer()){ 589 // Only include overflow from replaced inlines if they do not paint themselves. 590 RenderBox* box = toRenderBox(curr->renderer()); 591 int boxY = curr->y(); 592 int childTopOverflow = box->hasOverflowClip() ? 0 : box->topLayoutOverflow(); 593 int childBottomOverflow = box->hasOverflowClip() ? curr->height() : box->bottomLayoutOverflow(); 594 topLayoutOverflow = min(boxY + childTopOverflow, topLayoutOverflow); 595 bottomLayoutOverflow = max(boxY + childBottomOverflow, bottomLayoutOverflow); 596 topVisualOverflow = min(boxY + box->topVisualOverflow(), topVisualOverflow); 597 bottomVisualOverflow = max(boxY + box->bottomVisualOverflow(), bottomVisualOverflow); 603 598 } 604 599 }
Note: See TracChangeset
for help on using the changeset viewer.