New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 614112 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocked on:
issue 918952



Sign in to add a comment

Should not have both LinkedHashSet and ListHashSet which are the same but somehow different

Project Member Reported by esprehn@chromium.org, May 23 2016

Issue description

LinkedHashSet was added in:
https://codereview.chromium.org/223373002

and seems to be copy pasta of ListHashSet but is somehow different, though it's not clear at all. One is apparently safe to iterate during removal and one is not? One supports WeakMembers and one doesn't? It's very confusing for developers, we should switch all code to one of them and remove the other.
 
Indeed, we still need to figure out how to unify them.
Owner: yutak@chromium.org
Yeah, we should figure out how to unify them.

As far as I understand correctly, the only difference is that ListHashSet supports modification while it's being iterated. Maybe can we take one of the following options?

- Replace all LinkedHashSet with ListHashSet (because ListHashSet is more powerful than LinkedHashSet).
- Remove the call sites that modify ListHashSet during iteration. Then replace ListHashSet with LinkedHashSet. (Do you know what call sites are doing that?)

yutak@: Would you mind putting this on your table?

Comment 4 by yutak@chromium.org, May 24 2016

Status: Assigned (was: Untriaged)
My understanding is:

- LinkedHashSet was added by Erik Corry to introduce an ordered container
  supporting Oilpan weak processing (some DOM objects needed this).
- It was impossible to add weak processing to ListHashSet, because it didn't
  support modification during iteration.

Therefore, it's impossible to remove LinkedHashSet unless we find a way to
support weak processing in ListHashSet, which is, if I understand correctly,
still impossible.

So, if we want to merge these two, we will need to let LinkedHashSet survive.
At this moment I'm not totally sure whether this can be done without impacting
performance.

Comment 5 by yutak@chromium.org, May 24 2016

And I saw Erik Corry's comment linked in #1 now. That explains better than me ;)

And Erik also said:

> ListHashSet has one feature that LinkedHashSet does not: You can modify a
> ListHashSet while you iterate over it. We actually use this in Blink, so we
> can't do without ListHashSet, but I expect LinkedHashSet to be the normal
> ordered set going forward.

Thus merging into LinkedHashSet would not be obvious, either.
So as far as I understand, ListHashSet is a more powerful version of LinkedHashSet. Isn't it possible to replace LinkedHashSet with ListHashSet?

Comment 7 by yutak@chromium.org, May 24 2016

Linked has weak processing, while List does not. In this sense Linked is more
powerful.
OK. That's really confusing :)

- Linked is more powerful in that Linked supports weak processing.
- List is more powerful in that List supports modification during iteration.

Do you know where the modification during iteration is being used? I'm wondering if we can get rid of the modification by using copyToVector before starting the iteration etc.

 Issue 613664  has been merged into this issue.
