Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: Source/core/layout/LayoutBlockFlow.h

Issue 1167543008: Dirty nearby lineboxes if we layout a float rather than trying to work it out later (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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-2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * Copyright (C) 2013 Google Inc. All rights reserved. 7 * Copyright (C) 2013 Google Inc. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are 10 * modification, are permitted provided that the following conditions are
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 void appendFloatingObjectToLastLine(FloatingObject*); 518 void appendFloatingObjectToLastLine(FloatingObject*);
519 // Helper function for layoutInlineChildren() 519 // Helper function for layoutInlineChildren()
520 RootInlineBox* createLineBoxesFromBidiRuns(unsigned bidiLevel, BidiRunList<B idiRun>&, const InlineIterator& end, LineInfo&, VerticalPositionCache&, BidiRun* trailingSpaceRun, WordMeasurements&); 520 RootInlineBox* createLineBoxesFromBidiRuns(unsigned bidiLevel, BidiRunList<B idiRun>&, const InlineIterator& end, LineInfo&, VerticalPositionCache&, BidiRun* trailingSpaceRun, WordMeasurements&);
521 void layoutRunsAndFloats(LineLayoutState&); 521 void layoutRunsAndFloats(LineLayoutState&);
522 const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogica lHeight, LayoutUnit newLogicalHeight, FloatingObject* lastFloatFromPreviousLine , InlineBidiResolver&, const InlineIterator&); 522 const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogica lHeight, LayoutUnit newLogicalHeight, FloatingObject* lastFloatFromPreviousLine , InlineBidiResolver&, const InlineIterator&);
523 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, 523 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&,
524 const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiSta tus); 524 const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiSta tus);
525 void linkToEndLineIfNeeded(LineLayoutState&); 525 void linkToEndLineIfNeeded(LineLayoutState&);
526 bool appendFloatsToEndOfLine(LineLayoutState&, bool updateFloatIndex); 526 bool appendFloatsToEndOfLine(LineLayoutState&, bool updateFloatIndex);
527 static void markDirtyFloatsForPaintInvalidation(Vector<FloatWithRect>& float s); 527 static void markDirtyFloatsForPaintInvalidation(Vector<FloatWithRect>& float s);
528 void checkFloatsInCleanLine(RootInlineBox*, Vector<FloatWithRect>&, size_t& floatIndex, bool& encounteredNewFloat, bool& dirtiedByFloat);
529 RootInlineBox* determineStartPosition(LineLayoutState&, InlineBidiResolver&) ; 528 RootInlineBox* determineStartPosition(LineLayoutState&, InlineBidiResolver&) ;
530 void determineEndPosition(LineLayoutState&, RootInlineBox* startBox, InlineI terator& cleanLineStart, BidiStatus& cleanLineBidiStatus); 529 void determineEndPosition(LineLayoutState&, RootInlineBox* startBox, InlineI terator& cleanLineStart, BidiStatus& cleanLineBidiStatus);
531 bool checkPaginationAndFloatsAtEndLine(LineLayoutState&); 530 bool checkPaginationAndFloatsAtEndLine(LineLayoutState&);
532 bool matchedEndLine(LineLayoutState&, const InlineBidiResolver&, const Inlin eIterator& endLineStart, const BidiStatus& endLineStatus); 531 bool matchedEndLine(LineLayoutState&, const InlineBidiResolver&, const Inlin eIterator& endLineStart, const BidiStatus& endLineStatus);
533 void deleteEllipsisLineBoxes(); 532 void deleteEllipsisLineBoxes();
534 void checkLinesForTextOverflow(); 533 void checkLinesForTextOverflow();
535 // Positions new floats and also adjust all floats encountered on the line i f any of them 534 // Positions new floats and also adjust all floats encountered on the line i f any of them
536 // have to move to the next page/column. 535 // have to move to the next page/column.
537 bool positionNewFloatOnLine(FloatingObject* newFloat, FloatingObject* lastFl oatFromPreviousLine, LineInfo&, LineWidth&); 536 bool positionNewFloatOnLine(FloatingObject* newFloat, FloatingObject* lastFl oatFromPreviousLine, LineInfo&, LineWidth&);
538 void positionDialog(); 537 void positionDialog();
539 538
540 // END METHODS DEFINED IN LayoutBlockFlowLine 539 // END METHODS DEFINED IN LayoutBlockFlowLine
541 540
542 }; 541 };
543 542
544 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); 543 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow());
545 544
546 } // namespace blink 545 } // namespace blink
547 546
548 #endif // LayoutBlockFlow_h 547 #endif // LayoutBlockFlow_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698