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

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

Issue 1426673005: Introduce LayoutBox::paginationBreakability(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 672 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 bool hasScrollableOverflowX() const { return scrollsOverflowX() && pixelSnap pedScrollWidth() != pixelSnappedClientWidth(); } 683 bool hasScrollableOverflowX() const { return scrollsOverflowX() && pixelSnap pedScrollWidth() != pixelSnappedClientWidth(); }
684 bool hasScrollableOverflowY() const { return scrollsOverflowY() && pixelSnap pedScrollHeight() != pixelSnappedClientHeight(); } 684 bool hasScrollableOverflowY() const { return scrollsOverflowY() && pixelSnap pedScrollHeight() != pixelSnappedClientHeight(); }
685 virtual bool scrollsOverflowX() const { return hasOverflowClip() && (style() ->overflowX() == OSCROLL || hasAutoHorizontalScrollbar()); } 685 virtual bool scrollsOverflowX() const { return hasOverflowClip() && (style() ->overflowX() == OSCROLL || hasAutoHorizontalScrollbar()); }
686 virtual bool scrollsOverflowY() const { return hasOverflowClip() && (style() ->overflowY() == OSCROLL || hasAutoVerticalScrollbar()); } 686 virtual bool scrollsOverflowY() const { return hasOverflowClip() && (style() ->overflowY() == OSCROLL || hasAutoVerticalScrollbar()); }
687 687
688 // Elements such as the <input> field override this to specify that they are scrollable 688 // Elements such as the <input> field override this to specify that they are scrollable
689 // outside the context of the CSS overflow style 689 // outside the context of the CSS overflow style
690 virtual bool isIntrinsicallyScrollable(ScrollbarOrientation orientation) con st { return false; } 690 virtual bool isIntrinsicallyScrollable(ScrollbarOrientation orientation) con st { return false; }
691 691
692 bool hasUnsplittableScrollingOverflow() const; 692 bool hasUnsplittableScrollingOverflow() const;
693 bool isUnsplittableForPagination() const; 693
694 // Page / column breakability inside block-level objects.
695 enum PaginationBreakability {
696 AllowAnyBreaks, // No restrictions on breaking. May examine children to find possible break points.
697 ForbidBreaks, // Forbid breaks inside this object. Content cannot be spl it nicely into smaller pieces.
698 AvoidBreaks // Preferably avoid breaks. If not possible, examine childre n to find possible break points.
699 };
700 PaginationBreakability paginationBreakability() const;
694 701
695 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt hToEndOfLine = nullptr) override; 702 LayoutRect localCaretRect(InlineBox*, int caretOffset, LayoutUnit* extraWidt hToEndOfLine = nullptr) override;
696 703
697 virtual LayoutRect overflowClipRect(const LayoutPoint& location, OverlayScro llbarSizeRelevancy = IgnoreOverlayScrollbarSize) const; 704 virtual LayoutRect overflowClipRect(const LayoutPoint& location, OverlayScro llbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
698 LayoutRect clipRect(const LayoutPoint& location) const; 705 LayoutRect clipRect(const LayoutPoint& location) const;
699 virtual bool hasControlClip() const { return false; } 706 virtual bool hasControlClip() const { return false; }
700 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout Rect(); } 707 virtual LayoutRect controlClipRect(const LayoutPoint&) const { return Layout Rect(); }
701 708
702 virtual void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoin t&) const; 709 virtual void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoin t&) const;
703 virtual void paintMask(const PaintInfo&, const LayoutPoint&) const; 710 virtual void paintMask(const PaintInfo&, const LayoutPoint&) const;
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 if (UNLIKELY(inlineBoxWrapper() != nullptr)) 1062 if (UNLIKELY(inlineBoxWrapper() != nullptr))
1056 deleteLineBoxWrapper(); 1063 deleteLineBoxWrapper();
1057 } 1064 }
1058 1065
1059 ensureRareData().m_inlineBoxWrapper = boxWrapper; 1066 ensureRareData().m_inlineBoxWrapper = boxWrapper;
1060 } 1067 }
1061 1068
1062 } // namespace blink 1069 } // namespace blink
1063 1070
1064 #endif // LayoutBox_h 1071 #endif // LayoutBox_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698