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

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

Issue 1407543003: Preliminary paint property walk implementation for SPv2 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert forAllFrameViews change in FrameView.cpp. I don't know what I was thinking. Created 5 years, 2 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
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, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All r ights 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 #include "platform/transforms/TransformationMatrix.h" 53 #include "platform/transforms/TransformationMatrix.h"
54 54
55 namespace blink { 55 namespace blink {
56 56
57 class AffineTransform; 57 class AffineTransform;
58 class Cursor; 58 class Cursor;
59 class Document; 59 class Document;
60 class HitTestLocation; 60 class HitTestLocation;
61 class HitTestResult; 61 class HitTestResult;
62 class InlineBox; 62 class InlineBox;
63 class PseudoStyleRequest;
64 class LayoutBoxModelObject; 63 class LayoutBoxModelObject;
65 class LayoutBlock; 64 class LayoutBlock;
66 class LayoutFlowThread; 65 class LayoutFlowThread;
67 class LayoutGeometryMap; 66 class LayoutGeometryMap;
68 class PaintLayer;
69 class LayoutMultiColumnSpannerPlaceholder; 67 class LayoutMultiColumnSpannerPlaceholder;
70 class LayoutView; 68 class LayoutView;
69 class ObjectPaintProperties;
70 class PaintLayer;
71 class PseudoStyleRequest;
71 class TransformState; 72 class TransformState;
72 73
73 struct PaintInfo; 74 struct PaintInfo;
74 75
75 enum CursorDirective { 76 enum CursorDirective {
76 SetCursorBasedOnStyle, 77 SetCursorBasedOnStyle,
77 SetCursor, 78 SetCursor,
78 DoNotSetCursor 79 DoNotSetCursor
79 }; 80 };
80 81
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 // TODO(jchaffraix): |newChild| cannot be nullptr and should be a reference. 347 // TODO(jchaffraix): |newChild| cannot be nullptr and should be a reference.
347 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nu llptr); 348 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nu llptr);
348 virtual void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObje ct* beforeChild = nullptr) { return addChild(newChild, beforeChild); } 349 virtual void addChildIgnoringContinuation(LayoutObject* newChild, LayoutObje ct* beforeChild = nullptr) { return addChild(newChild, beforeChild); }
349 virtual void removeChild(LayoutObject*); 350 virtual void removeChild(LayoutObject*);
350 virtual bool createsAnonymousWrapper() const { return false; } 351 virtual bool createsAnonymousWrapper() const { return false; }
351 ////////////////////////////////////////// 352 //////////////////////////////////////////
352 353
353 // Sets the parent of this object but doesn't add it as a child of the paren t. 354 // Sets the parent of this object but doesn't add it as a child of the paren t.
354 void setDangerousOneWayParent(LayoutObject*); 355 void setDangerousOneWayParent(LayoutObject*);
355 356
357 // For SPv2 only. The ObjectPaintProperties structure holds references to th e
358 // property tree nodes that are created by the layout object for painting.
359 // The property nodes are only updated during InUpdatePaintProperties phase
360 // of the document lifecycle and shall remain immutable during other phases.
361 ObjectPaintProperties* objectPaintProperties() const;
362 ObjectPaintProperties& ensureObjectPaintProperties();
363 void clearObjectPaintProperties();
364
356 private: 365 private:
357 ////////////////////////////////////////// 366 //////////////////////////////////////////
358 // Helper functions. Dangerous to use! 367 // Helper functions. Dangerous to use!
359 void setPreviousSibling(LayoutObject* previous) { m_previous = previous; } 368 void setPreviousSibling(LayoutObject* previous) { m_previous = previous; }
360 void setNextSibling(LayoutObject* next) { m_next = next; } 369 void setNextSibling(LayoutObject* next) { m_next = next; }
361 void setParent(LayoutObject* parent) 370 void setParent(LayoutObject* parent)
362 { 371 {
363 m_parent = parent; 372 m_parent = parent;
364 373
365 // Only update if our flow thread state is different from our new parent and if we're not a LayoutFlowThread. 374 // Only update if our flow thread state is different from our new parent and if we're not a LayoutFlowThread.
(...skipping 1635 matching lines...) Expand 10 before | Expand all | Expand 10 after
2001 void showTree(const blink::LayoutObject*); 2010 void showTree(const blink::LayoutObject*);
2002 void showLineTree(const blink::LayoutObject*); 2011 void showLineTree(const blink::LayoutObject*);
2003 void showLayoutTree(const blink::LayoutObject* object1); 2012 void showLayoutTree(const blink::LayoutObject* object1);
2004 // We don't make object2 an optional parameter so that showLayoutTree 2013 // We don't make object2 an optional parameter so that showLayoutTree
2005 // can be called from gdb easily. 2014 // can be called from gdb easily.
2006 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2); 2015 void showLayoutTree(const blink::LayoutObject* object1, const blink::LayoutObjec t* object2);
2007 2016
2008 #endif 2017 #endif
2009 2018
2010 #endif // LayoutObject_h 2019 #endif // LayoutObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameView.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698