New issue
Advanced search Search tips

Issue 715418 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: 3
NextAction: 2017-05-08
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Remove V8PrivateProperty members just to keep V8 objects alive

Project Member Reported by peria@chromium.org, Apr 26 2017

Issue description

Currently we have 36 eternal members in V8PrivateProperty class,
and some of them are used to keep V8 objects alive.

Now TraceWrapper is available, so let's remove them and use TraceWrapper instead.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 27 2017

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

commit 772fbff236bdf680788846586a34e9f4d074b2c5
Author: tkent <tkent@chromium.org>
Date: Thu Apr 27 06:04:18 2017

DOM: NodeIterator.filter and TreeWalker.filter should return values which were specified to createNodeIterator/createTreeWalker.

We used to return values wrapped by NodeIterator interface. The DOM specification
doesn't define such behavior, and Edge, Firefox, and Safari do not.

The core part of this CL is CPP_VALUE_TO_V8_VALUE in v8_types.py. We return a v8
value stored in V8NodeFilterCondition.

Because we don't need to wrap values by NodeFilter, this CL has simplification like:

- Cleanup of indirection ownership;
 Old: NodeIteratorBase -> NodeFilter -> V8NodeFilterCondition as NodeFilterCondition
 New: NodeIteratorBase -> V8NodeFilterCondition

- Removal of a V8PrivateProperty
 It can be replaced with TraceWrapper.

This CL fixes 1,106 failures in external/wpt/dom/.

BUG= 591919 , 715418

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

[delete] https://crrev.com/4dc75a6309ee25e843244e51eb42623230193ba0/third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Document-createTreeWalker-expected.txt
[delete] https://crrev.com/4dc75a6309ee25e843244e51eb42623230193ba0/third_party/WebKit/LayoutTests/external/wpt/dom/traversal/NodeIterator-expected.txt
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/LayoutTests/external/wpt/dom/traversal/TreeWalker-expected.txt
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/LayoutTests/fast/dom/constants-expected.txt
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/LayoutTests/fast/dom/constants.html
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/LayoutTests/fast/dom/global-constructors.html
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/LayoutTests/fast/dom/node-filter-use-counters.html
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/core/v8/ToV8ForCore.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/core/v8/V8BindingForCore.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/core/v8/V8NodeFilterCondition.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/core/v8/V8PrivateProperty.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/scripts/v8_types.py
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/BUILD.gn
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/Document.h
[delete] https://crrev.com/4dc75a6309ee25e843244e51eb42623230193ba0/third_party/WebKit/Source/core/dom/NodeFilter.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/NodeFilter.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/NodeFilterCondition.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/NodeIterator.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/NodeIterator.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/NodeIteratorBase.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/NodeIteratorBase.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/TreeWalker.cpp
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/core/dom/TreeWalker.h
[modify] https://crrev.com/772fbff236bdf680788846586a34e9f4d074b2c5/third_party/WebKit/Source/platform/heap/WrapperVisitor.h

Sign in to add a comment