diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:15 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:15 -0800 |
commit | 1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353 (patch) | |
tree | 4457a7306ea5acb43fe05bfe0973b1f7faf97ba2 /WebCore/rendering/style/StyleRareNonInheritedData.cpp | |
parent | 9364f22aed35e1a1e9d07c121510f80be3ab0502 (diff) | |
download | external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.zip external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.gz external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.bz2 |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'WebCore/rendering/style/StyleRareNonInheritedData.cpp')
-rw-r--r-- | WebCore/rendering/style/StyleRareNonInheritedData.cpp | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/WebCore/rendering/style/StyleRareNonInheritedData.cpp b/WebCore/rendering/style/StyleRareNonInheritedData.cpp new file mode 100644 index 0000000..e8ceeeb --- /dev/null +++ b/WebCore/rendering/style/StyleRareNonInheritedData.cpp @@ -0,0 +1,167 @@ +/* + * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) + * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + * + */ + +#include "config.h" +#include "StyleRareNonInheritedData.h" + +#include "CSSStyleSelector.h" +#include "RenderStyle.h" + +namespace WebCore { + +StyleRareNonInheritedData::StyleRareNonInheritedData() + : lineClamp(RenderStyle::initialLineClamp()) + , opacity(RenderStyle::initialOpacity()) + , m_content(0) + , m_counterDirectives(0) + , userDrag(RenderStyle::initialUserDrag()) + , textOverflow(RenderStyle::initialTextOverflow()) + , marginTopCollapse(MCOLLAPSE) + , marginBottomCollapse(MCOLLAPSE) + , matchNearestMailBlockquoteColor(RenderStyle::initialMatchNearestMailBlockquoteColor()) + , m_appearance(RenderStyle::initialAppearance()) + , m_borderFit(RenderStyle::initialBorderFit()) + , m_boxShadow(0) + , m_animations(0) + , m_transitions(0) + , m_mask(FillLayer(MaskFillLayer)) +#if ENABLE(XBL) + , bindingURI(0) +#endif +{ +} + +StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInheritedData& o) + : RefCounted<StyleRareNonInheritedData>() + , lineClamp(o.lineClamp) + , opacity(o.opacity) + , flexibleBox(o.flexibleBox) + , marquee(o.marquee) + , m_multiCol(o.m_multiCol) + , m_transform(o.m_transform) + , m_content(0) + , m_counterDirectives(0) + , userDrag(o.userDrag) + , textOverflow(o.textOverflow) + , marginTopCollapse(o.marginTopCollapse) + , marginBottomCollapse(o.marginBottomCollapse) + , matchNearestMailBlockquoteColor(o.matchNearestMailBlockquoteColor) + , m_appearance(o.m_appearance) + , m_borderFit(o.m_borderFit) + , m_boxShadow(o.m_boxShadow ? new ShadowData(*o.m_boxShadow) : 0) + , m_boxReflect(o.m_boxReflect) + , m_animations(o.m_animations ? new AnimationList(*o.m_animations) : 0) + , m_transitions(o.m_transitions ? new AnimationList(*o.m_transitions) : 0) + , m_mask(o.m_mask) + , m_maskBoxImage(o.m_maskBoxImage) +#if ENABLE(XBL) + , bindingURI(o.bindingURI ? o.bindingURI->copy() : 0) +#endif +{ +} + +StyleRareNonInheritedData::~StyleRareNonInheritedData() +{ +} + +#if ENABLE(XBL) +bool StyleRareNonInheritedData::bindingsEquivalent(const StyleRareNonInheritedData& o) const +{ + if (this == &o) return true; + if (!bindingURI && o.bindingURI || bindingURI && !o.bindingURI) + return false; + if (bindingURI && o.bindingURI && (*bindingURI != *o.bindingURI)) + return false; + return true; +} +#endif + +bool StyleRareNonInheritedData::operator==(const StyleRareNonInheritedData& o) const +{ + return lineClamp == o.lineClamp +#if ENABLE(DASHBOARD_SUPPORT) + && m_dashboardRegions == o.m_dashboardRegions +#endif + && opacity == o.opacity + && flexibleBox == o.flexibleBox + && marquee == o.marquee + && m_multiCol == o.m_multiCol + && m_transform == o.m_transform + && m_content == o.m_content + && m_counterDirectives == o.m_counterDirectives + && userDrag == o.userDrag + && textOverflow == o.textOverflow + && marginTopCollapse == o.marginTopCollapse + && marginBottomCollapse == o.marginBottomCollapse + && matchNearestMailBlockquoteColor == o.matchNearestMailBlockquoteColor + && m_appearance == o.m_appearance + && m_borderFit == o.m_borderFit + && shadowDataEquivalent(o) + && reflectionDataEquivalent(o) + && animationDataEquivalent(o) + && transitionDataEquivalent(o) + && m_mask == o.m_mask + && m_maskBoxImage == o.m_maskBoxImage +#if ENABLE(XBL) + && bindingsEquivalent(o) +#endif + ; +} + +bool StyleRareNonInheritedData::shadowDataEquivalent(const StyleRareNonInheritedData& o) const +{ + if (!m_boxShadow && o.m_boxShadow || m_boxShadow && !o.m_boxShadow) + return false; + if (m_boxShadow && o.m_boxShadow && (*m_boxShadow != *o.m_boxShadow)) + return false; + return true; +} + +bool StyleRareNonInheritedData::reflectionDataEquivalent(const StyleRareNonInheritedData& o) const +{ + if (m_boxReflect != o.m_boxReflect) { + if (!m_boxReflect || !o.m_boxReflect) + return false; + return *m_boxReflect == *o.m_boxReflect; + } + return true; + +} + +bool StyleRareNonInheritedData::animationDataEquivalent(const StyleRareNonInheritedData& o) const +{ + if (!m_animations && o.m_animations || m_animations && !o.m_animations) + return false; + if (m_animations && o.m_animations && (*m_animations != *o.m_animations)) + return false; + return true; +} + +bool StyleRareNonInheritedData::transitionDataEquivalent(const StyleRareNonInheritedData& o) const +{ + if (!m_transitions && o.m_transitions || m_transitions && !o.m_transitions) + return false; + if (m_transitions && o.m_transitions && (*m_transitions != *o.m_transitions)) + return false; + return true; +} + +} // namespace WebCore |