| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2006 Apple Computer, Inc. | 3 * Copyright (C) 2006 Apple Computer, Inc. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 void willBeDestroyed() override; | 48 void willBeDestroyed() override; |
| 49 | 49 |
| 50 bool hitTest(const HitTestRequest&, HitTestResult&); | 50 bool hitTest(const HitTestRequest&, HitTestResult&); |
| 51 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); | 51 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); |
| 52 | 52 |
| 53 // Returns the total count of calls to HitTest, for testing. | 53 // Returns the total count of calls to HitTest, for testing. |
| 54 unsigned hitTestCount() const { return m_hitTestCount; } | 54 unsigned hitTestCount() const { return m_hitTestCount; } |
| 55 | 55 |
| 56 virtual const char* renderName() const override { return "RenderView"; } | 56 virtual const char* renderName() const override { return "RenderView"; } |
| 57 | 57 |
| 58 virtual bool isOfType(RenderObjectType type) const override { return type ==
RenderObjectRenderView || RenderBlockFlow::isOfType(type); } | 58 virtual bool isOfType(LayoutObjectType type) const override { return type ==
LayoutObjectRenderView || RenderBlockFlow::isOfType(type); } |
| 59 | 59 |
| 60 virtual LayerType layerTypeRequired() const override { return NormalLayer; } | 60 virtual LayerType layerTypeRequired() const override { return NormalLayer; } |
| 61 | 61 |
| 62 virtual bool isChildAllowed(RenderObject*, const RenderStyle&) const overrid
e; | 62 virtual bool isChildAllowed(LayoutObject*, const RenderStyle&) const overrid
e; |
| 63 | 63 |
| 64 virtual void layout() override; | 64 virtual void layout() override; |
| 65 virtual void updateLogicalWidth() override; | 65 virtual void updateLogicalWidth() override; |
| 66 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const override; | 66 virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logic
alTop, LogicalExtentComputedValues&) const override; |
| 67 | 67 |
| 68 virtual LayoutUnit availableLogicalHeight(AvailableLogicalHeightType) const
override; | 68 virtual LayoutUnit availableLogicalHeight(AvailableLogicalHeightType) const
override; |
| 69 | 69 |
| 70 // The same as the FrameView's layoutHeight/layoutWidth but with null check
guards. | 70 // The same as the FrameView's layoutHeight/layoutWidth but with null check
guards. |
| 71 int viewHeight(IncludeScrollbarsInRect = ExcludeScrollbars) const; | 71 int viewHeight(IncludeScrollbarsInRect = ExcludeScrollbars) const; |
| 72 int viewWidth(IncludeScrollbarsInRect = ExcludeScrollbars) const; | 72 int viewWidth(IncludeScrollbarsInRect = ExcludeScrollbars) const; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 92 void adjustViewportConstrainedOffset(LayoutRect&, ViewportConstrainedPositio
n) const; | 92 void adjustViewportConstrainedOffset(LayoutRect&, ViewportConstrainedPositio
n) const; |
| 93 | 93 |
| 94 void invalidatePaintForRectangle(const LayoutRect&, PaintInvalidationReason)
const; | 94 void invalidatePaintForRectangle(const LayoutRect&, PaintInvalidationReason)
const; |
| 95 | 95 |
| 96 void invalidatePaintForViewAndCompositedLayers(); | 96 void invalidatePaintForViewAndCompositedLayers(); |
| 97 | 97 |
| 98 virtual void paint(const PaintInfo&, const LayoutPoint&) override; | 98 virtual void paint(const PaintInfo&, const LayoutPoint&) override; |
| 99 virtual void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoin
t&) override; | 99 virtual void paintBoxDecorationBackground(const PaintInfo&, const LayoutPoin
t&) override; |
| 100 | 100 |
| 101 enum SelectionPaintInvalidationMode { PaintInvalidationNewXOROld, PaintInval
idationNewMinusOld }; | 101 enum SelectionPaintInvalidationMode { PaintInvalidationNewXOROld, PaintInval
idationNewMinusOld }; |
| 102 void setSelection(RenderObject* start, int startPos, RenderObject*, int endP
os, SelectionPaintInvalidationMode = PaintInvalidationNewXOROld); | 102 void setSelection(LayoutObject* start, int startPos, LayoutObject*, int endP
os, SelectionPaintInvalidationMode = PaintInvalidationNewXOROld); |
| 103 void clearSelection(); | 103 void clearSelection(); |
| 104 void setSelection(const FrameSelection&); | 104 void setSelection(const FrameSelection&); |
| 105 bool hasPendingSelection() const { return m_pendingSelection.m_hasPendingSel
ection; } | 105 bool hasPendingSelection() const { return m_pendingSelection.m_hasPendingSel
ection; } |
| 106 void commitPendingSelection(); | 106 void commitPendingSelection(); |
| 107 RenderObject* selectionStart(); | 107 LayoutObject* selectionStart(); |
| 108 RenderObject* selectionEnd(); | 108 LayoutObject* selectionEnd(); |
| 109 IntRect selectionBounds(); | 109 IntRect selectionBounds(); |
| 110 void selectionStartEnd(int& startPos, int& endPos); | 110 void selectionStartEnd(int& startPos, int& endPos); |
| 111 void invalidatePaintForSelection(); | 111 void invalidatePaintForSelection(); |
| 112 | 112 |
| 113 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO
ffset) const override; | 113 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO
ffset) const override; |
| 114 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid
e; | 114 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid
e; |
| 115 | 115 |
| 116 virtual LayoutRect viewRect() const override; | 116 virtual LayoutRect viewRect() const override; |
| 117 | 117 |
| 118 bool shouldDoFullPaintInvalidationForNextLayout() const; | 118 bool shouldDoFullPaintInvalidationForNextLayout() const; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 163 |
| 164 double layoutViewportWidth() const; | 164 double layoutViewportWidth() const; |
| 165 double layoutViewportHeight() const; | 165 double layoutViewportHeight() const; |
| 166 | 166 |
| 167 void pushLayoutState(LayoutState& layoutState) { m_layoutState = &layoutStat
e; } | 167 void pushLayoutState(LayoutState& layoutState) { m_layoutState = &layoutStat
e; } |
| 168 void popLayoutState() { ASSERT(m_layoutState); m_layoutState = m_layoutState
->next(); } | 168 void popLayoutState() { ASSERT(m_layoutState); m_layoutState = m_layoutState
->next(); } |
| 169 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&) override
final; | 169 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&) override
final; |
| 170 | 170 |
| 171 private: | 171 private: |
| 172 virtual void mapLocalToContainer(const LayoutLayerModelObject* paintInvalida
tionContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool*
wasFixed = 0, const PaintInvalidationState* = 0) const override; | 172 virtual void mapLocalToContainer(const LayoutLayerModelObject* paintInvalida
tionContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool*
wasFixed = 0, const PaintInvalidationState* = 0) const override; |
| 173 virtual const RenderObject* pushMappingToContainer(const LayoutLayerModelObj
ect* ancestorToStopAt, RenderGeometryMap&) const override; | 173 virtual const LayoutObject* pushMappingToContainer(const LayoutLayerModelObj
ect* ancestorToStopAt, RenderGeometryMap&) const override; |
| 174 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c
onst override; | 174 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c
onst override; |
| 175 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const override; | 175 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint&
layerOffset) const override; |
| 176 | 176 |
| 177 void layoutContent(); | 177 void layoutContent(); |
| 178 #if ENABLE(ASSERT) | 178 #if ENABLE(ASSERT) |
| 179 void checkLayoutState(); | 179 void checkLayoutState(); |
| 180 #endif | 180 #endif |
| 181 | 181 |
| 182 friend class ForceHorriblySlowRectMapping; | 182 friend class ForceHorriblySlowRectMapping; |
| 183 | 183 |
| 184 bool shouldUsePrintingLayout() const; | 184 bool shouldUsePrintingLayout() const; |
| 185 | 185 |
| 186 RenderObject* backgroundRenderer() const; | 186 LayoutObject* backgroundRenderer() const; |
| 187 | 187 |
| 188 virtual void invalidateDisplayItemClients(DisplayItemList*) const override; | 188 virtual void invalidateDisplayItemClients(DisplayItemList*) const override; |
| 189 | 189 |
| 190 FrameView* m_frameView; | 190 FrameView* m_frameView; |
| 191 | 191 |
| 192 RenderObject* m_selectionStart; | 192 LayoutObject* m_selectionStart; |
| 193 RenderObject* m_selectionEnd; | 193 LayoutObject* m_selectionEnd; |
| 194 | 194 |
| 195 int m_selectionStartPos; | 195 int m_selectionStartPos; |
| 196 int m_selectionEndPos; | 196 int m_selectionEndPos; |
| 197 | 197 |
| 198 LayoutUnit m_pageLogicalHeight; | 198 LayoutUnit m_pageLogicalHeight; |
| 199 bool m_pageLogicalHeightChanged; | 199 bool m_pageLogicalHeightChanged; |
| 200 LayoutState* m_layoutState; | 200 LayoutState* m_layoutState; |
| 201 OwnPtr<LayerCompositor> m_compositor; | 201 OwnPtr<LayerCompositor> m_compositor; |
| 202 RefPtr<IntervalArena> m_intervalArena; | 202 RefPtr<IntervalArena> m_intervalArena; |
| 203 | 203 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 222 | 222 |
| 223 Position m_start; | 223 Position m_start; |
| 224 Position m_end; | 224 Position m_end; |
| 225 Position m_extent; | 225 Position m_extent; |
| 226 EAffinity m_affinity; | 226 EAffinity m_affinity; |
| 227 bool m_hasPendingSelection : 1; | 227 bool m_hasPendingSelection : 1; |
| 228 bool m_shouldShowBlockCursor : 1; | 228 bool m_shouldShowBlockCursor : 1; |
| 229 } m_pendingSelection; | 229 } m_pendingSelection; |
| 230 }; | 230 }; |
| 231 | 231 |
| 232 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderView, isRenderView()); | 232 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(RenderView, isRenderView()); |
| 233 | 233 |
| 234 // Suspends the LayoutState cached offset and clipRect optimization. Used under
transforms | 234 // Suspends the LayoutState cached offset and clipRect optimization. Used under
transforms |
| 235 // that cannot be represented by LayoutState (common in SVG) and when manipulati
ng the render | 235 // that cannot be represented by LayoutState (common in SVG) and when manipulati
ng the render |
| 236 // tree during layout in ways that can trigger paint invalidation of a non-child
(e.g. when a list item | 236 // tree during layout in ways that can trigger paint invalidation of a non-child
(e.g. when a list item |
| 237 // moves its list marker around). Note that even when disabled, LayoutState is s
till used to | 237 // moves its list marker around). Note that even when disabled, LayoutState is s
till used to |
| 238 // store layoutDelta. | 238 // store layoutDelta. |
| 239 class ForceHorriblySlowRectMapping { | 239 class ForceHorriblySlowRectMapping { |
| 240 WTF_MAKE_NONCOPYABLE(ForceHorriblySlowRectMapping); | 240 WTF_MAKE_NONCOPYABLE(ForceHorriblySlowRectMapping); |
| 241 public: | 241 public: |
| 242 ForceHorriblySlowRectMapping(const PaintInvalidationState* paintInvalidation
State) | 242 ForceHorriblySlowRectMapping(const PaintInvalidationState* paintInvalidation
State) |
| (...skipping 10 matching lines...) Expand all Loading... |
| 253 m_paintInvalidationState->m_cachedOffsetsEnabled = true; | 253 m_paintInvalidationState->m_cachedOffsetsEnabled = true; |
| 254 } | 254 } |
| 255 private: | 255 private: |
| 256 const PaintInvalidationState* m_paintInvalidationState; | 256 const PaintInvalidationState* m_paintInvalidationState; |
| 257 bool m_didDisable; | 257 bool m_didDisable; |
| 258 }; | 258 }; |
| 259 | 259 |
| 260 } // namespace blink | 260 } // namespace blink |
| 261 | 261 |
| 262 #endif // RenderView_h | 262 #endif // RenderView_h |
| OLD | NEW |