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

Side by Side Diff: Source/core/dom/StyleEngine.cpp

Issue 82583005: Use removeFontFace to avoid resetting fontSelector. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added 2 layout tests Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 // CSSFontSelector. 565 // CSSFontSelector.
566 if (m_document.isActive()) { 566 if (m_document.isActive()) {
567 m_fontSelector = CSSFontSelector::create(&m_document); 567 m_fontSelector = CSSFontSelector::create(&m_document);
568 if (m_resolver) 568 if (m_resolver)
569 m_fontSelector->registerForInvalidationCallbacks(m_resolver.get()); 569 m_fontSelector->registerForInvalidationCallbacks(m_resolver.get());
570 } else { 570 } else {
571 m_fontSelector = 0; 571 m_fontSelector = 0;
572 } 572 }
573 } 573 }
574 574
575 void StyleEngine::removeFontFaceRules(const Vector<const StyleRuleFontFace*>& fo ntFaceRules)
576 {
577 if (!m_fontSelector)
578 return;
579 for (unsigned i = 0; i < fontFaceRules.size(); ++i)
580 m_fontSelector->removeFontFaceRule(fontFaceRules[i]);
581 if (m_resolver)
582 m_resolver->invalidateMatchedPropertiesCache();
583 }
584
575 void StyleEngine::markTreeScopeDirty(TreeScope& scope) 585 void StyleEngine::markTreeScopeDirty(TreeScope& scope)
576 { 586 {
577 if (scope == m_document) { 587 if (scope == m_document) {
578 markDocumentDirty(); 588 markDocumentDirty();
579 return; 589 return;
580 } 590 }
581 591
582 m_dirtyTreeScopes.add(&scope); 592 m_dirtyTreeScopes.add(&scope);
583 } 593 }
584 594
585 void StyleEngine::markDocumentDirty() 595 void StyleEngine::markDocumentDirty()
586 { 596 {
587 m_documentScopeDirty = true; 597 m_documentScopeDirty = true;
588 if (!HTMLImport::isMaster(&m_document)) 598 if (!HTMLImport::isMaster(&m_document))
589 m_document.import()->master()->styleEngine()->markDocumentDirty(); 599 m_document.import()->master()->styleEngine()->markDocumentDirty();
590 } 600 }
591 601
592 } 602 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698