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

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

Issue 2766943002: Do-not-commit: Count layout tree memory usage
Patch Set: Rebase, add object paint property counter Created 3 years, 8 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) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 LayoutObject* endChild, 522 LayoutObject* endChild,
523 bool fullRemoveInsert = false) { 523 bool fullRemoveInsert = false) {
524 moveChildrenTo(toBoxModelObject, startChild, endChild, 0, fullRemoveInsert); 524 moveChildrenTo(toBoxModelObject, startChild, endChild, 0, fullRemoveInsert);
525 } 525 }
526 virtual void moveChildrenTo(LayoutBoxModelObject* toBoxModelObject, 526 virtual void moveChildrenTo(LayoutBoxModelObject* toBoxModelObject,
527 LayoutObject* startChild, 527 LayoutObject* startChild,
528 LayoutObject* endChild, 528 LayoutObject* endChild,
529 LayoutObject* beforeChild, 529 LayoutObject* beforeChild,
530 bool fullRemoveInsert = false); 530 bool fullRemoveInsert = false);
531 531
532 char objectSize() const override { return sizeof(this); }
533 char approximateHeapMemoryUsage() const override;
534
532 private: 535 private:
533 void createLayer(); 536 void createLayer();
534 537
535 LayoutUnit computedCSSPadding(const Length&) const; 538 LayoutUnit computedCSSPadding(const Length&) const;
536 bool isBoxModelObject() const final { return true; } 539 bool isBoxModelObject() const final { return true; }
537 540
538 LayoutBoxModelObjectRareData& ensureRareData() { 541 LayoutBoxModelObjectRareData& ensureRareData() {
539 if (!m_rareData) 542 if (!m_rareData)
540 m_rareData = WTF::makeUnique<LayoutBoxModelObjectRareData>(); 543 m_rareData = WTF::makeUnique<LayoutBoxModelObjectRareData>();
541 return *m_rareData.get(); 544 return *m_rareData.get();
542 } 545 }
543 546
544 // The PaintLayer associated with this object. |m_layer| can be nullptr 547 // The PaintLayer associated with this object. |m_layer| can be nullptr
545 // depending on the return value of layerTypeRequired(). 548 // depending on the return value of layerTypeRequired().
546 std::unique_ptr<PaintLayer> m_layer; 549 std::unique_ptr<PaintLayer> m_layer;
547 550
548 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData; 551 std::unique_ptr<LayoutBoxModelObjectRareData> m_rareData;
549 }; 552 };
550 553
551 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject()); 554 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBoxModelObject, isBoxModelObject());
552 555
553 } // namespace blink 556 } // namespace blink
554 557
555 #endif // LayoutBoxModelObject_h 558 #endif // LayoutBoxModelObject_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutBox.h ('k') | third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698