Chromium Code Reviews| 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 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1198 setEncodingData(newEncodingData); | 1198 setEncodingData(newEncodingData); |
| 1199 } | 1199 } |
| 1200 | 1200 |
| 1201 void Document::setContentLanguage(const AtomicString& language) | 1201 void Document::setContentLanguage(const AtomicString& language) |
| 1202 { | 1202 { |
| 1203 if (m_contentLanguage == language) | 1203 if (m_contentLanguage == language) |
| 1204 return; | 1204 return; |
| 1205 m_contentLanguage = language; | 1205 m_contentLanguage = language; |
| 1206 | 1206 |
| 1207 // Document's style depends on the content language. | 1207 // Document's style depends on the content language. |
| 1208 setNeedsStyleRecalc(SubtreeStyleChange); | 1208 setNeedsStyleRecalc(StyleRecalcDueToLanguage, SubtreeStyleChange); |
| 1209 } | 1209 } |
| 1210 | 1210 |
| 1211 void Document::setXMLVersion(const String& version, ExceptionState& exceptionSta te) | 1211 void Document::setXMLVersion(const String& version, ExceptionState& exceptionSta te) |
| 1212 { | 1212 { |
| 1213 if (!XMLDocumentParser::supportsXMLVersion(version)) { | 1213 if (!XMLDocumentParser::supportsXMLVersion(version)) { |
| 1214 exceptionState.throwDOMException(NotSupportedError, "This document does not support the XML version '" + version + "'."); | 1214 exceptionState.throwDOMException(NotSupportedError, "This document does not support the XML version '" + version + "'."); |
| 1215 return; | 1215 return; |
| 1216 } | 1216 } |
| 1217 | 1217 |
| 1218 m_xmlVersion = version; | 1218 m_xmlVersion = version; |
| (...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1729 | 1729 |
| 1730 // Resolved rem units are stored in the matched properties cache so we need to make sure to | 1730 // Resolved rem units are stored in the matched properties cache so we need to make sure to |
| 1731 // invalidate the cache if the documentElement needed to reattach or the fon t size changed | 1731 // invalidate the cache if the documentElement needed to reattach or the fon t size changed |
| 1732 // and then trigger a full document recalc. We also need to clear it here si nce the | 1732 // and then trigger a full document recalc. We also need to clear it here si nce the |
| 1733 // call to styleForElement on the body above can cache bad values for rem un its if the | 1733 // call to styleForElement on the body above can cache bad values for rem un its if the |
| 1734 // documentElement's style was dirty. We could keep track of which elements depend on | 1734 // documentElement's style was dirty. We could keep track of which elements depend on |
| 1735 // rem units like we do for viewport styles, but we assume root font size ch anges are | 1735 // rem units like we do for viewport styles, but we assume root font size ch anges are |
| 1736 // rare and just invalidate the cache for now. | 1736 // rare and just invalidate the cache for now. |
| 1737 if (styleEngine()->usesRemUnits() && (documentElement()->needsAttach() || do cumentElement()->computedStyle()->fontSize() != documentElementStyle->fontSize() )) { | 1737 if (styleEngine()->usesRemUnits() && (documentElement()->needsAttach() || do cumentElement()->computedStyle()->fontSize() != documentElementStyle->fontSize() )) { |
| 1738 ensureStyleResolver().invalidateMatchedPropertiesCache(); | 1738 ensureStyleResolver().invalidateMatchedPropertiesCache(); |
| 1739 documentElement()->setNeedsStyleRecalc(SubtreeStyleChange); | 1739 documentElement()->setNeedsStyleRecalc(StyleRecalcDueToFontSizeChange, S ubtreeStyleChange); |
| 1740 } | 1740 } |
| 1741 | 1741 |
| 1742 EOverflow overflowX = OAUTO; | 1742 EOverflow overflowX = OAUTO; |
| 1743 EOverflow overflowY = OAUTO; | 1743 EOverflow overflowY = OAUTO; |
| 1744 float columnGap = 0; | 1744 float columnGap = 0; |
| 1745 if (overflowStyle) { | 1745 if (overflowStyle) { |
| 1746 overflowX = overflowStyle->overflowX(); | 1746 overflowX = overflowStyle->overflowX(); |
| 1747 overflowY = overflowStyle->overflowY(); | 1747 overflowY = overflowStyle->overflowY(); |
| 1748 // Visible overflow on the viewport is meaningless, and the spec says to treat it as 'auto': | 1748 // Visible overflow on the viewport is meaningless, and the spec says to treat it as 'auto': |
| 1749 if (overflowX == OVISIBLE) | 1749 if (overflowX == OVISIBLE) |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 1767 newStyle->setColumnGap(columnGap); | 1767 newStyle->setColumnGap(columnGap); |
| 1768 newStyle->setOverflowX(overflowX); | 1768 newStyle->setOverflowX(overflowX); |
| 1769 newStyle->setOverflowY(overflowY); | 1769 newStyle->setOverflowY(overflowY); |
| 1770 renderView()->setStyle(newStyle); | 1770 renderView()->setStyle(newStyle); |
| 1771 setupFontBuilder(newStyle.get()); | 1771 setupFontBuilder(newStyle.get()); |
| 1772 } | 1772 } |
| 1773 | 1773 |
| 1774 if (body) { | 1774 if (body) { |
| 1775 if (RenderStyle* style = body->renderStyle()) { | 1775 if (RenderStyle* style = body->renderStyle()) { |
| 1776 if (style->direction() != rootDirection || style->writingMode() != r ootWritingMode) | 1776 if (style->direction() != rootDirection || style->writingMode() != r ootWritingMode) |
| 1777 body->setNeedsStyleRecalc(SubtreeStyleChange); | 1777 body->setNeedsStyleRecalc(StyleRecalcDueToWritingModeChange, Sub treeStyleChange); |
| 1778 } | 1778 } |
| 1779 } | 1779 } |
| 1780 | 1780 |
| 1781 if (RenderStyle* style = documentElement()->renderStyle()) { | 1781 if (RenderStyle* style = documentElement()->renderStyle()) { |
| 1782 if (style->direction() != rootDirection || style->writingMode() != rootW ritingMode) | 1782 if (style->direction() != rootDirection || style->writingMode() != rootW ritingMode) |
| 1783 documentElement()->setNeedsStyleRecalc(SubtreeStyleChange); | 1783 documentElement()->setNeedsStyleRecalc(StyleRecalcDueToWritingModeCh ange, SubtreeStyleChange); |
| 1784 } | 1784 } |
| 1785 } | 1785 } |
| 1786 | 1786 |
| 1787 void Document::updateRenderTree(StyleRecalcChange change) | 1787 void Document::updateRenderTree(StyleRecalcChange change) |
| 1788 { | 1788 { |
| 1789 ASSERT(isMainThread()); | 1789 ASSERT(isMainThread()); |
| 1790 | 1790 |
| 1791 ScriptForbiddenScope forbidScript; | 1791 ScriptForbiddenScope forbidScript; |
| 1792 | 1792 |
| 1793 if (!view() || !isActive()) | 1793 if (!view() || !isActive()) |
| (...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1956 | 1956 |
| 1957 if (frameView->needsLayout()) | 1957 if (frameView->needsLayout()) |
| 1958 frameView->layout(); | 1958 frameView->layout(); |
| 1959 | 1959 |
| 1960 if (lifecycle().state() < DocumentLifecycle::LayoutClean) | 1960 if (lifecycle().state() < DocumentLifecycle::LayoutClean) |
| 1961 lifecycle().advanceTo(DocumentLifecycle::LayoutClean); | 1961 lifecycle().advanceTo(DocumentLifecycle::LayoutClean); |
| 1962 } | 1962 } |
| 1963 | 1963 |
| 1964 void Document::setNeedsFocusedElementCheck() | 1964 void Document::setNeedsFocusedElementCheck() |
| 1965 { | 1965 { |
| 1966 setNeedsStyleRecalc(LocalStyleChange); | 1966 setNeedsStyleRecalc(StyleRecalcDueToFocusPseudoClass, LocalStyleChange); |
| 1967 } | 1967 } |
| 1968 | 1968 |
| 1969 void Document::clearFocusedElementSoon() | 1969 void Document::clearFocusedElementSoon() |
| 1970 { | 1970 { |
| 1971 if (!m_clearFocusedElementTimer.isActive()) | 1971 if (!m_clearFocusedElementTimer.isActive()) |
| 1972 m_clearFocusedElementTimer.startOneShot(0, FROM_HERE); | 1972 m_clearFocusedElementTimer.startOneShot(0, FROM_HERE); |
| 1973 } | 1973 } |
| 1974 | 1974 |
| 1975 void Document::clearFocusedElementTimerFired(Timer<Document>*) | 1975 void Document::clearFocusedElementTimerFired(Timer<Document>*) |
| 1976 { | 1976 { |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2082 setSecurityOrigin(SecurityOrigin::createUnique()); | 2082 setSecurityOrigin(SecurityOrigin::createUnique()); |
| 2083 didUpdateSecurityOrigin(); | 2083 didUpdateSecurityOrigin(); |
| 2084 } | 2084 } |
| 2085 | 2085 |
| 2086 bool Document::dirtyElementsForLayerUpdate() | 2086 bool Document::dirtyElementsForLayerUpdate() |
| 2087 { | 2087 { |
| 2088 if (m_layerUpdateSVGFilterElements.isEmpty()) | 2088 if (m_layerUpdateSVGFilterElements.isEmpty()) |
| 2089 return false; | 2089 return false; |
| 2090 | 2090 |
| 2091 for (WillBeHeapHashSet<RawPtrWillBeMember<Element> >::iterator it = m_layerU pdateSVGFilterElements.begin(), end = m_layerUpdateSVGFilterElements.end(); it ! = end; ++it) | 2091 for (WillBeHeapHashSet<RawPtrWillBeMember<Element> >::iterator it = m_layerU pdateSVGFilterElements.begin(), end = m_layerUpdateSVGFilterElements.end(); it ! = end; ++it) |
| 2092 (*it)->setNeedsStyleRecalc(LocalStyleChange); | 2092 (*it)->setNeedsStyleRecalc(StyleRecalcDueToSVGFilterLayerUpdateHack, Loc alStyleChange); |
|
pdr.
2014/09/06 22:36:27
We should probably just call this one StyleRecalcD
kouhei (in TOK)
2014/09/08 23:29:12
Done.
| |
| 2093 m_layerUpdateSVGFilterElements.clear(); | 2093 m_layerUpdateSVGFilterElements.clear(); |
| 2094 return true; | 2094 return true; |
| 2095 } | 2095 } |
| 2096 | 2096 |
| 2097 void Document::scheduleSVGFilterLayerUpdateHack(Element& element) | 2097 void Document::scheduleSVGFilterLayerUpdateHack(Element& element) |
| 2098 { | 2098 { |
| 2099 if (element.styleChangeType() == NeedsReattachStyleChange) | 2099 if (element.styleChangeType() == NeedsReattachStyleChange) |
| 2100 return; | 2100 return; |
| 2101 element.setSVGFilterNeedsLayerUpdate(); | 2101 element.setSVGFilterNeedsLayerUpdate(); |
| 2102 m_layerUpdateSVGFilterElements.add(&element); | 2102 m_layerUpdateSVGFilterElements.add(&element); |
| (...skipping 2205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4308 | 4308 |
| 4309 m_encodingData = newData; | 4309 m_encodingData = newData; |
| 4310 | 4310 |
| 4311 // FIXME: Should be removed as part of https://code.google.com/p/chromium/is sues/detail?id=319643 | 4311 // FIXME: Should be removed as part of https://code.google.com/p/chromium/is sues/detail?id=319643 |
| 4312 bool shouldUseVisualOrdering = m_encodingData.encoding().usesVisualOrdering( ); | 4312 bool shouldUseVisualOrdering = m_encodingData.encoding().usesVisualOrdering( ); |
| 4313 if (shouldUseVisualOrdering != m_visuallyOrdered) { | 4313 if (shouldUseVisualOrdering != m_visuallyOrdered) { |
| 4314 m_visuallyOrdered = shouldUseVisualOrdering; | 4314 m_visuallyOrdered = shouldUseVisualOrdering; |
| 4315 // FIXME: How is possible to not have a renderer here? | 4315 // FIXME: How is possible to not have a renderer here? |
| 4316 if (renderView()) | 4316 if (renderView()) |
| 4317 renderView()->style()->setRTLOrdering(m_visuallyOrdered ? VisualOrde r : LogicalOrder); | 4317 renderView()->style()->setRTLOrdering(m_visuallyOrdered ? VisualOrde r : LogicalOrder); |
| 4318 setNeedsStyleRecalc(SubtreeStyleChange); | 4318 setNeedsStyleRecalc(StyleRecalcDueToVisuallyOrdered, SubtreeStyleChange) ; |
| 4319 } | 4319 } |
| 4320 } | 4320 } |
| 4321 | 4321 |
| 4322 KURL Document::completeURL(const String& url) const | 4322 KURL Document::completeURL(const String& url) const |
| 4323 { | 4323 { |
| 4324 return completeURLWithOverride(url, m_baseURL); | 4324 return completeURLWithOverride(url, m_baseURL); |
| 4325 } | 4325 } |
| 4326 | 4326 |
| 4327 KURL Document::completeURLWithOverride(const String& url, const KURL& baseURLOve rride) const | 4327 KURL Document::completeURLWithOverride(const String& url, const KURL& baseURLOve rride) const |
| 4328 { | 4328 { |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4470 } | 4470 } |
| 4471 | 4471 |
| 4472 void Document::setDesignMode(InheritedBool value) | 4472 void Document::setDesignMode(InheritedBool value) |
| 4473 { | 4473 { |
| 4474 m_designMode = value; | 4474 m_designMode = value; |
| 4475 for (Frame* frame = m_frame; frame; frame = frame->tree().traverseNext(m_fra me)) { | 4475 for (Frame* frame = m_frame; frame; frame = frame->tree().traverseNext(m_fra me)) { |
| 4476 if (!frame->isLocalFrame()) | 4476 if (!frame->isLocalFrame()) |
| 4477 continue; | 4477 continue; |
| 4478 if (!toLocalFrame(frame)->document()) | 4478 if (!toLocalFrame(frame)->document()) |
| 4479 break; | 4479 break; |
| 4480 toLocalFrame(frame)->document()->setNeedsStyleRecalc(SubtreeStyleChange) ; | 4480 toLocalFrame(frame)->document()->setNeedsStyleRecalc(StyleRecalcDueToDes ignMode, SubtreeStyleChange); |
| 4481 } | 4481 } |
| 4482 } | 4482 } |
| 4483 | 4483 |
| 4484 Document::InheritedBool Document::getDesignMode() const | 4484 Document::InheritedBool Document::getDesignMode() const |
| 4485 { | 4485 { |
| 4486 return m_designMode; | 4486 return m_designMode; |
| 4487 } | 4487 } |
| 4488 | 4488 |
| 4489 bool Document::inDesignMode() const | 4489 bool Document::inDesignMode() const |
| 4490 { | 4490 { |
| (...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5851 using namespace blink; | 5851 using namespace blink; |
| 5852 void showLiveDocumentInstances() | 5852 void showLiveDocumentInstances() |
| 5853 { | 5853 { |
| 5854 WeakDocumentSet& set = liveDocumentSet(); | 5854 WeakDocumentSet& set = liveDocumentSet(); |
| 5855 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 5855 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |
| 5856 for (WeakDocumentSet::const_iterator it = set.begin(); it != set.end(); ++it ) { | 5856 for (WeakDocumentSet::const_iterator it = set.begin(); it != set.end(); ++it ) { |
| 5857 fprintf(stderr, "- Document %p URL: %s\n", *it, (*it)->url().string().ut f8().data()); | 5857 fprintf(stderr, "- Document %p URL: %s\n", *it, (*it)->url().string().ut f8().data()); |
| 5858 } | 5858 } |
| 5859 } | 5859 } |
| 5860 #endif | 5860 #endif |
| OLD | NEW |