| Index: third_party/WebKit/Source/core/css/StyleRuleImport.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/StyleRuleImport.cpp b/third_party/WebKit/Source/core/css/StyleRuleImport.cpp
|
| index cc09ce76f576ac76522f6a31ba263ce8e7ef16d4..b252d3fb84221d53fa0d21e63a64174e2db32496 100644
|
| --- a/third_party/WebKit/Source/core/css/StyleRuleImport.cpp
|
| +++ b/third_party/WebKit/Source/core/css/StyleRuleImport.cpp
|
| @@ -41,11 +41,14 @@ StyleRuleImport::StyleRuleImport(const String& href, PassRefPtrWillBeRawPtr<Medi
|
| , m_styleSheetClient(this)
|
| , m_strHref(href)
|
| , m_mediaQueries(media)
|
| - , m_resource(nullptr)
|
| , m_loading(false)
|
| {
|
| if (!m_mediaQueries)
|
| m_mediaQueries = MediaQuerySet::create(String());
|
| +
|
| +#if ENABLE(OILPAN)
|
| + ThreadState::current()->registerPreFinalizer(this);
|
| +#endif
|
| }
|
|
|
| StyleRuleImport::~StyleRuleImport()
|
| @@ -53,9 +56,15 @@ StyleRuleImport::~StyleRuleImport()
|
| #if !ENABLE(OILPAN)
|
| if (m_styleSheet)
|
| m_styleSheet->clearOwnerRule();
|
| + dispose();
|
| #endif
|
| +}
|
| +
|
| +void StyleRuleImport::dispose()
|
| +{
|
| if (m_resource)
|
| m_resource->removeClient(&m_styleSheetClient);
|
| + m_resource = nullptr;
|
| }
|
|
|
| DEFINE_TRACE_AFTER_DISPATCH(StyleRuleImport)
|
| @@ -64,6 +73,7 @@ DEFINE_TRACE_AFTER_DISPATCH(StyleRuleImport)
|
| visitor->trace(m_parentStyleSheet);
|
| visitor->trace(m_mediaQueries);
|
| visitor->trace(m_styleSheet);
|
| + visitor->trace(m_resource);
|
| StyleRuleBase::traceAfterDispatch(visitor);
|
| }
|
|
|
|
|