OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. |
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 for (TreeScopeSet::iterator it = begin; it != end; ++it) { | 438 for (TreeScopeSet::iterator it = begin; it != end; ++it) { |
439 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it
)) { | 439 if (StyleSheetCollection* collection = m_styleSheetCollectionMap.get(*it
)) { |
440 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s
copingNodesForStyleScoped()); | 440 styleResolver->setBuildScopedStyleTreeInDocumentOrder(!collection->s
copingNodesForStyleScoped()); |
441 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt
yleSheets()); | 441 styleResolver->appendAuthorStyleSheets(0, collection->activeAuthorSt
yleSheets()); |
442 } | 442 } |
443 } | 443 } |
444 styleResolver->finishAppendAuthorStyleSheets(); | 444 styleResolver->finishAppendAuthorStyleSheets(); |
445 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); | 445 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); |
446 } | 446 } |
447 | 447 |
| 448 StyleSheetContents* StyleEngine::findStyleSheetContents(const AtomicString& shee
tText) |
| 449 { |
| 450 if (sheetText.isEmpty()) |
| 451 return 0; |
| 452 |
| 453 HashMap<AtomicString, std::pair<unsigned, RefPtr<StyleSheetContents> > >::it
erator it = m_styleSheetContentsCache.find(sheetText); |
| 454 if (it == m_styleSheetContentsCache.end()) |
| 455 return 0; |
| 456 return it->value.second.get(); |
448 } | 457 } |
| 458 |
| 459 void StyleEngine::registerStyleSheetContents(const AtomicString& sheetText, Styl
eSheetContents* contents) |
| 460 { |
| 461 ASSERT(contents); |
| 462 ASSERT(!sheetText.isEmpty()); |
| 463 HashMap<AtomicString, std::pair<unsigned, RefPtr<StyleSheetContents> > >::Ad
dResult result = m_styleSheetContentsCache.add(sheetText, std::pair<unsigned, Re
fPtr<StyleSheetContents> >(0, 0)); |
| 464 if (!result.isNewEntry) { |
| 465 result.iterator->value.first++; |
| 466 return; |
| 467 } |
| 468 result.iterator->value.first = 1; |
| 469 result.iterator->value.second = contents->copy(); |
| 470 } |
| 471 |
| 472 void StyleEngine::unregisterStyleSheetContents(const AtomicString& sheetText) |
| 473 { |
| 474 ASSERT(!sheetText.isEmpty()); |
| 475 HashMap<AtomicString, std::pair<unsigned, RefPtr<StyleSheetContents> > >::i
terator it = m_styleSheetContentsCache.find(sheetText); |
| 476 if (it == m_styleSheetContentsCache.end()) |
| 477 return; |
| 478 ASSERT(it->value.first > 0); |
| 479 it->value.first--; |
| 480 if (it->value.first) |
| 481 return; |
| 482 m_styleSheetContentsCache.remove(sheetText); |
| 483 } |
| 484 |
| 485 } |
OLD | NEW |