| 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 Apple Inc. All rights
reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011 Apple Inc. All rights
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 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 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 * | 10 * |
| (...skipping 556 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 m_pageUserSheet->clearOwnerNode(); | 567 m_pageUserSheet->clearOwnerNode(); |
| 568 if (m_pageGroupUserSheets) { | 568 if (m_pageGroupUserSheets) { |
| 569 for (size_t i = 0; i < m_pageGroupUserSheets->size(); ++i) | 569 for (size_t i = 0; i < m_pageGroupUserSheets->size(); ++i) |
| 570 (*m_pageGroupUserSheets)[i]->clearOwnerNode(); | 570 (*m_pageGroupUserSheets)[i]->clearOwnerNode(); |
| 571 } | 571 } |
| 572 if (m_userSheets) { | 572 if (m_userSheets) { |
| 573 for (size_t i = 0; i < m_userSheets->size(); ++i) | 573 for (size_t i = 0; i < m_userSheets->size(); ++i) |
| 574 (*m_userSheets)[i]->clearOwnerNode(); | 574 (*m_userSheets)[i]->clearOwnerNode(); |
| 575 } | 575 } |
| 576 | 576 |
| 577 deleteRetiredCustomFonts(); | 577 deleteCustomFonts(); |
| 578 | 578 |
| 579 m_weakReference->clear(); | 579 m_weakReference->clear(); |
| 580 | 580 |
| 581 if (m_mediaQueryMatcher) | 581 if (m_mediaQueryMatcher) |
| 582 m_mediaQueryMatcher->documentDestroyed(); | 582 m_mediaQueryMatcher->documentDestroyed(); |
| 583 } | 583 } |
| 584 | 584 |
| 585 void Document::removedLastRef() | 585 void Document::removedLastRef() |
| 586 { | 586 { |
| 587 ASSERT(!m_deletionHasBegun); | 587 ASSERT(!m_deletionHasBegun); |
| (...skipping 969 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1557 } | 1557 } |
| 1558 | 1558 |
| 1559 for (Node* n = firstChild(); n; n = n->nextSibling()) { | 1559 for (Node* n = firstChild(); n; n = n->nextSibling()) { |
| 1560 if (!n->isElementNode()) | 1560 if (!n->isElementNode()) |
| 1561 continue; | 1561 continue; |
| 1562 Element* element = static_cast<Element*>(n); | 1562 Element* element = static_cast<Element*>(n); |
| 1563 if (change >= Inherit || element->childNeedsStyleRecalc() || element->ne
edsStyleRecalc()) | 1563 if (change >= Inherit || element->childNeedsStyleRecalc() || element->ne
edsStyleRecalc()) |
| 1564 element->recalcStyle(change); | 1564 element->recalcStyle(change); |
| 1565 } | 1565 } |
| 1566 | 1566 |
| 1567 // FIXME: Disabling the deletion of retired custom font data until | |
| 1568 // we fix all the stale style bugs (68804, 68624, etc). These bugs | |
| 1569 // indicate problems where some styles were not updated in recalcStyle, | |
| 1570 // thereby retaining stale copy of font data. To prevent that, we | |
| 1571 // disable this code for now and only delete retired custom font data | |
| 1572 // in Document destructor. | |
| 1573 // Now that all RenderStyles that pointed to retired fonts have been updated
, the fonts can safely be deleted. | |
| 1574 // deleteRetiredCustomFonts(); | |
| 1575 | |
| 1576 #if USE(ACCELERATED_COMPOSITING) | 1567 #if USE(ACCELERATED_COMPOSITING) |
| 1577 if (view()) { | 1568 if (view()) { |
| 1578 bool layoutPending = view()->layoutPending() || renderer()->needsLayout(
); | 1569 bool layoutPending = view()->layoutPending() || renderer()->needsLayout(
); |
| 1579 // If we didn't update compositing layers because of layout(), we need t
o do so here. | 1570 // If we didn't update compositing layers because of layout(), we need t
o do so here. |
| 1580 if (!layoutPending) | 1571 if (!layoutPending) |
| 1581 view()->updateCompositingLayers(); | 1572 view()->updateCompositingLayers(); |
| 1582 } | 1573 } |
| 1583 #endif | 1574 #endif |
| 1584 | 1575 |
| 1585 bail_out: | 1576 bail_out: |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1702 m_ignorePendingStylesheets = oldIgnore; | 1693 m_ignorePendingStylesheets = oldIgnore; |
| 1703 return style.release(); | 1694 return style.release(); |
| 1704 } | 1695 } |
| 1705 | 1696 |
| 1706 PassRefPtr<RenderStyle> Document::styleForPage(int pageIndex) | 1697 PassRefPtr<RenderStyle> Document::styleForPage(int pageIndex) |
| 1707 { | 1698 { |
| 1708 RefPtr<RenderStyle> style = styleSelector()->styleForPage(pageIndex); | 1699 RefPtr<RenderStyle> style = styleSelector()->styleForPage(pageIndex); |
| 1709 return style.release(); | 1700 return style.release(); |
| 1710 } | 1701 } |
| 1711 | 1702 |
| 1712 void Document::retireCustomFont(FontData* fontData) | 1703 void Document::registerCustomFont(FontData* fontData) |
| 1713 { | 1704 { |
| 1714 m_retiredCustomFonts.append(adoptPtr(fontData)); | 1705 m_customFonts.append(adoptPtr(fontData)); |
| 1715 } | 1706 } |
| 1716 | 1707 |
| 1717 void Document::deleteRetiredCustomFonts() | 1708 void Document::deleteCustomFonts() |
| 1718 { | 1709 { |
| 1719 size_t size = m_retiredCustomFonts.size(); | 1710 size_t size = m_customFonts.size(); |
| 1720 for (size_t i = 0; i < size; ++i) | 1711 for (size_t i = 0; i < size; ++i) |
| 1721 GlyphPageTreeNode::pruneTreeCustomFontData(m_retiredCustomFonts[i].get()
); | 1712 GlyphPageTreeNode::pruneTreeCustomFontData(m_customFonts[i].get()); |
| 1722 | 1713 |
| 1723 m_retiredCustomFonts.clear(); | 1714 m_customFonts.clear(); |
| 1724 } | 1715 } |
| 1725 | 1716 |
| 1726 bool Document::isPageBoxVisible(int pageIndex) | 1717 bool Document::isPageBoxVisible(int pageIndex) |
| 1727 { | 1718 { |
| 1728 RefPtr<RenderStyle> style = styleForPage(pageIndex); | 1719 RefPtr<RenderStyle> style = styleForPage(pageIndex); |
| 1729 return style->visibility() != HIDDEN; // display property doesn't apply to @
page. | 1720 return style->visibility() != HIDDEN; // display property doesn't apply to @
page. |
| 1730 } | 1721 } |
| 1731 | 1722 |
| 1732 void Document::pageSizeAndMarginsInPixels(int pageIndex, IntSize& pageSize, int&
marginTop, int& marginRight, int& marginBottom, int& marginLeft) | 1723 void Document::pageSizeAndMarginsInPixels(int pageIndex, IntSize& pageSize, int&
marginTop, int& marginRight, int& marginBottom, int& marginLeft) |
| 1733 { | 1724 { |
| (...skipping 3433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5167 if (!loader) | 5158 if (!loader) |
| 5168 return 0; | 5159 return 0; |
| 5169 | 5160 |
| 5170 if (m_frame->document() != this) | 5161 if (m_frame->document() != this) |
| 5171 return 0; | 5162 return 0; |
| 5172 | 5163 |
| 5173 return loader; | 5164 return loader; |
| 5174 } | 5165 } |
| 5175 | 5166 |
| 5176 } // namespace WebCore | 5167 } // namespace WebCore |
| OLD | NEW |