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 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 |