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) 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. |
| 11 * Copyright (C) 2012 Google Inc. All rights reserved. | 11 * Copyright (C) 2012 Google Inc. All rights reserved. |
| 12 * Copyright (C) 2013 Opera Software ASA. All rights reserved. | |
| 12 * | 13 * |
| 13 * This library is free software; you can redistribute it and/or | 14 * This library is free software; you can redistribute it and/or |
| 14 * modify it under the terms of the GNU Library General Public | 15 * modify it under the terms of the GNU Library General Public |
| 15 * License as published by the Free Software Foundation; either | 16 * License as published by the Free Software Foundation; either |
| 16 * version 2 of the License, or (at your option) any later version. | 17 * version 2 of the License, or (at your option) any later version. |
| 17 * | 18 * |
| 18 * This library is distributed in the hope that it will be useful, | 19 * This library is distributed in the hope that it will be useful, |
| 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 20 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 21 * Library General Public License for more details. | 22 * Library General Public License for more details. |
| (...skipping 2666 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2688 case CSSPropertyWebkitMaskRepeat: | 2689 case CSSPropertyWebkitMaskRepeat: |
| 2689 case CSSPropertyWebkitTextEmphasis: | 2690 case CSSPropertyWebkitTextEmphasis: |
| 2690 case CSSPropertyWebkitTextStroke: | 2691 case CSSPropertyWebkitTextStroke: |
| 2691 case CSSPropertyWebkitTransition: | 2692 case CSSPropertyWebkitTransition: |
| 2692 case CSSPropertyWebkitTransformOrigin: | 2693 case CSSPropertyWebkitTransformOrigin: |
| 2693 ASSERT(isExpandedShorthand(id)); | 2694 ASSERT(isExpandedShorthand(id)); |
| 2694 ASSERT_NOT_REACHED(); | 2695 ASSERT_NOT_REACHED(); |
| 2695 break; | 2696 break; |
| 2696 | 2697 |
| 2697 // CSS3 Properties | 2698 // CSS3 Properties |
| 2699 case CSSPropertyNavDown: | |
| 2700 case CSSPropertyNavLeft: | |
| 2701 case CSSPropertyNavRight: | |
| 2702 case CSSPropertyNavUp: { | |
| 2703 NavDirSetter setter = getNavDirSetterForProperty(id); | |
| 2704 | |
| 2705 if (isInitial) { | |
| 2706 (m_state.style()->*setter)(StyleNavigationValue()); | |
| 2707 } else if (primitiveValue) { | |
| 2708 (m_state.style()->*setter)(StyleNavigationValue(primitiveValue->getS tringValue())); | |
| 2709 } else if (value->isValueList()) { | |
| 2710 AtomicString vals[2]; | |
| 2711 CSSValueListIterator iterator = value; | |
| 2712 | |
| 2713 for (int i = 0; i < 2 && iterator.hasMore(); iterator.advance()) { | |
| 2714 CSSValue* item = iterator.value(); | |
| 2715 if (!item->isPrimitiveValue()) | |
| 2716 continue; | |
| 2717 vals[i++] = (static_cast<CSSPrimitiveValue*>(item))->getStringVa lue(); | |
| 2718 } | |
| 2719 | |
| 2720 (m_state.style()->*setter)(StyleNavigationValue(vals[0], vals[1])); | |
|
esprehn
2013/06/20 19:45:10
You should do this the other way around instead of
Krzysztof Olczyk
2013/07/22 14:14:16
Done.
| |
| 2721 } | |
| 2722 return; | |
| 2723 } | |
| 2698 case CSSPropertyTextShadow: | 2724 case CSSPropertyTextShadow: |
| 2699 case CSSPropertyBoxShadow: | 2725 case CSSPropertyBoxShadow: |
| 2700 case CSSPropertyWebkitBoxShadow: { | 2726 case CSSPropertyWebkitBoxShadow: { |
| 2701 if (isInherit) { | 2727 if (isInherit) { |
| 2702 if (id == CSSPropertyTextShadow) | 2728 if (id == CSSPropertyTextShadow) |
| 2703 return state.style()->setTextShadow(state.parentStyle()->textSha dow() ? adoptPtr(new ShadowData(*state.parentStyle()->textShadow())) : nullptr); | 2729 return state.style()->setTextShadow(state.parentStyle()->textSha dow() ? adoptPtr(new ShadowData(*state.parentStyle()->textShadow())) : nullptr); |
| 2704 return state.style()->setBoxShadow(state.parentStyle()->boxShadow() ? adoptPtr(new ShadowData(*state.parentStyle()->boxShadow())) : nullptr); | 2730 return state.style()->setBoxShadow(state.parentStyle()->boxShadow() ? adoptPtr(new ShadowData(*state.parentStyle()->boxShadow())) : nullptr); |
| 2705 } | 2731 } |
| 2706 if (isInitial || primitiveValue) // initial | none | 2732 if (isInitial || primitiveValue) // initial | none |
| 2707 return id == CSSPropertyTextShadow ? state.style()->setTextShadow(nu llptr) : state.style()->setBoxShadow(nullptr); | 2733 return id == CSSPropertyTextShadow ? state.style()->setTextShadow(nu llptr) : state.style()->setBoxShadow(nullptr); |
| (...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3533 CSSShaderValue* shaderValue = static_cast<StylePendingShader *>(program->fragmentShader())->cssShaderValue(); | 3559 CSSShaderValue* shaderValue = static_cast<StylePendingShader *>(program->fragmentShader())->cssShaderValue(); |
| 3534 program->setFragmentShader(shaderValue->cachedShader(cachedR esourceLoader)); | 3560 program->setFragmentShader(shaderValue->cachedShader(cachedR esourceLoader)); |
| 3535 } | 3561 } |
| 3536 m_customFilterProgramCache->add(program); | 3562 m_customFilterProgramCache->add(program); |
| 3537 } | 3563 } |
| 3538 } | 3564 } |
| 3539 } | 3565 } |
| 3540 m_state.setHasPendingShaders(false); | 3566 m_state.setHasPendingShaders(false); |
| 3541 } | 3567 } |
| 3542 | 3568 |
| 3569 StyleResolver::NavDirSetter StyleResolver::getNavDirSetterForProperty(CSSPropert yID id) | |
| 3570 { | |
| 3571 switch (id) { | |
| 3572 case CSSPropertyNavDown: | |
| 3573 return &RenderStyle::setNavDown; | |
| 3574 case CSSPropertyNavLeft: | |
| 3575 return &RenderStyle::setNavLeft; | |
| 3576 case CSSPropertyNavRight: | |
| 3577 return &RenderStyle::setNavRight; | |
| 3578 case CSSPropertyNavUp: | |
| 3579 return &RenderStyle::setNavUp; | |
| 3580 default: | |
| 3581 ASSERT_NOT_REACHED(); | |
| 3582 return 0; | |
| 3583 } | |
| 3584 } | |
| 3585 | |
| 3586 | |
| 3543 PassRefPtr<StyleImage> StyleResolver::loadPendingImage(StylePendingImage* pendin gImage) | 3587 PassRefPtr<StyleImage> StyleResolver::loadPendingImage(StylePendingImage* pendin gImage) |
| 3544 { | 3588 { |
| 3545 CachedResourceLoader* cachedResourceLoader = m_state.document()->cachedResou rceLoader(); | 3589 CachedResourceLoader* cachedResourceLoader = m_state.document()->cachedResou rceLoader(); |
| 3546 | 3590 |
| 3547 if (pendingImage->cssImageValue()) { | 3591 if (pendingImage->cssImageValue()) { |
| 3548 CSSImageValue* imageValue = pendingImage->cssImageValue(); | 3592 CSSImageValue* imageValue = pendingImage->cssImageValue(); |
| 3549 return imageValue->cachedImage(cachedResourceLoader); | 3593 return imageValue->cachedImage(cachedResourceLoader); |
| 3550 } | 3594 } |
| 3551 | 3595 |
| 3552 if (pendingImage->cssImageGeneratorValue()) { | 3596 if (pendingImage->cssImageGeneratorValue()) { |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3720 info.addMember(m_state, "state"); | 3764 info.addMember(m_state, "state"); |
| 3721 | 3765 |
| 3722 // FIXME: move this to a place where it would be called only once? | 3766 // FIXME: move this to a place where it would be called only once? |
| 3723 info.addMember(CSSDefaultStyleSheets::defaultStyle, "defaultStyle"); | 3767 info.addMember(CSSDefaultStyleSheets::defaultStyle, "defaultStyle"); |
| 3724 info.addMember(CSSDefaultStyleSheets::defaultQuirksStyle, "defaultQuirksStyl e"); | 3768 info.addMember(CSSDefaultStyleSheets::defaultQuirksStyle, "defaultQuirksStyl e"); |
| 3725 info.addMember(CSSDefaultStyleSheets::defaultPrintStyle, "defaultPrintStyle" ); | 3769 info.addMember(CSSDefaultStyleSheets::defaultPrintStyle, "defaultPrintStyle" ); |
| 3726 info.addMember(CSSDefaultStyleSheets::defaultViewSourceStyle, "defaultViewSo urceStyle"); | 3770 info.addMember(CSSDefaultStyleSheets::defaultViewSourceStyle, "defaultViewSo urceStyle"); |
| 3727 } | 3771 } |
| 3728 | 3772 |
| 3729 } // namespace WebCore | 3773 } // namespace WebCore |
| OLD | NEW |