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

Side by Side Diff: third_party/WebKit/Source/core/layout/line/InlineFlowBox.h

Issue 1473363003: Invalidate first line display item clients when first line style changes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Handle inherited firstline style Created 5 years 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 void setIsFirstAfterPageBreak(bool isFirstAfterPageBreak) { m_isFirstAfterPa geBreak = isFirstAfterPageBreak; } 279 void setIsFirstAfterPageBreak(bool isFirstAfterPageBreak) { m_isFirstAfterPa geBreak = isFirstAfterPageBreak; }
280 280
281 // Some callers (LayoutListItem) needs to set extra overflow on their line b ox. 281 // Some callers (LayoutListItem) needs to set extra overflow on their line b ox.
282 void overrideOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflo w, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineB ottom) 282 void overrideOverflowFromLogicalRects(const LayoutRect& logicalLayoutOverflo w, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit lineB ottom)
283 { 283 {
284 // If we are setting an overflow, then we can't pretend not to have an o verflow. 284 // If we are setting an overflow, then we can't pretend not to have an o verflow.
285 clearKnownToHaveNoOverflow(); 285 clearKnownToHaveNoOverflow();
286 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow , lineTop, lineBottom); 286 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow , lineTop, lineBottom);
287 } 287 }
288 288
289 void invalidateDisplayItemClientsOfFirstLine();
290
289 private: 291 private:
290 void placeBoxRangeInInlineDirection(InlineBox* firstChild, InlineBox* lastCh ild, 292 void placeBoxRangeInInlineDirection(InlineBox* firstChild, InlineBox* lastCh ild,
291 LayoutUnit& logicalLeft, LayoutUnit& minLogicalLeft, LayoutUnit& maxLogi calRight, bool& needsWordSpacing); 293 LayoutUnit& logicalLeft, LayoutUnit& minLogicalLeft, LayoutUnit& maxLogi calRight, bool& needsWordSpacing);
292 void beginPlacingBoxRangesInInlineDirection(LayoutUnit logicalLeft) { setLog icalLeft(logicalLeft); } 294 void beginPlacingBoxRangesInInlineDirection(LayoutUnit logicalLeft) { setLog icalLeft(logicalLeft); }
293 void endPlacingBoxRangesInInlineDirection(LayoutUnit logicalLeft, LayoutUnit logicalRight, LayoutUnit minLogicalLeft, LayoutUnit maxLogicalRight) 295 void endPlacingBoxRangesInInlineDirection(LayoutUnit logicalLeft, LayoutUnit logicalRight, LayoutUnit minLogicalLeft, LayoutUnit maxLogicalRight)
294 { 296 {
295 setLogicalWidth(logicalRight - logicalLeft); 297 setLogicalWidth(logicalRight - logicalLeft);
296 if (knownToHaveNoOverflow() && (minLogicalLeft < logicalLeft || maxLogic alRight > logicalRight)) 298 if (knownToHaveNoOverflow() && (minLogicalLeft < logicalLeft || maxLogic alRight > logicalRight))
297 clearKnownToHaveNoOverflow(); 299 clearKnownToHaveNoOverflow();
298 } 300 }
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 } 372 }
371 373
372 } // namespace blink 374 } // namespace blink
373 375
374 #ifndef NDEBUG 376 #ifndef NDEBUG
375 // Outside the WebCore namespace for ease of invocation from gdb. 377 // Outside the WebCore namespace for ease of invocation from gdb.
376 void showTree(const blink::InlineFlowBox*); 378 void showTree(const blink::InlineFlowBox*);
377 #endif 379 #endif
378 380
379 #endif // InlineFlowBox_h 381 #endif // InlineFlowBox_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698