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; |