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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutBox.cpp

Issue 2144413002: Fix invalidation under scroll, and cull rect testing, of flipped-block writing mode elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: none Created 4 years, 5 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
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) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com)
6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed.
7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 973 matching lines...) Expand 10 before | Expand all | Expand 10 after
984 result.expand(-verticalScrollbarWidth(), 0); 984 result.expand(-verticalScrollbarWidth(), 0);
985 return result; 985 return result;
986 } 986 }
987 987
988 bool LayoutBox::mapScrollingContentsRectToBoxSpace(LayoutRect& rect, ApplyOverfl owClipFlag applyOverflowClip, VisualRectFlags visualRectFlags) const 988 bool LayoutBox::mapScrollingContentsRectToBoxSpace(LayoutRect& rect, ApplyOverfl owClipFlag applyOverflowClip, VisualRectFlags visualRectFlags) const
989 { 989 {
990 if (!hasOverflowClip()) 990 if (!hasOverflowClip())
991 return true; 991 return true;
992 992
993 LayoutSize offset = LayoutSize(-scrolledContentOffset()); 993 LayoutSize offset = LayoutSize(-scrolledContentOffset());
994 // Flipped-blocks scrolling grows in the opposite direction.
995 if (UNLIKELY(hasFlippedBlocksWritingMode()))
996 offset.setWidth(-offset.width());
994 rect.move(offset); 997 rect.move(offset);
995 998
996 if (applyOverflowClip == ApplyNonScrollOverflowClip && scrollsOverflow()) 999 if (applyOverflowClip == ApplyNonScrollOverflowClip && scrollsOverflow())
997 return true; 1000 return true;
998 1001
999 LayoutRect clipRect = overflowClipRect(LayoutPoint()); 1002 LayoutRect clipRect = overflowClipRect(LayoutPoint());
1000 1003
1001 bool doesIntersect; 1004 bool doesIntersect;
1002 if (visualRectFlags & EdgeInclusive) { 1005 if (visualRectFlags & EdgeInclusive) {
1003 doesIntersect = rect.inclusiveIntersect(clipRect); 1006 doesIntersect = rect.inclusiveIntersect(clipRect);
(...skipping 3922 matching lines...) Expand 10 before | Expand all | Expand 10 after
4926 m_rareData->m_snapAreas->remove(&snapArea); 4929 m_rareData->m_snapAreas->remove(&snapArea);
4927 } 4930 }
4928 } 4931 }
4929 4932
4930 SnapAreaSet* LayoutBox::snapAreas() const 4933 SnapAreaSet* LayoutBox::snapAreas() const
4931 { 4934 {
4932 return m_rareData ? m_rareData->m_snapAreas.get() : nullptr; 4935 return m_rareData ? m_rareData->m_snapAreas.get() : nullptr;
4933 } 4936 }
4934 4937
4935 } // namespace blink 4938 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698