FYI, this bug is causing confusion on developers (https://codereview.chromium.org/2004643002/#msg24).


Project Member

Comment 11 by bugdroid1@chromium.org, Jun 6 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d92a7020941c8db2b4d1d36e30dc8b99c09c6f7c

commit d92a7020941c8db2b4d1d36e30dc8b99c09c6f7c
Author: sigbjornf <sigbjornf@opera.com>
Date: Mon Jun 06 09:53:48 2016

Improve the HeapListHashSet no-weakness static assert message.

Mention the alternate HeapLinkedHashSet<> if WeakMember<>s are
attempted used with HeapListHashSet<>; for non-trivial reasons,
we only support weakness with the former.

R=
BUG=614112

Review-Url: https://codereview.chromium.org/2034423002
Cr-Commit-Position: refs/heads/master@{#397999}

[modify] https://crrev.com/d92a7020941c8db2b4d1d36e30dc8b99c09c6f7c/third_party/WebKit/Source/wtf/ListHashSet.h

Comment 12 by tkent@chromium.org, Jun 23 2016

Components: -Blink>WTF Blink>Internals>WTF
Renaming Blink>WTF to Blink>Internals>WTF.

Comment 13 by tkent@chromium.org, Jun 23 2016

Components: -Blink>Architecture Blink>Internals
Renaming Blink>Architecture to Blink>Internals

Owner: w...@chromium.org
Assigning this to Chris as a blink starter bug.

Comment 15 by w...@chromium.org, Nov 9 2017

Wrote a doc to summarize the problem and track my investigation. Haraken@/yutak@ please feel free to take a look and comment! https://docs.google.com/document/d/1QyOs9tx0jNQzOYoL1c0p3w373yhycQr-2VYRXuN80o8/
Commented on the doc. The proposal looks reasonable!

Comment 17 by w...@chromium.org, Nov 9 2017

Thanks for the comments! I'll start migrating ListHashSet users to LinkedHashSet and see if I run into any issues.
I am the newbie Chrome developer whose questions motivated esprehn to file this bug in the first place.

My main complaint was that the differences between two very similar classes were not well documented. From my personal point of view, keeping them both is fine, if well documented, and if there is a good technical reason for it.

Comment 19 by w...@chromium.org, Nov 9 2017

Agreed that the documentation needs improving if we decide to keep both. 

I think at this point there does not appear to be a compelling reason to keep both, so I'll try to remove ListHS and see if one comes up.
Project Member

Comment 20 by bugdroid1@chromium.org, Nov 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/790d985e15f7a97bb916b980eb92bcef15421ce5

commit 790d985e15f7a97bb916b980eb92bcef15421ce5
Author: Chris Watkins <watk@chromium.org>
Date: Mon Nov 20 06:26:21 2017

Replace ListHashSet with LinkedHashSet in FontFaceCache and FontFaceSet

We want to deprecate ListHashSet in favor of LinkedHashSet. The main
difference between them is that ListHS iterators remain valid after
modification of the container, whereas LinkedHS iterators do not.
These usages of ListHashSet don't rely on iterators remaining valid
after modification, so it's a straightforward replacement.

Bug: 614112
Change-Id: I31839044b2267cd0a9749b1907e6237686909f65
Reviewed-on: https://chromium-review.googlesource.com/778639
Reviewed-by: nainar <nainar@chromium.org>
Commit-Queue: Chris Watkins <watk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517763}
[modify] https://crrev.com/790d985e15f7a97bb916b980eb92bcef15421ce5/third_party/WebKit/Source/core/css/FontFaceCache.h
[modify] https://crrev.com/790d985e15f7a97bb916b980eb92bcef15421ce5/third_party/WebKit/Source/core/css/FontFaceSet.cpp
[modify] https://crrev.com/790d985e15f7a97bb916b980eb92bcef15421ce5/third_party/WebKit/Source/core/css/FontFaceSet.h
[modify] https://crrev.com/790d985e15f7a97bb916b980eb92bcef15421ce5/third_party/WebKit/Source/core/css/FontFaceSetDocument.cpp
[modify] https://crrev.com/790d985e15f7a97bb916b980eb92bcef15421ce5/third_party/WebKit/Source/core/css/FontFaceSetDocument.h
[modify] https://crrev.com/790d985e15f7a97bb916b980eb92bcef15421ce5/third_party/WebKit/Source/core/css/FontFaceSetWorker.h

Project Member

Comment 21 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ca683353a80792a9343a2eb5b58326e265f41a2e

commit ca683353a80792a9343a2eb5b58326e265f41a2e
Author: Chris Watkins <watk@chromium.org>
Date: Tue Nov 21 07:49:00 2017

Replace ListHashSet with LinkedHashSet in FontDataCache

We're deprecating ListHashSet in favor of LinkedHashSet. The main
feature we lose with LinkedHS is that modifying the container
invalidates its iterators. ListHS iterators (for non-removed items)
remain valid.
This usage of ListHashSet doesn't rely on this property, so it's a
straightforward replacement.

Bug: 614112
Change-Id: I0ad27caba4901488e3ad49b83a2a58b17ef1dd05
Reviewed-on: https://chromium-review.googlesource.com/778202
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Chris Watkins <watk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518170}
[modify] https://crrev.com/ca683353a80792a9343a2eb5b58326e265f41a2e/third_party/WebKit/Source/platform/fonts/FontCache.cpp
[modify] https://crrev.com/ca683353a80792a9343a2eb5b58326e265f41a2e/third_party/WebKit/Source/platform/fonts/FontDataCache.cpp
[modify] https://crrev.com/ca683353a80792a9343a2eb5b58326e265f41a2e/third_party/WebKit/Source/platform/fonts/FontDataCache.h

Project Member

Comment 22 by bugdroid1@chromium.org, Nov 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5b1dd5e533e2ccffcfd37cf3baa0ffd67ac0844a

commit 5b1dd5e533e2ccffcfd37cf3baa0ffd67ac0844a
Author: Chris Watkins <watk@chromium.org>
Date: Tue Nov 21 08:09:00 2017

Replace ListHashSet with LinkedHashSet in DOMWindowEventQueue

