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

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

Issue 1181483005: Avoid stretching the parent of a column spanner. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update unit tests that used to test the container stretching mechanism 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) 2011 Adobe Systems Incorporated. All rights reserved. 2 * Copyright (C) 2011 Adobe Systems Incorporated. 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above 8 * 1. Redistributions of source code must retain the above
9 * copyright notice, this list of conditions and the following 9 * copyright notice, this list of conditions and the following
10 * disclaimer. 10 * disclaimer.
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 virtual bool supportsPaintInvalidationStateCachedOffsets() const override { return false; } 57 virtual bool supportsPaintInvalidationStateCachedOffsets() const override { return false; }
58 58
59 virtual void layout() override; 59 virtual void layout() override;
60 60
61 // Always create a Layer for the LayoutFlowThread so that we 61 // Always create a Layer for the LayoutFlowThread so that we
62 // can easily avoid drawing the children directly. 62 // can easily avoid drawing the children directly.
63 virtual DeprecatedPaintLayerType layerTypeRequired() const override final { return NormalDeprecatedPaintLayer; } 63 virtual DeprecatedPaintLayerType layerTypeRequired() const override final { return NormalDeprecatedPaintLayer; }
64 64
65 // Skip past a column spanner during flow thread layout. Spanners are not la id out inside the 65 // Skip past a column spanner during flow thread layout. Spanners are not la id out inside the
66 // flow thread, since the flow thread is not in a spanner's containing block chain (since the 66 // flow thread, since the flow thread is not in a spanner's containing block chain (since the
67 // containing block is the multicol container). If the spanner follows right after a column set 67 // containing block is the multicol container).
68 // (as opposed to following another spanner), we may have to stretch the flo w thread to ensure 68 virtual void skipColumnSpanner(LayoutBox*, LayoutUnit logicalTopInFlowThread ) { }
69 // completely filled columns in the preceding column set. Return this adjust ment, if any.
70 virtual LayoutUnit skipColumnSpanner(LayoutBox*, LayoutUnit logicalTopInFlow Thread) { return LayoutUnit(); }
71 69
72 virtual void flowThreadDescendantWasInserted(LayoutObject*) { } 70 virtual void flowThreadDescendantWasInserted(LayoutObject*) { }
73 virtual void flowThreadDescendantWillBeRemoved(LayoutObject*) { } 71 virtual void flowThreadDescendantWillBeRemoved(LayoutObject*) { }
74 virtual void flowThreadDescendantStyleWillChange(LayoutObject*, StyleDiffere nce, const ComputedStyle& newStyle) { } 72 virtual void flowThreadDescendantStyleWillChange(LayoutObject*, StyleDiffere nce, const ComputedStyle& newStyle) { }
75 virtual void flowThreadDescendantStyleDidChange(LayoutObject*, StyleDifferen ce, const ComputedStyle& oldStyle) { } 73 virtual void flowThreadDescendantStyleDidChange(LayoutObject*, StyleDifferen ce, const ComputedStyle& oldStyle) { }
76 74
77 virtual bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInCo ntainer, const LayoutPoint& accumulatedOffset, HitTestAction) override final; 75 virtual bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInCo ntainer, const LayoutPoint& accumulatedOffset, HitTestAction) override final;
78 76
79 virtual void addColumnSetToThread(LayoutMultiColumnSet*) = 0; 77 virtual void addColumnSetToThread(LayoutMultiColumnSet*) = 0;
80 virtual void removeColumnSetFromThread(LayoutMultiColumnSet*); 78 virtual void removeColumnSetFromThread(LayoutMultiColumnSet*);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 }; 163 };
166 164
167 template <> struct ValueToString<LayoutMultiColumnSet*> { 165 template <> struct ValueToString<LayoutMultiColumnSet*> {
168 static String string(const LayoutMultiColumnSet* value) { return String::for mat("%p", value); } 166 static String string(const LayoutMultiColumnSet* value) { return String::for mat("%p", value); }
169 }; 167 };
170 #endif 168 #endif
171 169
172 } // namespace blink 170 } // namespace blink
173 171
174 #endif // LayoutFlowThread_h 172 #endif // LayoutFlowThread_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBlockFlow.cpp ('k') | Source/core/layout/LayoutMultiColumnFlowThread.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698