diff options
Diffstat (limited to 'chromium/third_party/skia/src/utils/SkRTConf.cpp')
-rw-r--r-- | chromium/third_party/skia/src/utils/SkRTConf.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/chromium/third_party/skia/src/utils/SkRTConf.cpp b/chromium/third_party/skia/src/utils/SkRTConf.cpp index 895cfa5e310..bb6cb23cb93 100644 --- a/chromium/third_party/skia/src/utils/SkRTConf.cpp +++ b/chromium/third_party/skia/src/utils/SkRTConf.cpp @@ -44,8 +44,8 @@ SkRTConfRegistry::SkRTConfRegistry(): fConfs(100) { continue; } - SkString* key = new SkString(keyptr); - SkString* val = new SkString(valptr); + SkString* key = SkNEW_ARGS(SkString,(keyptr)); + SkString* val = SkNEW_ARGS(SkString,(valptr)); fConfigFileKeys.append(1, &key); fConfigFileValues.append(1, &val); @@ -53,6 +53,20 @@ SkRTConfRegistry::SkRTConfRegistry(): fConfs(100) { sk_fclose(fp); } +SkRTConfRegistry::~SkRTConfRegistry() { + ConfMap::Iter iter(fConfs); + SkTDArray<SkRTConfBase *> *confArray; + + while (iter.next(&confArray)) { + delete confArray; + } + + for (int i = 0 ; i < fConfigFileKeys.count() ; i++) { + SkDELETE(fConfigFileKeys[i]); + SkDELETE(fConfigFileValues[i]); + } +} + const char *SkRTConfRegistry::configFileLocation() const { return "skia.conf"; // for now -- should probably do something fancier like home directories or whatever. } @@ -105,6 +119,17 @@ void SkRTConfRegistry::printAll(const char *fname) const { delete o; } +bool SkRTConfRegistry::hasNonDefault() const { + ConfMap::Iter iter(fConfs); + SkTDArray<SkRTConfBase *> *confArray; + while (iter.next(&confArray)) { + if (!confArray->getAt(0)->isDefault()) { + return true; + } + } + return false; +} + void SkRTConfRegistry::printNonDefault(const char *fname) const { SkWStream *o; |