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 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 RenderView* renderView = view(); | 351 RenderView* renderView = view(); |
352 if (renderView->layoutState()->pageLogicalHeight()) | 352 if (renderView->layoutState()->pageLogicalHeight()) |
353 setPageLogicalOffset(renderView->layoutState()->pageLogicalOffset(*this,
logicalTop())); | 353 setPageLogicalOffset(renderView->layoutState()->pageLogicalOffset(*this,
logicalTop())); |
354 | 354 |
355 updateLayerTransformAfterLayout(); | 355 updateLayerTransformAfterLayout(); |
356 | 356 |
357 // Update our scroll information if we're overflow:auto/scroll/hidden now th
at we know if | 357 // Update our scroll information if we're overflow:auto/scroll/hidden now th
at we know if |
358 // we overflow or not. | 358 // we overflow or not. |
359 updateScrollInfoAfterLayout(); | 359 updateScrollInfoAfterLayout(); |
360 | 360 |
361 if (m_repaintLogicalTop != m_repaintLogicalBottom && (style()->visibility()
== VISIBLE || enclosingLayer()->hasVisibleContent())) | 361 if (m_repaintLogicalTop != m_repaintLogicalBottom) { |
362 setShouldInvalidateOverflowForPaint(true); | 362 bool hasVisibleContent = style()->visibility() == VISIBLE; |
| 363 if (!hasVisibleContent) { |
| 364 RenderLayer* layer = enclosingLayer(); |
| 365 layer->updateDescendantDependentFlags(); |
| 366 hasVisibleContent = layer->hasVisibleContent(); |
| 367 } |
| 368 if (hasVisibleContent) |
| 369 setShouldInvalidateOverflowForPaint(true); |
| 370 } |
363 | 371 |
364 clearNeedsLayout(); | 372 clearNeedsLayout(); |
365 } | 373 } |
366 | 374 |
367 inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &
pageLogicalHeight, SubtreeLayoutScope& layoutScope) | 375 inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &
pageLogicalHeight, SubtreeLayoutScope& layoutScope) |
368 { | 376 { |
369 LayoutUnit oldLeft = logicalLeft(); | 377 LayoutUnit oldLeft = logicalLeft(); |
370 bool logicalWidthChanged = updateLogicalWidthAndColumnWidth(); | 378 bool logicalWidthChanged = updateLogicalWidthAndColumnWidth(); |
371 relayoutChildren |= logicalWidthChanged; | 379 relayoutChildren |= logicalWidthChanged; |
372 | 380 |
(...skipping 2533 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2906 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2914 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2907 { | 2915 { |
2908 if (m_rareData) | 2916 if (m_rareData) |
2909 return *m_rareData; | 2917 return *m_rareData; |
2910 | 2918 |
2911 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2919 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2912 return *m_rareData; | 2920 return *m_rareData; |
2913 } | 2921 } |
2914 | 2922 |
2915 } // namespace blink | 2923 } // namespace blink |
OLD | NEW |