Commit f26988b5 authored by bugsnash's avatar bugsnash Committed by Commit bot

Made PassRefPtr move only and replaced new copies with moves.

Removed PassRefPtr copy constructor.

Added move wraps for remaining PassRefPtr copies (newly introduced).

BUG=640449

Review-Url: https://codereview.chromium.org/2437883002
Cr-Commit-Position: refs/heads/master@{#427020}
parent 9f6c0197
...@@ -13,8 +13,8 @@ void PropertyRegistry::registerProperty( ...@@ -13,8 +13,8 @@ void PropertyRegistry::registerProperty(
const CSSValue* initial, const CSSValue* initial,
PassRefPtr<CSSVariableData> initialVariableData) { PassRefPtr<CSSVariableData> initialVariableData) {
DCHECK(!registration(name)); DCHECK(!registration(name));
m_registrations.set( m_registrations.set(name, new Registration(syntax, inherits, initial,
name, new Registration(syntax, inherits, initial, initialVariableData)); std::move(initialVariableData)));
} }
const PropertyRegistry::Registration* PropertyRegistry::registration( const PropertyRegistry::Registration* PropertyRegistry::registration(
......
...@@ -30,7 +30,7 @@ class StyleNonInheritedVariables { ...@@ -30,7 +30,7 @@ class StyleNonInheritedVariables {
void setVariable(const AtomicString& name, void setVariable(const AtomicString& name,
PassRefPtr<CSSVariableData> value) { PassRefPtr<CSSVariableData> value) {
m_data.set(name, value); m_data.set(name, std::move(value));
} }
CSSVariableData* getVariable(const AtomicString& name) const; CSSVariableData* getVariable(const AtomicString& name) const;
void removeVariable(const AtomicString&); void removeVariable(const AtomicString&);
......
...@@ -36,7 +36,7 @@ BlobBytesConsumer::BlobBytesConsumer(ExecutionContext* executionContext, ...@@ -36,7 +36,7 @@ BlobBytesConsumer::BlobBytesConsumer(ExecutionContext* executionContext,
BlobBytesConsumer::BlobBytesConsumer(ExecutionContext* executionContext, BlobBytesConsumer::BlobBytesConsumer(ExecutionContext* executionContext,
PassRefPtr<BlobDataHandle> blobDataHandle) PassRefPtr<BlobDataHandle> blobDataHandle)
: BlobBytesConsumer(executionContext, blobDataHandle, nullptr) {} : BlobBytesConsumer(executionContext, std::move(blobDataHandle), nullptr) {}
BlobBytesConsumer::~BlobBytesConsumer() {} BlobBytesConsumer::~BlobBytesConsumer() {}
...@@ -265,7 +265,8 @@ BlobBytesConsumer* BlobBytesConsumer::createForTesting( ...@@ -265,7 +265,8 @@ BlobBytesConsumer* BlobBytesConsumer::createForTesting(
ExecutionContext* executionContext, ExecutionContext* executionContext,
PassRefPtr<BlobDataHandle> blobDataHandle, PassRefPtr<BlobDataHandle> blobDataHandle,
ThreadableLoader* loader) { ThreadableLoader* loader) {
return new BlobBytesConsumer(executionContext, blobDataHandle, loader); return new BlobBytesConsumer(executionContext, std::move(blobDataHandle),
loader);
} }
ThreadableLoader* BlobBytesConsumer::createLoader() { ThreadableLoader* BlobBytesConsumer::createLoader() {
......
...@@ -212,7 +212,7 @@ FormDataBytesConsumer::FormDataBytesConsumer(const void* data, size_t size) ...@@ -212,7 +212,7 @@ FormDataBytesConsumer::FormDataBytesConsumer(const void* data, size_t size)
FormDataBytesConsumer::FormDataBytesConsumer( FormDataBytesConsumer::FormDataBytesConsumer(
ExecutionContext* executionContext, ExecutionContext* executionContext,
PassRefPtr<EncodedFormData> formData) PassRefPtr<EncodedFormData> formData)
: FormDataBytesConsumer(executionContext, formData, nullptr) {} : FormDataBytesConsumer(executionContext, std::move(formData), nullptr) {}
FormDataBytesConsumer::FormDataBytesConsumer( FormDataBytesConsumer::FormDataBytesConsumer(
ExecutionContext* executionContext, ExecutionContext* executionContext,
...@@ -220,10 +220,10 @@ FormDataBytesConsumer::FormDataBytesConsumer( ...@@ -220,10 +220,10 @@ FormDataBytesConsumer::FormDataBytesConsumer(
BytesConsumer* consumer) BytesConsumer* consumer)
: m_impl(isSimple(formData.get()) : m_impl(isSimple(formData.get())
? static_cast<BytesConsumer*>( ? static_cast<BytesConsumer*>(
new SimpleFormDataBytesConsumer(formData)) new SimpleFormDataBytesConsumer(std::move(formData)))
: static_cast<BytesConsumer*>( : static_cast<BytesConsumer*>(
new ComplexFormDataBytesConsumer(executionContext, new ComplexFormDataBytesConsumer(executionContext,
formData, std::move(formData),
consumer))) {} consumer))) {}
} // namespace blink } // namespace blink
...@@ -29,7 +29,8 @@ class FormDataBytesConsumer final : public BytesConsumer { ...@@ -29,7 +29,8 @@ class FormDataBytesConsumer final : public BytesConsumer {
ExecutionContext* executionContext, ExecutionContext* executionContext,
PassRefPtr<EncodedFormData> formData, PassRefPtr<EncodedFormData> formData,
BytesConsumer* consumer) { BytesConsumer* consumer) {
return new FormDataBytesConsumer(executionContext, formData, consumer); return new FormDataBytesConsumer(executionContext, std::move(formData),
consumer);
} }
// BytesConsumer implementation // BytesConsumer implementation
......
...@@ -71,11 +71,6 @@ class PassRefPtr { ...@@ -71,11 +71,6 @@ class PassRefPtr {
PassRefPtr() : m_ptr(nullptr) {} PassRefPtr() : m_ptr(nullptr) {}
PassRefPtr(std::nullptr_t) : m_ptr(nullptr) {} PassRefPtr(std::nullptr_t) : m_ptr(nullptr) {}
PassRefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); } PassRefPtr(T* ptr) : m_ptr(ptr) { refIfNotNull(ptr); }
// It somewhat breaks the type system to allow transfer of ownership out of
// a const PassRefPtr. However, it makes it much easier to work with
// PassRefPtr temporaries, and we don't have a need to use real const
// PassRefPtrs anyway.
PassRefPtr(const PassRefPtr& o) : m_ptr(o.leakRef()) {}
PassRefPtr(PassRefPtr&& o) : m_ptr(o.leakRef()) {} PassRefPtr(PassRefPtr&& o) : m_ptr(o.leakRef()) {}
template <typename U> template <typename U>
PassRefPtr(const PassRefPtr<U>& o, EnsurePtrConvertibleArgDecl(U, T)) PassRefPtr(const PassRefPtr<U>& o, EnsurePtrConvertibleArgDecl(U, T))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment