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

Side by Side Diff: Source/core/rendering/RenderView.h

Issue 43873004: Relayout RenderObjects with viewport-percentage CSS properties when viewport size changes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 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 | 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 * 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 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 207
208 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE; 208 virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) OVERRIDE;
209 209
210 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const OVERRIDE FINAL; 210 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localRect) const OVERRIDE FINAL;
211 211
212 LayoutUnit viewportPercentageWidth(float percentage) const; 212 LayoutUnit viewportPercentageWidth(float percentage) const;
213 LayoutUnit viewportPercentageHeight(float percentage) const; 213 LayoutUnit viewportPercentageHeight(float percentage) const;
214 LayoutUnit viewportPercentageMin(float percentage) const; 214 LayoutUnit viewportPercentageMin(float percentage) const;
215 LayoutUnit viewportPercentageMax(float percentage) const; 215 LayoutUnit viewportPercentageMax(float percentage) const;
216 216
217 void addViewportPercentageStyleObject(RenderObject*);
218 void removeViewportPercentageStyleObject(RenderObject*);
219
217 private: 220 private:
218 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE; 221 virtual void mapLocalToContainer(const RenderLayerModelObject* repaintContai ner, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = 0) const OVERRIDE;
219 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE; 222 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj ect* ancestorToStopAt, RenderGeometryMap&) const OVERRIDE;
220 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst; 223 virtual void mapAbsoluteToLocalPoint(MapCoordinatesFlags, TransformState&) c onst;
221 virtual bool requiresColumns(int desiredColumnCount) const OVERRIDE; 224 virtual bool requiresColumns(int desiredColumnCount) const OVERRIDE;
222 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const OVERRIDE; 225 virtual void computeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layerOffset) const OVERRIDE;
223 226
224 bool initializeLayoutState(LayoutState&); 227 bool initializeLayoutState(LayoutState&);
225 228
226 virtual void calcColumnWidth() OVERRIDE; 229 virtual void calcColumnWidth() OVERRIDE;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 301
299 LayoutUnit m_pageLogicalHeight; 302 LayoutUnit m_pageLogicalHeight;
300 bool m_pageLogicalHeightChanged; 303 bool m_pageLogicalHeightChanged;
301 LayoutState* m_layoutState; 304 LayoutState* m_layoutState;
302 unsigned m_layoutStateDisableCount; 305 unsigned m_layoutStateDisableCount;
303 OwnPtr<RenderLayerCompositor> m_compositor; 306 OwnPtr<RenderLayerCompositor> m_compositor;
304 OwnPtr<CustomFilterGlobalContext> m_customFilterGlobalContext; 307 OwnPtr<CustomFilterGlobalContext> m_customFilterGlobalContext;
305 OwnPtr<FlowThreadController> m_flowThreadController; 308 OwnPtr<FlowThreadController> m_flowThreadController;
306 RefPtr<IntervalArena> m_intervalArena; 309 RefPtr<IntervalArena> m_intervalArena;
307 310
311 typedef HashSet<RenderObject*> ViewportPercentageStyleObjectSet;
312 OwnPtr<ViewportPercentageStyleObjectSet> m_viewportPercentageStyleObjects;
313
308 RenderQuote* m_renderQuoteHead; 314 RenderQuote* m_renderQuoteHead;
309 unsigned m_renderCounterCount; 315 unsigned m_renderCounterCount;
310 }; 316 };
311 317
312 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderView, isRenderView()); 318 DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderView, isRenderView());
313 319
314 // Stack-based class to assist with LayoutState push/pop 320 // Stack-based class to assist with LayoutState push/pop
315 class LayoutStateMaintainer { 321 class LayoutStateMaintainer {
316 WTF_MAKE_NONCOPYABLE(LayoutStateMaintainer); 322 WTF_MAKE_NONCOPYABLE(LayoutStateMaintainer);
317 public: 323 public:
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 RenderObject::FlowThreadState m_flowThreadState; 410 RenderObject::FlowThreadState m_flowThreadState;
405 bool m_fragmenting; 411 bool m_fragmenting;
406 #ifndef NDEBUG 412 #ifndef NDEBUG
407 LayoutState* m_layoutState; 413 LayoutState* m_layoutState;
408 #endif 414 #endif
409 }; 415 };
410 416
411 } // namespace WebCore 417 } // namespace WebCore
412 418
413 #endif // RenderView_h 419 #endif // RenderView_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698