DescriptionRemoved local RefPtr created from PassRefPtr arg in generated file.
This is a follow up from https://codereview.chromium.org/2807073002
This patch removed a generated instance of a PassRefPtr object being
copied into a RefPtr object.
All instances of PassRefPtr objects being copied into RefPtr objects
need to be wrapped in std::move to avoid introducing ref churn in
future changes when all PassRefPtr objects will be replaced with RefPtr
objects. In this case creating a local RefPtr just to copy the
PassRefPtr argument into, a std::move wrap doesn't make sense as it
would result in a final state where a RefPtr argument is moved into a
local RefPtr for no reason. So to handle this cases I have converted
the PassRefPtr argument to RefPtr in advance, and removed the local
RefPtr argument, instead using the passed RefPtr in the
method.
This patch
- Changed the argument passed from PassRefPtr to RefPtr
- Removed the logic for creating a local RefPtr argument
- Changed the naming logic to name RefPtr arguments as rpParamTypeName
- Removed the self.value variable and used self.name instead, as
self.value was only used to store the name of the local RefPtr
variable separate from the PassRefPtr argument
- Removed the comment in the header about PassRefPtr parameters
- Removed the base_name variable in build_param_name as this was
causing a presubmit error from clashing with the global base_name
Changes to generated files:
https://gist.github.com/BugsNash/595ec7b86ce850d676aa8722f68abbf8/revisions
BUG=494719
Review-Url: https://codereview.chromium.org/2846723003
Cr-Commit-Position: refs/heads/master@{#467909}
Committed: https://chromium.googlesource.com/chromium/src/+/518f93704e475c7d61dbe7d853cdbf3baccb445e
Patch Set 1 #
Total comments: 3
Patch Set 2 : Addressed comments. #
Messages
Total messages: 23 (12 generated)
|