OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 2011 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2022 && !floatingObject.layoutObject()->hasSelfPaintingLayer() | 2022 && !floatingObject.layoutObject()->hasSelfPaintingLayer() |
2023 && (floatingObject.isDirectlyContained() || (paintAllDescendants &&
floatingObject.isDescendant()))) { | 2023 && (floatingObject.isDirectlyContained() || (paintAllDescendants &&
floatingObject.isDescendant()))) { |
2024 | 2024 |
2025 LayoutBox* floatingLayoutBox = floatingObject.layoutObject(); | 2025 LayoutBox* floatingLayoutBox = floatingObject.layoutObject(); |
2026 floatingLayoutBox->setShouldDoFullPaintInvalidation(); | 2026 floatingLayoutBox->setShouldDoFullPaintInvalidation(); |
2027 floatingLayoutBox->invalidatePaintForOverhangingFloats(false); | 2027 floatingLayoutBox->invalidatePaintForOverhangingFloats(false); |
2028 } | 2028 } |
2029 } | 2029 } |
2030 } | 2030 } |
2031 | 2031 |
| 2032 // TODO: Remove this (which is a kind of incremental invalidation) for slimming
paint v2. |
2032 void LayoutBlockFlow::invalidatePaintForOverflow() | 2033 void LayoutBlockFlow::invalidatePaintForOverflow() |
2033 { | 2034 { |
2034 // FIXME: We could tighten up the left and right invalidation points if we l
et layoutInlineChildren fill them in based off the particular lines | 2035 // FIXME: We could tighten up the left and right invalidation points if we l
et layoutInlineChildren fill them in based off the particular lines |
2035 // it had to lay out. We wouldn't need the hasOverflowClip() hack in that ca
se either. | 2036 // it had to lay out. We wouldn't need the hasOverflowClip() hack in that ca
se either. |
2036 LayoutUnit paintInvalidationLogicalLeft = logicalLeftVisualOverflow(); | 2037 LayoutUnit paintInvalidationLogicalLeft = logicalLeftVisualOverflow(); |
2037 LayoutUnit paintInvalidationLogicalRight = logicalRightVisualOverflow(); | 2038 LayoutUnit paintInvalidationLogicalRight = logicalRightVisualOverflow(); |
2038 if (hasOverflowClip()) { | 2039 if (hasOverflowClip()) { |
2039 // If we have clipped overflow, we should use layout overflow as well, s
ince visual overflow from lines didn't propagate to our block's overflow. | 2040 // If we have clipped overflow, we should use layout overflow as well, s
ince visual overflow from lines didn't propagate to our block's overflow. |
2040 // Note the old code did this as well but even for overflow:visible. The
addition of hasOverflowClip() at least tightens up the hack a bit. | 2041 // Note the old code did this as well but even for overflow:visible. The
addition of hasOverflowClip() at least tightens up the hack a bit. |
2041 // layoutInlineChildren should be patched to compute the entire paint in
validation rect. | 2042 // layoutInlineChildren should be patched to compute the entire paint in
validation rect. |
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3057 FrameView* frameView = document().view(); | 3058 FrameView* frameView = document().view(); |
3058 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr
ollOffset().height(); | 3059 LayoutUnit top = (style()->position() == FixedPosition) ? 0 : frameView->scr
ollOffset().height(); |
3059 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height(
); | 3060 int visibleHeight = frameView->visibleContentRect(IncludeScrollbars).height(
); |
3060 if (size().height() < visibleHeight) | 3061 if (size().height() < visibleHeight) |
3061 top += (visibleHeight - size().height()) / 2; | 3062 top += (visibleHeight - size().height()) / 2; |
3062 setY(top); | 3063 setY(top); |
3063 dialog->setCentered(top); | 3064 dialog->setCentered(top); |
3064 } | 3065 } |
3065 | 3066 |
3066 } // namespace blink | 3067 } // namespace blink |
OLD | NEW |