| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All r
ights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 virtual bool shouldIgnoreOverflowPropertyForInlineBlockBaseline() const { re
turn false; } | 332 virtual bool shouldIgnoreOverflowPropertyForInlineBlockBaseline() const { re
turn false; } |
| 333 | 333 |
| 334 void updateHitTestResult(HitTestResult&, const LayoutPoint&) override; | 334 void updateHitTestResult(HitTestResult&, const LayoutPoint&) override; |
| 335 | 335 |
| 336 // Delay update scrollbar until finishDelayUpdateScrollInfo() will be | 336 // Delay update scrollbar until finishDelayUpdateScrollInfo() will be |
| 337 // called. This function is used when a flexbox is laying out its | 337 // called. This function is used when a flexbox is laying out its |
| 338 // descendant. If multiple calls are made to startDelayUpdateScrollInfo(), | 338 // descendant. If multiple calls are made to startDelayUpdateScrollInfo(), |
| 339 // finishDelayUpdateScrollInfo() will do nothing until finishDelayUpdateScro
llInfo() | 339 // finishDelayUpdateScrollInfo() will do nothing until finishDelayUpdateScro
llInfo() |
| 340 // is called the same number of times. | 340 // is called the same number of times. |
| 341 // finishDelayUpdateScrollInfo returns true when it marked something for lay
out. | 341 // finishDelayUpdateScrollInfo returns true when it marked something for lay
out. |
| 342 // It will also return a map of saved scroll positions that the caller shoul
d restore |
| 343 // on the given scrollable areas after performing the layout. |
| 344 // This can be necessary because Flexbox's multi-pass layout can lose the sc
roll position. |
| 345 // TODO(cbiesinger): This is a temporary hack. The right solution is to dela
y the scroll |
| 346 // clamping that currently happens in PaintLayerScrollableArea::updateAfterL
ayout to only |
| 347 // happen after all layout is done, i.e. during updateLayerPositionsAfterLay
out. However, |
| 348 // that currently fails a layout test. To fix this bug in time for M50, we u
se this temporary |
| 349 // hack. The real fix is tracked in crbug.com/600036 |
| 350 typedef WTF::HashMap<PaintLayerScrollableArea*, DoublePoint> ScrollPositionM
ap; |
| 342 static void startDelayUpdateScrollInfo(); | 351 static void startDelayUpdateScrollInfo(); |
| 343 static bool finishDelayUpdateScrollInfo(SubtreeLayoutScope*); | 352 static bool finishDelayUpdateScrollInfo(SubtreeLayoutScope*, ScrollPositionM
ap*); |
| 344 | 353 |
| 345 void updateScrollInfoAfterLayout(); | 354 void updateScrollInfoAfterLayout(); |
| 346 | 355 |
| 347 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid
e; | 356 void styleWillChange(StyleDifference, const ComputedStyle& newStyle) overrid
e; |
| 348 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; | 357 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; |
| 349 | 358 |
| 350 virtual bool hasLineIfEmpty() const; | 359 virtual bool hasLineIfEmpty() const; |
| 351 | 360 |
| 352 bool simplifiedLayout(); | 361 bool simplifiedLayout(); |
| 353 virtual void simplifiedNormalFlowLayout(); | 362 virtual void simplifiedNormalFlowLayout(); |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 502 // FIXME: This is temporary as we move code that accesses block flow | 511 // FIXME: This is temporary as we move code that accesses block flow |
| 503 // member variables out of LayoutBlock and into LayoutBlockFlow. | 512 // member variables out of LayoutBlock and into LayoutBlockFlow. |
| 504 friend class LayoutBlockFlow; | 513 friend class LayoutBlockFlow; |
| 505 }; | 514 }; |
| 506 | 515 |
| 507 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); | 516 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlock, isLayoutBlock()); |
| 508 | 517 |
| 509 } // namespace blink | 518 } // namespace blink |
| 510 | 519 |
| 511 #endif // LayoutBlock_h | 520 #endif // LayoutBlock_h |
| OLD | NEW |