| OLD | NEW |
| 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.
All rights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
| 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 519 // so that the common case doesn't need to create a new LayoutStyle in | 519 // so that the common case doesn't need to create a new LayoutStyle in |
| 520 // Document::inheritHtmlAndBodyElementStyles. | 520 // Document::inheritHtmlAndBodyElementStyles. |
| 521 documentStyle->setDisplay(BLOCK); | 521 documentStyle->setDisplay(BLOCK); |
| 522 documentStyle->setScrollBlocksOn(WebScrollBlocksOnStartTouch | WebScrollBloc
ksOnWheelEvent); | 522 documentStyle->setScrollBlocksOn(WebScrollBlocksOnStartTouch | WebScrollBloc
ksOnWheelEvent); |
| 523 | 523 |
| 524 document.setupFontBuilder(*documentStyle); | 524 document.setupFontBuilder(*documentStyle); |
| 525 | 525 |
| 526 return documentStyle.release(); | 526 return documentStyle.release(); |
| 527 } | 527 } |
| 528 | 528 |
| 529 static AuthorStyleInfo authorStyleInfo(StyleResolverState& state) |
| 530 { |
| 531 const CachedUAStyle* cachedUAStyle = state.cachedUAStyle(); |
| 532 |
| 533 if (!cachedUAStyle) |
| 534 return AuthorStyleInfo(); |
| 535 |
| 536 // Exclude background-repeat from comparison by resetting it. |
| 537 FillLayer backgroundCopy = cachedUAStyle->backgroundLayers; |
| 538 FillLayer backgroundLayersCopy = state.style()->backgroundLayers(); |
| 539 backgroundCopy.setRepeatX(NoRepeatFill); |
| 540 backgroundCopy.setRepeatY(NoRepeatFill); |
| 541 backgroundLayersCopy.setRepeatX(NoRepeatFill); |
| 542 backgroundLayersCopy.setRepeatY(NoRepeatFill); |
| 543 |
| 544 bool backgroundChanged = backgroundLayersCopy != backgroundCopy |
| 545 || state.style()->visitedDependentColor(CSSPropertyBackgroundColor) != c
achedUAStyle->backgroundColor; |
| 546 bool borderChanged = state.style()->border() != cachedUAStyle->border; |
| 547 |
| 548 return AuthorStyleInfo(backgroundChanged, borderChanged); |
| 549 } |
| 550 |
| 529 void StyleResolver::adjustLayoutStyle(StyleResolverState& state, Element* elemen
t) | 551 void StyleResolver::adjustLayoutStyle(StyleResolverState& state, Element* elemen
t) |
| 530 { | 552 { |
| 531 StyleAdjuster adjuster(document().inQuirksMode()); | 553 StyleAdjuster adjuster(document().inQuirksMode()); |
| 532 adjuster.adjustLayoutStyle(state.mutableStyleRef(), *state.parentStyle(), el
ement, state.cachedUAStyle()); | 554 adjuster.adjustLayoutStyle(state.mutableStyleRef(), *state.parentStyle(), el
ement, authorStyleInfo(state)); |
| 533 } | 555 } |
| 534 | 556 |
| 535 // Start loading resources referenced by this style. | 557 // Start loading resources referenced by this style. |
| 536 void StyleResolver::loadPendingResources(StyleResolverState& state) | 558 void StyleResolver::loadPendingResources(StyleResolverState& state) |
| 537 { | 559 { |
| 538 m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyle
Resources()); | 560 m_styleResourceLoader.loadPendingResources(state.style(), state.elementStyle
Resources()); |
| 539 document().styleEngine()->fontSelector()->fontLoader()->loadPendingFonts(); | 561 document().styleEngine()->fontSelector()->fontLoader()->loadPendingFonts(); |
| 540 } | 562 } |
| 541 | 563 |
| 542 PassRefPtr<LayoutStyle> StyleResolver::styleForElement(Element* element, LayoutS
tyle* defaultParent, StyleSharingBehavior sharingBehavior, | 564 PassRefPtr<LayoutStyle> StyleResolver::styleForElement(Element* element, LayoutS
tyle* defaultParent, StyleSharingBehavior sharingBehavior, |
| (...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1525 visitor->trace(m_uncommonAttributeRuleSet); | 1547 visitor->trace(m_uncommonAttributeRuleSet); |
| 1526 visitor->trace(m_watchedSelectorsRules); | 1548 visitor->trace(m_watchedSelectorsRules); |
| 1527 visitor->trace(m_treeBoundaryCrossingRules); | 1549 visitor->trace(m_treeBoundaryCrossingRules); |
| 1528 visitor->trace(m_styleSharingLists); | 1550 visitor->trace(m_styleSharingLists); |
| 1529 visitor->trace(m_pendingStyleSheets); | 1551 visitor->trace(m_pendingStyleSheets); |
| 1530 visitor->trace(m_document); | 1552 visitor->trace(m_document); |
| 1531 #endif | 1553 #endif |
| 1532 } | 1554 } |
| 1533 | 1555 |
| 1534 } // namespace blink | 1556 } // namespace blink |
| OLD | NEW |