Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Unified Diff: Source/core/css/CSSSegmentedFontFace.cpp

Issue 18856015: [oilpan] Move CSSFontFace to the managed heap (Closed) Base URL: svn://svn.chromium.org/blink/branches/oilpan
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/css/CSSSegmentedFontFace.cpp
diff --git a/Source/core/css/CSSSegmentedFontFace.cpp b/Source/core/css/CSSSegmentedFontFace.cpp
index 3cc8fa56b3bf03986b80d1be9c3f5ae5d89c47e6..a2cad6411697ee17e780179e0b10cb63102cb9a7 100644
--- a/Source/core/css/CSSSegmentedFontFace.cpp
+++ b/Source/core/css/CSSSegmentedFontFace.cpp
@@ -46,16 +46,18 @@ CSSSegmentedFontFace::CSSSegmentedFontFace(CSSFontSelector* fontSelector)
CSSSegmentedFontFace::~CSSSegmentedFontFace()
{
- dispose();
+ pruneTable();
}
+// FIXME(oilpan): Move CSSFontFaceSource and CSSFontSelector to the managed heap.
+// Then all of CSSFontSelector, CSSSegmentedFontFace, CSSFontFace and CSSFontFaceSource
+// die in the same round of GC, and thus we don't need to call dispose().
void CSSSegmentedFontFace::dispose()
{
pruneTable();
unsigned size = m_fontFaces.size();
for (unsigned i = 0; i < size; i++)
- m_fontFaces[i]->removedFromSegmentedFontFace(Handle<CSSSegmentedFontFace>(this));
- m_fontFaces.clear();
+ m_fontFaces[i]->dispose();
m_fontSelector = 0;
}
@@ -79,7 +81,7 @@ bool CSSSegmentedFontFace::isValid() const
return false;
}
-void CSSSegmentedFontFace::fontLoaded(CSSFontFace*)
+void CSSSegmentedFontFace::fontLoaded(Handle<CSSFontFace>)
{
pruneTable();
@@ -95,7 +97,7 @@ void CSSSegmentedFontFace::fontLoaded(CSSFontFace*)
}
}
-void CSSSegmentedFontFace::appendFontFace(PassRefPtr<CSSFontFace> fontFace)
+void CSSSegmentedFontFace::appendFontFace(Handle<CSSFontFace> fontFace)
{
pruneTable();
fontFace->addedToSegmentedFontFace(Handle<CSSSegmentedFontFace>(this));
@@ -190,4 +192,9 @@ void CSSSegmentedFontFace::loadFont(const FontDescription& fontDescription, Pass
}
}
+void CSSSegmentedFontFace::accept(Visitor* visitor) const
+{
+ visitor->visit(m_fontFaces);
+}
+
}

Powered by Google App Engine
This is Rietveld 408576698