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

Side by Side Diff: Source/core/rendering/RenderObject.cpp

Issue 18601002: Add infrastructure for partial layouts (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Put behind PartialLayout runtime flag Created 7 years, 3 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. All rights reserved.
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after
732 } 732 }
733 733
734 #ifndef NDEBUG 734 #ifndef NDEBUG
735 void RenderObject::checkBlockPositionedObjectsNeedLayout() 735 void RenderObject::checkBlockPositionedObjectsNeedLayout()
736 { 736 {
737 ASSERT(!needsLayout()); 737 ASSERT(!needsLayout());
738 738
739 if (isRenderBlock()) 739 if (isRenderBlock())
740 toRenderBlock(this)->checkPositionedObjectsNeedLayout(); 740 toRenderBlock(this)->checkPositionedObjectsNeedLayout();
741 } 741 }
742
743 void RenderObject::checkNotInPartialLayout()
744 {
745 // During partial layout, setNeedsLayout(true or false) should not be called .
746 ASSERT(!frameView()->partialLayout().shouldStop());
747 }
742 #endif 748 #endif
743 749
744 void RenderObject::setPreferredLogicalWidthsDirty(MarkingBehavior markParents) 750 void RenderObject::setPreferredLogicalWidthsDirty(MarkingBehavior markParents)
745 { 751 {
746 bool alreadyDirty = preferredLogicalWidthsDirty(); 752 bool alreadyDirty = preferredLogicalWidthsDirty();
747 m_bitfields.setPreferredLogicalWidthsDirty(true); 753 m_bitfields.setPreferredLogicalWidthsDirty(true);
748 if (!alreadyDirty && markParents == MarkContainingBlockChain && (isText() || !style()->hasOutOfFlowPosition())) 754 if (!alreadyDirty && markParents == MarkContainingBlockChain && (isText() || !style()->hasOutOfFlowPosition()))
749 invalidateContainerPreferredLogicalWidths(); 755 invalidateContainerPreferredLogicalWidths();
750 } 756 }
751 757
(...skipping 2009 matching lines...) Expand 10 before | Expand all | Expand 10 after
2761 result.setInnerNonSharedNode(node); 2767 result.setInnerNonSharedNode(node);
2762 result.setLocalPoint(point); 2768 result.setLocalPoint(point);
2763 } 2769 }
2764 } 2770 }
2765 2771
2766 bool RenderObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitT estLocation& /*locationInContainer*/, const LayoutPoint& /*accumulatedOffset*/, HitTestAction) 2772 bool RenderObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitT estLocation& /*locationInContainer*/, const LayoutPoint& /*accumulatedOffset*/, HitTestAction)
2767 { 2773 {
2768 return false; 2774 return false;
2769 } 2775 }
2770 2776
2777 FrameView* RenderObject::frameView() const
2778 {
2779 return document().view();
2780 }
2781
2771 void RenderObject::scheduleRelayout() 2782 void RenderObject::scheduleRelayout()
2772 { 2783 {
2773 if (isRenderView()) { 2784 if (isRenderView()) {
2774 FrameView* view = toRenderView(this)->frameView(); 2785 FrameView* view = toRenderView(this)->frameView();
2775 if (view) 2786 if (view)
2776 view->scheduleRelayout(); 2787 view->scheduleRelayout();
2777 } else { 2788 } else {
2778 if (isRooted()) { 2789 if (isRooted()) {
2779 if (RenderView* renderView = view()) { 2790 if (RenderView* renderView = view()) {
2780 if (FrameView* frameView = renderView->frameView()) 2791 if (FrameView* frameView = renderView->frameView())
(...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after
3317 { 3328 {
3318 if (object1) { 3329 if (object1) {
3319 const WebCore::RenderObject* root = object1; 3330 const WebCore::RenderObject* root = object1;
3320 while (root->parent()) 3331 while (root->parent())
3321 root = root->parent(); 3332 root = root->parent();
3322 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3333 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3323 } 3334 }
3324 } 3335 }
3325 3336
3326 #endif 3337 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698