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

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

Issue 209433004: Do not zero-initialize RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix uses of RefPtrWillBeRawPtr Created 6 years, 9 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 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 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 // It is not the original sheet anymore. 572 // It is not the original sheet anymore.
573 if (contents.isMutable()) 573 if (contents.isMutable())
574 return false; 574 return false;
575 if (!contents.hasSyntacticallyValidCSSHeader()) 575 if (!contents.hasSyntacticallyValidCSSHeader())
576 return false; 576 return false;
577 return true; 577 return true;
578 } 578 }
579 579
580 PassRefPtrWillBeRawPtr<CSSStyleSheet> StyleEngine::createSheet(Element* e, const String& text, TextPosition startPosition, bool createdByParser) 580 PassRefPtrWillBeRawPtr<CSSStyleSheet> StyleEngine::createSheet(Element* e, const String& text, TextPosition startPosition, bool createdByParser)
581 { 581 {
582 RefPtrWillBeRawPtr<CSSStyleSheet> styleSheet; 582 RefPtrWillBeRawPtr<CSSStyleSheet> styleSheet = nullptr;
583 583
584 e->document().styleEngine()->addPendingSheet(); 584 e->document().styleEngine()->addPendingSheet();
585 585
586 if (!e->document().inQuirksMode()) { 586 if (!e->document().inQuirksMode()) {
587 AtomicString textContent(text); 587 AtomicString textContent(text);
588 588
589 HashMap<AtomicString, StyleSheetContents*>::AddResult result = m_textToS heetCache.add(textContent, 0); 589 HashMap<AtomicString, StyleSheetContents*>::AddResult result = m_textToS heetCache.add(textContent, 0);
590 if (result.isNewEntry || !result.storedValue->value) { 590 if (result.isNewEntry || !result.storedValue->value) {
591 styleSheet = StyleEngine::parseSheet(e, text, startPosition, created ByParser); 591 styleSheet = StyleEngine::parseSheet(e, text, startPosition, created ByParser);
592 if (result.isNewEntry && isCacheableForStyleElement(*styleSheet->con tents())) { 592 if (result.isNewEntry && isCacheableForStyleElement(*styleSheet->con tents())) {
(...skipping 12 matching lines...) Expand all
605 styleSheet = StyleEngine::parseSheet(e, text, startPosition, createdByPa rser); 605 styleSheet = StyleEngine::parseSheet(e, text, startPosition, createdByPa rser);
606 } 606 }
607 607
608 ASSERT(styleSheet); 608 ASSERT(styleSheet);
609 styleSheet->setTitle(e->title()); 609 styleSheet->setTitle(e->title());
610 return styleSheet; 610 return styleSheet;
611 } 611 }
612 612
613 PassRefPtrWillBeRawPtr<CSSStyleSheet> StyleEngine::parseSheet(Element* e, const String& text, TextPosition startPosition, bool createdByParser) 613 PassRefPtrWillBeRawPtr<CSSStyleSheet> StyleEngine::parseSheet(Element* e, const String& text, TextPosition startPosition, bool createdByParser)
614 { 614 {
615 RefPtrWillBeRawPtr<CSSStyleSheet> styleSheet; 615 RefPtrWillBeRawPtr<CSSStyleSheet> styleSheet = nullptr;
616 styleSheet = CSSStyleSheet::createInline(e, KURL(), startPosition, e->docume nt().inputEncoding()); 616 styleSheet = CSSStyleSheet::createInline(e, KURL(), startPosition, e->docume nt().inputEncoding());
617 styleSheet->contents()->parseStringAtPosition(text, startPosition, createdBy Parser); 617 styleSheet->contents()->parseStringAtPosition(text, startPosition, createdBy Parser);
618 return styleSheet; 618 return styleSheet;
619 } 619 }
620 620
621 void StyleEngine::removeSheet(StyleSheetContents* contents) 621 void StyleEngine::removeSheet(StyleSheetContents* contents)
622 { 622 {
623 HashMap<StyleSheetContents*, AtomicString>::iterator it = m_sheetToTextCache .find(contents); 623 HashMap<StyleSheetContents*, AtomicString>::iterator it = m_sheetToTextCache .find(contents);
624 if (it == m_sheetToTextCache.end()) 624 if (it == m_sheetToTextCache.end())
625 return; 625 return;
626 626
627 m_textToSheetCache.remove(it->value); 627 m_textToSheetCache.remove(it->value);
628 m_sheetToTextCache.remove(contents); 628 m_sheetToTextCache.remove(contents);
629 } 629 }
630 630
631 void StyleEngine::trace(Visitor* visitor) 631 void StyleEngine::trace(Visitor* visitor)
632 { 632 {
633 visitor->trace(m_injectedAuthorStyleSheets); 633 visitor->trace(m_injectedAuthorStyleSheets);
634 visitor->trace(m_authorStyleSheets); 634 visitor->trace(m_authorStyleSheets);
635 visitor->trace(m_documentStyleSheetCollection); 635 visitor->trace(m_documentStyleSheetCollection);
636 visitor->trace(m_styleSheetCollectionMap); 636 visitor->trace(m_styleSheetCollectionMap);
637 } 637 }
638 638
639 } 639 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698