Revert "Avoid WeakMember in observer sets in ImageResourceContent." This reverts commit 741d5c86b03864874c1a7c62ff7a9549ade6b335. Reason for revert: suspected of causing failures on linux leak bot animations/cross-fade-border-image-source.html animations/cross-fade-webkit-mask-box-image.html https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20Leak/62776/overview Original change's description: > Avoid WeakMember in observer sets in ImageResourceContent. > > Use Member instead. > > ImageResourceContent::RemoveObserver() is called when an observer is to > be removed, which will remove the observer from the set that it's in, > and perform other operations. Letting oilpan remove entries on its own > will only cause trouble. > > crrev.com/c/5453623 wants PhysicalFragment to take ownership over > LayoutObject in some cases, and if the PhysicalFragment is in a tree > that's no longer reachable via trace, neither will the LayoutObject, > which means that oilpan would be free to remove entries from the > observer sets. When the LayoutObject later on gets destroyed, > ImageResourceContent::RemoveObserver() would naturally fail to find the > observer in any of the two sets. > > WeakMember was added in crrev.com/c/3153179 without explaining why that > was chosen over Member. > > Change-Id: Id0e8562a961388bb3ce425a724ba2f5c156ab9f3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5464304 > Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org> > Commit-Queue: Morten Stenshorne <mstensho@chromium.org> > Cr-Commit-Position: refs/heads/main@{#1289429} Change-Id: Id4caf0692bb4e684b6220c72dbb3af28611e6261 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5463535 Commit-Queue: Nina Satragno <nsatragno@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Owners-Override: Nina Satragno <nsatragno@chromium.org> Cr-Commit-Position: refs/heads/main@{#1289534}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.