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

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, 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) 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 2466 matching lines...) Expand 10 before | Expand all | Expand 10 after
2477 // https://bugs.webkit.org/show_bug.cgi?id=46781 2477 // https://bugs.webkit.org/show_bug.cgi?id=46781
2478 LayoutRect localRect(LayoutPoint(), size()); 2478 LayoutRect localRect(LayoutPoint(), size());
2479 localRect.expand(collapsedMarginBoxLogicalOutsets()); 2479 localRect.expand(collapsedMarginBoxLogicalOutsets());
2480 quads.append(localToAbsoluteQuad(FloatRect(localRect), 0 /* mode */, was Fixed)); 2480 quads.append(localToAbsoluteQuad(FloatRect(localRect), 0 /* mode */, was Fixed));
2481 continuation()->absoluteQuads(quads, wasFixed); 2481 continuation()->absoluteQuads(quads, wasFixed);
2482 } else { 2482 } else {
2483 quads.append(LayoutBox::localToAbsoluteQuad(FloatRect(0, 0, size().width ().toFloat(), size().height().toFloat()), 0 /* mode */, wasFixed)); 2483 quads.append(LayoutBox::localToAbsoluteQuad(FloatRect(0, 0, size().width ().toFloat(), size().height().toFloat()), 0 /* mode */, wasFixed));
2484 } 2484 }
2485 } 2485 }
2486 2486
2487 LayoutRect LayoutBlock::rectWithOutlineForPaintInvalidation(const LayoutBoxModel Object* paintInvalidationContainer, LayoutUnit outlineWidth, const PaintInvalida tionState* paintInvalidationState) const
2488 {
2489 LayoutRect r(LayoutBox::rectWithOutlineForPaintInvalidation(paintInvalidatio nContainer, outlineWidth, paintInvalidationState));
2490 if (isAnonymousBlockContinuation())
2491 r.inflateY(collapsedMarginBefore()); // FIXME: This is wrong for vertica l writing-modes.
2492 return r;
2493 }
2494
2495 LayoutObject* LayoutBlock::hoverAncestor() const 2487 LayoutObject* LayoutBlock::hoverAncestor() const
2496 { 2488 {
2497 return isAnonymousBlockContinuation() ? continuation() : LayoutBox::hoverAnc estor(); 2489 return isAnonymousBlockContinuation() ? continuation() : LayoutBox::hoverAnc estor();
2498 } 2490 }
2499 2491
2500 void LayoutBlock::updateDragState(bool dragOn) 2492 void LayoutBlock::updateDragState(bool dragOn)
2501 { 2493 {
2502 LayoutBox::updateDragState(dragOn); 2494 LayoutBox::updateDragState(dragOn);
2503 if (LayoutBoxModelObject* continuation = this->continuation()) 2495 if (LayoutBoxModelObject* continuation = this->continuation())
2504 continuation->updateDragState(dragOn); 2496 continuation->updateDragState(dragOn);
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
2904 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout Object* obj) const 2896 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout Object* obj) const
2905 { 2897 {
2906 showLayoutObject(); 2898 showLayoutObject();
2907 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 2899 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
2908 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 2900 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
2909 } 2901 }
2910 2902
2911 #endif 2903 #endif
2912 2904
2913 } // namespace blink 2905 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698