We're deprecating ListHashSet in favor of LinkedHashSet. The main
feature we lose with LinkedHS is that modifying the container
invalidates its iterators. ListHS iterators (for non-removed items)
remain valid.
This usage of ListHashSet doesn't rely on this property, so it's a
straightforward replacement.

Bug: 614112
Change-Id: I3dcbd094cfd528ebc5d62349eb1901895b3d6597
Reviewed-on: https://chromium-review.googlesource.com/778645
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Chris Watkins <watk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518177}
[modify] https://crrev.com/5b1dd5e533e2ccffcfd37cf3baa0ffd67ac0844a/third_party/WebKit/Source/core/dom/events/DOMWindowEventQueue.cpp
[modify] https://crrev.com/5b1dd5e533e2ccffcfd37cf3baa0ffd67ac0844a/third_party/WebKit/Source/core/dom/events/DOMWindowEventQueue.h

Project Member

Comment 23 by bugdroid1@chromium.org, Nov 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/76b83ab9e004da663a8af6bf2354059654796806

commit 76b83ab9e004da663a8af6bf2354059654796806
Author: Chris Watkins <watk@chromium.org>
Date: Wed Nov 22 05:20:45 2017

Replace ListHashSet with LinkedHashSet in MediaQueryList

We're deprecating ListHashSet in favor of LinkedHashSet. The main
feature we lose with LinkedHS is that modifying the container
invalidates its iterators. ListHS iterators (for non-removed items)
remain valid.
This usage of ListHashSet doesn't rely on this property, so it's a
straightforward replacement.

This also removes some unused includes.

Bug: 614112
Change-Id: I6220134f984a38a2b50debe5e4ccad72a66eaa4d
Reviewed-on: https://chromium-review.googlesource.com/778700
Reviewed-by: Renée Wright <rjwright@chromium.org>
Commit-Queue: Chris Watkins <watk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518541}
[modify] https://crrev.com/76b83ab9e004da663a8af6bf2354059654796806/third_party/WebKit/Source/core/css/CSSPropertyValueSet.h
[modify] https://crrev.com/76b83ab9e004da663a8af6bf2354059654796806/third_party/WebKit/Source/core/css/MediaQueryList.h
[modify] https://crrev.com/76b83ab9e004da663a8af6bf2354059654796806/third_party/WebKit/Source/core/css/StyleEngine.h
[modify] https://crrev.com/76b83ab9e004da663a8af6bf2354059654796806/third_party/WebKit/Source/core/css/resolver/StyleResolver.h

Project Member

Comment 24 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3227b84251b11bc8188978e568f3d04cd8fa4b7c

commit 3227b84251b11bc8188978e568f3d04cd8fa4b7c
Author: Chris Watkins <watk@chromium.org>
Date: Mon Nov 27 07:38:33 2017

Update the docs on {List,Linked}HashSet

This clarifies the differences between the containers and encourages
people to prefer LinkedHashSet.

Bug: 614112
Change-Id: Iccdb6c16ee38392a8958d3d04b8298e348b49d1c
Reviewed-on: https://chromium-review.googlesource.com/786931
Reviewed-by: Yuta Kitamura <yutak@chromium.org>
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519238}
[modify] https://crrev.com/3227b84251b11bc8188978e568f3d04cd8fa4b7c/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h
[modify] https://crrev.com/3227b84251b11bc8188978e568f3d04cd8fa4b7c/third_party/WebKit/Source/platform/wtf/ListHashSet.h

Project Member

Comment 25 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29b4eb1337618fba084123e89444875775206244

commit 29b4eb1337618fba084123e89444875775206244
Author: Chris Watkins <watk@chromium.org>
Date: Mon Nov 27 08:50:58 2017

Replace ListHashSet with LinkedHashSet in PerformanceBase

We're deprecating ListHashSet in favor of LinkedHashSet. The main
feature we lose with LinkedHS is that modifying the container
invalidates its iterators. ListHS iterators (for non-removed items)
remain valid.

This usage of ListHashSet doesn't rely on this property, so it's a
straightforward replacement.

Bug: 614112
Change-Id: I73479dc824d726505a145cbc026136d5108ec21a
Reviewed-on: https://chromium-review.googlesource.com/778722
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Reviewed-by: Yuta Kitamura <yutak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519247}
[modify] https://crrev.com/29b4eb1337618fba084123e89444875775206244/third_party/WebKit/Source/core/timing/PerformanceBase.h

Project Member

Comment 26 by bugdroid1@chromium.org, Nov 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d871a1e47b9d0c9103fc7d551e8ad23efc7f74b

