Chromium Code Reviews| Index: third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h |
| diff --git a/third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h b/third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h |
| index 0f9c75abf5ecdbf27e72f93740ced0406c26db85..18915539f3c30e01831d5028e8204e1191829b63 100644 |
| --- a/third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h |
| +++ b/third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h |
| @@ -39,39 +39,37 @@ namespace blink { |
| class WrappedResourceResponse : public WebURLResponse { |
|
kinuko
2016/07/05 14:59:44
Hmm ok, WebURLResponsePrivate is non-copyable so t
kinuko
2016/07/05 14:59:44
How this one's copy assignment works?
|
| public: |
| - ~WrappedResourceResponse() |
| - { |
| - reset(); // Need to drop reference to m_handle |
| - } |
| + ~WrappedResourceResponse() {} |
| WrappedResourceResponse() { } |
|
kinuko
2016/07/05 14:59:44
Doesn't it cost us creating a WebURLRespnsePrivate
Adam Rice
2016/07/06 01:50:50
I don't think it makes sense to have a default con
|
| - WrappedResourceResponse(ResourceResponse& resourceResponse) |
| + explicit WrappedResourceResponse(ResourceResponse& resourceResponse) |
| + : WebURLResponse(&m_handle) |
| + , m_handle(&resourceResponse) |
| { |
| - bind(resourceResponse); |
| } |
| - WrappedResourceResponse(const ResourceResponse& resourceResponse) |
| + explicit WrappedResourceResponse(const ResourceResponse& resourceResponse) |
| + : WrappedResourceResponse(const_cast<ResourceResponse&>(resourceResponse)) |
| { |
| - bind(resourceResponse); |
| - } |
| - |
| - void bind(ResourceResponse& resourceResponse) |
| - { |
| - m_handle.m_resourceResponse = &resourceResponse; |
| - assign(&m_handle); |
| } |
| void bind(const ResourceResponse& resourceResponse) |
| { |
| - bind(*const_cast<ResourceResponse*>(&resourceResponse)); |
| + m_handle.m_resourceResponse = const_cast<ResourceResponse*>(&resourceResponse); |
| + assign(&m_handle); |
| } |
| private: |
| class Handle : public WebURLResponsePrivate { |
| DISALLOW_NEW(); |
| public: |
| - virtual void dispose() { m_resourceResponse = 0; } |
| + Handle() {} |
| + explicit Handle(ResourceResponse* resourceResponse) |
| + { |
| + m_resourceResponse = resourceResponse; |
| + } |
| + void dispose() override { m_resourceResponse = 0; } |
|
kinuko
2016/07/05 15:42:11
I don't feel I like this trick in general... I pre
|
| }; |
| Handle m_handle; |