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 554 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 | 565 |
566 return 0; | 566 return 0; |
567 } | 567 } |
568 | 568 |
569 void RenderFlowThread::pushFlowThreadLayoutState(const RenderObject& object) | 569 void RenderFlowThread::pushFlowThreadLayoutState(const RenderObject& object) |
570 { | 570 { |
571 if (const RenderBox* currentBoxDescendant = currentStatePusherRenderBox()) { | 571 if (const RenderBox* currentBoxDescendant = currentStatePusherRenderBox()) { |
572 LayoutState* layoutState = currentBoxDescendant->view()->layoutState(); | 572 LayoutState* layoutState = currentBoxDescendant->view()->layoutState(); |
573 if (layoutState && layoutState->isPaginated()) { | 573 if (layoutState && layoutState->isPaginated()) { |
574 ASSERT(layoutState->renderer() == currentBoxDescendant); | 574 ASSERT(layoutState->renderer() == currentBoxDescendant); |
575 LayoutSize offsetDelta = layoutState->m_layoutOffset - layoutState->
m_pageOffset; | 575 LayoutSize offsetDelta = layoutState->layoutOffset() - layoutState->
pageOffset(); |
576 setOffsetFromLogicalTopOfFirstRegion(currentBoxDescendant, currentBo
xDescendant->isHorizontalWritingMode() ? offsetDelta.height() : offsetDelta.widt
h()); | 576 setOffsetFromLogicalTopOfFirstRegion(currentBoxDescendant, currentBo
xDescendant->isHorizontalWritingMode() ? offsetDelta.height() : offsetDelta.widt
h()); |
577 } | 577 } |
578 } | 578 } |
579 | 579 |
580 m_statePusherObjectsStack.add(&object); | 580 m_statePusherObjectsStack.add(&object); |
581 } | 581 } |
582 | 582 |
583 void RenderFlowThread::popFlowThreadLayoutState() | 583 void RenderFlowThread::popFlowThreadLayoutState() |
584 { | 584 { |
585 m_statePusherObjectsStack.removeLast(); | 585 m_statePusherObjectsStack.removeLast(); |
(...skipping 12 matching lines...) Expand all Loading... |
598 LayoutUnit offset; | 598 LayoutUnit offset; |
599 if (cachedOffsetFromLogicalTopOfFirstRegion(currentBlock, offset)) | 599 if (cachedOffsetFromLogicalTopOfFirstRegion(currentBlock, offset)) |
600 return offset; | 600 return offset; |
601 | 601 |
602 // If it's the current box being laid out, use the layout state. | 602 // If it's the current box being laid out, use the layout state. |
603 const RenderBox* currentBoxDescendant = currentStatePusherRenderBox(); | 603 const RenderBox* currentBoxDescendant = currentStatePusherRenderBox(); |
604 if (currentBlock == currentBoxDescendant) { | 604 if (currentBlock == currentBoxDescendant) { |
605 LayoutState* layoutState = view()->layoutState(); | 605 LayoutState* layoutState = view()->layoutState(); |
606 ASSERT(layoutState->renderer() == currentBlock); | 606 ASSERT(layoutState->renderer() == currentBlock); |
607 ASSERT(layoutState && layoutState->isPaginated()); | 607 ASSERT(layoutState && layoutState->isPaginated()); |
608 LayoutSize offsetDelta = layoutState->m_layoutOffset - layoutState->m_pa
geOffset; | 608 LayoutSize offsetDelta = layoutState->layoutOffset() - layoutState->page
Offset(); |
609 return currentBoxDescendant->isHorizontalWritingMode() ? offsetDelta.hei
ght() : offsetDelta.width(); | 609 return currentBoxDescendant->isHorizontalWritingMode() ? offsetDelta.hei
ght() : offsetDelta.width(); |
610 } | 610 } |
611 | 611 |
612 // As a last resort, take the slow path. | 612 // As a last resort, take the slow path. |
613 LayoutRect blockRect(0, 0, currentBlock->width(), currentBlock->height()); | 613 LayoutRect blockRect(0, 0, currentBlock->width(), currentBlock->height()); |
614 while (currentBlock && !currentBlock->isRenderFlowThread()) { | 614 while (currentBlock && !currentBlock->isRenderFlowThread()) { |
615 RenderBlock* containerBlock = currentBlock->containingBlock(); | 615 RenderBlock* containerBlock = currentBlock->containingBlock(); |
616 ASSERT(containerBlock); | 616 ASSERT(containerBlock); |
617 if (!containerBlock) | 617 if (!containerBlock) |
618 return 0; | 618 return 0; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 { | 670 { |
671 if (!m_renderFlowThread) | 671 if (!m_renderFlowThread) |
672 return; | 672 return; |
673 RenderView* view = m_renderFlowThread->view(); | 673 RenderView* view = m_renderFlowThread->view(); |
674 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl
owThread); | 674 ASSERT(view->flowThreadController()->currentRenderFlowThread() == m_renderFl
owThread); |
675 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo
wThread); | 675 view->flowThreadController()->setCurrentRenderFlowThread(m_previousRenderFlo
wThread); |
676 } | 676 } |
677 | 677 |
678 | 678 |
679 } // namespace WebCore | 679 } // namespace WebCore |
OLD | NEW |