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 1879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1890 ASSERT(!needsStyleRecalc()); | 1890 ASSERT(!needsStyleRecalc()); |
1891 ASSERT(!childNeedsStyleRecalc()); | 1891 ASSERT(!childNeedsStyleRecalc()); |
1892 ASSERT(inStyleRecalc()); | 1892 ASSERT(inStyleRecalc()); |
1893 m_lifecycle.advanceTo(DocumentLifecycle::StyleClean); | 1893 m_lifecycle.advanceTo(DocumentLifecycle::StyleClean); |
1894 } | 1894 } |
1895 | 1895 |
1896 void Document::updateRenderTreeForNodeIfNeeded(Node* node) | 1896 void Document::updateRenderTreeForNodeIfNeeded(Node* node) |
1897 { | 1897 { |
1898 bool needsRecalc = needsFullRenderTreeUpdate(); | 1898 bool needsRecalc = needsFullRenderTreeUpdate(); |
1899 | 1899 |
1900 for (const Node* ancestor = node; ancestor && !needsRecalc; ancestor = NodeR enderingTraversal::parent(*ancestor)) | 1900 for (const Node* ancestor = node; ancestor && !needsRecalc; ancestor = NodeR enderingTraversal::parent(*ancestor)) { |
1901 needsRecalc = ancestor->needsStyleRecalc() || ancestor->needsStyleInvali dation(); | 1901 bool childrenAffectedByAdjacent = node != ancestor |
esprehn
2014/12/05 09:52:36
Can we hoist this out of the loop?
if (node->need
| |
1902 && ancestor->isContainerNode() | |
esprehn
2014/12/05 09:52:36
this statement doesn't make sense, an ancestor mus
| |
1903 && (toContainerNode(ancestor)->childrenAffectedByDirectAdjacentRules () | |
1904 || toContainerNode(ancestor)->childrenAffectedByIndirectAdjacent Rules()); | |
1905 | |
1906 needsRecalc = ancestor->needsStyleRecalc() | |
1907 || ancestor->needsStyleInvalidation() | |
1908 || (childrenAffectedByAdjacent && (ancestor->childNeedsStyleRecalc() || ancestor->childNeedsStyleInvalidation())); | |
esprehn
2014/12/05 09:52:36
It seems like you can combine this with the above
| |
1909 } | |
1902 | 1910 |
1903 if (needsRecalc) | 1911 if (needsRecalc) |
1904 updateRenderTreeIfNeeded(); | 1912 updateRenderTreeIfNeeded(); |
1905 } | 1913 } |
1906 | 1914 |
1907 void Document::updateLayout() | 1915 void Document::updateLayout() |
1908 { | 1916 { |
1909 ASSERT(isMainThread()); | 1917 ASSERT(isMainThread()); |
1910 | 1918 |
1911 ScriptForbiddenScope forbidScript; | 1919 ScriptForbiddenScope forbidScript; |
(...skipping 3911 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5823 #ifndef NDEBUG | 5831 #ifndef NDEBUG |
5824 using namespace blink; | 5832 using namespace blink; |
5825 void showLiveDocumentInstances() | 5833 void showLiveDocumentInstances() |
5826 { | 5834 { |
5827 WeakDocumentSet& set = liveDocumentSet(); | 5835 WeakDocumentSet& set = liveDocumentSet(); |
5828 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 5836 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |
5829 for (Document* document : set) | 5837 for (Document* document : set) |
5830 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().str ing().utf8().data()); | 5838 fprintf(stderr, "- Document %p URL: %s\n", document, document->url().str ing().utf8().data()); |
5831 } | 5839 } |
5832 #endif | 5840 #endif |
OLD | NEW |