commit 1d871a1e47b9d0c9103fc7d551e8ad23efc7f74b
Author: Chris Watkins <watk@chromium.org>
Date: Mon Nov 27 09:41:00 2017

Fix LinkedHashSet's iterator to const iterator conversion function

Previously the member function that converted
LinkedHashSetReverseIterator to its const counterpart didn't compile because
it tries to use reinterpret_cast to cast away constness.
Now const_cast is used to cast away const.

Bug: 614112
Change-Id: Id555f978053c7bfd71abe2e168a5f5e1e33669ca
Reviewed-on: https://chromium-review.googlesource.com/784730
Reviewed-by: Yuta Kitamura <yutak@chromium.org>
Commit-Queue: Yuta Kitamura <yutak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519255}
[modify] https://crrev.com/1d871a1e47b9d0c9103fc7d551e8ad23efc7f74b/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h
[modify] https://crrev.com/1d871a1e47b9d0c9103fc7d551e8ad23efc7f74b/third_party/WebKit/Source/platform/wtf/ListHashSetTest.cpp

Labels: -Pri-3 Pri-2
Upping the priority as we'd like to finish this one way or the other this quarter.

Comment 28 by w...@chromium.org, Jan 10 2018

Cc: joelhockey@chromium.org
+joelhockey@ who might have time to convert some of the remaining ListHashSet instances.
Project Member

Comment 29 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3ed686f5fc0165e8b33510438ba1de4d23d0f0ac

commit 3ed686f5fc0165e8b33510438ba1de4d23d0f0ac
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 01:39:17 2018

Replace ListHashSet with LinkedHashSet in core/layout/Grid

ListHashSet is deprecated in favor of LinkedHashSet.

LinkedHashSets do not allow modifying the container during
iteration.  Modification during iteration does not happen
in this usage, so replacement is simple.

Bug: 614112
Change-Id: I32b4ed29f17bf0de76f9a3836e47ce2192e9a98d
Reviewed-on: https://chromium-review.googlesource.com/858237
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528198}
[modify] https://crrev.com/3ed686f5fc0165e8b33510438ba1de4d23d0f0ac/third_party/WebKit/Source/core/layout/Grid.h

Project Member

Comment 30 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2852b263979029ad3a510ac5bbfa04e26de36dee

commit 2852b263979029ad3a510ac5bbfa04e26de36dee
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 01:47:33 2018

Remove unused ListHashSet import in PaintInfo

Bug: 614112
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Id6e59edfcd7b524466259e53765a733971623b7a
Reviewed-on: https://chromium-review.googlesource.com/858239
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528200}
[modify] https://crrev.com/2852b263979029ad3a510ac5bbfa04e26de36dee/third_party/WebKit/Source/core/paint/PaintInfo.h

Project Member

Comment 31 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b350db4b03accc0c3c69369781921af0f8c915ae

commit b350db4b03accc0c3c69369781921af0f8c915ae
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 01:48:22 2018

Remove unused ListHashSet import in HitTestLocation

Bug: 614112
Change-Id: If360f0df1b85415076db154d1a6c44992f11fcd2
Reviewed-on: https://chromium-review.googlesource.com/857359
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528201}
[modify] https://crrev.com/b350db4b03accc0c3c69369781921af0f8c915ae/third_party/WebKit/Source/core/layout/HitTestLocation.h

Project Member

Comment 32 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e94830fbfab4989ed26a1bcd5e9d65d678af82eb

commit e94830fbfab4989ed26a1bcd5e9d65d678af82eb
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 01:51:49 2018

Remove unused ListHashSet import in LocalFrameView

Bug: 614112
Change-Id: I4c7904d7f3a69349723209e1e228af727d092498
Reviewed-on: https://chromium-review.googlesource.com/857360
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528204}
[modify] https://crrev.com/e94830fbfab4989ed26a1bcd5e9d65d678af82eb/third_party/WebKit/Source/core/frame/LocalFrameView.h

Project Member

Comment 33 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4ac6021bd23fb4a02e5b7d57a6ef34efe88f4957

commit 4ac6021bd23fb4a02e5b7d57a6ef34efe88f4957
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 01:58:34 2018

Remove unused ListHashSet import in ScriptedAnimationController

Bug: 614112
Change-Id: I3f06cef7485ef7974e65a71d8dab1ca9a054bbac
Reviewed-on: https://chromium-review.googlesource.com/857361
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528205}
[modify] https://crrev.com/4ac6021bd23fb4a02e5b7d57a6ef34efe88f4957/third_party/WebKit/Source/core/dom/ScriptedAnimationController.h

