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 29 matching lines...) Expand all Loading... |
40 #include "core/rendering/RenderLayer.h" | 40 #include "core/rendering/RenderLayer.h" |
41 #include "core/rendering/RenderRegion.h" | 41 #include "core/rendering/RenderRegion.h" |
42 #include "core/rendering/RenderView.h" | 42 #include "core/rendering/RenderView.h" |
43 #include "platform/PODIntervalTree.h" | 43 #include "platform/PODIntervalTree.h" |
44 #include "platform/geometry/TransformState.h" | 44 #include "platform/geometry/TransformState.h" |
45 | 45 |
46 namespace WebCore { | 46 namespace WebCore { |
47 | 47 |
48 RenderFlowThread::RenderFlowThread() | 48 RenderFlowThread::RenderFlowThread() |
49 : RenderBlockFlow(0) | 49 : RenderBlockFlow(0) |
50 , m_previousRegionCount(0) | |
51 , m_regionsInvalidated(false) | 50 , m_regionsInvalidated(false) |
52 , m_regionsHaveUniformLogicalHeight(true) | 51 , m_regionsHaveUniformLogicalHeight(true) |
53 , m_pageLogicalSizeChanged(false) | 52 , m_pageLogicalSizeChanged(false) |
54 { | 53 { |
55 setFlowThreadState(InsideOutOfFlowThread); | 54 setFlowThreadState(InsideOutOfFlowThread); |
56 } | 55 } |
57 | 56 |
58 PassRefPtr<RenderStyle> RenderFlowThread::createFlowThreadStyle(RenderStyle* par
entStyle) | |
59 { | |
60 RefPtr<RenderStyle> newStyle(RenderStyle::create()); | |
61 newStyle->inheritFrom(parentStyle); | |
62 newStyle->setDisplay(BLOCK); | |
63 newStyle->setPosition(AbsolutePosition); | |
64 newStyle->setZIndex(0); | |
65 newStyle->setLeft(Length(0, Fixed)); | |
66 newStyle->setTop(Length(0, Fixed)); | |
67 newStyle->setWidth(Length(100, Percent)); | |
68 newStyle->setHeight(Length(100, Percent)); | |
69 newStyle->font().update(nullptr); | |
70 | |
71 return newStyle.release(); | |
72 } | |
73 | |
74 void RenderFlowThread::addRegionToThread(RenderRegion* renderRegion) | 57 void RenderFlowThread::addRegionToThread(RenderRegion* renderRegion) |
75 { | 58 { |
76 ASSERT(renderRegion); | 59 ASSERT(renderRegion); |
77 m_regionList.add(renderRegion); | 60 m_regionList.add(renderRegion); |
78 renderRegion->setIsValid(true); | 61 renderRegion->setIsValid(true); |
79 } | 62 } |
80 | 63 |
81 void RenderFlowThread::removeRegionFromThread(RenderRegion* renderRegion) | 64 void RenderFlowThread::removeRegionFromThread(RenderRegion* renderRegion) |
82 { | 65 { |
83 ASSERT(renderRegion); | 66 ASSERT(renderRegion); |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 | 292 |
310 return referencePoint; | 293 return referencePoint; |
311 } | 294 } |
312 | 295 |
313 LayoutUnit RenderFlowThread::pageLogicalTopForOffset(LayoutUnit offset) | 296 LayoutUnit RenderFlowThread::pageLogicalTopForOffset(LayoutUnit offset) |
314 { | 297 { |
315 RenderRegion* region = regionAtBlockOffset(offset); | 298 RenderRegion* region = regionAtBlockOffset(offset); |
316 return region ? region->pageLogicalTopForOffset(offset) : LayoutUnit(); | 299 return region ? region->pageLogicalTopForOffset(offset) : LayoutUnit(); |
317 } | 300 } |
318 | 301 |
319 LayoutUnit RenderFlowThread::pageLogicalWidthForOffset(LayoutUnit offset) | |
320 { | |
321 RenderRegion* region = regionAtBlockOffset(offset, true); | |
322 return region ? region->pageLogicalWidth() : contentLogicalWidth(); | |
323 } | |
324 | |
325 LayoutUnit RenderFlowThread::pageLogicalHeightForOffset(LayoutUnit offset) | 302 LayoutUnit RenderFlowThread::pageLogicalHeightForOffset(LayoutUnit offset) |
326 { | 303 { |
327 RenderRegion* region = regionAtBlockOffset(offset); | 304 RenderRegion* region = regionAtBlockOffset(offset); |
328 if (!region) | 305 if (!region) |
329 return 0; | 306 return 0; |
330 | 307 |
331 return region->pageLogicalHeight(); | 308 return region->pageLogicalHeight(); |
332 } | 309 } |
333 | 310 |
334 LayoutUnit RenderFlowThread::pageRemainingLogicalHeightForOffset(LayoutUnit offs
et, PageBoundaryRule pageBoundaryRule) | 311 LayoutUnit RenderFlowThread::pageRemainingLogicalHeightForOffset(LayoutUnit offs
et, PageBoundaryRule pageBoundaryRule) |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 { | 595 { |
619 if (!m_renderFlowThread) | 596 if (!m_renderFlowThread) |
620 return; | 597 return; |
621 RenderView* view = m_renderFlowThread->view(); | 598 RenderView* view = m_renderFlowThread->view(); |
622 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl
owThread); | 599 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl
owThread); |
623 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo
wThread); | 600 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo
wThread); |
624 } | 601 } |
625 | 602 |
626 | 603 |
627 } // namespace WebCore | 604 } // namespace WebCore |
OLD | NEW |