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..d8acd56c9d485225f1f8e8b7930f51bdf6616c87 100644 |
| --- a/third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h |
| +++ b/third_party/WebKit/Source/platform/exported/WrappedResourceResponse.h |
| @@ -39,39 +39,46 @@ namespace blink { |
| class WrappedResourceResponse : public WebURLResponse { |
| public: |
| - ~WrappedResourceResponse() |
| - { |
| - reset(); // Need to drop reference to m_handle |
| - } |
| - |
| - WrappedResourceResponse() { } |
| - |
| - WrappedResourceResponse(ResourceResponse& resourceResponse) |
| - { |
| - bind(resourceResponse); |
| - } |
| + ~WrappedResourceResponse() {} |
| + WrappedResourceResponse() : WebURLResponse(&m_handle) {} |
| - WrappedResourceResponse(const ResourceResponse& resourceResponse) |
| + explicit WrappedResourceResponse(ResourceResponse& resourceResponse) |
| + : WebURLResponse(&m_handle) |
| { |
| - bind(resourceResponse); |
| + m_handle.setResourceResponse(resourceResponse); |
| } |
| - void bind(ResourceResponse& resourceResponse) |
| + explicit WrappedResourceResponse(const ResourceResponse& resourceResponse) |
| + : WrappedResourceResponse(const_cast<ResourceResponse&>(resourceResponse)) |
| { |
| - m_handle.m_resourceResponse = &resourceResponse; |
| - assign(&m_handle); |
| } |
| void bind(const ResourceResponse& resourceResponse) |
| { |
| - bind(*const_cast<ResourceResponse*>(&resourceResponse)); |
| + m_handle.setResourceResponse(resourceResponse); |
| } |
| private: |
| class Handle : public WebURLResponsePrivate { |
| DISALLOW_NEW(); |
| public: |
| - virtual void dispose() { m_resourceResponse = 0; } |
| + const ResourceResponse* resourceResponse() const override |
| + { |
| + return m_resourceResponse; |
| + } |
| + |
| + ResourceResponse* resourceResponse() override |
| + { |
| + return m_resourceResponse; |
|
Adam Rice
2016/07/06 01:39:00
We could optionally track whether the ResourceResp
|
| + } |
| + |
| + void setResourceResponse(const ResourceResponse& response) override |
| + { |
| + m_resourceResponse = const_cast<ResourceResponse*>(&response); |
| + } |
| + |
| + private: |
| + ResourceResponse* m_resourceResponse = nullptr; |
| }; |
| Handle m_handle; |