Project Member

Comment 34 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9da5ae4ea09acdcaae1e1f70fba716d059746c84

commit 9da5ae4ea09acdcaae1e1f70fba716d059746c84
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 02:04:14 2018

Replace ListHashSet with LinkedHashSet in LayoutFlowThread

ListHashSet is deprecated in favor of LinkedHashSet.

LinkedHashSets invalidate iterators when the container is
modified.  This does not happen in this usage, so
replacement is simple.

Bug: 614112
Change-Id: I0b0eecfca49f016454a3616c8eb8c7cbbe575a28
Reviewed-on: https://chromium-review.googlesource.com/858243
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528208}
[modify] https://crrev.com/9da5ae4ea09acdcaae1e1f70fba716d059746c84/third_party/WebKit/Source/core/layout/LayoutFlowThread.h

Project Member

Comment 35 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bf192833a2081259a350cb09eb97635f79e1cbd3

commit bf192833a2081259a350cb09eb97635f79e1cbd3
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 02:04:31 2018

Remove unused ListHashSet import in CSSSegmentedFontFace

Bug: 614112
Change-Id: I4d0c06b21f49223c821454364cc12748a6a0c1d1
Reviewed-on: https://chromium-review.googlesource.com/858396
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528209}
[modify] https://crrev.com/bf192833a2081259a350cb09eb97635f79e1cbd3/third_party/WebKit/Source/core/css/CSSSegmentedFontFace.h

Project Member

Comment 36 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f0f54704b4f0f74f1c1c78f5ddb4c1f02ac4c7b9

commit f0f54704b4f0f74f1c1c78f5ddb4c1f02ac4c7b9
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 02:07:39 2018

Remove unused ListHashSet import in WorkerGlobalScope

Bug: 614112
Change-Id: I5145dba678b1f4a74ad50f7ef2a9d5bec658d743
Reviewed-on: https://chromium-review.googlesource.com/858240
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528211}
[modify] https://crrev.com/f0f54704b4f0f74f1c1c78f5ddb4c1f02ac4c7b9/third_party/WebKit/Source/core/workers/WorkerGlobalScope.h

Project Member

Comment 37 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2c0c73e08babd33fd4e11f2b97ed12d635d5e7ef

commit 2c0c73e08babd33fd4e11f2b97ed12d635d5e7ef
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 02:08:53 2018

Remove unused ListHashSet import in InspectorDOMAgent

Bug: 614112
Change-Id: I9bf9c18777460b3480e98263552a7b41be536c55
Reviewed-on: https://chromium-review.googlesource.com/858241
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528213}
[modify] https://crrev.com/2c0c73e08babd33fd4e11f2b97ed12d635d5e7ef/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp

Project Member

Comment 38 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d5078d3d76464a3d438eb643ea804f6c050201b7

commit d5078d3d76464a3d438eb643ea804f6c050201b7
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 02:16:20 2018

Remove unused ListHashSet import from ResourceFetcher

Bug: 614112
Change-Id: Ia8d71b4299610cea361562a0b77b41752b65b6a2
Reviewed-on: https://chromium-review.googlesource.com/858356
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528217}
[modify] https://crrev.com/d5078d3d76464a3d438eb643ea804f6c050201b7/third_party/WebKit/Source/platform/loader/fetch/ResourceFetcher.h

Project Member

Comment 39 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/13aadab5f49f975203e2aa99ef29078a9f6f9cc4

commit 13aadab5f49f975203e2aa99ef29078a9f6f9cc4
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 03:10:35 2018

Remove unused ListHashSet import in FormController

Bug: 614112
Change-Id: Ib12a2a4e00572cae4b6f0344857938a752b1a572
Reviewed-on: https://chromium-review.googlesource.com/858357
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528227}
[modify] https://crrev.com/13aadab5f49f975203e2aa99ef29078a9f6f9cc4/third_party/WebKit/Source/core/html/forms/FormController.h

Project Member

Comment 40 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59f6fb4bbd21d41c1851aa390c1200d3f82a4536

commit 59f6fb4bbd21d41c1851aa390c1200d3f82a4536
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 03:21:24 2018

Remove unused ListHashSet import in HitTestResult

Bug: 614112
Change-Id: I0d63208b4e2bfacb129614e7f29bd6af70063be5
Reviewed-on: https://chromium-review.googlesource.com/858238
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528228}
[modify] https://crrev.com/59f6fb4bbd21d41c1851aa390c1200d3f82a4536/third_party/WebKit/Source/core/layout/HitTestResult.h

