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

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

Issue 171843005: Avoid repainting non needs-self-layout container (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com)
6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
7 * Copyright (C) 2009 Google Inc. All rights reserved. 7 * Copyright (C) 2009 Google Inc. 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 12 matching lines...) Expand all
23 * 23 *
24 */ 24 */
25 25
26 #ifndef LayoutRepainter_h 26 #ifndef LayoutRepainter_h
27 #define LayoutRepainter_h 27 #define LayoutRepainter_h
28 28
29 #include "platform/geometry/LayoutRect.h" 29 #include "platform/geometry/LayoutRect.h"
30 30
31 namespace WebCore { 31 namespace WebCore {
32 32
33 class RenderBox;
33 class RenderLayerModelObject; 34 class RenderLayerModelObject;
34 class RenderObject; 35 class RenderObject;
35 36
36 class LayoutRepainter { 37 class LayoutRepainter {
37 public: 38 public:
38 LayoutRepainter(RenderObject&, bool checkForRepaint); 39 LayoutRepainter(RenderObject&, bool checkForRepaint);
39 40
40 bool checkForRepaint() const { return m_checkForRepaint; } 41 bool checkForRepaint() const { return m_checkForRepaint; }
41 42
42 // Return true if it repainted. 43 // Return true if it repainted.
43 bool repaintAfterLayout(); 44 bool repaintAfterLayout();
44 45
45 private: 46 private:
47 bool canSkipRepaint() const;
48
46 RenderObject& m_object; 49 RenderObject& m_object;
47 RenderLayerModelObject* m_repaintContainer; 50 RenderLayerModelObject* m_repaintContainer;
48 // We store these values as LayoutRects, but the final invalidations will be pixel snapped 51 // We store these values as LayoutRects, but the final invalidations will be pixel snapped
49 LayoutRect m_oldBounds; 52 LayoutRect m_oldBounds;
50 LayoutRect m_oldOutlineBox; 53 LayoutRect m_oldOutlineBox;
51 bool m_checkForRepaint; 54 bool m_checkForRepaint;
55
56 LayoutUnit m_logicalWidth;
57 LayoutUnit m_logicalHeight;
58 bool m_selfNeededLayout;
52 }; 59 };
53 60
54 } // namespace WebCore 61 } // namespace WebCore
55 62
56 #endif // LayoutRepainter_h 63 #endif // LayoutRepainter_h
OLDNEW
« no previous file with comments | « no previous file | Source/core/rendering/LayoutRepainter.cpp » ('j') | Source/core/rendering/LayoutRepainter.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698