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

Side by Side Diff: Source/core/layout/LayoutFrameSet.h

Issue 1318713003: Make classes and structures in core/layout fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
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
« no previous file with comments | « Source/core/layout/LayoutBox.h ('k') | Source/core/layout/LayoutGeometryMap.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Simon Hausmann <hausmann@kde.org> 3 * (C) 2000 Simon Hausmann <hausmann@kde.org>
4 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved. 4 * Copyright (C) 2006, 2008 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 16 matching lines...) Expand all
27 27
28 namespace blink { 28 namespace blink {
29 29
30 class HTMLDimension; 30 class HTMLDimension;
31 class HTMLFrameSetElement; 31 class HTMLFrameSetElement;
32 class MouseEvent; 32 class MouseEvent;
33 33
34 enum FrameEdge { LeftFrameEdge, RightFrameEdge, TopFrameEdge, BottomFrameEdge }; 34 enum FrameEdge { LeftFrameEdge, RightFrameEdge, TopFrameEdge, BottomFrameEdge };
35 35
36 struct FrameEdgeInfo { 36 struct FrameEdgeInfo {
37 STACK_ALLOCATED();
37 FrameEdgeInfo(bool preventResize = false, bool allowBorder = true) 38 FrameEdgeInfo(bool preventResize = false, bool allowBorder = true)
38 : m_preventResize(4) 39 : m_preventResize(4)
39 , m_allowBorder(4) 40 , m_allowBorder(4)
40 { 41 {
41 m_preventResize.fill(preventResize); 42 m_preventResize.fill(preventResize);
42 m_allowBorder.fill(allowBorder); 43 m_allowBorder.fill(allowBorder);
43 } 44 }
44 45
45 bool preventResize(FrameEdge edge) const { return m_preventResize[edge]; } 46 bool preventResize(FrameEdge edge) const { return m_preventResize[edge]; }
46 bool allowBorder(FrameEdge edge) const { return m_allowBorder[edge]; } 47 bool allowBorder(FrameEdge edge) const { return m_allowBorder[edge]; }
(...skipping 25 matching lines...) Expand all
72 73
73 bool userResize(MouseEvent*); 74 bool userResize(MouseEvent*);
74 75
75 bool canResizeRow(const IntPoint&) const; 76 bool canResizeRow(const IntPoint&) const;
76 bool canResizeColumn(const IntPoint&) const; 77 bool canResizeColumn(const IntPoint&) const;
77 78
78 void notifyFrameEdgeInfoChanged(); 79 void notifyFrameEdgeInfoChanged();
79 HTMLFrameSetElement* frameSet() const; 80 HTMLFrameSetElement* frameSet() const;
80 81
81 class GridAxis { 82 class GridAxis {
83 DISALLOW_ALLOCATION();
82 WTF_MAKE_NONCOPYABLE(GridAxis); 84 WTF_MAKE_NONCOPYABLE(GridAxis);
83 public: 85 public:
84 GridAxis(); 86 GridAxis();
85 void resize(int); 87 void resize(int);
86 88
87 Vector<int> m_sizes; 89 Vector<int> m_sizes;
88 Vector<int> m_deltas; 90 Vector<int> m_deltas;
89 Vector<bool> m_preventResize; 91 Vector<bool> m_preventResize;
90 Vector<bool> m_allowBorder; 92 Vector<bool> m_allowBorder;
91 int m_splitBeingResized; 93 int m_splitBeingResized;
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 133
132 bool m_isResizing; 134 bool m_isResizing;
133 bool m_isChildResizing; 135 bool m_isChildResizing;
134 }; 136 };
135 137
136 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFrameSet, isFrameSet()); 138 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFrameSet, isFrameSet());
137 139
138 } // namespace blink 140 } // namespace blink
139 141
140 #endif // LayoutFrameSet_h 142 #endif // LayoutFrameSet_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBox.h ('k') | Source/core/layout/LayoutGeometryMap.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698