Project Member

Comment 41 by bugdroid1@chromium.org, Jan 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/32ee0d9a9901919e4df8563ba60b5da595405d37

commit 32ee0d9a9901919e4df8563ba60b5da595405d37
Author: Joel Hockey <joelhockey@chromium.org>
Date: Wed Jan 10 03:25:44 2018

Remove unused ListHashSet import in InspectorPageAgent

Bug: 614112
Change-Id: Ie2ec3aa153c710a4c58abeaadd12da1d4d3fb680
Reviewed-on: https://chromium-review.googlesource.com/858242
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528229}
[modify] https://crrev.com/32ee0d9a9901919e4df8563ba60b5da595405d37/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp

Project Member

Comment 42 by bugdroid1@chromium.org, Jan 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/85d6fbb387514e6cc81fabb6ef2e61f7d879566e

commit 85d6fbb387514e6cc81fabb6ef2e61f7d879566e
Author: Joel Hockey <joelhockey@chromium.org>
Date: Fri Jan 12 05:38:41 2018

Replace ListHashSet with LinkedHashSet in CanvasFontCache

ListHashSet is deprecated in favor of LinkedHashSet.

LinkedHashSets invalidate iterators when the container is
modified.  This does not happen in this usage, so
replacement is simple.

Bug: 614112
Change-Id: I97604da23b9f95e67e364b8bc12317275cf8dff0
Reviewed-on: https://chromium-review.googlesource.com/858897
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#528887}
[modify] https://crrev.com/85d6fbb387514e6cc81fabb6ef2e61f7d879566e/third_party/WebKit/Source/core/html/canvas/CanvasFontCache.h

Project Member

Comment 43 by bugdroid1@chromium.org, Jan 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b62b1241a12cd3f448d256dc276e9d34ce7071a8

commit b62b1241a12cd3f448d256dc276e9d34ce7071a8
Author: Joel Hockey <joelhockey@chromium.org>
Date: Tue Jan 23 08:54:39 2018

Replace ListHashSet with LinkedHashSet in ThreadState

ListHashSet is deprecated in favor of LinkedHashSet.

LinkedHashSets invalidate iterators when the container is
modified so ordered_pre_finalizers_ is copied before
iteration.

Bug: 614112
Change-Id: I2a1b21c4965b805bb698c43e20adc179cf6c8924
Reviewed-on: https://chromium-review.googlesource.com/880301
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#531188}
[modify] https://crrev.com/b62b1241a12cd3f448d256dc276e9d34ce7071a8/third_party/WebKit/Source/platform/heap/ThreadState.cpp
[modify] https://crrev.com/b62b1241a12cd3f448d256dc276e9d34ce7071a8/third_party/WebKit/Source/platform/heap/ThreadState.h
[modify] https://crrev.com/b62b1241a12cd3f448d256dc276e9d34ce7071a8/third_party/WebKit/Source/platform/heap/ThreadingTraits.h

Comment 44 by w...@chromium.org, Feb 1 2018

Cc: w...@chromium.org
Labels: Hotlist-GoodFirstBug OS-iOS
Owner: ----
Status: Available (was: Assigned)
I've moved to a new team so unassigning.

The remaining work is probably GoodFirstBug material. It's a matter of finding the remaining ListHashSets and making them LinkedHashSets. See #15 for more details.


Cc: jbroman@chromium.org lfg@chromium.org
Labels: -OS-iOS -OS-All OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
iOS does not use Blink
Project Member

Comment 47 by bugdroid1@chromium.org, Jan 2

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f10f585e0cc62c831064ff87900f3fd999837c2e

commit f10f585e0cc62c831064ff87900f3fd999837c2e
Author: Jeremy Roman <jbroman@chromium.org>
Date: Wed Jan 02 16:37:19 2019

Switch PaintPropertyTreePrinter to use LinkedHashSet instead of ListHashSet.

ListHashSet is deprecated.

Bug: 614112
Change-Id: Ib3acbda6b5f39c7d7630c5070b7aa8874b301437
Reviewed-on: https://chromium-review.googlesource.com/c/1392275
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619418}
[modify] https://crrev.com/f10f585e0cc62c831064ff87900f3fd999837c2e/third_party/blink/renderer/platform/graphics/paint/paint_property_node.h

Blocking: 918952
Blocking: -918952
Blockedon: 918952

Sign in to add a comment