| OLD | NEW |
| 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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 virtual ~RenderFlowThread() { }; | 58 virtual ~RenderFlowThread() { }; |
| 59 | 59 |
| 60 virtual bool isRenderFlowThread() const OVERRIDE FINAL { return true; } | 60 virtual bool isRenderFlowThread() const OVERRIDE FINAL { return true; } |
| 61 | 61 |
| 62 virtual void layout() OVERRIDE FINAL; | 62 virtual void layout() OVERRIDE FINAL; |
| 63 | 63 |
| 64 // Always create a RenderLayer for the RenderFlowThread so that we | 64 // Always create a RenderLayer for the RenderFlowThread so that we |
| 65 // can easily avoid drawing the children directly. | 65 // can easily avoid drawing the children directly. |
| 66 virtual LayerType layerTypeRequired() const OVERRIDE FINAL { return NormalLa
yer; } | 66 virtual LayerType layerTypeRequired() const OVERRIDE FINAL { return NormalLa
yer; } |
| 67 | 67 |
| 68 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) OVERRIDE; | 68 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) OVERRIDE FINAL; |
| 69 | 69 |
| 70 void removeFlowChildInfo(RenderObject*); | 70 void removeFlowChildInfo(RenderObject*); |
| 71 #ifndef NDEBUG | 71 #ifndef NDEBUG |
| 72 bool hasChildInfo(RenderObject* child) const { return child && child->isBox(
) && m_regionRangeMap.contains(toRenderBox(child)); } | 72 bool hasChildInfo(RenderObject* child) const { return child && child->isBox(
) && m_regionRangeMap.contains(toRenderBox(child)); } |
| 73 #endif | 73 #endif |
| 74 | 74 |
| 75 virtual void addRegionToThread(RenderRegion*); | 75 virtual void addRegionToThread(RenderRegion*); |
| 76 virtual void removeRegionFromThread(RenderRegion*); | 76 virtual void removeRegionFromThread(RenderRegion*); |
| 77 const RenderRegionList& renderRegionList() const { return m_regionList; } | 77 const RenderRegionList& renderRegionList() const { return m_regionList; } |
| 78 | 78 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 // Used to estimate the maximum height of the flow thread. | 175 // Used to estimate the maximum height of the flow thread. |
| 176 static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } | 176 static LayoutUnit maxLogicalHeight() { return LayoutUnit::max() / 2; } |
| 177 | 177 |
| 178 protected: | 178 protected: |
| 179 virtual const char* renderName() const = 0; | 179 virtual const char* renderName() const = 0; |
| 180 | 180 |
| 181 // Overridden by columns/pages to set up an initial logical width of the pag
e width even when | 181 // Overridden by columns/pages to set up an initial logical width of the pag
e width even when |
| 182 // no regions have been generated yet. | 182 // no regions have been generated yet. |
| 183 virtual LayoutUnit initialLogicalWidth() const { return 0; }; | 183 virtual LayoutUnit initialLogicalWidth() const { return 0; }; |
| 184 | 184 |
| 185 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
0) const OVERRIDE; | 185 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai
ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed =
0) const OVERRIDE FINAL; |
| 186 | 186 |
| 187 void updateRegionsFlowThreadPortionRect(const RenderRegion* = 0); | 187 void updateRegionsFlowThreadPortionRect(const RenderRegion* = 0); |
| 188 bool shouldRepaint(const LayoutRect&) const; | 188 bool shouldRepaint(const LayoutRect&) const; |
| 189 bool regionInRange(const RenderRegion* targetRegion, const RenderRegion* sta
rtRegion, const RenderRegion* endRegion) const; | 189 bool regionInRange(const RenderRegion* targetRegion, const RenderRegion* sta
rtRegion, const RenderRegion* endRegion) const; |
| 190 | 190 |
| 191 LayoutRect computeRegionClippingRect(const LayoutPoint&, const LayoutRect&,
const LayoutRect&) const; | 191 LayoutRect computeRegionClippingRect(const LayoutPoint&, const LayoutRect&,
const LayoutRect&) const; |
| 192 | 192 |
| 193 void setDispatchRegionLayoutUpdateEvent(bool value) { m_dispatchRegionLayout
UpdateEvent = value; } | 193 void setDispatchRegionLayoutUpdateEvent(bool value) { m_dispatchRegionLayout
UpdateEvent = value; } |
| 194 bool shouldDispatchRegionLayoutUpdateEvent() { return m_dispatchRegionLayout
UpdateEvent; } | 194 bool shouldDispatchRegionLayoutUpdateEvent() { return m_dispatchRegionLayout
UpdateEvent; } |
| 195 | 195 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 bool m_regionsHaveUniformLogicalWidth : 1; | 284 bool m_regionsHaveUniformLogicalWidth : 1; |
| 285 bool m_regionsHaveUniformLogicalHeight : 1; | 285 bool m_regionsHaveUniformLogicalHeight : 1; |
| 286 bool m_hasRegionsWithStyling : 1; | 286 bool m_hasRegionsWithStyling : 1; |
| 287 bool m_dispatchRegionLayoutUpdateEvent : 1; | 287 bool m_dispatchRegionLayoutUpdateEvent : 1; |
| 288 bool m_dispatchRegionOversetChangeEvent : 1; | 288 bool m_dispatchRegionOversetChangeEvent : 1; |
| 289 bool m_pageLogicalSizeChanged : 1; | 289 bool m_pageLogicalSizeChanged : 1; |
| 290 bool m_inConstrainedLayoutPhase : 1; | 290 bool m_inConstrainedLayoutPhase : 1; |
| 291 bool m_needsTwoPhasesLayout : 1; | 291 bool m_needsTwoPhasesLayout : 1; |
| 292 | 292 |
| 293 private: | 293 private: |
| 294 virtual bool supportsPartialLayout() const OVERRIDE { return false; } | 294 virtual bool supportsPartialLayout() const OVERRIDE FINAL { return false; } |
| 295 | 295 |
| 296 }; | 296 }; |
| 297 | 297 |
| 298 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderFlowThread, isRenderFlowThread()); | 298 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderFlowThread, isRenderFlowThread()); |
| 299 | 299 |
| 300 class CurrentRenderFlowThreadMaintainer { | 300 class CurrentRenderFlowThreadMaintainer { |
| 301 WTF_MAKE_NONCOPYABLE(CurrentRenderFlowThreadMaintainer); | 301 WTF_MAKE_NONCOPYABLE(CurrentRenderFlowThreadMaintainer); |
| 302 public: | 302 public: |
| 303 CurrentRenderFlowThreadMaintainer(RenderFlowThread*); | 303 CurrentRenderFlowThreadMaintainer(RenderFlowThread*); |
| 304 ~CurrentRenderFlowThreadMaintainer(); | 304 ~CurrentRenderFlowThreadMaintainer(); |
| 305 private: | 305 private: |
| 306 RenderFlowThread* m_renderFlowThread; | 306 RenderFlowThread* m_renderFlowThread; |
| 307 RenderFlowThread* m_previousRenderFlowThread; | 307 RenderFlowThread* m_previousRenderFlowThread; |
| 308 }; | 308 }; |
| 309 | 309 |
| 310 // These structures are used by PODIntervalTree for debugging. | 310 // These structures are used by PODIntervalTree for debugging. |
| 311 #ifndef NDEBUG | 311 #ifndef NDEBUG |
| 312 template <> struct ValueToString<LayoutUnit> { | 312 template <> struct ValueToString<LayoutUnit> { |
| 313 static String string(const LayoutUnit value) { return String::number(value.t
oFloat()); } | 313 static String string(const LayoutUnit value) { return String::number(value.t
oFloat()); } |
| 314 }; | 314 }; |
| 315 | 315 |
| 316 template <> struct ValueToString<RenderRegion*> { | 316 template <> struct ValueToString<RenderRegion*> { |
| 317 static String string(const RenderRegion* value) { return String::format("%p"
, value); } | 317 static String string(const RenderRegion* value) { return String::format("%p"
, value); } |
| 318 }; | 318 }; |
| 319 #endif | 319 #endif |
| 320 | 320 |
| 321 } // namespace WebCore | 321 } // namespace WebCore |
| 322 | 322 |
| 323 #endif // RenderFlowThread_h | 323 #endif // RenderFlowThread_h |
| OLD | NEW |