| Index: third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
|
| diff --git a/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp b/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
|
| index 11cf4a105649379b920e1a7d449232d92d46d93f..5ce3fd9a73b8d4ca7bd8c4dce209cf5151d852e4 100644
|
| --- a/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/inspector/InspectorResourceContentLoader.cpp
|
| @@ -24,9 +24,9 @@
|
|
|
| namespace blink {
|
|
|
| -class InspectorResourceContentLoader::ResourceClient final : private RawResourceClient, private StyleSheetResourceClient {
|
| +class InspectorResourceContentLoader::ResourceClient final : public NoBaseWillBeGarbageCollectedFinalized<InspectorResourceContentLoader::ResourceClient>, private RawResourceClient, private StyleSheetResourceClient {
|
| public:
|
| - ResourceClient(InspectorResourceContentLoader* loader)
|
| + explicit ResourceClient(InspectorResourceContentLoader* loader)
|
| : m_loader(loader)
|
| {
|
| }
|
| @@ -39,8 +39,13 @@ public:
|
| resource->addClient(static_cast<StyleSheetResourceClient*>(this));
|
| }
|
|
|
| + DEFINE_INLINE_TRACE()
|
| + {
|
| + visitor->trace(m_loader);
|
| + }
|
| +
|
| private:
|
| - InspectorResourceContentLoader* m_loader;
|
| + RawPtrWillBeMember<InspectorResourceContentLoader> m_loader;
|
|
|
| void setCSSStyleSheet(const String&, const KURL&, const String&, const CSSStyleSheetResource*) override;
|
| void notifyFinished(Resource*) override;
|
| @@ -60,7 +65,9 @@ void InspectorResourceContentLoader::ResourceClient::resourceFinished(Resource*
|
| else
|
| resource->removeClient(static_cast<StyleSheetResourceClient*>(this));
|
|
|
| +#if !ENABLE(OILPAN)
|
| delete this;
|
| +#endif
|
| }
|
|
|
| void InspectorResourceContentLoader::ResourceClient::setCSSStyleSheet(const String&, const KURL& url, const String&, const CSSStyleSheetResource* resource)
|
| @@ -158,7 +165,10 @@ InspectorResourceContentLoader::~InspectorResourceContentLoader()
|
|
|
| DEFINE_TRACE(InspectorResourceContentLoader)
|
| {
|
| +#if ENABLE(OILPAN)
|
| visitor->trace(m_inspectedFrame);
|
| + visitor->trace(m_pendingResourceClients);
|
| +#endif
|
| }
|
|
|
| void InspectorResourceContentLoader::didCommitLoadForLocalFrame(LocalFrame* frame)
|
| @@ -174,7 +184,7 @@ void InspectorResourceContentLoader::dispose()
|
|
|
| void InspectorResourceContentLoader::stop()
|
| {
|
| - HashSet<ResourceClient*> pendingResourceClients;
|
| + WillBeHeapHashSet<RawPtrWillBeMember<ResourceClient>> pendingResourceClients;
|
| m_pendingResourceClients.swap(pendingResourceClients);
|
| for (const auto& client : pendingResourceClients)
|
| client->m_loader = nullptr;
|
|
|