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

Issue 654985 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Need DEFINE_TRACE macro supporting template

Project Member Reported by yosin@chromium.org, Oct 12 2016

Issue description

We can't use DEFINE_TRACE macro for template outside class declaration.
Due by this, EphmeralRange.h, Position.h, VisibleSelection.h uses DEFINE_INLINE_TRACE()
rather than DEFINE_TRACE()

We would like to write

DEFINE_TRACE_FOR_TREMPLATE(Foo, T, S) {
  visitor->trace(m_bar);
  visitor->trace(m_baz);
}

then expand into:

template<typename T, typename S>
void Foo<T, S>::traceImpl(...) { ... }
void Foo<T, S>::trace(...) { ... }
blah

 
The tracing infrastructure has become simpler recently, so the need for this addition falls away.
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 7 2017

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

commit ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc
Author: sigbjornf <sigbjornf@opera.com>
Date: Tue Feb 07 06:47:20 2017

Out-of-line trace() methods of editing template types.

With a simpler trace method infrastructure in place, we
can now define trace methods of the editing templates
out-of-line.

R=haraken
BUG= 654985 

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

[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/EphemeralRange.h
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/Position.cpp
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/Position.h
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/PositionWithAffinity.cpp
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/PositionWithAffinity.h
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/SelectionTemplate.cpp
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/SelectionTemplate.h
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/VisiblePosition.cpp
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/VisiblePosition.h
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/VisibleSelection.cpp
[modify] https://crrev.com/ff9c66f0c118f2cacfdaeda9e384eb2e47b33cdc/third_party/WebKit/Source/core/editing/VisibleSelection.h

Owner: sigbjo...@opera.com
Status: Fixed (was: Untriaged)

Sign in to add a comment