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

Side by Side Diff: third_party/WebKit/Source/core/css/resolver/StyleResolver.cpp

Issue 2202493002: NOT FOR REVIEW: Fullscreen WIP (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com)
5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
6 * All rights reserved. 6 * All rights reserved.
7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org>
9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved.
10 * (http://www.torchmobile.com/) 10 * (http://www.torchmobile.com/)
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 for (ShadowRoot* shadowRoot = &shadow->youngestShadowRoot(); shadowRoot; 172 for (ShadowRoot* shadowRoot = &shadow->youngestShadowRoot(); shadowRoot;
173 shadowRoot = shadowRoot->olderShadowRoot()) { 173 shadowRoot = shadowRoot->olderShadowRoot()) {
174 if (shadowRoot->numberOfStyles() > 0) { 174 if (shadowRoot->numberOfStyles() > 0) {
175 if (ScopedStyleResolver* resolver = shadowRoot->scopedStyleResolver()) 175 if (ScopedStyleResolver* resolver = shadowRoot->scopedStyleResolver())
176 resolvers.append(resolver); 176 resolvers.append(resolver);
177 } 177 }
178 } 178 }
179 } 179 }
180 180
181 StyleResolver::StyleResolver(Document& document) 181 StyleResolver::StyleResolver(Document& document)
182 : m_document(document), 182 : m_document(document), m_printMediaType(false), m_styleSharingDepth(0) {
183 m_printMediaType(false),
184 m_styleSharingDepth(0) {
185 FrameView* view = document.view(); 183 FrameView* view = document.view();
186 DCHECK(view); 184 DCHECK(view);
187 m_medium = new MediaQueryEvaluator(&view->frame()); 185 m_medium = new MediaQueryEvaluator(&view->frame());
188 m_printMediaType = 186 m_printMediaType =
189 equalIgnoringCase(view->mediaType(), MediaTypeNames::print); 187 equalIgnoringCase(view->mediaType(), MediaTypeNames::print);
190 } 188 }
191 189
192 StyleResolver::~StyleResolver() {} 190 StyleResolver::~StyleResolver() {}
193 191
194 void StyleResolver::dispose() { 192 void StyleResolver::dispose() {
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 return nullptr; 850 return nullptr;
853 851
854 if (pseudoId == PseudoIdBackdrop && !parent.isInTopLayer()) 852 if (pseudoId == PseudoIdBackdrop && !parent.isInTopLayer())
855 return nullptr; 853 return nullptr;
856 854
857 if (pseudoId == PseudoIdFirstLetter && 855 if (pseudoId == PseudoIdFirstLetter &&
858 (parent.isSVGElement() || 856 (parent.isSVGElement() ||
859 !FirstLetterPseudoElement::firstLetterTextLayoutObject(parent))) 857 !FirstLetterPseudoElement::firstLetterTextLayoutObject(parent)))
860 return nullptr; 858 return nullptr;
861 859
862 if (!canHaveGeneratedChildren(*parentLayoutObject)) 860 // The backdrop pseudo element generates a new stacking context and its
861 // layout object does not become a child of |parentLayoutObject|. The
862 // exemption is needed so that replaced content also gets a backdrop.
863 if (pseudoId != PseudoIdBackdrop &&
864 !canHaveGeneratedChildren(*parentLayoutObject))
863 return nullptr; 865 return nullptr;
864 866
865 ComputedStyle* parentStyle = parentLayoutObject->mutableStyle(); 867 ComputedStyle* parentStyle = parentLayoutObject->mutableStyle();
866 if (ComputedStyle* cachedStyle = 868 if (ComputedStyle* cachedStyle =
867 parentStyle->getCachedPseudoStyle(pseudoId)) { 869 parentStyle->getCachedPseudoStyle(pseudoId)) {
868 if (!pseudoElementLayoutObjectIsNeeded(cachedStyle)) 870 if (!pseudoElementLayoutObjectIsNeeded(cachedStyle))
869 return nullptr; 871 return nullptr;
870 return createPseudoElement(&parent, pseudoId); 872 return createPseudoElement(&parent, pseudoId);
871 } 873 }
872 874
(...skipping 956 matching lines...) Expand 10 before | Expand all | Expand 10 after
1829 visitor->trace(m_medium); 1831 visitor->trace(m_medium);
1830 visitor->trace(m_viewportDependentMediaQueryResults); 1832 visitor->trace(m_viewportDependentMediaQueryResults);
1831 visitor->trace(m_deviceDependentMediaQueryResults); 1833 visitor->trace(m_deviceDependentMediaQueryResults);
1832 visitor->trace(m_selectorFilter); 1834 visitor->trace(m_selectorFilter);
1833 visitor->trace(m_styleSharingLists); 1835 visitor->trace(m_styleSharingLists);
1834 visitor->trace(m_pendingStyleSheets); 1836 visitor->trace(m_pendingStyleSheets);
1835 visitor->trace(m_document); 1837 visitor->trace(m_document);
1836 } 1838 }
1837 1839
1838 } // namespace blink 1840 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp ('k') | third_party/WebKit/Source/core/dom/Document.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698