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

Side by Side Diff: Source/core/layout/LayoutBlock.cpp

Issue 1278543002: Include the whole outline into visual overflow (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 2480 matching lines...) Expand 10 before | Expand all | Expand 10 after
2491 // https://bugs.webkit.org/show_bug.cgi?id=46781 2491 // https://bugs.webkit.org/show_bug.cgi?id=46781
2492 LayoutRect localRect(LayoutPoint(), size()); 2492 LayoutRect localRect(LayoutPoint(), size());
2493 localRect.expand(collapsedMarginBoxLogicalOutsets()); 2493 localRect.expand(collapsedMarginBoxLogicalOutsets());
2494 quads.append(localToAbsoluteQuad(FloatRect(localRect), 0 /* mode */, was Fixed)); 2494 quads.append(localToAbsoluteQuad(FloatRect(localRect), 0 /* mode */, was Fixed));
2495 continuation()->absoluteQuads(quads, wasFixed); 2495 continuation()->absoluteQuads(quads, wasFixed);
2496 } else { 2496 } else {
2497 quads.append(LayoutBox::localToAbsoluteQuad(FloatRect(0, 0, size().width ().toFloat(), size().height().toFloat()), 0 /* mode */, wasFixed)); 2497 quads.append(LayoutBox::localToAbsoluteQuad(FloatRect(0, 0, size().width ().toFloat(), size().height().toFloat()), 0 /* mode */, wasFixed));
2498 } 2498 }
2499 } 2499 }
2500 2500
2501 LayoutRect LayoutBlock::rectWithOutlineForPaintInvalidation(const LayoutBoxModel Object* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalida tionState* paintInvalidationState) const
2502 {
2503 LayoutRect r(LayoutBox::rectWithOutlineForPaintInvalidation(paintInvalidatio nContainer, outlineWidth, paintInvalidationState));
2504 if (isAnonymousBlockContinuation())
2505 r.inflateY(collapsedMarginBefore()); // FIXME: This is wrong for vertica l writing-modes.
2506 return r;
2507 }
2508
2509 LayoutObject* LayoutBlock::hoverAncestor() const 2501 LayoutObject* LayoutBlock::hoverAncestor() const
2510 { 2502 {
2511 return isAnonymousBlockContinuation() ? continuation() : LayoutBox::hoverAnc estor(); 2503 return isAnonymousBlockContinuation() ? continuation() : LayoutBox::hoverAnc estor();
2512 } 2504 }
2513 2505
2514 void LayoutBlock::updateDragState(bool dragOn) 2506 void LayoutBlock::updateDragState(bool dragOn)
2515 { 2507 {
2516 LayoutBox::updateDragState(dragOn); 2508 LayoutBox::updateDragState(dragOn);
2517 if (LayoutBoxModelObject* continuation = this->continuation()) 2509 if (LayoutBoxModelObject* continuation = this->continuation())
2518 continuation->updateDragState(dragOn); 2510 continuation->updateDragState(dragOn);
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
2925 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout Object* obj) const 2917 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout Object* obj) const
2926 { 2918 {
2927 showLayoutObject(); 2919 showLayoutObject();
2928 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 2920 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
2929 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 2921 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
2930 } 2922 }
2931 2923
2932 #endif 2924 #endif
2933 2925
2934 } // namespace blink 2926 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698