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

Issue 1855213002: Add DataPersistent<> for copy-on-modify and use for StyleFilterData. (Closed)

Created:
4 years, 8 months ago by sof
Modified:
4 years, 8 months ago
Reviewers:
oilpan-reviews, haraken
CC:
chromium-reviews, blink-reviews, blink-reviews-style_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add DataPersistent<> for copy-on-modify and use for StyleFilterData. Emulate what DataRef<T> provides over ref-counted objects, but for persistent heap references. DataPersistent<T> values can be freely copied, but when access()ed before being mutated, DataPersistent<> ensures that the mutation will happen on an unshared copy of the underlying heap object (of type T.) The motivation for doing is to migrate the StyleFilterData fields that StyleRareNonInheritedData keeps over to use DataPersistent<> rather than DataRef<>. By doing so, StyleFilterData becomes a simple GCed object without any ref-counting extras. R= BUG=604481 Committed: https://crrev.com/e5f18f7973b22a5a35fab927e2af848917e4827b Cr-Commit-Position: refs/heads/master@{#389400}

Patch Set 1 #

Patch Set 2 : rebased #

Patch Set 3 : remove unused DataPersistent<>::operator=() #

Patch Set 4 : add reqd copy constructor #

Patch Set 5 : GarbageCollected<> only #

Patch Set 6 : split out DataPersistent<> #

Patch Set 7 : indirectly allocate Persistent<> #

Unified diffs Side-by-side diffs Delta from patch set Stats (+101 lines, -11 lines) Patch
M third_party/WebKit/Source/core/core.gypi View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/core/style/DataPersistent.h View 1 2 3 4 5 6 1 chunk +92 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/style/DataRef.h View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/style/StyleFilterData.h View 1 2 3 4 2 chunks +1 line, -7 lines 0 comments Download
M third_party/WebKit/Source/core/style/StyleRareNonInheritedData.h View 1 2 3 4 5 2 chunks +3 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/style/StyleRareNonInheritedData.cpp View 1 1 chunk +2 lines, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 15 (6 generated)
sof
not sure.. worth pursuing?
4 years, 8 months ago (2016-04-21 12:56:19 UTC) #3
haraken
LGTM
4 years, 8 months ago (2016-04-21 13:17:13 UTC) #4
sof
I'm reasonably happy with the shape of this one now, ptal? It would have been ...
4 years, 8 months ago (2016-04-22 14:16:31 UTC) #6
haraken
On 2016/04/22 14:16:31, sof wrote: > I'm reasonably happy with the shape of this one ...
4 years, 8 months ago (2016-04-22 18:07:38 UTC) #7
sof
On 2016/04/22 18:07:38, haraken wrote: > On 2016/04/22 14:16:31, sof wrote: > > I'm reasonably ...
4 years, 8 months ago (2016-04-23 08:04:17 UTC) #8
haraken
On 2016/04/23 08:04:17, sof wrote: > On 2016/04/22 18:07:38, haraken wrote: > > On 2016/04/22 ...
4 years, 8 months ago (2016-04-23 18:35:10 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1855213002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1855213002/120001
4 years, 8 months ago (2016-04-24 07:58:56 UTC) #11
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 8 months ago (2016-04-24 08:10:49 UTC) #13
commit-bot: I haz the power
4 years, 8 months ago (2016-04-24 08:14:32 UTC) #15
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/e5f18f7973b22a5a35fab927e2af848917e4827b
Cr-Commit-Position: refs/heads/master@{#389400}

Powered by Google App Engine
This is Rietveld 408576698