projects
/
platform
/
framework
/
web
/
crosswalk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git]
/
src
/
third_party
/
WebKit
/
Source
/
core
/
css
/
FontFaceCache.cpp
diff --git
a/src/third_party/WebKit/Source/core/css/FontFaceCache.cpp
b/src/third_party/WebKit/Source/core/css/FontFaceCache.cpp
index
ad5dbdc
..
e29acc2
100644
(file)
--- a/
src/third_party/WebKit/Source/core/css/FontFaceCache.cpp
+++ b/
src/third_party/WebKit/Source/core/css/FontFaceCache.cpp
@@
-39,7
+39,7
@@
#include "platform/fonts/FontDescription.h"
#include "wtf/text/AtomicString.h"
#include "platform/fonts/FontDescription.h"
#include "wtf/text/AtomicString.h"
-namespace
WebCore
{
+namespace
blink
{
FontFaceCache::FontFaceCache()
: m_version(0)
FontFaceCache::FontFaceCache()
: m_version(0)
@@
-62,7
+62,7
@@
void FontFaceCache::addFontFace(CSSFontSelector* cssFontSelector, PassRefPtrWill
if (!traitsResult.storedValue->value)
traitsResult.storedValue->value = adoptPtrWillBeNoop(new TraitsMap);
if (!traitsResult.storedValue->value)
traitsResult.storedValue->value = adoptPtrWillBeNoop(new TraitsMap);
- TraitsMap::AddResult segmentedFontFaceResult = traitsResult.storedValue->value->add(fontFace->traits().
mask
(), nullptr);
+ TraitsMap::AddResult segmentedFontFaceResult = traitsResult.storedValue->value->add(fontFace->traits().
bitfield
(), nullptr);
if (!segmentedFontFaceResult.storedValue->value)
segmentedFontFaceResult.storedValue->value = CSSSegmentedFontFace::create(cssFontSelector, fontFace->traits());
if (!segmentedFontFaceResult.storedValue->value)
segmentedFontFaceResult.storedValue->value = CSSSegmentedFontFace::create(cssFontSelector, fontFace->traits());
@@
-89,7
+89,7
@@
void FontFaceCache::removeFontFace(FontFace* fontFace, bool cssConnected)
return;
TraitsMap* familyFontFaces = fontFacesIter->value.get();
return;
TraitsMap* familyFontFaces = fontFacesIter->value.get();
- TraitsMap::iterator familyFontFacesIter = familyFontFaces->find(fontFace->traits().
mask
());
+ TraitsMap::iterator familyFontFacesIter = familyFontFaces->find(fontFace->traits().
bitfield
());
if (familyFontFacesIter == familyFontFaces->end())
return;
RefPtrWillBeRawPtr<CSSSegmentedFontFace> segmentedFontFace = familyFontFacesIter->value;
if (familyFontFacesIter == familyFontFaces->end())
return;
RefPtrWillBeRawPtr<CSSSegmentedFontFace> segmentedFontFace = familyFontFacesIter->value;
@@
-107,13
+107,25
@@
void FontFaceCache::removeFontFace(FontFace* fontFace, bool cssConnected)
++m_version;
}
++m_version;
}
-void FontFaceCache::clear()
+void FontFaceCache::clear
CSSConnected
()
{
for (StyleRuleToFontFace::iterator it = m_styleRuleToFontFace.begin(); it != m_styleRuleToFontFace.end(); ++it)
removeFontFace(it->value.get(), true);
m_styleRuleToFontFace.clear();
}
{
for (StyleRuleToFontFace::iterator it = m_styleRuleToFontFace.begin(); it != m_styleRuleToFontFace.end(); ++it)
removeFontFace(it->value.get(), true);
m_styleRuleToFontFace.clear();
}
+void FontFaceCache::clearAll()
+{
+ if (m_fontFaces.isEmpty())
+ return;
+
+ m_fontFaces.clear();
+ m_fonts.clear();
+ m_styleRuleToFontFace.clear();
+ m_cssConnectedFontFaces.clear();
+ ++m_version;
+}
+
static inline bool compareFontFaces(CSSSegmentedFontFace* first, CSSSegmentedFontFace* second, FontTraits desiredTraits)
{
const FontTraits& firstTraits = first->traits();
static inline bool compareFontFaces(CSSSegmentedFontFace* first, CSSSegmentedFontFace* second, FontTraits desiredTraits)
{
const FontTraits& firstTraits = first->traits();
@@
-198,7
+210,7
@@
CSSSegmentedFontFace* FontFaceCache::get(const FontDescription& fontDescription,
traitsResult.storedValue->value = adoptPtrWillBeNoop(new TraitsMap);
FontTraits traits = fontDescription.traits();
traitsResult.storedValue->value = adoptPtrWillBeNoop(new TraitsMap);
FontTraits traits = fontDescription.traits();
- TraitsMap::AddResult faceResult = traitsResult.storedValue->value->add(traits.
mask
(), nullptr);
+ TraitsMap::AddResult faceResult = traitsResult.storedValue->value->add(traits.
bitfield
(), nullptr);
if (!faceResult.storedValue->value) {
for (TraitsMap::const_iterator i = familyFontFaces->begin(); i != familyFontFaces->end(); ++i) {
CSSSegmentedFontFace* candidate = i->value.get();
if (!faceResult.storedValue->value) {
for (TraitsMap::const_iterator i = familyFontFaces->begin(); i != familyFontFaces->end(); ++i) {
CSSSegmentedFontFace* candidate = i->value.get();
@@
-216,10
+228,12
@@
CSSSegmentedFontFace* FontFaceCache::get(const FontDescription& fontDescription,
void FontFaceCache::trace(Visitor* visitor)
{
void FontFaceCache::trace(Visitor* visitor)
{
+#if ENABLE(OILPAN)
visitor->trace(m_fontFaces);
visitor->trace(m_fonts);
visitor->trace(m_styleRuleToFontFace);
visitor->trace(m_cssConnectedFontFaces);
visitor->trace(m_fontFaces);
visitor->trace(m_fonts);
visitor->trace(m_styleRuleToFontFace);
visitor->trace(m_cssConnectedFontFaces);
+#endif
}
}
}
}