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

Issue 2814603002: Move LayoutObject to satellite NodeLayoutData that hangs from a Node. (Closed)

Created:
3 years, 8 months ago by nainar
Modified:
3 years, 8 months ago
CC:
blink-reviews, blink-reviews-dom_chromium.org, chromium-reviews, dglazkov+blink, eae+blinkwatch, rwlbuis, sof
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Move LayoutObject to satellite NodeLayoutData that hangs from a Node. This patch moves the LayoutObject to be stored on LayoutData which hangs off a Node instead of being stored on the DataUnion (either directly or on a NodeRareData.) This is the first step in adding more Rendering information on a satellite object thereby not increasing the size of a Node but allowing us to store more information nonetheless. BUG=595137 Review-Url: https://codereview.chromium.org/2814603002 Cr-Commit-Position: refs/heads/master@{#464622} Committed: https://chromium.googlesource.com/chromium/src/+/2f631c11f8e8f80c2373a6da4e4c24f7337ea55e

Patch Set 1 #

Total comments: 9

Patch Set 2 : Question #

Total comments: 2

Patch Set 3 : Incorporate esprehn@ feedback #

Total comments: 15

Patch Set 4 : Review's comments #

Total comments: 8

Patch Set 5 : Post lgtm review #

Total comments: 8

Patch Set 6 : esprehn comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+77 lines, -35 lines) Patch
M third_party/WebKit/Source/core/dom/ElementRareData.h View 1 2 2 chunks +5 lines, -7 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Node.h View 1 2 3 4 5 4 chunks +37 lines, -17 lines 0 comments Download
M third_party/WebKit/Source/core/dom/Node.cpp View 1 2 3 4 5 3 chunks +28 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/dom/NodeRareData.h View 1 2 3 4 2 chunks +7 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/core/dom/NodeRareData.cpp View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 37 (23 generated)
nainar
Hi both, Implemented the patch we were talking about. On second thought there is some ...
3 years, 8 months ago (2017-04-10 21:54:32 UTC) #4
esprehn
https://codereview.chromium.org/2814603002/diff/1/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/1/third_party/WebKit/Source/core/dom/Node.cpp#newcode315 third_party/WebKit/Source/core/dom/Node.cpp:315: ElementRareData::Create(data_.layout_data_->GetLayoutObject()); You need to store the layout_data_ inside the ...
3 years, 8 months ago (2017-04-10 22:20:12 UTC) #5
nainar
Just adding a note for IRL conversation https://codereview.chromium.org/2814603002/diff/1/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/1/third_party/WebKit/Source/core/dom/Node.cpp#newcode315 third_party/WebKit/Source/core/dom/Node.cpp:315: ElementRareData::Create(data_.layout_data_->GetLayoutObject()); On ...
3 years, 8 months ago (2017-04-11 01:16:20 UTC) #8
nainar
Posting code here cause I think I misunderstood you. We can't not store the LayoutObject ...
3 years, 8 months ago (2017-04-11 06:03:59 UTC) #9
nainar
Elliott, PTAL? Thanks! https://codereview.chromium.org/2814603002/diff/1/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/1/third_party/WebKit/Source/core/dom/Node.cpp#newcode315 third_party/WebKit/Source/core/dom/Node.cpp:315: ElementRareData::Create(data_.layout_data_->GetLayoutObject()); NodeRareDataBase and its descendants now ...
3 years, 8 months ago (2017-04-13 00:10:22 UTC) #12
nainar
3 years, 8 months ago (2017-04-13 00:24:56 UTC) #13
esprehn
https://codereview.chromium.org/2814603002/diff/40001/third_party/WebKit/Source/core/dom/Node.h File third_party/WebKit/Source/core/dom/Node.h (right): https://codereview.chromium.org/2814603002/diff/40001/third_party/WebKit/Source/core/dom/Node.h#newcode108 third_party/WebKit/Source/core/dom/Node.h:108: layout_object_ = layout_object; DCHECK_NE(&SharedEmptyData(), this); https://codereview.chromium.org/2814603002/diff/40001/third_party/WebKit/Source/core/dom/Node.h#newcode122 third_party/WebKit/Source/core/dom/Node.h:122: return node_layout_data_ ...
3 years, 8 months ago (2017-04-13 00:30:47 UTC) #14
nainar
Elliott, Made the changes you asked for, PTAL? Thanks! https://codereview.chromium.org/2814603002/diff/40001/third_party/WebKit/Source/core/dom/Node.h File third_party/WebKit/Source/core/dom/Node.h (right): https://codereview.chromium.org/2814603002/diff/40001/third_party/WebKit/Source/core/dom/Node.h#newcode108 third_party/WebKit/Source/core/dom/Node.h:108: ...
3 years, 8 months ago (2017-04-13 15:02:02 UTC) #22
esprehn
lgtm w/ the comments fixed. https://codereview.chromium.org/2814603002/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp#newcode594 third_party/WebKit/Source/core/dom/Node.cpp:594: void Node::SetLayoutObject(LayoutObject* layout_object) { ...
3 years, 8 months ago (2017-04-13 18:41:08 UTC) #23
nainar
https://codereview.chromium.org/2814603002/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/60001/third_party/WebKit/Source/core/dom/Node.cpp#newcode594 third_party/WebKit/Source/core/dom/Node.cpp:594: void Node::SetLayoutObject(LayoutObject* layout_object) { Done. Also commented inline. https://codereview.chromium.org/2814603002/diff/60001/third_party/WebKit/Source/core/dom/Node.h ...
3 years, 8 months ago (2017-04-13 20:21:04 UTC) #24
esprehn
lgtm https://codereview.chromium.org/2814603002/diff/80001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/80001/third_party/WebKit/Source/core/dom/Node.cpp#newcode300 third_party/WebKit/Source/core/dom/Node.cpp:300: CHECK(HasRareData() || !GetLayoutObject()); You can remove this CHECK ...
3 years, 8 months ago (2017-04-13 22:02:49 UTC) #27
nainar
Committing. Made the changes. https://codereview.chromium.org/2814603002/diff/80001/third_party/WebKit/Source/core/dom/Node.cpp File third_party/WebKit/Source/core/dom/Node.cpp (right): https://codereview.chromium.org/2814603002/diff/80001/third_party/WebKit/Source/core/dom/Node.cpp#newcode300 third_party/WebKit/Source/core/dom/Node.cpp:300: CHECK(HasRareData() || !GetLayoutObject()); Done. https://codereview.chromium.org/2814603002/diff/80001/third_party/WebKit/Source/core/dom/Node.cpp#newcode600 ...
3 years, 8 months ago (2017-04-13 22:28:16 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2814603002/100001
3 years, 8 months ago (2017-04-13 22:29:08 UTC) #34
commit-bot: I haz the power
3 years, 8 months ago (2017-04-14 00:24:41 UTC) #37
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/2f631c11f8e8f80c2373a6da4e4c...

Powered by Google App Engine
This is Rietveld 408576698